WPILibC++ 2023.4.3-108-ge5452e3
SparseFuzzy.h
Go to the documentation of this file.
1// This file is part of Eigen, a lightweight C++ template library
2// for linear algebra.
3//
4// Copyright (C) 2008-2014 Gael Guennebaud <gael.guennebaud@inria.fr>
5//
6// This Source Code Form is subject to the terms of the Mozilla
7// Public License v. 2.0. If a copy of the MPL was not distributed
8// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
9
10#ifndef EIGEN_SPARSE_FUZZY_H
11#define EIGEN_SPARSE_FUZZY_H
12
13namespace Eigen {
14
15template<typename Derived>
16template<typename OtherDerived>
18{
19 const typename internal::nested_eval<Derived,2,PlainObject>::type actualA(derived());
20 typename internal::conditional<bool(IsRowMajor)==bool(OtherDerived::IsRowMajor),
22 const PlainObject>::type actualB(other.derived());
23
24 return (actualA - actualB).squaredNorm() <= prec * prec * numext::mini(actualA.squaredNorm(), actualB.squaredNorm());
25}
26
27} // end namespace Eigen
28
29#endif // EIGEN_SPARSE_FUZZY_H
Base class of any sparse matrices or sparse expressions.
Definition: SparseMatrixBase.h:28
const Derived & derived() const
Definition: SparseMatrixBase.h:143
bool isApprox(const SparseMatrixBase< OtherDerived > &other, const RealScalar &prec=NumTraits< Scalar >::dummy_precision()) const
Definition: SparseFuzzy.h:17
NumTraits< Scalar >::Real RealScalar
This is the "real scalar" type; if the Scalar type is already real numbers (e.g.
Definition: SparseMatrixBase.h:128
A versatible sparse matrix representation.
Definition: SparseMatrix.h:98
type
Definition: core.h:575
EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE T mini(const T &x, const T &y)
Definition: MathFunctions.h:1083
Namespace containing all symbols from the Eigen library.
Definition: Core:141
Definition: Meta.h:109
Definition: Meta.h:96