2026-04-13 11:42:40 -04:00
|
|
|
__host__ __device__ cuvec3i();
|
|
|
|
|
__host__ __device__ ~cuvec3i();
|
|
|
|
|
__host__ __device__ cuvec3i(const int &_x, const int &_y, const int &_z);
|
2026-04-13 12:16:10 -04:00
|
|
|
__host__ __device__ int& operator[](const int &I);
|
|
|
|
|
__host__ __device__ const int& operator[](const int &I) const;
|
2026-04-13 11:42:40 -04:00
|
|
|
__host__ __device__ cuvec3i operator+(const cuvec3i& rhs) const;
|
|
|
|
|
__host__ __device__ cuvec3i operator-(const cuvec3i& rhs) const;
|
|
|
|
|
__host__ __device__ cuvec3i operator*(const cuvec3i& rhs) const; //elementwise product
|
|
|
|
|
__host__ __device__ cuvec3i operator/(const cuvec3i& rhs) const; //elementwise division
|
|
|
|
|
__host__ __device__ friend cuvec3i operator*(const cuvec3i& lhs, const int& rhs);
|
|
|
|
|
__host__ __device__ friend cuvec3i operator*(const int& lhs, const cuvec3i& rhs);
|
|
|
|
|
__host__ __device__ friend cuvec3i operator/(const cuvec3i& lhs, const int& rhs);
|
|
|
|
|
__host__ __device__ friend cuvec3i operator/(const int& lhs, const cuvec3i& rhs);
|
|
|
|
|
__host__ __device__ friend cuvec3i operator-(const cuvec3i& other);
|
|
|
|
|
__host__ __device__ cuvec3i& operator+=(const cuvec3i& rhs);
|
|
|
|
|
__host__ __device__ cuvec3i& operator-=(const cuvec3i& rhs);
|
|
|
|
|
__host__ __device__ cuvec3i& operator*=(const int& rhs);
|
|
|
|
|
__host__ __device__ cuvec3i& operator/=(const int& rhs);
|
|
|
|
|
//
|
|
|
|
|
//Matrix Header Stuff
|
|
|
|
|
//
|
|
|
|
|
int m00,m10,m20;
|
|
|
|
|
int m01,m11,m21;
|
|
|
|
|
int m02,m12,m22;
|
|
|
|
|
|
|
|
|
|
__host__ __device__ cumat3i();
|
|
|
|
|
__host__ __device__ ~cumat3i();
|
|
|
|
|
__host__ __device__ cumat3i(
|
|
|
|
|
const int& _m00, const int& _m01, const int& _m02,
|
|
|
|
|
const int& _m10, const int& _m11, const int& _m12,
|
|
|
|
|
const int& _m20, const int& _m21, const int& _m22
|
|
|
|
|
);
|
|
|
|
|
__host__ __device__ cumat3i(const int* data9);
|
2026-04-13 12:16:10 -04:00
|
|
|
__host__ __device__ int& operator[](const int &I);
|
|
|
|
|
__host__ __device__ const int& operator[](const int &I) const;
|
|
|
|
|
__host__ __device__ int& operator()(const int &I, const int &J);
|
|
|
|
|
__host__ __device__ const int& operator()(const int &I, const int &J) const;
|
|
|
|
|
__host__ __device__ int& at(const int &I, const int &J);
|
|
|
|
|
__host__ __device__ const int& at(const int &I, const int &J) const;
|
|
|
|
|
__host__ __device__ int* data(); //pointer to int9 representation of matrix
|
|
|
|
|
__host__ __device__ const int* data() const; //pointer to int9 representation of matrix
|
2026-04-13 11:42:40 -04:00
|
|
|
__host__ __device__ cumat3i operator+(const cumat3i& rhs) const;
|
|
|
|
|
__host__ __device__ cumat3i operator-(const cumat3i& rhs) const;
|
|
|
|
|
__host__ __device__ cumat3i operator*(const cumat3i& rhs) const;
|
|
|
|
|
__host__ __device__ friend cumat3i operator*(const cumat3i& lhs, const int& rhs);
|
|
|
|
|
__host__ __device__ friend cumat3i operator/(const cumat3i& lhs, const int& rhs);
|
|
|
|
|
__host__ __device__ friend cumat3i operator*(const int& lhs, const cumat3i& rhs);
|
|
|
|
|
__host__ __device__ friend cuvec3i operator*(const cumat3i& lhs, const cuvec3i& rhs);
|
|
|
|
|
__host__ __device__ friend cuvec3i operator*(const cuvec3i& lhs, const cumat3i& rhs);
|
|
|
|
|
__host__ __device__ friend cumat3i operator-(const cumat3i& rhs);
|
|
|
|
|
__host__ __device__ cumat3i& operator+=(const cumat3i& rhs);
|
|
|
|
|
__host__ __device__ cumat3i& operator-=(const cumat3i& rhs);
|
|
|
|
|
__host__ __device__ cumat3i& operator*=(const int& rhs);
|
|
|
|
|
__host__ __device__ cumat3i& operator/=(const int& rhs);
|
|
|
|
|
__host__ __device__ cumat3i& operator*=(const cumat3i& rhs);
|
|
|
|
|
__host__ __device__ cumat3i transpose() const;
|