From 0431e82183a925e63472bbc9a17db4eb84f904a6 Mon Sep 17 00:00:00 2001 From: Kevin Slagle Date: Mon, 19 Dec 2016 09:40:37 -0500 Subject: add reorderVector function for tensor libraries (e.g. hTensor) to implement tensor transpose --- packages/base/src/Internal/C/vector-aux.c | 51 +++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) (limited to 'packages/base/src/Internal/C') diff --git a/packages/base/src/Internal/C/vector-aux.c b/packages/base/src/Internal/C/vector-aux.c index 1cef27d..dcd6c0b 100644 --- a/packages/base/src/Internal/C/vector-aux.c +++ b/packages/base/src/Internal/C/vector-aux.c @@ -1533,3 +1533,54 @@ int chooseQ(KIVEC(cond),KQVEC(lt),KQVEC(eq),KQVEC(gt),QVEC(r)) { CHOOSE_IMP } +//////////////////// reorder ///////////////////////// + +#define REORDER_IMP \ + REQUIRES(kn == stridesn && stridesn == dimsn ,BAD_SIZE); \ + int i,j,l; \ + for (i=1,j=0,l=0;l