integer vector types
This commit is contained in:
@ -4,6 +4,32 @@
|
||||
namespace amscuda
|
||||
{
|
||||
|
||||
class cuvec2i
|
||||
{
|
||||
public:
|
||||
int x;
|
||||
int y;
|
||||
|
||||
__host__ __device__ cuvec2i();
|
||||
__host__ __device__ ~cuvec2i();
|
||||
__host__ __device__ cuvec2i(const int &_x, const int &_y);
|
||||
__host__ __device__ int& operator[](const int &I);
|
||||
__host__ __device__ const int& operator[](const int &I) const;
|
||||
__host__ __device__ cuvec2i operator+(const cuvec2i& rhs) const;
|
||||
__host__ __device__ cuvec2i operator-(const cuvec2i& rhs) const;
|
||||
__host__ __device__ cuvec2i operator*(const cuvec2i& rhs) const; //elementwise product
|
||||
__host__ __device__ cuvec2i operator/(const cuvec2i& rhs) const; //elementwise division
|
||||
__host__ __device__ friend cuvec2i operator*(const cuvec2i& lhs, const int& rhs);
|
||||
__host__ __device__ friend cuvec2i operator*(const int& lhs, const cuvec2i& rhs);
|
||||
__host__ __device__ friend cuvec2i operator/(const cuvec2i& lhs, const int& rhs);
|
||||
__host__ __device__ friend cuvec2i operator/(const int& lhs, const cuvec2i& rhs);
|
||||
__host__ __device__ friend cuvec2i operator-(const cuvec2i& other);
|
||||
__host__ __device__ cuvec2i& operator+=(const cuvec2i& rhs);
|
||||
__host__ __device__ cuvec2i& operator-=(const cuvec2i& rhs);
|
||||
__host__ __device__ cuvec2i& operator*=(const int& rhs);
|
||||
__host__ __device__ cuvec2i& operator/=(const int& rhs);
|
||||
|
||||
};
|
||||
|
||||
}; //end namespace amscuda
|
||||
|
||||
|
||||
@ -4,6 +4,33 @@
|
||||
namespace amscuda
|
||||
{
|
||||
|
||||
class cuvec3i
|
||||
{
|
||||
public:
|
||||
int x;
|
||||
int y;
|
||||
int z;
|
||||
|
||||
__host__ __device__ cuvec3i();
|
||||
__host__ __device__ ~cuvec3i();
|
||||
__host__ __device__ cuvec3i(const int &_x, const int &_y, const int &_z);
|
||||
__host__ __device__ int& operator[](const int &I);
|
||||
__host__ __device__ const int& operator[](const int &I) const;
|
||||
__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);
|
||||
|
||||
};
|
||||
|
||||
}; //end namespace amscuda
|
||||
|
||||
|
||||
@ -4,6 +4,34 @@
|
||||
namespace amscuda
|
||||
{
|
||||
|
||||
class cuvec4i
|
||||
{
|
||||
public:
|
||||
int x;
|
||||
int y;
|
||||
int z;
|
||||
int w;
|
||||
|
||||
__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);
|
||||
|
||||
};
|
||||
|
||||
}; //end namespace amscuda
|
||||
|
||||
|
||||
Reference in New Issue
Block a user