DGtal  1.0.0
LinearAlgebra.h
1
17 #pragma once
18
31 #if defined(LinearAlgebra_RECURSES)
32 #error Recursive header files inclusion detected in LinearAlgebra.h
33 #else // defined(LinearAlgebra_RECURSES)
34
35 #define LinearAlgebra_RECURSES
36
37 #if !defined LinearAlgebra_h
38
39 #define LinearAlgebra_h
40
42 // Inclusions
43 #include <iostream>
44 #include "DGtal/base/Common.h"
45 #include "DGtal/kernel/CSpace.h"
46 #include "DGtal/base/ConceptUtils.h"
47 #include <boost/type_traits.hpp>
49
50 namespace DGtal
51 {
52
54  // template class LinearAlgebra
60  template <typename Space>
62  {
63  // ----------------------- Standard services ------------------------------
64
66
67  typedef typename Space::Integer Integer;
68  typedef typename Space::Point Point;
69  typedef typename Space::Vector Vector;
70  static const typename Space::Dimension dimension;
71
72  static Integer determinant(const Point &a, const Point &b);
73
74  // ----------------------- Standard services ------------------------------
75
81  void selfDisplay(std::ostream &out) const;
82
86  static bool isValid();
87
88
89  }; // end of class LinearAlgebra
90
91 } // namespace DGtal
92
93
95 // Includes inline functions.
96 #include "DGtal/kernel/LinearAlgebra.ih"
97
98 // //
100
101 #endif // !defined LinearAlgebra_h
102
103 #undef LinearAlgebra_RECURSES
104 #endif // else defined(LinearAlgebra_RECURSES)
Aim: A utility class that contains methods to perform integral linear algebra.
Definition: LinearAlgebra.h:61
Space::Point Point
Definition: LinearAlgebra.h:68
static Integer determinant(const Point &a, const Point &b)
DGtal::Dimension Dimension
Copy of the type used for the dimension.
Definition: SpaceND.h:129
static bool isValid()
Aim: Defines the concept describing a digital space, ie a cartesian product of integer lines.
Definition: CSpace.h:105
Space::Integer Integer
Definition: LinearAlgebra.h:67
TInteger Integer
Arithmetic ring induced by (+,-,*) and Integer numbers.
Definition: SpaceND.h:102
DGtal is the top-level namespace which contains all DGtal functions and types.
Space::Vector Vector
Definition: LinearAlgebra.h:69
static const Space::Dimension dimension
Definition: LinearAlgebra.h:70
BOOST_CONCEPT_ASSERT((concepts::CSpace< Space >))
void selfDisplay(std::ostream &out) const