diff options
author | Charles Harris <charlesr.harris@gmail.com> | 2014-03-13 11:56:50 -0600 |
---|---|---|
committer | Charles Harris <charlesr.harris@gmail.com> | 2014-03-13 11:56:50 -0600 |
commit | 9c4602f98096abed5632d5fd1f12549a2c5b360c (patch) | |
tree | b154e4d7a7fff6e491216b2e3750d238645903e2 /doc/swig/test/Vector.cxx | |
parent | dfe6c7ed74c087c0deabfd4f7a50224498840838 (diff) | |
parent | f151004567f61c1a613dd78a87521adf795a4942 (diff) | |
download | numpy-9c4602f98096abed5632d5fd1f12549a2c5b360c.tar.gz |
Merge pull request #4487 from charris/move-swig-to-tools-directory
Move swig to tools directory
Diffstat (limited to 'doc/swig/test/Vector.cxx')
-rw-r--r-- | doc/swig/test/Vector.cxx | 100 |
1 files changed, 0 insertions, 100 deletions
diff --git a/doc/swig/test/Vector.cxx b/doc/swig/test/Vector.cxx deleted file mode 100644 index 2c90404da..000000000 --- a/doc/swig/test/Vector.cxx +++ /dev/null @@ -1,100 +0,0 @@ -#include <stdlib.h> -#include <math.h> -#include <iostream> -#include "Vector.h" - -// The following macro defines a family of functions that work with 1D -// arrays with the forms -// -// TYPE SNAMELength( TYPE vector[3]); -// TYPE SNAMEProd( TYPE * series, int size); -// TYPE SNAMESum( int size, TYPE * series); -// void SNAMEReverse(TYPE array[3]); -// void SNAMEOnes( TYPE * array, int size); -// void SNAMEZeros( int size, TYPE * array); -// void SNAMEEOSplit(TYPE vector[3], TYPE even[3], odd[3]); -// void SNAMETwos( TYPE * twoVec, int size); -// void SNAMEThrees( int size, TYPE * threeVec); -// -// for any specified type TYPE (for example: short, unsigned int, long -// long, etc.) with given short name SNAME (for example: short, uint, -// longLong, etc.). The macro is then expanded for the given -// TYPE/SNAME pairs. The resulting functions are for testing numpy -// interfaces, respectively, for: -// -// * 1D input arrays, hard-coded length -// * 1D input arrays -// * 1D input arrays, data last -// * 1D in-place arrays, hard-coded length -// * 1D in-place arrays -// * 1D in-place arrays, data last -// * 1D argout arrays, hard-coded length -// * 1D argout arrays -// * 1D argout arrays, data last -// -#define TEST_FUNCS(TYPE, SNAME) \ -\ -TYPE SNAME ## Length(TYPE vector[3]) { \ - double result = 0; \ - for (int i=0; i<3; ++i) result += vector[i]*vector[i]; \ - return (TYPE)sqrt(result); \ -} \ -\ -TYPE SNAME ## Prod(TYPE * series, int size) { \ - TYPE result = 1; \ - for (int i=0; i<size; ++i) result *= series[i]; \ - return result; \ -} \ -\ -TYPE SNAME ## Sum(int size, TYPE * series) { \ - TYPE result = 0; \ - for (int i=0; i<size; ++i) result += series[i]; \ - return result; \ -} \ -\ -void SNAME ## Reverse(TYPE array[3]) { \ - TYPE temp = array[0]; \ - array[0] = array[2]; \ - array[2] = temp; \ -} \ -\ -void SNAME ## Ones(TYPE * array, int size) { \ - for (int i=0; i<size; ++i) array[i] = 1; \ -} \ -\ -void SNAME ## Zeros(int size, TYPE * array) { \ - for (int i=0; i<size; ++i) array[i] = 0; \ -} \ -\ -void SNAME ## EOSplit(TYPE vector[3], TYPE even[3], TYPE odd[3]) { \ - for (int i=0; i<3; ++i) { \ - if (i % 2 == 0) { \ - even[i] = vector[i]; \ - odd[ i] = 0; \ - } else { \ - even[i] = 0; \ - odd[ i] = vector[i]; \ - } \ - } \ -} \ -\ -void SNAME ## Twos(TYPE* twoVec, int size) { \ - for (int i=0; i<size; ++i) twoVec[i] = 2; \ -} \ -\ -void SNAME ## Threes(int size, TYPE* threeVec) { \ - for (int i=0; i<size; ++i) threeVec[i] = 3; \ -} - -TEST_FUNCS(signed char , schar ) -TEST_FUNCS(unsigned char , uchar ) -TEST_FUNCS(short , short ) -TEST_FUNCS(unsigned short , ushort ) -TEST_FUNCS(int , int ) -TEST_FUNCS(unsigned int , uint ) -TEST_FUNCS(long , long ) -TEST_FUNCS(unsigned long , ulong ) -TEST_FUNCS(long long , longLong ) -TEST_FUNCS(unsigned long long, ulongLong) -TEST_FUNCS(float , float ) -TEST_FUNCS(double , double ) |