33 #if defined(LightSternBrocot_RECURSES)
34 #error Recursive header files inclusion detected in LightSternBrocot.h
35 #else // defined(LightSternBrocot_RECURSES)
37 #define LightSternBrocot_RECURSES
39 #if !defined LightSternBrocot_h
41 #define LightSternBrocot_h
47 #include "DGtal/base/Common.h"
48 #include "DGtal/base/StdRebinders.h"
49 #include "DGtal/base/InputIteratorWithRankOnSequence.h"
50 #include "DGtal/kernel/CInteger.h"
51 #include "DGtal/kernel/CSignedInteger.h"
52 #include "DGtal/kernel/NumberTraits.h"
106 template <
typename TInteger,
typename TQuotient,
120 typedef typename TMap:: template Rebinder<Quotient, Node*>::Type
MapQuotientToNode;
202 typedef std::pair<Quotient, Quotient>
Value;
355 void push_back(
const std::pair<Quotient, Quotient> & quotient );
367 void pushBack(
const std::pair<Quotient, Quotient> & quotient );
396 void getCFrac( std::vector<Quotient> & quotients )
const;
453 ConstIterator
begin()
const;
459 ConstIterator
end()
const;
507 static void display ( std::ostream & out,
const Fraction & f );
581 #include "DGtal/arithmetic/LightSternBrocot.ih"
586 #endif // !defined LightSternBrocot_h
588 #undef LightSternBrocot_RECURSES
589 #endif // else defined(LightSternBrocot_RECURSES)