diff --git a/build_linux64/libamsculib2.linux64.a b/build_linux64/libamsculib2.linux64.a index 5f75b23..acd0de8 100644 Binary files a/build_linux64/libamsculib2.linux64.a and b/build_linux64/libamsculib2.linux64.a differ diff --git a/build_linux64/objstore/amscu_comp128.o b/build_linux64/objstore/amscu_comp128.o index 39a52a5..7a200b5 100644 Binary files a/build_linux64/objstore/amscu_comp128.o and b/build_linux64/objstore/amscu_comp128.o differ diff --git a/build_linux64/objstore/amscu_comp64.o b/build_linux64/objstore/amscu_comp64.o index 48de632..f090396 100644 Binary files a/build_linux64/objstore/amscu_comp64.o and b/build_linux64/objstore/amscu_comp64.o differ diff --git a/build_linux64/objstore/amscu_cudafunctions.o b/build_linux64/objstore/amscu_cudafunctions.o index 9d06fed..2d8016e 100644 Binary files a/build_linux64/objstore/amscu_cudafunctions.o and b/build_linux64/objstore/amscu_cudafunctions.o differ diff --git a/build_linux64/objstore/amscu_random.o b/build_linux64/objstore/amscu_random.o index a6c8741..2671d27 100644 Binary files a/build_linux64/objstore/amscu_random.o and b/build_linux64/objstore/amscu_random.o differ diff --git a/build_linux64/objstore/amscuarray.o b/build_linux64/objstore/amscuarray.o index 38ca069..caafc0f 100644 Binary files a/build_linux64/objstore/amscuarray.o and b/build_linux64/objstore/amscuarray.o differ diff --git a/build_linux64/objstore/amscuarray_dops.o b/build_linux64/objstore/amscuarray_dops.o index 5a7cacd..41f8c25 100644 Binary files a/build_linux64/objstore/amscuarray_dops.o and b/build_linux64/objstore/amscuarray_dops.o differ diff --git a/build_linux64/objstore/amscugeom.o b/build_linux64/objstore/amscugeom.o index 9efd47c..fc00e2b 100644 Binary files a/build_linux64/objstore/amscugeom.o and b/build_linux64/objstore/amscugeom.o differ diff --git a/build_linux64/objstore/amsculib2.o b/build_linux64/objstore/amsculib2.o index 1d1854e..d313493 100644 Binary files a/build_linux64/objstore/amsculib2.o and b/build_linux64/objstore/amsculib2.o differ diff --git a/build_linux64/objstore/amscumath.o b/build_linux64/objstore/amscumath.o index fbaee69..d52001f 100644 Binary files a/build_linux64/objstore/amscumath.o and b/build_linux64/objstore/amscumath.o differ diff --git a/build_linux64/objstore/amscurarray.o b/build_linux64/objstore/amscurarray.o index 152c4cc..86b36d1 100644 Binary files a/build_linux64/objstore/amscurarray.o and b/build_linux64/objstore/amscurarray.o differ diff --git a/build_linux64/objstore/cuvect2.o b/build_linux64/objstore/cuvect2.o index 3257a2a..8d550bb 100644 Binary files a/build_linux64/objstore/cuvect2.o and b/build_linux64/objstore/cuvect2.o differ diff --git a/build_linux64/objstore/cuvect2f.o b/build_linux64/objstore/cuvect2f.o index 61b3942..8c71cd0 100644 Binary files a/build_linux64/objstore/cuvect2f.o and b/build_linux64/objstore/cuvect2f.o differ diff --git a/build_linux64/objstore/cuvect3.o b/build_linux64/objstore/cuvect3.o index 522f52a..423c54f 100644 Binary files a/build_linux64/objstore/cuvect3.o and b/build_linux64/objstore/cuvect3.o differ diff --git a/build_linux64/objstore/cuvect3f.o b/build_linux64/objstore/cuvect3f.o index 0e76717..2a51cb3 100644 Binary files a/build_linux64/objstore/cuvect3f.o and b/build_linux64/objstore/cuvect3f.o differ diff --git a/build_linux64/objstore/cuvect4.o b/build_linux64/objstore/cuvect4.o index f41e97c..7aa2ade 100644 Binary files a/build_linux64/objstore/cuvect4.o and b/build_linux64/objstore/cuvect4.o differ diff --git a/build_linux64/objstore/cuvect4f.o b/build_linux64/objstore/cuvect4f.o index 688a2b0..6a6bfd2 100644 Binary files a/build_linux64/objstore/cuvect4f.o and b/build_linux64/objstore/cuvect4f.o differ diff --git a/build_linux64/test b/build_linux64/test index 143ca5f..58f7bed 100644 Binary files a/build_linux64/test and b/build_linux64/test differ diff --git a/include/amsculib2/cuvect2.hpp b/include/amsculib2/cuvect2.hpp index 3f88ffb..1e1a5b9 100644 --- a/include/amsculib2/cuvect2.hpp +++ b/include/amsculib2/cuvect2.hpp @@ -22,6 +22,7 @@ namespace amscuda __host__ __device__ cuvect2 operator-(cuvect2 lhs); __host__ __device__ cuvect2 operator*(double lhs); __host__ __device__ cuvect2 operator/(double lhs); + __host__ __device__ friend cuvect2 operator-(cuvect2 rhs); }; class cumat2 diff --git a/include/amsculib2/cuvect3.hpp b/include/amsculib2/cuvect3.hpp index 104c3a7..60eaf3c 100644 --- a/include/amsculib2/cuvect3.hpp +++ b/include/amsculib2/cuvect3.hpp @@ -23,6 +23,7 @@ namespace amscuda __host__ __device__ cuvect3 operator-(cuvect3 lhs); __host__ __device__ cuvect3 operator*(double lhs); __host__ __device__ cuvect3 operator/(double lhs); + __host__ __device__ friend cuvect3 operator-(cuvect3 rhs); }; class cumat3 diff --git a/include/amsculib2/cuvect4.hpp b/include/amsculib2/cuvect4.hpp index a120f77..4bafb99 100644 --- a/include/amsculib2/cuvect4.hpp +++ b/include/amsculib2/cuvect4.hpp @@ -23,6 +23,7 @@ namespace amscuda __host__ __device__ cuvect4 operator-(cuvect4 lhs); __host__ __device__ cuvect4 operator*(double lhs); __host__ __device__ cuvect4 operator/(double lhs); + __host__ __device__ friend cuvect4 operator-(cuvect4 rhs); }; class cumat4 diff --git a/src/amsculib2/cuvect2.cu b/src/amsculib2/cuvect2.cu index 581318a..5ef57a6 100644 --- a/src/amsculib2/cuvect2.cu +++ b/src/amsculib2/cuvect2.cu @@ -351,6 +351,14 @@ __host__ __device__ cuvect2 mat2_mult(double *mat2a, cuvect2 b) return ret; } +__host__ __device__ cuvect2 operator-(cuvect2 rhs) +{ + cuvect2 ret; + ret[0] = -rhs[0]; + ret[1] = -rhs[1]; + return ret; +} + void test_cuvect2_1() { diff --git a/src/amsculib2/cuvect3.cu b/src/amsculib2/cuvect3.cu index 34566f2..fed1072 100644 --- a/src/amsculib2/cuvect3.cu +++ b/src/amsculib2/cuvect3.cu @@ -578,4 +578,15 @@ __host__ __device__ cumat3 cumat3::inverse() return q; } +__host__ __device__ cuvect3 operator-(cuvect3 rhs) +{ + cuvect3 ret; + ret[0] = -rhs[0]; + ret[1] = -rhs[1]; + ret[2] = -rhs[2]; + return ret; +} + + + }; \ No newline at end of file diff --git a/src/amsculib2/cuvect4.cu b/src/amsculib2/cuvect4.cu index bc2655f..2b5f163 100644 --- a/src/amsculib2/cuvect4.cu +++ b/src/amsculib2/cuvect4.cu @@ -410,5 +410,15 @@ __host__ __device__ cuvect4 cuvect4_proj(cuvect4 a, cuvect4 b) return ret; } +__host__ __device__ cuvect4 operator-(cuvect4 rhs) +{ + cuvect4 ret; + ret[0] = -rhs[0]; + ret[1] = -rhs[1]; + ret[2] = -rhs[2]; + ret[3] = -rhs[3]; + return ret; +} + }; \ No newline at end of file