|
diff --git a/macros_8h.js b/macros_8h.js
index e6dc2e3..8bcdbbb 100644
--- a/macros_8h.js
+++ b/macros_8h.js
@@ -14,7 +14,7 @@ var macros_8h =
[ "GET_MACRO", "macros_8h.html#a857fa4baf727f64fa21f32da2b6c0468", null ],
[ "INFO", "macros_8h.html#a809f816dd6df4e17499413cff1926fd4", null ],
[ "WARNING", "macros_8h.html#aaf99b8fcaa4b837f684ea0505ed34487", null ],
- [ "s_size_t", "macros_8h.html#a0ba6342ec1af226ef99781cde1070757", null ],
+ [ "s_size_t", "macros_8h.html#a292ef5870b9a88a0657959d670390c41", null ],
[ "Log_Level", "macros_8h.html#a6ad351ea7d2afe4c8726f1e0fd6a0b0e", [
[ "Error", "macros_8h.html#a6ad351ea7d2afe4c8726f1e0fd6a0b0ea902b0d55fddef6f8d651fe1035b7d4bd", null ],
[ "Warning", "macros_8h.html#a6ad351ea7d2afe4c8726f1e0fd6a0b0ea0eaadb4fcb48a0a0ed7bc9868be9fbaa", null ],
diff --git a/macros_8h_source.html b/macros_8h_source.html
index 61dd0f1..1e2f704 100644
--- a/macros_8h_source.html
+++ b/macros_8h_source.html
@@ -172,7 +172,7 @@
- 123 typedef std::make_signed<std::size_t>::type
s_size_t;
+ 123 using s_size_t = std::make_signed<std::size_t>::type;
@@ -199,7 +199,7 @@
-std::make_signed< std::size_t >::type s_size_t
Signed type for size type, used for conversion.
Definition: macros.h:123
+std::make_signed< std::size_t >::type s_size_t
Used for static casting where needed, and to prevent compile warnings (if you are using a signed type...
Definition: macros.h:123
std::basic_string< char > console_format(const Log_Level level, const std::source_location &location)
Adds additional information to messages about to be printed to screen, such as file and line numbers.
Definition: macros.h:54
Log_Level
Logging Level, used to defines the severity of messages to the console.
Definition: macros.h:41
diff --git a/matrix__dense_8h.html b/matrix__dense_8h.html
index a7143cb..30a4310 100644
--- a/matrix__dense_8h.html
+++ b/matrix__dense_8h.html
@@ -106,13 +106,13 @@
|
-struct | Matrix_Dense< _row, _col > |
+struct | Matrix_Dense< _type, _row, _col > |
| Mathematical matrix, of dimension _row x _col, where every matrix element has allocated has memory. More...
|
|
-struct | Matrix_Dense< 0, 0 > |
- | Mathematical matrix, of dimension _row x _col, where every matrix element has allocated has memory. More...
|
+struct | Matrix_Dense< _type, 0, 0 > |
+ | Mathematical matrix, of dimension _row x _col, where every matrix element has allocated has memory. More...
|
|
-struct | Matrix_Static_Demoter< _row_0, _colu_0, _row_1, _colu_1 > |
+struct | Matrix_Static_Demoter< matrix_0, matrix_1 > |
| Used for matrix multiplication, where the static nature of matrices must decay to dynamic. More...
|
|
|
-template<std::size_t _row, std::size_t _col> |
-constexpr Matrix_Dense< _row, _col > | operator* (const Scalar &scalar, Matrix_Dense< _row, _col > matrix) |
- | Multiplies a matrix by a scalar, C = b*A, where A, and C are matrices and b is a scalar. More...
|
- |
-template<std::size_t _row, std::size_t _col> |
-constexpr Matrix_Dense< _row, _col > | operator/ (Matrix_Dense< _row, _col > matrix, const Scalar &scalar) |
- | Divides a matrix by a scalar, C = A/b, where A, and C are matrices and b is a scalar. More...
|
- |
-template<std::size_t _row, std::size_t _col, std::size_t _size> |
-constexpr StaticPromoter< Vector_Dense< _row >, Vector_Dense< _size > >::type | operator* (const Matrix_Dense< _row, _col > &matrix, const Vector_Dense< _size > &vector) |
- | Multiplies a matrix and vector, c = A*b, where A is a matrix and c and b are vectors. More...
|
- |
-template<std::size_t _row_0, std::size_t _col_0, std::size_t _row_1, std::size_t _col_1> |
-constexpr StaticPromoter< Matrix_Dense< _row_0, _col_0 >, Matrix_Dense< _row_1, _col_1 > >::type | operator+ (const Matrix_Dense< _row_0, _col_0 > &matrix_0, const Matrix_Dense< _row_1, _col_1 > &matrix_1) |
- | Adds two matrices together, C = A + B, where A, B, and C are matrices. More...
|
- |
-template<std::size_t _row_0, std::size_t _col_0, std::size_t _row_1, std::size_t _col_1> |
-constexpr StaticPromoter< Matrix_Dense< _row_0, _col_0 >, Matrix_Dense< _row_1, _col_1 > >::type | operator- (const Matrix_Dense< _row_0, _col_0 > &matrix_0, const Matrix_Dense< _row_1, _col_1 > &matrix_1) |
- | Subtracts one matrix from another, C = A - B, where A, B, and C are matrices. More...
|
- |
-template<std::size_t _row_0, std::size_t _col_0, std::size_t _row_1, std::size_t _col_1> |
-constexpr Matrix_Static_Demoter< _row_0, _col_0, _row_1, _col_1 >::type | operator* (const Matrix_Dense< _row_0, _col_0 > &matrix_0, const Matrix_Dense< _row_1, _col_1 > &matrix_1) |
- | Multiples two matrices together, C = A*B, where A, B, and C are matrices. More...
|
- |
+template<typename _type , std::size_t _row, std::size_t _col> |
+constexpr Matrix_Dense< _type, _row, _col > | operator* (const Scalar &scalar, Matrix_Dense< _type, _row, _col > matrix) |
+ | Multiplies a matrix by a scalar, C = b*A, where A, and C are matrices and b is a scalar. More...
|
+ |
+template<typename _type , std::size_t _row, std::size_t _col> |
+constexpr Matrix_Dense< _type, _row, _col > | operator/ (Matrix_Dense< _type, _row, _col > matrix, const Scalar &scalar) |
+ | Divides a matrix by a scalar, C = A/b, where A, and C are matrices and b is a scalar. More...
|
+ |
+template<typename _type , std::size_t _row, std::size_t _col, std::size_t _size> |
+constexpr Static_Promoter< Vector_Dense< _type, _row >, Vector_Dense< _type, _size > >::type | operator* (const Matrix_Dense< _type, _row, _col > &matrix, const Vector_Dense< _type, _size > &vector) |
+ | Multiplies a matrix and vector, c = A*b, where A is a matrix and c and b are vectors. More...
|
+ |
+template<typename _type , std::size_t _row_0, std::size_t _col_0, std::size_t _row_1, std::size_t _col_1> |
+constexpr Static_Promoter< Matrix_Dense< _type, _row_0, _col_0 >, Matrix_Dense< _type, _row_1, _col_1 > >::type | operator+ (const Matrix_Dense< _type, _row_0, _col_0 > &matrix_0, const Matrix_Dense< _type, _row_1, _col_1 > &matrix_1) |
+ | Adds two matrices together, C = A + B, where A, B, and C are matrices. More...
|
+ |
+template<typename _type , std::size_t _row_0, std::size_t _col_0, std::size_t _row_1, std::size_t _col_1> |
+constexpr Static_Promoter< Matrix_Dense< _type, _row_0, _col_0 >, Matrix_Dense< _type, _row_1, _col_1 > >::type | operator- (const Matrix_Dense< _type, _row_0, _col_0 > &matrix_0, const Matrix_Dense< _type, _row_1, _col_1 > &matrix_1) |
+ | Subtracts one matrix from another, C = A - B, where A, B, and C are matrices. More...
|
+ |
+template<typename _type , std::size_t _row_0, std::size_t _col_0, std::size_t _row_1, std::size_t _col_1> |
+constexpr Matrix_Static_Demoter< const Matrix_Dense< _type, _row_0, _col_0 >, const Matrix_Dense< _type, _row_1, _col_1 > >::type | operator* (const Matrix_Dense< _type, _row_0, _col_0 > &matrix_0, const Matrix_Dense< _type, _row_1, _col_1 > &matrix_1) |
+ | Multiples two matrices together, C = A*B, where A, B, and C are matrices. More...
|
+ |
diff --git a/matrix__dense_8h.js b/matrix__dense_8h.js
index 7994878..aabf495 100644
--- a/matrix__dense_8h.js
+++ b/matrix__dense_8h.js
@@ -1,12 +1,12 @@
var matrix__dense_8h =
[
[ "Matrix_Dense", "struct_disa_1_1_matrix___dense.html", "struct_disa_1_1_matrix___dense" ],
- [ "Matrix_Dense< 0, 0 >", "struct_disa_1_1_matrix___dense_3_010_00_010_01_4.html", "struct_disa_1_1_matrix___dense_3_010_00_010_01_4" ],
+ [ "Matrix_Dense< _type, 0, 0 >", "struct_disa_1_1_matrix___dense_3_01__type_00_010_00_010_01_4.html", "struct_disa_1_1_matrix___dense_3_01__type_00_010_00_010_01_4" ],
[ "Matrix_Static_Demoter", "struct_disa_1_1_matrix___static___demoter.html", "struct_disa_1_1_matrix___static___demoter" ],
- [ "operator*", "matrix__dense_8h.html#aa4d4f0af6e02438857e5ab7a004d6a4f", null ],
- [ "operator*", "matrix__dense_8h.html#a3642085d2ec89bd95b52b18cdd94ed3b", null ],
- [ "operator*", "matrix__dense_8h.html#abceb1086568ebdd99dc7807281148388", null ],
- [ "operator+", "matrix__dense_8h.html#ab20c8a4cbbfbab5e72f21794e1a053fd", null ],
- [ "operator-", "matrix__dense_8h.html#a9b1596fd1adce755e2999be979782299", null ],
- [ "operator/", "matrix__dense_8h.html#ac170326ced1eff0918996ae03dc4048e", null ]
+ [ "operator*", "matrix__dense_8h.html#ae4c8e0d311dc2db38732db8d7362a01e", null ],
+ [ "operator*", "matrix__dense_8h.html#aa73672d307ce64b3565cddc5da2a92cf", null ],
+ [ "operator*", "matrix__dense_8h.html#a3907d6a33ce44e218aa2e45651d6cc02", null ],
+ [ "operator+", "matrix__dense_8h.html#acd877c06bd6db306d864f4f64ef274ea", null ],
+ [ "operator-", "matrix__dense_8h.html#ace9e590e3eb5fa801628482978f4abd7", null ],
+ [ "operator/", "matrix__dense_8h.html#a1013b883de71a12d538bd2ec65989b5f", null ]
];
\ No newline at end of file
diff --git a/matrix__dense_8h_source.html b/matrix__dense_8h_source.html
index 12cb61e..a0ae36f 100644
--- a/matrix__dense_8h_source.html
+++ b/matrix__dense_8h_source.html
@@ -129,322 +129,336 @@
- 58 template<std::
size_t _row, std::
size_t _col>
- 59 struct Matrix_Dense :
public std::array<Vector_Dense<_col>, _row> {
-
-
- 62 static_assert(_row != 0 && _col != 0,
"Semi-static matrices are not supported");
-
-
-
-
+ 59 template<
typename _type, std::
size_t _row, std::
size_t _col>
+ 60 struct Matrix_Dense :
public std::array<Vector_Dense<_type, _col>, _row> {
+
+
+ 63 static constexpr std::size_t
row = _row;
+ 64 static constexpr std::size_t
col = _col;
+
+ 66 static_assert(_row != 0 && _col != 0,
"Semi-static matrices are not supported");
-
-
-
- 78 auto iter = this->begin();
-
-
-
-
- 89 std::size_t row = _row, std::size_t column = _col) {
- 90 ASSERT_DEBUG(row == _row && column == _col,
"Cannot change the number of rows and columns for a static matrix.");
- 91 FOR(i_row, row) {
FOR(i_column, column) (*this)[i_row][i_column] = lambda(i_row, i_column); }
-
-
-
-
-
+
+
+
+
+
+
+
+ 82 auto iter = this->begin();
+
+
+
+
+ 93 std::size_t
row = _row, std::size_t column = _col) {
+ 94 ASSERT_DEBUG(
row == _row && column == _col,
"Cannot change the number of rows and columns for a static matrix.");
+ 95 FOR(i_row,
row) {
FOR(i_column, column) (*this)[i_row][i_column] = lambda(i_row, i_column); }
+
- 102 [[nodiscard]] constexpr std::size_t
size_row() const noexcept {
return _row; }
-
- 108 [[nodiscard]] constexpr std::size_t
size_column() const noexcept {
return _col; }
-
- 114 constexpr std::pair<std::size_t, std::size_t>
size() const noexcept {
-
-
-
-
-
-
+
+
+
+
+ 106 [[nodiscard]] constexpr std::size_t
size_row() const noexcept {
return _row; }
+
+ 112 [[nodiscard]] constexpr std::size_t
size_column() const noexcept {
return _col; }
+
+ 118 constexpr std::pair<std::size_t, std::size_t>
size() const noexcept {
+
+
-
-
-
-
-
-
-
-
-
-
- 151 template<std::
size_t _row_other, std::
size_t _col_other>
-
-
- 154 "Incompatible matrix dimensions, " + std::to_string(
size_row()) +
"," + std::to_string(
size_column()) +
- 155 " vs. " + std::to_string(matrix.
size_row()) +
"," + std::to_string(matrix.
size_column()) +
".");
- 156 FOR(row, _row) (*this)[row] += matrix[row];
-
-
-
- 167 template<std::
size_t _row_other, std::
size_t _col_other>
-
-
- 170 "Incompatible matrix dimensions, " + std::to_string(
size_row()) +
"," + std::to_string(
size_column()) +
- 171 " vs. " + std::to_string(matrix.
size_row()) +
"," + std::to_string(matrix.
size_column()) +
".");
- 172 FOR(row, _row) (*this)[row] -= matrix[row];
-
-
-
- 185 template<std::
size_t _row_other, std::
size_t _col_other>
-
-
-
- 189 "Incompatible matrix dimensions, " + std::to_string(
size_row()) +
"," + std::to_string(
size_column()) +
- 190 " vs. " + std::to_string(matrix.
size_row()) +
"," + std::to_string(matrix.
size_column()) +
".");
-
- 192 std::swap(*
this, copy);
-
-
-
- 196 if (i_row_other == 0) (*this)[i_row][i_column] = 0.0;
- 197 (*this)[i_row][i_column] += copy[i_row][i_row_other]*matrix[i_row_other][i_column];
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 236 auto iter = this->begin();
-
- 238 ASSERT_DEBUG(item.size() == list.begin()->size(),
"List dimension varies.");
-
-
-
-
- 249 explicit Matrix_Dense(
const std::function<
Scalar(std::size_t, std::size_t)>& lambda, std::size_t row,
- 250 std::size_t column) {
-
-
- 253 (*this)[i_row].resize(column);
- 254 FOR(i_column, column) (*this)[i_row][i_column] = lambda(i_row, i_column);
-
-
-
-
-
-
-
- 262 using std::vector<Vector_Dense<0> >::resize;
-
- 269 void resize(
const std::size_t rows,
const std::size_t columns) {
-
-
-
-
- 278 [[nodiscard]] std::size_t
size_row() const noexcept {
return std::distance(cbegin(), cend()); }
-
- 284 [[nodiscard]] std::size_t
size_column() const noexcept {
return empty() ? 0 : (*this)[0].size(); }
-
- 290 [[nodiscard]] std::pair<std::size_t, std::size_t>
size() const noexcept {
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 155 template<std::
size_t _row_other, std::
size_t _col_other>
+
+
+ 158 "Incompatible matrix dimensions, " + std::to_string(
size_row()) +
"," + std::to_string(
size_column()) +
+ 159 " vs. " + std::to_string(matrix.
size_row()) +
"," + std::to_string(matrix.
size_column()) +
".");
+
+
+
+
+ 171 template<std::
size_t _row_other, std::
size_t _col_other>
+
+
+ 174 "Incompatible matrix dimensions, " + std::to_string(
size_row()) +
"," + std::to_string(
size_column()) +
+ 175 " vs. " + std::to_string(matrix.
size_row()) +
"," + std::to_string(matrix.
size_column()) +
".");
+
+
+
+
+ 189 template<std::
size_t _row_other, std::
size_t _col_other>
+
+
+
+ 193 "Incompatible matrix dimensions, " + std::to_string(
size_row()) +
"," + std::to_string(
size_column()) +
+ 194 " vs. " + std::to_string(matrix.
size_row()) +
"," + std::to_string(matrix.
size_column()) +
".");
+
+ 196 std::swap(*
this, copy);
+
+
+
+ 200 if (i_row_other == 0) (*this)[i_row][i_column] = 0.0;
+ 201 (*this)[i_row][i_column] += copy[i_row][i_row_other]*matrix[i_row_other][i_column];
+
+
+
+
+
+
+
+ 221 template<
typename _type>
+ 222 struct Matrix_Dense<_type, 0, 0> :
public std::vector<Vector_Dense<_type, 0> > {
+
+
+ 225 static constexpr std::size_t
row = 0;
+ 226 static constexpr std::size_t
col = 0;
+
+
+
+
+
+
+
+
+
+
+ 244 auto iter = this->begin();
+
+ 246 ASSERT_DEBUG(item.size() == list.begin()->size(),
"List dimension varies.");
+
+
+
+
+
+ 258 std::size_t column) {
+
+
+ 261 (*this)[i_row].resize(column);
+ 262 FOR(i_column, column) (*this)[i_row][i_column] = lambda(i_row, i_column);
+
+
+
+
+
+
+
+ 270 using std::vector<Vector_Dense<_type, 0> >::resize;
+
+ 277 void resize(
const std::size_t rows,
const std::size_t columns) {
+
+
+
+
+ 286 [[nodiscard]] std::size_t
size_row() const noexcept {
return std::vector<Vector_Dense<_type, 0> >
::size(); }
+
+ 292 [[nodiscard]] std::size_t
size_column() const noexcept {
return (*this).empty() ? 0 : (*this)[0].size(); }
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 327 template<std::
size_t _row_other, std::
size_t _col_other>
-
-
- 330 "Incompatible matrix dimensions, " + std::to_string(
size_row()) +
"," + std::to_string(
size_column()) +
- 331 " vs. " + std::to_string(matrix.
size_row()) +
"," + std::to_string(matrix.
size_column()) +
".");
-
-
-
-
- 343 template<std::
size_t _row_other, std::
size_t _col_other>
-
-
- 346 "Incompatible matrix dimensions, " + std::to_string(
size_row()) +
"," + std::to_string(
size_column()) +
- 347 " vs. " + std::to_string(matrix.
size_row()) +
"," + std::to_string(matrix.
size_column()) +
".");
-
-
-
-
- 361 template<std::
size_t _row_other, std::
size_t _col_other>
-
-
-
- 365 "Incompatible matrix dimensions, " + std::to_string(
size_row()) +
"," + std::to_string(
size_column()) +
- 366 " vs. " + std::to_string(matrix.
size_row()) +
"," + std::to_string(matrix.
size_column()) +
".");
-
-
- 369 std::swap(*
this, copy);
-
-
-
- 373 if(i_row_other == 0) (*this)[i_row][i_column] = 0.0;
- 374 (*this)[i_row][i_column] += copy[i_row][i_row_other]*matrix[i_row_other][i_column];
-
-
-
-
-
-
-
-
-
-
-
- 393 template<std::
size_t _row_0, std::
size_t _colu_0, std::
size_t _row_1, std::
size_t _colu_1>
-
-
-
-
-
-
-
-
-
-
-
-
- 414 template<std::
size_t _row, std::
size_t _col>
-
- 416 return matrix *= scalar;
-
-
- 427 template<std::
size_t _row, std::
size_t _col>
-
- 429 return matrix /= scalar;
-
-
- 441 template<std::
size_t _row, std::
size_t _col, std::
size_t _size>
- 442 typename StaticPromoter<Vector_Dense<_row>, Vector_Dense<_size> >::type
-
-
- 445 "Incompatible vector-matrix dimensions, " + std::to_string(matrix.
size_row()) +
"," +
- 446 std::to_string(matrix.
size_column()) +
" vs. " + std::to_string(vector.size()));
-
- 448 return _return_vector([&](
const std::size_t i_row) {
return dot_product(matrix[i_row], vector); },
-
-
-
- 462 template<std::
size_t _row_0, std::
size_t _col_0, std::
size_t _row_1, std::
size_t _col_1>
- 463 typename StaticPromoter<Matrix_Dense<_row_0, _col_0>, Matrix_Dense<_row_1, _col_1> >::type
-
-
- 466 "Incompatible matrix dimensions, " + std::to_string(matrix_0.
size_row()) +
"," +
- 467 std::to_string(matrix_0.
size_column()) +
" vs. " + std::to_string(matrix_1.
size_row()) +
"," +
-
-
- 470 return _return_matrix(
- 471 [&](std::size_t i_row, std::size_t i_column) {
return matrix_0[i_row][i_column] + matrix_1[i_row][i_column]; },
-
-
-
- 485 template<std::
size_t _row_0, std::
size_t _col_0, std::
size_t _row_1, std::
size_t _col_1>
- 486 typename StaticPromoter<Matrix_Dense<_row_0, _col_0>, Matrix_Dense<_row_1, _col_1> >::type
-
-
- 489 "Incompatible matrix dimensions, " + std::to_string(matrix_0.
size_row()) +
"," +
- 490 std::to_string(matrix_0.
size_column()) +
" vs. " + std::to_string(matrix_1.
size_row()) +
"," +
-
-
- 493 return _return_matrix(
- 494 [&](std::size_t i_row, std::size_t i_column) {
return matrix_0[i_row][i_column] - matrix_1[i_row][i_column]; },
-
-
-
- 508 template<std::
size_t _row_0, std::
size_t _col_0, std::
size_t _row_1, std::
size_t _col_1>
-
-
-
- 512 "Incompatible matrix dimensions, " + std::to_string(matrix_0.
size_row()) +
"," +
- 513 std::to_string(matrix_0.
size_column()) +
" vs. " + std::to_string(matrix_1.
size_row()) +
"," +
-
-
- 516 _return_matrix([&](
const std::size_t i_row,
const std::size_t i_column) {
- 517 return matrix_0[i_row][i_column];
-
- 519 return _return_matrix *= matrix_1;
-
-
-
-
-
+ 298 [[nodiscard]] std::pair<std::size_t, std::size_t>
size() const noexcept {
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 335 template<std::
size_t _row_other, std::
size_t _col_other>
+
+
+ 338 "Incompatible matrix dimensions, " + std::to_string(
size_row()) +
"," + std::to_string(
size_column()) +
+ 339 " vs. " + std::to_string(matrix.
size_row()) +
"," + std::to_string(matrix.
size_column()) +
".");
+
+
+
+
+ 351 template<std::
size_t _row_other, std::
size_t _col_other>
+
+
+ 354 "Incompatible matrix dimensions, " + std::to_string(
size_row()) +
"," + std::to_string(
size_column()) +
+ 355 " vs. " + std::to_string(matrix.
size_row()) +
"," + std::to_string(matrix.
size_column()) +
".");
+
+
+
+
+ 369 template<std::
size_t _row_other, std::
size_t _col_other>
+
+
+
+ 373 "Incompatible matrix dimensions, " + std::to_string(
size_row()) +
"," + std::to_string(
size_column()) +
+ 374 " vs. " + std::to_string(matrix.
size_row()) +
"," + std::to_string(matrix.
size_column()) +
".");
+
+
+ 377 std::swap(*
this, copy);
+
+
+
+ 381 if(i_row_other == 0) (*this)[i_row][i_column] = 0.0;
+ 382 (*this)[i_row][i_column] += copy[i_row][i_row_other]*matrix[i_row_other][i_column];
+
+
+
+
+
+
+
+
+
+
+
+ 402 template<
class matrix_0,
class matrix_1>
+
+ 404 static constexpr
bool is_dynamic = matrix_0::is_dynamic || matrix_1::is_dynamic;
+
+
+
+
+
+
+
+
+
+ 423 template<
typename _type, std::
size_t _row, std::
size_t _col>
+
+ 425 return matrix *= scalar;
+
+
+ 437 template<
typename _type, std::
size_t _row, std::
size_t _col>
+
+ 439 return matrix /= scalar;
+
+
+ 452 template<
typename _type, std::
size_t _row, std::
size_t _col, std::
size_t _size>
+ 453 typename Static_Promoter<Vector_Dense<_type, _row>, Vector_Dense<_type, _size> >::type
+
+
+ 456 "Incompatible vector-matrix dimensions, " + std::to_string(matrix.
size_row()) +
"," +
+ 457 std::to_string(matrix.
size_column()) +
" vs. " + std::to_string(vector.size()));
+
+ 459 return _return_vector([&](
const std::size_t i_row) {
return dot_product(matrix[i_row], vector); },
+
+
+
+ 474 template<
typename _type, std::
size_t _row_0, std::
size_t _col_0, std::
size_t _row_1, std::
size_t _col_1>
+ 475 typename Static_Promoter<Matrix_Dense<_type, _row_0, _col_0>, Matrix_Dense<_type, _row_1, _col_1> >::type
+
+
+
+ 479 "Incompatible matrix dimensions, " + std::to_string(matrix_0.
size_row()) +
"," +
+ 480 std::to_string(matrix_0.
size_column()) +
" vs. " + std::to_string(matrix_1.
size_row()) +
"," +
+
+
+
+ 484 return _return_matrix(
+ 485 [&](std::size_t i_row, std::size_t i_column) {
return matrix_0[i_row][i_column] + matrix_1[i_row][i_column]; },
+
+
+
+ 500 template<
typename _type, std::
size_t _row_0, std::
size_t _col_0, std::
size_t _row_1, std::
size_t _col_1>
+ 501 typename Static_Promoter<Matrix_Dense<_type, _row_0, _col_0>, Matrix_Dense<_type, _row_1, _col_1> >::type
+
+
+
+ 505 "Incompatible matrix dimensions, " + std::to_string(matrix_0.
size_row()) +
"," +
+ 506 std::to_string(matrix_0.
size_column()) +
" vs. " + std::to_string(matrix_1.
size_row()) +
"," +
+
+
+
+ 510 return _return_matrix(
+ 511 [&](std::size_t i_row, std::size_t i_column) {
return matrix_0[i_row][i_column] - matrix_1[i_row][i_column]; },
+
+
+
+ 526 template<
typename _type, std::
size_t _row_0, std::
size_t _col_0, std::
size_t _row_1, std::
size_t _col_1>
+ 527 typename Matrix_Static_Demoter<const Matrix_Dense<_type, _row_0, _col_0>,
const Matrix_Dense<_type, _row_1, _col_1> >::type
+
+
+
+ 531 "Incompatible matrix dimensions, " + std::to_string(matrix_0.
size_row()) +
"," +
+ 532 std::to_string(matrix_0.
size_column()) +
" vs. " + std::to_string(matrix_1.
size_row()) +
"," +
+
+
+
+ 536 _return_matrix([&](
const std::size_t i_row,
const std::size_t i_column) {
+ 537 return matrix_0[i_row][i_column];
+
+ 539 return _return_matrix *= matrix_1;
+
+
+
+
+
#define FOR(...)
Selects either the index or ranged index for loop macros, see descriptions.
Definition: macros.h:154
#define FOR_EACH_REF(element, container)
Range based for-loop macro.
Definition: macros.h:168
#define FOR_EACH(element, container)
Range based for-loop macro.
Definition: macros.h:161
#define ASSERT_DEBUG(condition, exception)
Definition: macros.h:116
+constexpr Matrix_Dense< _type, _row, _col > operator/(Matrix_Dense< _type, _row, _col > matrix, const Scalar &scalar)
Divides a matrix by a scalar, C = A/b, where A, and C are matrices and b is a scalar.
Definition: matrix_dense.h:438
+constexpr Matrix_Dense< _type, _row, _col > operator*(const Scalar &scalar, Matrix_Dense< _type, _row, _col > matrix)
Multiplies a matrix by a scalar, C = b*A, where A, and C are matrices and b is a scalar.
Definition: matrix_dense.h:424
double Scalar
Definition: scalar.h:36
-constexpr StaticPromoter< Matrix_Dense< _row_0, _col_0 >, Matrix_Dense< _row_1, _col_1 > >::type operator-(const Matrix_Dense< _row_0, _col_0 > &matrix_0, const Matrix_Dense< _row_1, _col_1 > &matrix_1)
Subtracts one matrix from another, C = A - B, where A, B, and C are matrices.
Definition: matrix_dense.h:487
-constexpr Scalar dot_product(const Vector_Dense< _size_0 > &vector_0, const Vector_Dense< _size_1 > &vector_1)
Computes the dot(inner) product between two vectors.
Definition: vector_operators.h:89
-constexpr StaticPromoter< Matrix_Dense< _row_0, _col_0 >, Matrix_Dense< _row_1, _col_1 > >::type operator+(const Matrix_Dense< _row_0, _col_0 > &matrix_0, const Matrix_Dense< _row_1, _col_1 > &matrix_1)
Adds two matrices together, C = A + B, where A, B, and C are matrices.
Definition: matrix_dense.h:464
-constexpr Matrix_Dense< _row, _col > operator*(const Scalar &scalar, Matrix_Dense< _row, _col > matrix)
Multiplies a matrix by a scalar, C = b*A, where A, and C are matrices and b is a scalar.
Definition: matrix_dense.h:415
-constexpr Matrix_Dense< _row, _col > operator/(Matrix_Dense< _row, _col > matrix, const Scalar &scalar)
Divides a matrix by a scalar, C = A/b, where A, and C are matrices and b is a scalar.
Definition: matrix_dense.h:428
+constexpr Scalar dot_product(const Vector_Dense< _type, _size_0 > &vector_0, const Vector_Dense< _type, _size_1 > &vector_1)
Computes the dot(inner) product between two vectors.
Definition: vector_operators.h:89
+constexpr Static_Promoter< Matrix_Dense< _type, _row_0, _col_0 >, Matrix_Dense< _type, _row_1, _col_1 > >::type operator+(const Matrix_Dense< _type, _row_0, _col_0 > &matrix_0, const Matrix_Dense< _type, _row_1, _col_1 > &matrix_1)
Adds two matrices together, C = A + B, where A, B, and C are matrices.
Definition: matrix_dense.h:476
+constexpr Static_Promoter< Matrix_Dense< _type, _row_0, _col_0 >, Matrix_Dense< _type, _row_1, _col_1 > >::type operator-(const Matrix_Dense< _type, _row_0, _col_0 > &matrix_0, const Matrix_Dense< _type, _row_1, _col_1 > &matrix_1)
Subtracts one matrix from another, C = A - B, where A, B, and C are matrices.
Definition: matrix_dense.h:502
Definition: adjacency_graph.h:382
-Mathematical matrix, of dimension _row x _col, where every matrix element has allocated has memory.
Definition: matrix_dense.h:217
-Matrix_Dense(const std::function< Scalar(std::size_t, std::size_t)> &lambda, std::size_t row, std::size_t column)
Constructor to construct a matrix from a lambda expression.
Definition: matrix_dense.h:249
-std::size_t size_row() const noexcept
Returns the number of rows in the matrix.
Definition: matrix_dense.h:278
-_matrix & operator*=(const Scalar &scalar)
Multiplies the matrix by a scalar, A' = A*b, where A is the matrix and b is the scalar.
Definition: matrix_dense.h:303
-std::pair< std::size_t, std::size_t > size() const noexcept
Returns the number of rows and columns in the matrix.
Definition: matrix_dense.h:290
-_matrix & operator/=(const Scalar &scalar)
Divides the matrix by a scalar, A' = A/b, where A is the matrix and b is a scalar.
Definition: matrix_dense.h:315
-_matrix & operator*=(const Matrix_Dense< _row_other, _col_other > &matrix)
Multiplies this matrix by another matrix, A' = A*B, where A and B are matrices.
Definition: matrix_dense.h:362
-constexpr _matrix & operator-=(const Matrix_Dense< _row_other, _col_other > &matrix)
Subtraction by a second matrix, A' = A - B, where A and B are matrices.
Definition: matrix_dense.h:344
-Matrix_Dense()
Initialise empty matrix.
Definition: matrix_dense.h:228
-constexpr _matrix & operator+=(const Matrix_Dense< _row_other, _col_other > &matrix)
Addition of a second matrix, A' = A + B, where A and B are matrices.
Definition: matrix_dense.h:328
-std::size_t size_column() const noexcept
Returns the number of columns in the matrix.
Definition: matrix_dense.h:284
-Matrix_Dense(const std::initializer_list< Vector_Dense< 0 > > &list)
Constructor to construct a matrix from an initializer list, matrix is resized to list size.
Definition: matrix_dense.h:234
-void resize(const std::size_t rows, const std::size_t columns)
Resizes the rows and columns of the matrix.
Definition: matrix_dense.h:269
-Mathematical matrix, of dimension _row x _col, where every matrix element has allocated has memory.
Definition: matrix_dense.h:59
-Matrix_Dense(const std::function< Scalar(std::size_t, std::size_t)> &lambda, std::size_t row=_row, std::size_t column=_col)
Constructor to construct a matrix from a lambda expression.
Definition: matrix_dense.h:88
-constexpr std::pair< std::size_t, std::size_t > size() const noexcept
Returns the number of rows and columns in the matrix.
Definition: matrix_dense.h:114
-Matrix_Dense(const std::initializer_list< Vector_Dense< _col > > &list)
Constructor to construct from initializer of vectors list, list and matrix must be of the same dimens...
Definition: matrix_dense.h:77
-constexpr _matrix & operator-=(const Matrix_Dense< _row_other, _col_other > &matrix)
Subtraction by a second matrix, A' = A - B, where A and B are matrices.
Definition: matrix_dense.h:168
-constexpr _matrix & operator*=(const Matrix_Dense< _row_other, _col_other > &matrix)
Multiplies the matrix by another matrix, A' = A*B, where A and B are matrices.
Definition: matrix_dense.h:186
-Matrix_Dense()
Initialise empty matrix.
Definition: matrix_dense.h:71
-constexpr _matrix & operator*=(const Scalar &scalar)
Multiplies the matrix by a scalar, A' = A*b, where A is the matrix and b is the scalar.
Definition: matrix_dense.h:127
-constexpr _matrix & operator+=(const Matrix_Dense< _row_other, _col_other > &matrix)
Addition of a second matrix, A' = A + B, where A and B are matrices.
Definition: matrix_dense.h:152
-constexpr _matrix & operator/=(const Scalar &scalar)
Divides the matrix by a scalar, A' = A/b, where A is the matrix and b is a scalar.
Definition: matrix_dense.h:139
-static const bool is_dynamic
Indicates the matrix is compile time sized.
Definition: matrix_dense.h:61
-constexpr std::size_t size_column() const noexcept
Returns the number of columns in the matrix.
Definition: matrix_dense.h:108
-constexpr std::size_t size_row() const noexcept
Returns the number of rows in the matrix.
Definition: matrix_dense.h:102
-Used for matrix multiplication, where the static nature of matrices must decay to dynamic.
Definition: matrix_dense.h:394
-static const std::size_t row_new
Definition: matrix_dense.h:396
-Matrix_Dense< row_new, colu_new > type
Static Matrix type if either _row_0/_colu_0 or _row_1/_colu_1 is static else dynamic....
Definition: matrix_dense.h:399
-static const bool is_dynamic
Definition: matrix_dense.h:395
-static const std::size_t colu_new
Definition: matrix_dense.h:397
-
-Mathematical Vector, of dimension _size, where every vector element has allocated has memory.
Definition: vector_dense.h:164
+Mathematical matrix, of dimension _row x _col, where every matrix element has allocated has memory.
Definition: matrix_dense.h:222
+matrix_type & operator/=(const Scalar &scalar)
Divides the matrix by a scalar, A' = A/b, where A is the matrix and b is a scalar.
Definition: matrix_dense.h:323
+Matrix_Dense(const std::function< Scalar(std::size_t, std::size_t)> &lambda, std::size_t row, std::size_t column)
Constructor to construct a matrix from a lambda expression.
Definition: matrix_dense.h:257
+std::size_t size_row() const noexcept
Returns the number of rows in the matrix.
Definition: matrix_dense.h:286
+Matrix_Dense(const std::initializer_list< Vector_Dense< _type, 0 > > &list)
Constructor to construct a matrix from an initializer list, matrix is resized to list size.
Definition: matrix_dense.h:242
+constexpr matrix_type & operator+=(const Matrix_Dense< _type, _row_other, _col_other > &matrix)
Addition of a second matrix, A' = A + B, where A and B are matrices.
Definition: matrix_dense.h:336
+std::pair< std::size_t, std::size_t > size() const noexcept
Returns the number of rows and columns in the matrix.
Definition: matrix_dense.h:298
+matrix_type & operator*=(const Matrix_Dense< _type, _row_other, _col_other > &matrix)
Multiplies this matrix by another matrix, A' = A*B, where A and B are matrices.
Definition: matrix_dense.h:370
+_type value_type
The type of the matrix, e.g. double, float, int.
Definition: matrix_dense.h:223
+Matrix_Dense()
Initialise empty matrix.
Definition: matrix_dense.h:236
+matrix_type & operator*=(const Scalar &scalar)
Multiplies the matrix by a scalar, A' = A*b, where A is the matrix and b is the scalar.
Definition: matrix_dense.h:311
+constexpr matrix_type & operator-=(const Matrix_Dense< _type, _row_other, _col_other > &matrix)
Subtraction by a second matrix, A' = A - B, where A and B are matrices.
Definition: matrix_dense.h:352
+std::size_t size_column() const noexcept
Returns the number of columns in the matrix.
Definition: matrix_dense.h:292
+void resize(const std::size_t rows, const std::size_t columns)
Resizes the rows and columns of the matrix.
Definition: matrix_dense.h:277
+Mathematical matrix, of dimension _row x _col, where every matrix element has allocated has memory.
Definition: matrix_dense.h:60
+Matrix_Dense(const std::function< Scalar(std::size_t, std::size_t)> &lambda, std::size_t row=_row, std::size_t column=_col)
Constructor to construct a matrix from a lambda expression.
Definition: matrix_dense.h:92
+static constexpr std::size_t col
Number of columns in the matrix.
Definition: matrix_dense.h:64
+Matrix_Dense(const std::initializer_list< Vector_Dense< _type, _col > > &list)
Constructor to construct from initializer of vectors list, list and matrix must be of the same dimens...
Definition: matrix_dense.h:81
+constexpr std::pair< std::size_t, std::size_t > size() const noexcept
Returns the number of rows and columns in the matrix.
Definition: matrix_dense.h:118
+constexpr matrix_type & operator+=(const Matrix_Dense< _type, _row_other, _col_other > &matrix)
Addition of a second matrix, A' = A + B, where A and B are matrices.
Definition: matrix_dense.h:156
+constexpr matrix_type & operator*=(const Matrix_Dense< _type, _row_other, _col_other > &matrix)
Multiplies the matrix by another matrix, A' = A*B, where A and B are matrices.
Definition: matrix_dense.h:190
+constexpr matrix_type & operator*=(const Scalar &scalar)
Multiplies the matrix by a scalar, A' = A*b, where A is the matrix and b is the scalar.
Definition: matrix_dense.h:131
+_type value_type
The type of the matrix, e.g. double, float, int.
Definition: matrix_dense.h:61
+Matrix_Dense()
Initialise empty matrix.
Definition: matrix_dense.h:75
+constexpr matrix_type & operator-=(const Matrix_Dense< _type, _row_other, _col_other > &matrix)
Subtraction by a second matrix, A' = A - B, where A and B are matrices.
Definition: matrix_dense.h:172
+static constexpr bool is_dynamic
Indicates the matrix is compile time sized.
Definition: matrix_dense.h:65
+constexpr matrix_type & operator/=(const Scalar &scalar)
Divides the matrix by a scalar, A' = A/b, where A is the matrix and b is a scalar.
Definition: matrix_dense.h:143
+constexpr std::size_t size_column() const noexcept
Returns the number of columns in the matrix.
Definition: matrix_dense.h:112
+static constexpr std::size_t row
Number of rows in the matrix.
Definition: matrix_dense.h:63
+constexpr std::size_t size_row() const noexcept
Returns the number of rows in the matrix.
Definition: matrix_dense.h:106
+Used for matrix multiplication, where the static nature of matrices must decay to dynamic.
Definition: matrix_dense.h:403
+static constexpr bool is_dynamic
Definition: matrix_dense.h:404
+static constexpr std::size_t row_new
Definition: matrix_dense.h:405
+static constexpr std::size_t col_new
Definition: matrix_dense.h:406
+
+Definition: vector_dense.h:165
Mathematical Vector, of dimension _size, where every vector element has allocated has memory.
Definition: vector_dense.h:58
diff --git a/matrix__sparse_8h.html b/matrix__sparse_8h.html
index dc49a8f..ad8472b 100644
--- a/matrix__sparse_8h.html
+++ b/matrix__sparse_8h.html
@@ -126,10 +126,10 @@
Matrix_Sparse | operator/ (Matrix_Sparse matrix, const Scalar &scalar) |
| Divides a sparse matrix by a scalar, C = A/b, where A, and C are sparse matrices and b is a scalar. More...
|
|
-template<std::size_t _size> |
-Vector_Dense< _size > | operator* (const Matrix_Sparse &matrix, const Vector_Dense< _size > &vector) |
- | Multiplies a sparse matrix and vector, c = A*b, where A is a sparse matrix and c and b are vectors. More...
|
- |
+template<std::size_t _size> |
+Vector_Dense< Scalar, _size > | operator* (const Matrix_Sparse &matrix, const Vector_Dense< Scalar, _size > &vector) |
+ | Multiplies a sparse matrix and vector, c = A*b, where A is a sparse matrix and c and b are vectors. More...
|
+ |
Matrix_Sparse | operator+ (Matrix_Sparse matrix_0, const Matrix_Sparse &matrix_1) |
| Adds two sparse matrices together, C = A + B, where A, B, and C are sparse matrices. More...
|
|
diff --git a/matrix__sparse_8h.js b/matrix__sparse_8h.js
index 011ddaf..2659106 100644
--- a/matrix__sparse_8h.js
+++ b/matrix__sparse_8h.js
@@ -4,7 +4,7 @@ var matrix__sparse_8h =
[ "Matrix_Sparse_Row", "class_disa_1_1_matrix___sparse___row.html", "class_disa_1_1_matrix___sparse___row" ],
[ "Iterator_Matrix_Sparse_Row", "struct_disa_1_1_iterator___matrix___sparse___row.html", "struct_disa_1_1_iterator___matrix___sparse___row" ],
[ "Iterator_Matrix_Sparse_Element", "struct_disa_1_1_iterator___matrix___sparse___element.html", "struct_disa_1_1_iterator___matrix___sparse___element" ],
- [ "operator*", "matrix__sparse_8h.html#a1fd59b9452712082871dd4b8c4ce3717", null ],
+ [ "operator*", "matrix__sparse_8h.html#a8bad92e4006dd16d1ac6b6149e647ff4", null ],
[ "operator*", "matrix__sparse_8h.html#af509d324b0288be3dd64abb559e35e23", null ],
[ "operator*", "matrix__sparse_8h.html#a4ef2ba6a0c7cefc2c527b386d901ed2e", null ],
[ "operator+", "matrix__sparse_8h.html#aff24d51f9c4906a5d5a6cc8c4f4879b8", null ],
diff --git a/matrix__sparse_8h_source.html b/matrix__sparse_8h_source.html
index 1fafef9..3d44965 100644
--- a/matrix__sparse_8h_source.html
+++ b/matrix__sparse_8h_source.html
@@ -647,26 +647,26 @@
-
+
1081 return matrix *= scalar;
-
+
1091 return matrix /= scalar;
1103 template<std::
size_t _size>
-
+
1106 "Incompatible vector-matrix dimensions, " + std::to_string(matrix.
size_row()) +
"," +
1107 std::to_string(matrix.
size_column()) +
" vs. " + std::to_string(vector.size()) +
".");
1108 ASSERT_DEBUG(!_size || matrix.
size_row() == vector.size(),
"For static vectors the matrix must be square.");
-
+
1110 FOR_ITER(iter, *(matrix.
begin() + i_row)) value += *iter*vector[iter.i_column()];
1111 return value; }, matrix.
size_row());
-
+
1122 "Incompatible matrix dimensions, " + std::to_string(matrix_0.
size_row()) +
"," +
1123 std::to_string(matrix_0.
size_column()) +
" vs. " + std::to_string(matrix_1.
size_row()) +
"," +
@@ -675,12 +675,12 @@
-
+
1136 matrix_0 -= matrix_1;
-
+
1147 matrix_0 *= matrix_1;
@@ -757,12 +757,12 @@
#define FOR_EACH(element, container)
Range based for-loop macro.
Definition: macros.h:161
#define ASSERT_DEBUG(condition, exception)
Definition: macros.h:116
+constexpr Matrix_Dense< _type, _row, _col > operator/(Matrix_Dense< _type, _row, _col > matrix, const Scalar &scalar)
Divides a matrix by a scalar, C = A/b, where A, and C are matrices and b is a scalar.
Definition: matrix_dense.h:438
+constexpr Matrix_Dense< _type, _row, _col > operator*(const Scalar &scalar, Matrix_Dense< _type, _row, _col > matrix)
Multiplies a matrix by a scalar, C = b*A, where A, and C are matrices and b is a scalar.
Definition: matrix_dense.h:424
double Scalar
Definition: scalar.h:36
-constexpr StaticPromoter< Matrix_Dense< _row_0, _col_0 >, Matrix_Dense< _row_1, _col_1 > >::type operator-(const Matrix_Dense< _row_0, _col_0 > &matrix_0, const Matrix_Dense< _row_1, _col_1 > &matrix_1)
Subtracts one matrix from another, C = A - B, where A, B, and C are matrices.
Definition: matrix_dense.h:487
-constexpr StaticPromoter< Matrix_Dense< _row_0, _col_0 >, Matrix_Dense< _row_1, _col_1 > >::type operator+(const Matrix_Dense< _row_0, _col_0 > &matrix_0, const Matrix_Dense< _row_1, _col_1 > &matrix_1)
Adds two matrices together, C = A + B, where A, B, and C are matrices.
Definition: matrix_dense.h:464
std::ostream & operator<<(std::ostream &stream, Matrix_Sparse &matrix)
Output shift operator - to write to console.
Definition: matrix_sparse.h:1159
-constexpr Matrix_Dense< _row, _col > operator*(const Scalar &scalar, Matrix_Dense< _row, _col > matrix)
Multiplies a matrix by a scalar, C = b*A, where A, and C are matrices and b is a scalar.
Definition: matrix_dense.h:415
-constexpr Matrix_Dense< _row, _col > operator/(Matrix_Dense< _row, _col > matrix, const Scalar &scalar)
Divides a matrix by a scalar, C = A/b, where A, and C are matrices and b is a scalar.
Definition: matrix_dense.h:428
+constexpr Static_Promoter< Matrix_Dense< _type, _row_0, _col_0 >, Matrix_Dense< _type, _row_1, _col_1 > >::type operator+(const Matrix_Dense< _type, _row_0, _col_0 > &matrix_0, const Matrix_Dense< _type, _row_1, _col_1 > &matrix_1)
Adds two matrices together, C = A + B, where A, B, and C are matrices.
Definition: matrix_dense.h:476
+constexpr Static_Promoter< Matrix_Dense< _type, _row_0, _col_0 >, Matrix_Dense< _type, _row_1, _col_1 > >::type operator-(const Matrix_Dense< _type, _row_0, _col_0 > &matrix_0, const Matrix_Dense< _type, _row_1, _col_1 > &matrix_1)
Subtracts one matrix from another, C = A - B, where A, B, and C are matrices.
Definition: matrix_dense.h:502
Iterator to advance over elements of a row of a CSR sparse matrix.
Definition: matrix_sparse.h:863
constexpr reference operator[](const difference_type &i_advance)
Iterator subscript operator.
Definition: matrix_sparse.h:1043
diff --git a/menudata.js b/menudata.js
index 296be1a..8f091c4 100644
--- a/menudata.js
+++ b/menudata.js
@@ -67,8 +67,7 @@ var menudata={children:[
{text:"Class Hierarchy",url:"hierarchy.html"},
{text:"Data Fields",url:"functions.html",children:[
{text:"All",url:"functions.html",children:[
-{text:"_",url:"functions.html#index__5F"},
-{text:"a",url:"functions_a.html#index_a"},
+{text:"a",url:"functions.html#index_a"},
{text:"b",url:"functions_b.html#index_b"},
{text:"c",url:"functions_c.html#index_c"},
{text:"d",url:"functions_d.html#index_d"},
@@ -118,7 +117,16 @@ var menudata={children:[
{text:"t",url:"functions_vars.html#index_t"},
{text:"v",url:"functions_vars.html#index_v"},
{text:"w",url:"functions_vars.html#index_w"}]},
-{text:"Typedefs",url:"functions_type.html"},
+{text:"Typedefs",url:"functions_type.html",children:[
+{text:"c",url:"functions_type.html#index_c"},
+{text:"d",url:"functions_type.html#index_d"},
+{text:"i",url:"functions_type.html#index_i"},
+{text:"m",url:"functions_type.html#index_m"},
+{text:"p",url:"functions_type.html#index_p"},
+{text:"r",url:"functions_type.html#index_r"},
+{text:"s",url:"functions_type.html#index_s"},
+{text:"t",url:"functions_type.html#index_t"},
+{text:"v",url:"functions_type.html#index_v"}]},
{text:"Related Functions",url:"functions_rela.html"}]}]},
{text:"Files",url:"files.html",children:[
{text:"File List",url:"files.html"},
diff --git a/namespace_disa.html b/namespace_disa.html
index 19546df..8eb8eae 100644
--- a/namespace_disa.html
+++ b/namespace_disa.html
@@ -98,8 +98,8 @@
struct | Matrix_Dense |
| Mathematical matrix, of dimension _row x _col, where every matrix element has allocated has memory. More...
|
|
-struct | Matrix_Dense< 0, 0 > |
- | Mathematical matrix, of dimension _row x _col, where every matrix element has allocated has memory. More...
|
+struct | Matrix_Dense< _type, 0, 0 > |
+ | Mathematical matrix, of dimension _row x _col, where every matrix element has allocated has memory. More...
|
|
struct | Matrix_Static_Demoter |
| Used for matrix multiplication, where the static nature of matrices must decay to dynamic. More...
|
@@ -119,11 +119,13 @@
struct | Vector_Dense |
| Mathematical Vector, of dimension _size, where every vector element has allocated has memory. More...
|
|
-struct | Vector_Dense< 0 > |
- | Mathematical Vector, of dimension _size, where every vector element has allocated has memory. More...
|
+struct | Vector_Dense< _type, 0 > |
|
-struct | StaticPromoter |
- | Chooses, between two vectors the static vector type if possible. More...
|
+struct | Static_Promoter |
+ | Chooses, between two vectors, the static vector type if possible. More...
|
+ |
+struct | Static_Demoter |
+ | Chooses, between two vectors, the dynamic vector type if possible. More...
|
|
class | Adjacency_Graph |
| An graph G(V, E), where V is a set of vertex indices and E is a set of undirected edges connecting the vertices in V. More...
|
@@ -163,9 +165,9 @@