#ifndef RTS_MATRIX_H #define RTS_MATRIX_H //#include "rts/vector.h" #include #include #include "vector.h" #include "../cuda/callable.h" namespace stim{ template struct matrix { //the matrix will be stored in column-major order (compatible with OpenGL) T M[N*N]; CUDA_CALLABLE matrix() { for(int r=0; r operator=(T rhs) { int Nsq = N*N; for(int i=0; i CUDA_CALLABLE vec operator*(vec rhs) { vec result; for(int r=0; r std::ostream& operator<<(std::ostream& os, stim::matrix M) { os< 3 && __GNUC_MINOR__ > 7 //template using rtsMatrix = rts::matrix; //#endif #endif