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>
70 std::ostream& operator<<(std::ostream&, const SOffset<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);
109 bool operator<(const SOffset<Dim>&)
const;
111 bool operator<=(const SOffset<Dim>& a)
const {
return !(*
this > a); }
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>
241 operator<<(std::ostream& o, const SOffset<Dim>& a) {
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>
338 template<
class T1,
class T2,
class Op,
unsigned int L>
348 template<
class T1,
class T2,
class Op>
356 template<
class T1,
class T2,
class Op>
363 template<
class T1,
class T2,
class Op>
369 template<
class T1,
class T2,
class Op>
378 template<
unsigned int L>
386 template<
unsigned int L>
394 template<
unsigned int L>
404 template<
unsigned int L>
413 template<
unsigned int L>
422 template<
unsigned int L>
431 template<
unsigned int L>
440 template<
unsigned int L>
449 template<
unsigned int L>
458 template<
unsigned int L>
467 template<
unsigned int L>
476 template<
unsigned int L>
493 template<
unsigned int L>
498 return (retval += b);
501 template<
unsigned int L>
506 return (retval += b);
509 template<
unsigned int L>
514 return (retval += b);
517 template<
unsigned int L>
522 for (
int d=0; d < L; ++d)
523 retval[d] = b[d] + a[d];
527 template<
unsigned int L>
532 for (
int d=0; d < L; ++d)
533 retval[d] = b[d] + a[d];
537 template<
unsigned int L>
542 return (retval -= b);
545 template<
unsigned int L>
550 return (retval -= b);
553 template<
unsigned int L>
558 return (retval -= b);
561 template<
unsigned int L>
566 for (
int d=0; d < L; ++d)
567 retval[d] = b[d] - a[d];
571 template<
unsigned int L>
576 for (
int d=0; d < L; ++d)
577 retval[d] = b[d] - a[d];
581 template<
unsigned int L>
586 return (retval *= b);
589 template<
unsigned int L>
594 return (retval *= b);
597 template<
unsigned int L>
602 return (retval *= b);
605 template<
unsigned int L>
610 for (
int d=0; d < L; ++d)
611 retval[d] = b[d] * a[d];
615 template<
unsigned int L>
620 for (
int d=0; d < L; ++d)
621 retval[d] = b[d] * a[d];
625 template<
unsigned int L>
630 return (retval /= b);
633 template<
unsigned int L>
638 return (retval /= b);
641 template<
unsigned int L>
646 return (retval /= b);
649 template<
unsigned int L>
654 for (
int d=0; d < L; ++d)
655 retval[d] = b[d] / a[d];
664 template<
unsigned int L>
669 return (retval -= a);
Matrix< T > operator+(const Matrix< T > &, const Matrix< T > &)
Matrix addition.
bool inside(const NDIndex< Dim > &) const
Matrix< T > operator/(const Matrix< T > &, const T &)
Matrix divided by scalar.
SOffset< Dim > & operator=(const SOffset< Dim > &)
void operator()(int &a, int b)
Message & putMessage(Message &)
unsigned int size() const
SOffset< Dim > & operator-=(const SOffset< Dim > &)
SOffset< Dim > & operator/=(const SOffset< Dim > &)
const int & operator[](unsigned int d) const
Matrix< T > operator*(const Matrix< T > &, const Matrix< T > &)
Matrix multiply.
bool operator!=(const SOffset< Dim > &a) const
void getMessage_iter(Message &m, OutputIterator o)
int & operator[](unsigned int d)
const_iterator end() const
bool operator<(const SOffset< Dim > &) const
SOffset< Dim > & operator+=(const SOffset< Dim > &)
void operator()(int &a, int b)
bool operator>(const SOffset< Dim > &a) const
Message & getMessage(Message &)
bool operator==(const SOffset< Dim > &) const
void operator()(int &a, int b)
const_iterator begin() const
const int * const_iterator
void putMessage(Message &m, const T &t)
Matrix< T > operator-(const Matrix< T > &, const Matrix< T > &)
Matrix subtraction.
SOffset< Dim > & operator*=(const SOffset< Dim > &)
void divide_soffset_op(T1 *p1, T2 *p2, Op op, DivideSOffsetCopyTag< L, 4 >)
void operator()(int &a, int b)
bool operator>=(const SOffset< Dim > &a) const
void operator()(int &a, int b)