6 #ifndef MYRAMATH_DENSE_LOWERMATRIXRANGE_H 7 #define MYRAMATH_DENSE_LOWERMATRIXRANGE_H 15 #include <myramath/utility/detail/LIBPUBLIC.h> 23 template<
int Arity,
class Number>
class Expression;
24 template<
class Number>
class Matrix;
25 template<
class Number>
class MatrixRange;
26 template<
class Number>
class CMatrixRange;
27 template<
class Number>
class LowerMatrixRange;
28 template<
class Number>
class CLowerMatrixRange;
32 template<
class Number>
class LIBPUBLIC LowerMatrixRange
61 uint64_t n_words()
const;
64 std::pair<int,int> blocking()
const;
78 Number& operator() (
int i,
int j)
const;
81 Number& at(
int i,
int j)
const;
103 template<
class Functor>
void transform(
const Functor& f)
const 106 for (
int j = 0; j < N; ++j)
107 for (
int i = j; i < N; ++i)
108 *pointer(i,j) = f( *pointer(i,j) );
131 void operator *= (Number alpha)
const;
134 void operator /= (Number alpha)
const;
142 Number* pointer(
int i,
int j)
const;
148 void check_size(
int S)
const;
152 template<
class Number>
class LIBPUBLIC CLowerMatrixRange
170 CLowerMatrixRange(
const Number* in_begin,
int N);
181 uint64_t n_words()
const;
184 std::pair<int,int> blocking()
const;
195 const Number& operator() (
int i,
int j)
const;
198 const Number& at(
int i,
int j)
const;
219 const Number* pointer(
int i,
int j)
const;
224 LIBPUBLIC std::ostream& operator << (std::ostream& out, const CLowerMatrixRange<NumberS>& A);
226 LIBPUBLIC std::ostream& operator << (std::ostream& out, const CLowerMatrixRange<NumberD>& A);
227 LIBPUBLIC std::ostream& operator << (std::ostream& out, const CLowerMatrixRange<NumberC>& A);
228 LIBPUBLIC std::ostream& operator << (std::ostream& out, const CLowerMatrixRange<NumberZ>& A);
int N2
---------— Data members, all public ----------------—
Definition: LowerMatrixRange.h:40
int LD
---------— Data members, all public ----------------—
Definition: LowerMatrixRange.h:161
Represents a mutable LowerMatrixRange.
Definition: conjugate.h:28
Tabulates an IxJ matrix. Allows random access, has column major layout to be compatible with BLAS/LAP...
Definition: bdsqr.h:20
int N2
---------— Data members, all public ----------------—
Definition: LowerMatrixRange.h:160
Represents a const MatrixRange.
Definition: bothcat.h:22
Abstraction layer, serializable objects write themselves to these.
Definition: Streams.h:39
Various utility functions/classes related to scalar Number types.
int N1
---------— Data members, all public ----------------—
Definition: LowerMatrixRange.h:39
int LD
---------— Data members, all public ----------------—
Definition: LowerMatrixRange.h:41
Represents a mutable MatrixRange.
Definition: conjugate.h:26
void transform(const Functor &f) const
Overwrites every A(i,j) in this LowerMatrixRange with f(A(i,j)).
Definition: LowerMatrixRange.h:103
Given an index (i,j,etc), returns a value.
Definition: arithmetic.h:19
Represents a const LowerMatrixRange.
Definition: conjugate.h:34
int N1
---------— Data members, all public ----------------—
Definition: LowerMatrixRange.h:159