Sleipnir C++ API
Loading...
Searching...
No Matches
all_finite.hpp
1// Copyright (c) Sleipnir contributors
2
3#pragma once
4
5#include <cmath>
6
7#include <Eigen/SparseCore>
8
9namespace slp {
10
15template <typename Derived>
16bool all_finite(const Eigen::SparseCompressedBase<Derived>& mat) {
17 using std::isfinite;
18
19 for (int k = 0; k < mat.outerSize(); ++k) {
20 for (typename Derived::InnerIterator it{mat, k}; it; ++it) {
21 if (!isfinite(it.value())) {
22 return false;
23 }
24 }
25 }
26
27 return true;
28}
29
30} // namespace slp