Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .github/workflows/run_test_vs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,9 @@ jobs:
matrix:
define:
- ""
- "-DBASE_MATRIX_USE_STD_VECTOR"
- "-DBASE_MATRIX_USE_FOR_LOOP_OPERATION"
- "-DBASE_MATRIX_USE_STD_VECTOR -DBASE_MATRIX_USE_FOR_LOOP_OPERATION"
- "-D__BASE_MATRIX_USE_STD_VECTOR__"
- "-D__BASE_MATRIX_USE_FOR_LOOP_OPERATION__"
- "-D__BASE_MATRIX_USE_STD_VECTOR__ -D__BASE_MATRIX_USE_FOR_LOOP_OPERATION__"

steps:
- name: Checkout code
Expand Down
6 changes: 3 additions & 3 deletions base_matrix/base_matrix.hpp
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#ifndef BASE_MATRIX_HPP
#define BASE_MATRIX_HPP
#ifndef __BASE_MATRIX_HPP__
#define __BASE_MATRIX_HPP__

#include "base_matrix_macros.hpp"

Expand All @@ -20,4 +20,4 @@
#include "base_matrix_variable_sparse.hpp"
#include "base_matrix_vector.hpp"

#endif // BASE_MATRIX_HPP
#endif // __BASE_MATRIX_HPP__
6 changes: 3 additions & 3 deletions base_matrix/base_matrix_cholesky_decomposition.hpp
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#ifndef BASE_MATRIX_CHOLESKY_DECOMPOSITION_HPP
#define BASE_MATRIX_CHOLESKY_DECOMPOSITION_HPP
#ifndef __BASE_MATRIX_CHOLESKY_DECOMPOSITION_HPP__
#define __BASE_MATRIX_CHOLESKY_DECOMPOSITION_HPP__

#include "base_matrix_macros.hpp"

Expand Down Expand Up @@ -164,4 +164,4 @@ inline Matrix<T, M, M> cholesky_decomposition_sparse(
} // namespace Matrix
} // namespace Base

#endif // BASE_MATRIX_CHOLESKY_DECOMPOSITION_HPP
#endif // __BASE_MATRIX_CHOLESKY_DECOMPOSITION_HPP__
48 changes: 24 additions & 24 deletions base_matrix/base_matrix_compiled_sparse.hpp
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#ifndef BASE_MATRIX_COMPILED_SPARSE_HPP
#define BASE_MATRIX_COMPILED_SPARSE_HPP
#ifndef __BASE_MATRIX_COMPILED_SPARSE_HPP__
#define __BASE_MATRIX_COMPILED_SPARSE_HPP__

#include "base_matrix_macros.hpp"

Expand All @@ -23,7 +23,7 @@ template <typename T, std::size_t M, std::size_t N, typename RowIndices,
typename RowPointers>
class CompiledSparseMatrix {
public:
#ifdef BASE_MATRIX_USE_STD_VECTOR
#ifdef __BASE_MATRIX_USE_STD_VECTOR__

CompiledSparseMatrix() : values(RowPointers::list[M], static_cast<T>(0)) {}

Expand All @@ -32,7 +32,7 @@ class CompiledSparseMatrix {

CompiledSparseMatrix(const std::vector<T> &values) : values(values) {}

#else // BASE_MATRIX_USE_STD_VECTOR
#else // __BASE_MATRIX_USE_STD_VECTOR__

CompiledSparseMatrix() : values{} {}

Expand All @@ -53,7 +53,7 @@ class CompiledSparseMatrix {
std::copy(values.begin(), values.end(), this->values.begin());
}

#endif // BASE_MATRIX_USE_STD_VECTOR
#endif // __BASE_MATRIX_USE_STD_VECTOR__

/* Copy Constructor */
CompiledSparseMatrix(
Expand Down Expand Up @@ -82,11 +82,11 @@ class CompiledSparseMatrix {
}

/* Variable */
#ifdef BASE_MATRIX_USE_STD_VECTOR
#ifdef __BASE_MATRIX_USE_STD_VECTOR__
std::vector<T> values;
#else // BASE_MATRIX_USE_STD_VECTOR
#else // __BASE_MATRIX_USE_STD_VECTOR__
std::array<T, RowPointers::list[M]> values;
#endif // BASE_MATRIX_USE_STD_VECTOR
#endif // __BASE_MATRIX_USE_STD_VECTOR__
};

/* Output dense matrix */
Expand Down Expand Up @@ -171,7 +171,7 @@ inline Matrix<T, M, N> output_dense_matrix(
const CompiledSparseMatrix<T, M, N, RowIndices, RowPointers> &mat) {
Matrix<T, M, N> result;

#ifdef BASE_MATRIX_USE_FOR_LOOP_OPERATION
#ifdef __BASE_MATRIX_USE_FOR_LOOP_OPERATION__

for (std::size_t j = 0; j < M; j++) {
for (std::size_t k = RowPointers::list[j]; k < RowPointers::list[j + 1];
Expand All @@ -180,12 +180,12 @@ inline Matrix<T, M, N> output_dense_matrix(
}
}

#else // BASE_MATRIX_USE_FOR_LOOP_OPERATION
#else // __BASE_MATRIX_USE_FOR_LOOP_OPERATION__

Base::Matrix::COMPILED_SPARSE_OUTPUT_DENSE_MATRIX<T, M, N, RowIndices,
RowPointers>(mat, result);

#endif // BASE_MATRIX_USE_FOR_LOOP_OPERATION
#endif // __BASE_MATRIX_USE_FOR_LOOP_OPERATION__

return result;
}
Expand Down Expand Up @@ -273,7 +273,7 @@ inline Matrix<T, N, M> output_matrix_transpose(
const CompiledSparseMatrix<T, M, N, RowIndices, RowPointers> &mat) {
Matrix<T, N, M> result;

#ifdef BASE_MATRIX_USE_FOR_LOOP_OPERATION
#ifdef __BASE_MATRIX_USE_FOR_LOOP_OPERATION__

for (std::size_t j = 0; j < M; j++) {
for (std::size_t k = RowPointers::list[j]; k < RowPointers::list[j + 1];
Expand All @@ -282,13 +282,13 @@ inline Matrix<T, N, M> output_matrix_transpose(
}
}

#else // BASE_MATRIX_USE_FOR_LOOP_OPERATION
#else // __BASE_MATRIX_USE_FOR_LOOP_OPERATION__

Base::Matrix::COMPILED_SPARSE_TRANSPOSE_DENSE_MATRIX<T, M, N, RowIndices,
RowPointers>(mat,
result);

#endif // BASE_MATRIX_USE_FOR_LOOP_OPERATION
#endif // __BASE_MATRIX_USE_FOR_LOOP_OPERATION__

return result;
}
Expand Down Expand Up @@ -363,7 +363,7 @@ inline auto create_compiled_sparse(const Matrix<T, M, N> &A)
DenseMatrixRowPointers<M, N>>
Y;

#ifdef BASE_MATRIX_USE_FOR_LOOP_OPERATION
#ifdef __BASE_MATRIX_USE_FOR_LOOP_OPERATION__

std::size_t consecutive_index = 0;
for (std::size_t i = 0; i < M; i++) {
Expand All @@ -373,12 +373,12 @@ inline auto create_compiled_sparse(const Matrix<T, M, N> &A)
}
}

#else // BASE_MATRIX_USE_FOR_LOOP_OPERATION
#else // __BASE_MATRIX_USE_FOR_LOOP_OPERATION__

Base::Matrix::COMPILED_DENSE_MATRIX_SUBSTITUTE_SPARSE<
T, M, N, DenseMatrixRowIndices<M, N>, DenseMatrixRowPointers<M, N>>(A, Y);

#endif // BASE_MATRIX_USE_FOR_LOOP_OPERATION
#endif // __BASE_MATRIX_USE_FOR_LOOP_OPERATION__

return Y;
}
Expand Down Expand Up @@ -599,7 +599,7 @@ inline void set_sparse_matrix_value(
static_assert(ColumnToSet < M, "Column number must be less than M");
static_assert(RowToSet < N, "Row number must be less than N");

#ifdef BASE_MATRIX_USE_FOR_LOOP_OPERATION
#ifdef __BASE_MATRIX_USE_FOR_LOOP_OPERATION__

for (std::size_t j = 0; j < M; ++j) {
if (ColumnToSet == j) {
Expand All @@ -614,13 +614,13 @@ inline void set_sparse_matrix_value(
}
}

#else // BASE_MATRIX_USE_FOR_LOOP_OPERATION
#else // __BASE_MATRIX_USE_FOR_LOOP_OPERATION__

Base::Matrix::COMPILED_SPARSE_SET_MATRIX_VALUE<ColumnToSet, RowToSet, T, M, N,
RowIndices_A, RowPointers_A>(
A, value);

#endif // BASE_MATRIX_USE_FOR_LOOP_OPERATION
#endif // __BASE_MATRIX_USE_FOR_LOOP_OPERATION__
}

/* Get Sparse Matrix Value */
Expand Down Expand Up @@ -796,7 +796,7 @@ inline T get_sparse_matrix_value(

T value = static_cast<T>(0);

#ifdef BASE_MATRIX_USE_FOR_LOOP_OPERATION
#ifdef __BASE_MATRIX_USE_FOR_LOOP_OPERATION__

for (std::size_t j = 0; j < M; ++j) {
if (ColumnToGet == j) {
Expand All @@ -811,18 +811,18 @@ inline T get_sparse_matrix_value(
}
}

#else // BASE_MATRIX_USE_FOR_LOOP_OPERATION
#else // __BASE_MATRIX_USE_FOR_LOOP_OPERATION__

Base::Matrix::COMPILED_SPARSE_GET_MATRIX_VALUE<ColumnToGet, RowToGet, T, M, N,
RowIndices_A, RowPointers_A>(
A, value);

#endif // BASE_MATRIX_USE_FOR_LOOP_OPERATION
#endif // __BASE_MATRIX_USE_FOR_LOOP_OPERATION__

return value;
}

} // namespace Matrix
} // namespace Base

#endif // BASE_MATRIX_COMPILED_SPARSE_HPP
#endif // __BASE_MATRIX_COMPILED_SPARSE_HPP__
Loading