MyraMath
threshold.h
Go to the documentation of this file.
1 // ========================================================================= //
2 // This file is part of MyraMath, copyright (c) 2014-2019 by Ryan A Chilton //
3 // and distributed by MyraCore, LLC. See LICENSE.txt for license terms. //
4 // ========================================================================= //
5 
6 #ifndef MYRAMATH_DENSE_THRESHOLD_H
7 #define MYRAMATH_DENSE_THRESHOLD_H
8 
14 #include <myramath/MYRAMATH_EXPORT.h>
16 
17 namespace myra {
18 
19 // Forward declarations.
20 template<class Number> class MatrixRange;
21 template<class Number> class VectorRange;
22 template<class Number> class LowerMatrixRange;
23 template<class Number> class DiagonalMatrixRange;
24 
25 template<class Number> class CMatrixRange;
26 template<class Number> class CVectorRange;
27 template<class Number> class CLowerMatrixRange;
28 template<class Number> class CDiagonalMatrixRange;
29 
30 
31 template<class Number> class Matrix;
32 template<class Number> class Vector;
33 template<class Number> class LowerMatrix;
34 template<class Number> class DiagonalMatrix;
35 
36 
38 MYRAMATH_EXPORT void threshold_inplace(const MatrixRange<NumberS>& A, float tolerance);
40 MYRAMATH_EXPORT void threshold_inplace(const MatrixRange<NumberD>& A, double tolerance);
41 MYRAMATH_EXPORT void threshold_inplace(const MatrixRange<NumberC>& A, float tolerance);
42 MYRAMATH_EXPORT void threshold_inplace(const MatrixRange<NumberZ>& A, double tolerance);
44 
46 MYRAMATH_EXPORT void threshold_inplace(const VectorRange<NumberS>& x, float tolerance);
48 MYRAMATH_EXPORT void threshold_inplace(const VectorRange<NumberD>& x, double tolerance);
49 MYRAMATH_EXPORT void threshold_inplace(const VectorRange<NumberC>& x, float tolerance);
50 MYRAMATH_EXPORT void threshold_inplace(const VectorRange<NumberZ>& x, double tolerance);
52 
54 MYRAMATH_EXPORT void threshold_inplace(const LowerMatrixRange<NumberS>& L, float tolerance);
56 MYRAMATH_EXPORT void threshold_inplace(const LowerMatrixRange<NumberD>& L, double tolerance);
57 MYRAMATH_EXPORT void threshold_inplace(const LowerMatrixRange<NumberC>& L, float tolerance);
58 MYRAMATH_EXPORT void threshold_inplace(const LowerMatrixRange<NumberZ>& L, double tolerance);
60 
62 MYRAMATH_EXPORT void threshold_inplace(const DiagonalMatrixRange<NumberS>& D, float tolerance);
64 MYRAMATH_EXPORT void threshold_inplace(const DiagonalMatrixRange<NumberD>& D, double tolerance);
65 MYRAMATH_EXPORT void threshold_inplace(const DiagonalMatrixRange<NumberC>& D, float tolerance);
66 MYRAMATH_EXPORT void threshold_inplace(const DiagonalMatrixRange<NumberZ>& D, double tolerance);
68 
70 MYRAMATH_EXPORT Matrix<NumberS> threshold(const CMatrixRange<NumberS>& A, float tolerance);
72 MYRAMATH_EXPORT Matrix<NumberD> threshold(const CMatrixRange<NumberD>& A, double tolerance);
73 MYRAMATH_EXPORT Matrix<NumberC> threshold(const CMatrixRange<NumberC>& A, float tolerance);
74 MYRAMATH_EXPORT Matrix<NumberZ> threshold(const CMatrixRange<NumberZ>& A, double tolerance);
76 
78 MYRAMATH_EXPORT Vector<NumberS> threshold(const CVectorRange<NumberS>& x, float tolerance);
80 MYRAMATH_EXPORT Vector<NumberD> threshold(const CVectorRange<NumberD>& x, double tolerance);
81 MYRAMATH_EXPORT Vector<NumberC> threshold(const CVectorRange<NumberC>& x, float tolerance);
82 MYRAMATH_EXPORT Vector<NumberZ> threshold(const CVectorRange<NumberZ>& x, double tolerance);
84 
86 MYRAMATH_EXPORT LowerMatrix<NumberS> threshold(const CLowerMatrixRange<NumberS>& L, float tolerance);
88 MYRAMATH_EXPORT LowerMatrix<NumberD> threshold(const CLowerMatrixRange<NumberD>& L, double tolerance);
89 MYRAMATH_EXPORT LowerMatrix<NumberC> threshold(const CLowerMatrixRange<NumberC>& L, float tolerance);
90 MYRAMATH_EXPORT LowerMatrix<NumberZ> threshold(const CLowerMatrixRange<NumberZ>& L, double tolerance);
92 
94 MYRAMATH_EXPORT DiagonalMatrix<NumberS> threshold(const CDiagonalMatrixRange<NumberS>& D, float tolerance);
96 MYRAMATH_EXPORT DiagonalMatrix<NumberD> threshold(const CDiagonalMatrixRange<NumberD>& D, double tolerance);
97 MYRAMATH_EXPORT DiagonalMatrix<NumberC> threshold(const CDiagonalMatrixRange<NumberC>& D, float tolerance);
98 MYRAMATH_EXPORT DiagonalMatrix<NumberZ> threshold(const CDiagonalMatrixRange<NumberZ>& D, double tolerance);
100 
101 } // namespace
102 
103 #endif
Definition: syntax.dox:1
Various utility functions/classes related to scalar Number types.