21 dim4(
unsigned x,
unsigned y=1,
unsigned z=1,
unsigned w=1);
23 dim4(
unsigned ndims,
const unsigned *dims);
34 unsigned elements()
const;
44 unsigned rest(
unsigned i)
const;
55 unsigned numdims()
const;
66 const unsigned *dims()
const;
77 bool isempty()
const {
return elements() == 0; }
88 bool isscalar()
const {
return elements() == 1; }
99 bool isvector()
const {
return numdims() == 2 && (m_dims[0] == 1 || m_dims[1] == 1); }
108 bool iscolumn()
const {
return numdims() == 2 && m_dims[1] == 1; }
118 bool isrow()
const {
return numdims() == 2 && m_dims[0] == 1; }
128 unsigned& operator[](
unsigned);
138 unsigned operator[](
unsigned)
const;
147 bool operator==(
const dim4&)
const;
156 bool operator!=(
const dim4&)
const;
180 AFAPI friend std::ostream& operator<<(std::ostream&,
const dim4&);
bool iscolumn() const
Is column vector?
Definition: dims.h:108
bool isempty() const
Is empty array?
Definition: dims.h:77
#define AFAPI
Definition: defines.h:45
bool isvector() const
Is array vector (row or column or scalar)?
Definition: dims.h:99
bool isscalar() const
Is scalar array (one element)?
Definition: dims.h:88
const cfloat i
representation for imaginary unit 0+1i
array dimensions descriptor
Definition: dims.h:16
bool isrow() const
Is row vector?
Definition: dims.h:118