22 template <
unsigned Dim>
class SOffset;
24 template <
unsigned Dim>
26 template <
unsigned Dim>
28 template <
unsigned Dim>
30 template <
unsigned Dim>
32 template <
unsigned Dim>
35 template <
unsigned Dim>
37 template <
unsigned Dim>
39 template <
unsigned Dim>
41 template <
unsigned Dim>
43 template <
unsigned Dim>
46 template <
unsigned Dim>
48 template <
unsigned Dim>
50 template <
unsigned Dim>
52 template <
unsigned Dim>
54 template <
unsigned Dim>
57 template <
unsigned Dim>
59 template <
unsigned Dim>
61 template <
unsigned Dim>
63 template <
unsigned Dim>
66 template <
unsigned Dim>
69 template <
unsigned Dim>
82 template <
unsigned Dim>
92 SOffset(
int v0) {
for (
unsigned int d=0; d <
Dim;
v[d++] = v0); }
94 SOffset(
int v0,
int v1,
int v2);
95 SOffset(
int v0,
int v1,
int v2,
int v3);
96 SOffset(
int v0,
int v1,
int v2,
int v3,
int v4);
97 SOffset(
int v0,
int v1,
int v2,
int v3,
int v4,
int v5);
114 return !(*
this <
a || *
this ==
a);
152 template<
unsigned int Dim>
160 template<
unsigned int Dim>
169 template<
unsigned int Dim>
179 template<
unsigned int Dim>
190 template<
unsigned int Dim>
202 template<
unsigned int Dim>
205 for (
unsigned int i=0; i <
Dim; ++i)
211 template<
unsigned int Dim>
214 for (
unsigned int i=0; i <
Dim; ++i) {
217 else if (v[i] >
a.v[i])
225 template<
unsigned int Dim>
232 template<
unsigned int Dim>
239 template<
unsigned int Dim>
243 for (
unsigned int i=0; i <
Dim; ++i)
244 o <<
a[i] << (i < (
Dim-1) ?
"," :
"");
252 template<
unsigned int Dim>
255 for (
unsigned int d=0; d <
Dim; ++d) {
256 if (v[d] < ndi[d].first() || v[d] > ndi[d].last())
272 template<
unsigned int Dim,
int Flag>
300 template<
class T1,
class T2,
class Op,
unsigned int L>
310 template<
class T1,
class T2,
class Op>
318 template<
class T1,
class T2,
class Op>
325 template<
class T1,
class T2,
class Op>
331 template<
class T1,
class T2,
class Op>
340 template<
unsigned int L>
348 template<
unsigned int L>
356 template<
unsigned int L>
366 template<
unsigned int L>
375 template<
unsigned int L>
384 template<
unsigned int L>
393 template<
unsigned int L>
402 template<
unsigned int L>
411 template<
unsigned int L>
420 template<
unsigned int L>
429 template<
unsigned int L>
438 template<
unsigned int L>
455 template<
unsigned int L>
460 return (retval += b);
463 template<
unsigned int L>
468 return (retval += b);
471 template<
unsigned int L>
476 return (retval += b);
479 template<
unsigned int L>
484 for (
unsigned int d=0; d < L; ++d)
485 retval[d] = b[d] +
a[d];
489 template<
unsigned int L>
494 for (
unsigned int d=0; d < L; ++d)
495 retval[d] = b[d] +
a[d];
499 template<
unsigned int L>
504 return (retval -= b);
507 template<
unsigned int L>
512 return (retval -= b);
515 template<
unsigned int L>
520 return (retval -= b);
523 template<
unsigned int L>
528 for (
int d=0; d < L; ++d)
529 retval[d] = b[d] -
a[d];
533 template<
unsigned int L>
538 for (
int d=0; d < L; ++d)
539 retval[d] = b[d] -
a[d];
543 template<
unsigned int L>
548 return (retval *= b);
551 template<
unsigned int L>
556 return (retval *= b);
559 template<
unsigned int L>
564 return (retval *= b);
567 template<
unsigned int L>
572 for (
unsigned int d=0; d < L; ++d)
573 retval[d] = b[d] *
a[d];
577 template<
unsigned int L>
582 for (
unsigned int d=0; d < L; ++d)
583 retval[d] = b[d] *
a[d];
587 template<
unsigned int L>
592 return (retval /= b);
595 template<
unsigned int L>
600 return (retval /= b);
603 template<
unsigned int L>
608 return (retval /= b);
611 template<
unsigned int L>
616 for (
int d=0; d < L; ++d)
617 retval[d] = b[d] /
a[d];
626 template<
unsigned int L>
631 return (retval -=
a);
SOffset< Dim > operator/(const SOffset< Dim > &, const SOffset< Dim > &)
std::ostream & operator<<(std::ostream &, const SOffset< Dim > &)
SOffset< Dim > operator*(const SOffset< Dim > &, const SOffset< Dim > &)
SOffset< Dim > operator+(const SOffset< Dim > &, const SOffset< Dim > &)
void divide_soffset_op(T1 *p1, T2 *p2, Op op, DivideSOffsetCopyTag< L, 4 >)
SOffset< Dim > operator-(const SOffset< Dim > &, const SOffset< Dim > &)
void putMessage(Message &m, const T &t)
void getMessage_iter(Message &m, OutputIterator o)
int & operator[](unsigned int d)
bool inside(const NDIndex< Dim > &) const
SOffset(const SOffset< Dim > &)
const int & operator[](unsigned int d) const
bool operator>(const SOffset< Dim > &a) const
SOffset< Dim > & operator=(const SOffset< Dim > &)
SOffset< Dim > & operator*=(const SOffset< Dim > &)
const int * const_iterator
Message & getMessage(Message &)
const_iterator begin() const
bool operator!=(const SOffset< Dim > &a) const
SOffset< Dim > & operator+=(const SOffset< Dim > &)
bool operator<(const SOffset< Dim > &) const
unsigned int size() const
Message & putMessage(Message &)
const_iterator end() const
bool operator>=(const SOffset< Dim > &a) const
bool operator<=(const SOffset< Dim > &a) const
SOffset< Dim > & operator/=(const SOffset< Dim > &)
SOffset< Dim > & operator-=(const SOffset< Dim > &)
bool operator==(const SOffset< Dim > &) const
void operator()(int &a, int b)
void operator()(int &a, int b)
void operator()(int &a, int b)
void operator()(int &a, int b)
void operator()(int &a, int b)