Files
amsculib3/test_scripts/cuvec_codegen/cuvec2f_codegen1.hpp

55 lines
3.0 KiB
C++

__host__ __device__ cuvec2f();
__host__ __device__ ~cuvec2f();
__host__ __device__ cuvec2f(const float &_x, const float &_y);
__host__ __device__ float& operator[](const int &I);
__host__ __device__ const float& operator[](const int &I) const;
__host__ __device__ cuvec2f operator+(const cuvec2f& rhs) const;
__host__ __device__ cuvec2f operator-(const cuvec2f& rhs) const;
__host__ __device__ cuvec2f operator*(const cuvec2f& rhs) const; //elementwise product
__host__ __device__ cuvec2f operator/(const cuvec2f& rhs) const; //elementwise division
__host__ __device__ friend cuvec2f operator*(const cuvec2f& lhs, const float& rhs);
__host__ __device__ friend cuvec2f operator*(const float& lhs, const cuvec2f& rhs);
__host__ __device__ friend cuvec2f operator/(const cuvec2f& lhs, const float& rhs);
__host__ __device__ friend cuvec2f operator/(const float& lhs, const cuvec2f& rhs);
__host__ __device__ friend cuvec2f operator-(const cuvec2f& other);
__host__ __device__ cuvec2f& operator+=(const cuvec2f& rhs);
__host__ __device__ cuvec2f& operator-=(const cuvec2f& rhs);
__host__ __device__ cuvec2f& operator*=(const float& rhs);
__host__ __device__ cuvec2f& operator/=(const float& rhs);
//
//Matrix Header Stuff
//
float m00,m10;
float m01,m11;
__host__ __device__ cumat2f();
__host__ __device__ ~cumat2f();
__host__ __device__ cumat2f(
const float& _m00, const float& _m01,
const float& _m10, const float& _m11
);
__host__ __device__ cumat2f(const float* data4);
__host__ __device__ float& operator[](const int &I);
__host__ __device__ const float& operator[](const int &I) const;
__host__ __device__ float& operator()(const int &I, const int &J);
__host__ __device__ const float& operator()(const int &I, const int &J) const;
__host__ __device__ float& at(const int &I, const int &J);
__host__ __device__ const float& at(const int &I, const int &J) const;
__host__ __device__ float* data(); //pointer to float4 representation of matrix
__host__ __device__ const float* data() const; //pointer to float4 representation of matrix
__host__ __device__ cumat2f operator+(const cumat2f& rhs) const;
__host__ __device__ cumat2f operator-(const cumat2f& rhs) const;
__host__ __device__ cumat2f operator*(const cumat2f& rhs) const;
__host__ __device__ friend cumat2f operator*(const cumat2f& lhs, const float& rhs);
__host__ __device__ friend cumat2f operator/(const cumat2f& lhs, const float& rhs);
__host__ __device__ friend cumat2f operator*(const float& lhs, const cumat2f& rhs);
__host__ __device__ friend cuvec2f operator*(const cumat2f& lhs, const cuvec2f& rhs);
__host__ __device__ friend cuvec2f operator*(const cuvec2f& lhs, const cumat2f& rhs);
__host__ __device__ friend cumat2f operator-(const cumat2f& rhs);
__host__ __device__ cumat2f& operator+=(const cumat2f& rhs);
__host__ __device__ cumat2f& operator-=(const cumat2f& rhs);
__host__ __device__ cumat2f& operator*=(const float& rhs);
__host__ __device__ cumat2f& operator/=(const float& rhs);
__host__ __device__ cumat2f& operator*=(const cumat2f& rhs);
__host__ __device__ cumat2f transpose() const;