33 #if defined(LighterSternBrocot_RECURSES)
34 #error Recursive header files inclusion detected in LighterSternBrocot.h
35 #else // defined(LighterSternBrocot_RECURSES)
37 #define LighterSternBrocot_RECURSES
39 #if !defined LighterSternBrocot_h
41 #define LighterSternBrocot_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;
224 typedef std::pair<Quotient, Quotient>
Value;
379 void push_back(
const std::pair<Quotient, Quotient> & quotient );
391 void pushBack(
const std::pair<Quotient, Quotient> & quotient );
420 void getCFrac( std::vector<Quotient> & quotients )
const;
477 ConstIterator
begin()
const;
483 ConstIterator
end()
const;
532 static void display ( std::ostream & out,
const Fraction & f );
601 #include "DGtal/arithmetic/LighterSternBrocot.ih"
606 #endif // !defined LighterSternBrocot_h
608 #undef LighterSternBrocot_RECURSES
609 #endif // else defined(LighterSternBrocot_RECURSES)