Files
amsculib3/test_scripts/cuvec_codegen/cuvec4i_codegen1.hpp
2026-04-13 12:16:10 -04:00

59 lines
3.3 KiB
C++

__host__ __device__ cuvec4i();
__host__ __device__ ~cuvec4i();
__host__ __device__ cuvec4i(const int &_x, const int &_y, const int &_z, const int &_w);
__host__ __device__ int& operator[](const int &I);
__host__ __device__ const int& operator[](const int &I) const;
__host__ __device__ cuvec4i operator+(const cuvec4i& rhs) const;
__host__ __device__ cuvec4i operator-(const cuvec4i& rhs) const;
__host__ __device__ cuvec4i operator*(const cuvec4i& rhs) const; //elementwise product
__host__ __device__ cuvec4i operator/(const cuvec4i& rhs) const; //elementwise division
__host__ __device__ friend cuvec4i operator*(const cuvec4i& lhs, const int& rhs);
__host__ __device__ friend cuvec4i operator*(const int& lhs, const cuvec4i& rhs);
__host__ __device__ friend cuvec4i operator/(const cuvec4i& lhs, const int& rhs);
__host__ __device__ friend cuvec4i operator/(const int& lhs, const cuvec4i& rhs);
__host__ __device__ friend cuvec4i operator-(const cuvec4i& other);
__host__ __device__ cuvec4i& operator+=(const cuvec4i& rhs);
__host__ __device__ cuvec4i& operator-=(const cuvec4i& rhs);
__host__ __device__ cuvec4i& operator*=(const int& rhs);
__host__ __device__ cuvec4i& operator/=(const int& rhs);
//
//Matrix Header Stuff
//
int m00,m10,m20,m30;
int m01,m11,m21,m31;
int m02,m12,m22,m32;
int m03,m13,m23,m33;
__host__ __device__ cumat4i();
__host__ __device__ ~cumat4i();
__host__ __device__ cumat4i(
const int& _m00, const int& _m01, const int& _m02, const int& _m03,
const int& _m10, const int& _m11, const int& _m12, const int& _m13,
const int& _m20, const int& _m21, const int& _m22, const int& _m23,
const int& _m30, const int& _m31, const int& _m32, const int& _m33
);
__host__ __device__ cumat4i(const int* data16);
__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 int16 representation of matrix
__host__ __device__ const int* data() const; //pointer to int16 representation of matrix
__host__ __device__ cumat4i operator+(const cumat4i& rhs) const;
__host__ __device__ cumat4i operator-(const cumat4i& rhs) const;
__host__ __device__ cumat4i operator*(const cumat4i& rhs) const;
__host__ __device__ friend cumat4i operator*(const cumat4i& lhs, const int& rhs);
__host__ __device__ friend cumat4i operator/(const cumat4i& lhs, const int& rhs);
__host__ __device__ friend cumat4i operator*(const int& lhs, const cumat4i& rhs);
__host__ __device__ friend cuvec4i operator*(const cumat4i& lhs, const cuvec4i& rhs);
__host__ __device__ friend cuvec4i operator*(const cuvec4i& lhs, const cumat4i& rhs);
__host__ __device__ friend cumat4i operator-(const cumat4i& rhs);
__host__ __device__ cumat4i& operator+=(const cumat4i& rhs);
__host__ __device__ cumat4i& operator-=(const cumat4i& rhs);
__host__ __device__ cumat4i& operator*=(const int& rhs);
__host__ __device__ cumat4i& operator/=(const int& rhs);
__host__ __device__ cumat4i& operator*=(const cumat4i& rhs);
__host__ __device__ cumat4i transpose() const;