DGtal
2.2.0
Toggle main menu visibility
Loading...
Searching...
No Matches
SimpleIncremental2x2DetComputer.h
1
16
17
#pragma once
18
30
31
#if defined(SimpleIncremental2x2DetComputer_RECURSES)
32
#error Recursive header files inclusion detected in SimpleIncremental2x2DetComputer.h
33
#else
// defined(SimpleIncremental2x2DetComputer_RECURSES)
35
#define SimpleIncremental2x2DetComputer_RECURSES
36
37
#if !defined SimpleIncremental2x2DetComputer_h
39
#define SimpleIncremental2x2DetComputer_h
40
42
// Inclusions
43
#include <iostream>
44
#include "DGtal/base/Common.h"
45
46
#include "DGtal/kernel/NumberTraits.h"
47
#include "DGtal/kernel/CEuclideanRing.h"
49
50
namespace
DGtal
51
{
52
54
// template class SimpleIncremental2x2DetComputer
92
template
<
typename
TArgumentInteger,
typename
TResultInteger = TArgumentInteger>
93
class
SimpleIncremental2x2DetComputer
94
{
95
// ----------------------- Types ----------------------------------------
96
public
:
100
typedef
TArgumentInteger
ArgumentInteger
;
101
BOOST_CONCEPT_ASSERT
((
concepts::CEuclideanRing<ArgumentInteger>
));
105
typedef
ArgumentInteger
Integer
;
109
typedef
ArgumentInteger
argument_type
;
110
114
typedef
TResultInteger
ResultInteger
;
115
BOOST_CONCEPT_ASSERT
((
concepts::CEuclideanRing<ArgumentInteger>
));
116
120
typedef
ResultInteger
Value
;
124
typedef
ResultInteger
result_type
;
125
126
// ----------------------- Standard services ------------------------------
127
public
:
128
132
SimpleIncremental2x2DetComputer
();
133
138
SimpleIncremental2x2DetComputer
(
const
SimpleIncremental2x2DetComputer
& other );
139
145
SimpleIncremental2x2DetComputer
&
operator=
(
const
SimpleIncremental2x2DetComputer
& other );
146
150
~SimpleIncremental2x2DetComputer
();
151
152
// ----------------------- Interface --------------------------------------
153
public
:
154
161
void
init
(
const
ArgumentInteger
& aA,
const
ArgumentInteger
& aB);
162
171
ResultInteger
operator()
(
const
ArgumentInteger
& aX,
const
ArgumentInteger
& aY)
const
;
172
182
ResultInteger
operator()
(
const
ArgumentInteger
& aA,
const
ArgumentInteger
& aB,
183
const
ArgumentInteger
& aX,
const
ArgumentInteger
& aY);
184
185
190
void
selfDisplay
( std::ostream & out )
const
;
191
196
bool
isValid
()
const
;
197
198
// ------------------------- Private Data --------------------------------
199
private
:
204
ResultInteger
myA
;
209
ResultInteger
myB
;
213
mutable
ResultInteger
myAY
;
217
mutable
ResultInteger
myBX
;
221
mutable
ResultInteger
myDet
;
226
mutable
ResultInteger
myX
;
231
mutable
ResultInteger
myY
;
236
mutable
ResultInteger
myDX
;
241
mutable
ResultInteger
myDY
;
245
mutable
ResultInteger
myADY
;
249
mutable
ResultInteger
myBDX
;
253
mutable
ResultInteger
myDDet
;
254
255
const
ResultInteger
myZero
;
256
// ------------------------- Hidden services ------------------------------
257
protected
:
258
259
260
// ------------------------- Internals ------------------------------------
261
private
:
262
268
void
partialComputation
()
const
;
269
270
};
// end of class SimpleIncremental2x2DetComputer
271
272
279
template
<
typename
TI,
typename
TO>
280
std::ostream&
281
operator<<
( std::ostream & out,
const
SimpleIncremental2x2DetComputer<TI,TO>
&
object
);
282
283
}
// namespace DGtal
284
285
287
// Includes inline functions.
288
#include "DGtal/geometry/tools/determinant/SimpleIncremental2x2DetComputer.ih"
289
290
// //
292
293
#endif
// !defined SimpleIncremental2x2DetComputer_h
294
295
#undef SimpleIncremental2x2DetComputer_RECURSES
296
#endif
// else defined(SimpleIncremental2x2DetComputer_RECURSES)
DGtal::SimpleIncremental2x2DetComputer
Aim: Small class useful to compute, in an incremental way, the determinant of a 2x2 matrix from its f...
Definition
SimpleIncremental2x2DetComputer.h:94
DGtal::SimpleIncremental2x2DetComputer::myX
ResultInteger myX
Definition
SimpleIncremental2x2DetComputer.h:226
DGtal::SimpleIncremental2x2DetComputer::ArgumentInteger
TArgumentInteger ArgumentInteger
Definition
SimpleIncremental2x2DetComputer.h:100
DGtal::SimpleIncremental2x2DetComputer::BOOST_CONCEPT_ASSERT
BOOST_CONCEPT_ASSERT((concepts::CEuclideanRing< ArgumentInteger >))
DGtal::SimpleIncremental2x2DetComputer::myADY
ResultInteger myADY
Definition
SimpleIncremental2x2DetComputer.h:245
DGtal::SimpleIncremental2x2DetComputer::myDY
ResultInteger myDY
Definition
SimpleIncremental2x2DetComputer.h:241
DGtal::SimpleIncremental2x2DetComputer::myDX
ResultInteger myDX
Definition
SimpleIncremental2x2DetComputer.h:236
DGtal::SimpleIncremental2x2DetComputer::SimpleIncremental2x2DetComputer
SimpleIncremental2x2DetComputer()
DGtal::SimpleIncremental2x2DetComputer::operator=
SimpleIncremental2x2DetComputer & operator=(const SimpleIncremental2x2DetComputer &other)
DGtal::SimpleIncremental2x2DetComputer::partialComputation
void partialComputation() const
DGtal::SimpleIncremental2x2DetComputer::operator()
ResultInteger operator()(const ArgumentInteger &aX, const ArgumentInteger &aY) const
DGtal::SimpleIncremental2x2DetComputer::myDDet
ResultInteger myDDet
Definition
SimpleIncremental2x2DetComputer.h:253
DGtal::SimpleIncremental2x2DetComputer::~SimpleIncremental2x2DetComputer
~SimpleIncremental2x2DetComputer()
DGtal::SimpleIncremental2x2DetComputer::myBX
ResultInteger myBX
Definition
SimpleIncremental2x2DetComputer.h:217
DGtal::SimpleIncremental2x2DetComputer::result_type
ResultInteger result_type
Definition
SimpleIncremental2x2DetComputer.h:124
DGtal::SimpleIncremental2x2DetComputer::operator()
ResultInteger operator()(const ArgumentInteger &aA, const ArgumentInteger &aB, const ArgumentInteger &aX, const ArgumentInteger &aY)
DGtal::SimpleIncremental2x2DetComputer::selfDisplay
void selfDisplay(std::ostream &out) const
DGtal::SimpleIncremental2x2DetComputer::argument_type
ArgumentInteger argument_type
Definition
SimpleIncremental2x2DetComputer.h:109
DGtal::SimpleIncremental2x2DetComputer::myDet
ResultInteger myDet
Definition
SimpleIncremental2x2DetComputer.h:221
DGtal::SimpleIncremental2x2DetComputer::myBDX
ResultInteger myBDX
Definition
SimpleIncremental2x2DetComputer.h:249
DGtal::SimpleIncremental2x2DetComputer::myB
ResultInteger myB
Definition
SimpleIncremental2x2DetComputer.h:209
DGtal::SimpleIncremental2x2DetComputer::myAY
ResultInteger myAY
Definition
SimpleIncremental2x2DetComputer.h:213
DGtal::SimpleIncremental2x2DetComputer::myY
ResultInteger myY
Definition
SimpleIncremental2x2DetComputer.h:231
DGtal::SimpleIncremental2x2DetComputer::myZero
const ResultInteger myZero
Definition
SimpleIncremental2x2DetComputer.h:255
DGtal::SimpleIncremental2x2DetComputer::init
void init(const ArgumentInteger &aA, const ArgumentInteger &aB)
DGtal::SimpleIncremental2x2DetComputer::ResultInteger
TResultInteger ResultInteger
Definition
SimpleIncremental2x2DetComputer.h:114
DGtal::SimpleIncremental2x2DetComputer::Integer
ArgumentInteger Integer
Definition
SimpleIncremental2x2DetComputer.h:105
DGtal::SimpleIncremental2x2DetComputer::isValid
bool isValid() const
DGtal::SimpleIncremental2x2DetComputer::Value
ResultInteger Value
Definition
SimpleIncremental2x2DetComputer.h:120
DGtal::SimpleIncremental2x2DetComputer::SimpleIncremental2x2DetComputer
SimpleIncremental2x2DetComputer(const SimpleIncremental2x2DetComputer &other)
DGtal::SimpleIncremental2x2DetComputer::myA
ResultInteger myA
Definition
SimpleIncremental2x2DetComputer.h:204
DGtal
DGtal is the top-level namespace which contains all DGtal functions and types.
Definition
ClosedIntegerHalfPlane.h:49
DGtal::operator<<
std::ostream & operator<<(std::ostream &out, const ClosedIntegerHalfPlane< TSpace > &object)
DGtal::concepts::CEuclideanRing
Aim: Defines the mathematical concept equivalent to a unitary commutative ring with a division operat...
Definition
CEuclideanRing.h:88
src
DGtal
geometry
tools
determinant
SimpleIncremental2x2DetComputer.h
Generated on
for DGtal by
1.18.0