MyraMath
euclidean.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_EUCLIDEAN_H
7 #define MYRAMATH_DENSE_EUCLIDEAN_H
8 
14 #include <myramath/MYRAMATH_EXPORT.h>
16 
17 namespace myra {
18 
19 // Forward declarations.
20 template<class Number> class CVectorRange;
21 template<class Number> class VectorRange;
22 template<class Number> class MatrixRange;
23 
25 MYRAMATH_EXPORT NumberS euclidean2(const CVectorRange<NumberS>& x);
27 MYRAMATH_EXPORT NumberD euclidean2(const CVectorRange<NumberD>& x);
28 MYRAMATH_EXPORT NumberS euclidean2(const CVectorRange<NumberC>& x);
29 MYRAMATH_EXPORT NumberD euclidean2(const CVectorRange<NumberZ>& x);
31 
33 MYRAMATH_EXPORT NumberS euclidean(const CVectorRange<NumberS>& x);
35 MYRAMATH_EXPORT NumberD euclidean(const CVectorRange<NumberD>& x);
36 MYRAMATH_EXPORT NumberS euclidean(const CVectorRange<NumberC>& x);
37 MYRAMATH_EXPORT NumberD euclidean(const CVectorRange<NumberZ>& x);
39 
41 MYRAMATH_EXPORT NumberS normalize(const VectorRange<NumberS>& x);
43 MYRAMATH_EXPORT NumberD normalize(const VectorRange<NumberD>& x);
44 MYRAMATH_EXPORT NumberS normalize(const VectorRange<NumberC>& x);
45 MYRAMATH_EXPORT NumberD normalize(const VectorRange<NumberZ>& x);
47 
49 MYRAMATH_EXPORT void normalize_columns(const MatrixRange<NumberS>& A);
51 MYRAMATH_EXPORT void normalize_columns(const MatrixRange<NumberD>& A);
52 MYRAMATH_EXPORT void normalize_columns(const MatrixRange<NumberC>& A);
53 MYRAMATH_EXPORT void normalize_columns(const MatrixRange<NumberZ>& A);
55 
56 } // namespace
57 
58 #endif
Definition: syntax.dox:1
Various utility functions/classes related to scalar Number types.