25 #include <feel/feelcore/mpfr-impl.hpp>
27 #ifndef _GIVARO_REF_COUNTER_H_
28 #define _GIVARO_REF_COUNTER_H_
48 inline RefCounter(
long l = 0 ) : counter( l ) {}
50 inline ~RefCounter() {}
53 inline long getvalue()
const
57 inline long val()
const
62 inline long& refvalue()
87 #define UNAFFECTED_INEXACT_FLAG 500
89 #define INEXACT_FLAG 25
94 inline InexactFlag(
int l = UNAFFECTED_INEXACT_FLAG ) : inexact_flag( l ) {}
95 inline ~InexactFlag() {}
98 inline int getvalue()
const
100 return inexact_flag ;
102 inline int val()
const
104 return inexact_flag ;
107 inline int& refvalue()
109 return inexact_flag ;
119 typedef mp_rnd_t RoundingMode;
120 static const RoundingMode RoundUp=mp_rnd_t( GMP_RNDU );
121 static const RoundingMode RoundDown=mp_rnd_t( GMP_RNDD );
122 static const RoundingMode RoundNearest=mp_rnd_t( GMP_RNDN );
123 static const RoundingMode RoundToZero=mp_rnd_t( GMP_RNDZ );
132 typedef mp_prec_t PrecisionType;
133 InexactFlag *inexact;
136 static PrecisionType &CurrPrecision;
138 static RoundingMode &CurrRndMode;
143 MpfrClass (
double d,
144 RoundingMode rnd = CurrRndMode,
145 PrecisionType prec = CurrPrecision );
146 MpfrClass (
long double d,
147 RoundingMode rnd = CurrRndMode,
148 PrecisionType prec = CurrPrecision );
150 RoundingMode rnd = CurrRndMode,
151 PrecisionType prec = CurrPrecision );
152 MpfrClass (
unsigned int i,
153 RoundingMode rnd = CurrRndMode,
154 PrecisionType prec = CurrPrecision );
155 MpfrClass (
long int i,
156 RoundingMode rnd = CurrRndMode,
157 PrecisionType prec = CurrPrecision );
158 MpfrClass (
unsigned long int i,
159 RoundingMode rnd = CurrRndMode,
160 PrecisionType prec = CurrPrecision );
161 MpfrClass(
string s );
162 MpfrClass ( mpz_srcptr z,
163 RoundingMode rnd = CurrRndMode,
164 PrecisionType prec = CurrPrecision );
165 MpfrClass ( mpq_srcptr q,
166 RoundingMode rnd = CurrRndMode,
167 PrecisionType prec = CurrPrecision );
168 MpfrClass ( mpfr_t r,
169 RoundingMode rnd = CurrRndMode,
170 PrecisionType prec = CurrPrecision );
171 MpfrClass (
const MpfrClass& r );
176 MpfrClass& copy (
const MpfrClass& r,
177 RoundingMode rnd = CurrRndMode,
178 PrecisionType prec = CurrPrecision );
181 friend bool iszero(
const MpfrClass& r )
183 return ( ( MPFR_IS_NAN( r.mpfr_rep ) != 0 ) && ( MPFR_NOTZERO( r.mpfr_rep ) != 0 ) );
185 friend bool isinf(
const MpfrClass& r )
187 return ( mpfr_inf_p( r.mpfr_rep ) != 0 );
189 friend bool isnan(
const MpfrClass& r )
191 return ( mpfr_nan_p( r.mpfr_rep ) != 0 );
193 friend bool isnumber(
const MpfrClass& r )
195 return ( mpfr_number_p( r.mpfr_rep ) != 0 );
197 friend int sign(
const MpfrClass& r )
199 return ( MPFR_SIGN( r.mpfr_rep ) );
203 static void SetDefaultPrecision ( PrecisionType newprec );
204 void SetPrecision ( PrecisionType newprec );
205 const static PrecisionType GetDefaultPrecision ();
206 PrecisionType GetPrecision ()
const;
207 static void SetDefaultRndMode ( RoundingMode newrndmode );
208 static const RoundingMode GetDefaultRndMode ();
212 void ChangePrec ( RoundingMode rnd = CurrRndMode,
213 PrecisionType prec = CurrPrecision );
218 int CanRound ( mp_prec_t nb_wrong_bits, RoundingMode rnd1 = CurrRndMode,
219 RoundingMode rnd2 = CurrRndMode,
220 PrecisionType prec = CurrPrecision );
223 static MpfrClass Pi( RoundingMode rnd = CurrRndMode,
224 PrecisionType prec = CurrPrecision ) ;
225 static MpfrClass Log2( RoundingMode rnd = CurrRndMode,
226 PrecisionType prec = CurrPrecision ) ;
227 static MpfrClass Euler( RoundingMode rnd = CurrRndMode,
228 PrecisionType prec = CurrPrecision ) ;
231 friend int compare (
const MpfrClass& r1,
const MpfrClass& r2 );
232 friend int compare (
const MpfrClass& r1,
const double r2 );
233 friend int compare (
const MpfrClass& r1,
const int r2 );
234 friend int compare (
const MpfrClass& r1,
const unsigned int r2 );
235 friend int compare (
const MpfrClass& r1,
const long int r2 );
236 friend int compare (
const MpfrClass& r1,
const unsigned long int r2 );
242 MpfrClass operator+ (
const MpfrClass& r )
const;
243 friend MpfrClass operator+ (
const MpfrClass& r1,
const double r2 ) ;
244 friend MpfrClass operator+ (
const MpfrClass& r1,
const int r2 ) ;
245 friend MpfrClass operator+ (
const MpfrClass& r1,
const unsigned int r2 ) ;
246 friend MpfrClass operator+ (
const MpfrClass& r1,
const long int r2 ) ;
247 friend MpfrClass operator+ (
const MpfrClass& r1,
const unsigned long int r2 ) ;
248 friend MpfrClass operator+ (
const MpfrClass& r1,
const mpz_srcptr r2 ) ;
249 friend MpfrClass operator+ (
const MpfrClass& r1,
const mpq_srcptr r2 ) ;
250 friend MpfrClass operator+ (
const double r1,
const MpfrClass& r2 ) ;
251 friend MpfrClass operator+ (
const int r1,
const MpfrClass& r2 ) ;
252 friend MpfrClass operator+ (
const unsigned int r1,
const MpfrClass& r2 ) ;
253 friend MpfrClass operator+ (
const long int r1,
const MpfrClass& r2 ) ;
254 friend MpfrClass operator+ (
const unsigned long int r1,
const MpfrClass& r2 ) ;
255 friend MpfrClass operator+ (
const mpz_srcptr r1,
const MpfrClass& r2 ) ;
256 friend MpfrClass operator+ (
const mpq_srcptr r1,
const MpfrClass& r2 ) ;
257 MpfrClass& operator+= (
const MpfrClass& r ) ;
258 MpfrClass& operator+= (
const double r ) ;
259 MpfrClass& operator+= (
const int r ) ;
260 MpfrClass& operator+= (
const unsigned int r ) ;
261 MpfrClass& operator+= (
const long int r ) ;
262 MpfrClass& operator+= (
const unsigned long int r ) ;
263 MpfrClass& operator+= (
const mpz_srcptr r ) ;
264 MpfrClass& operator+= (
const mpq_srcptr r ) ;
265 static void add ( MpfrClass& res,
266 const MpfrClass& r1,
const MpfrClass& r2,
267 RoundingMode rnd = CurrRndMode );
270 MpfrClass operator- (
const MpfrClass& r )
const;
271 friend MpfrClass operator- (
const MpfrClass& r1,
const double r2 ) ;
272 friend MpfrClass operator- (
const MpfrClass& r1,
const int r2 );
273 friend MpfrClass operator- (
const MpfrClass& r1,
const unsigned int r2 );
274 friend MpfrClass operator- (
const MpfrClass& r1,
const long int r2 );
275 friend MpfrClass operator- (
const MpfrClass& r1,
const unsigned long int r2 );
276 friend MpfrClass operator- (
const MpfrClass& r1,
const mpz_srcptr r2 );
277 friend MpfrClass operator- (
const MpfrClass& r1,
const mpq_srcptr r2 );
278 friend MpfrClass operator- (
const double r1,
const MpfrClass& r2 );
279 friend MpfrClass operator- (
const int r1,
const MpfrClass& r2 );
280 friend MpfrClass operator- (
const unsigned int r1,
const MpfrClass& r2 );
281 friend MpfrClass operator- (
const long int r1,
const MpfrClass& r2 );
282 friend MpfrClass operator- (
const unsigned long int r1,
const MpfrClass& r2 );
283 friend MpfrClass operator- (
const mpz_srcptr r1,
const MpfrClass& r2 );
284 friend MpfrClass operator- (
const mpq_srcptr r1,
const MpfrClass& r2 );
285 MpfrClass operator- ()
const;
286 MpfrClass& operator-= (
const MpfrClass& r ) ;
287 MpfrClass& operator-= (
const double r ) ;
288 MpfrClass& operator-= (
const int r ) ;
289 MpfrClass& operator-= (
const long int r ) ;
290 MpfrClass& operator-= (
const unsigned int r ) ;
291 MpfrClass& operator-= (
const unsigned long int r ) ;
292 MpfrClass& operator-= (
const mpz_srcptr r ) ;
293 MpfrClass& operator-= (
const mpq_srcptr r ) ;
294 static void neg ( MpfrClass& res,
296 RoundingMode rnd = CurrRndMode );
297 static void sub ( MpfrClass& res,
298 const MpfrClass& r1,
const MpfrClass& r2,
299 RoundingMode rnd = CurrRndMode );
302 MpfrClass operator* (
const MpfrClass& r )
const;
303 friend MpfrClass operator* (
const MpfrClass& r1,
const double r2 ) ;
304 friend MpfrClass operator* (
const MpfrClass& r1,
const int r2 ) ;
305 friend MpfrClass operator* (
const MpfrClass& r1,
const unsigned int r2 ) ;
306 friend MpfrClass operator* (
const MpfrClass& r1,
const long int r2 ) ;
307 friend MpfrClass operator* (
const MpfrClass& r1,
const unsigned long int r2 ) ;
308 friend MpfrClass operator* (
const MpfrClass& r1,
const mpz_srcptr r2 ) ;
309 friend MpfrClass operator* (
const MpfrClass& r1,
const mpq_srcptr r2 ) ;
310 friend MpfrClass operator* (
const double r1,
const MpfrClass& r2 );
311 friend MpfrClass operator* (
const int r1,
const MpfrClass& r2 );
312 friend MpfrClass operator* (
const unsigned int r1,
const MpfrClass& r2 );
313 friend MpfrClass operator* (
const long int r1,
const MpfrClass& r2 );
314 friend MpfrClass operator* (
const unsigned long int r1,
const MpfrClass& r2 );
315 friend MpfrClass operator* (
const mpz_srcptr r1,
const MpfrClass& r2 );
316 friend MpfrClass operator* (
const mpq_srcptr r1,
const MpfrClass& r2 );
317 MpfrClass& operator*= (
const MpfrClass& r ) ;
318 MpfrClass& operator*= (
const double r ) ;
319 MpfrClass& operator*= (
const int r ) ;
320 MpfrClass& operator*= (
const unsigned int r ) ;
321 MpfrClass& operator*= (
const long int r ) ;
322 MpfrClass& operator*= (
const unsigned long int r ) ;
323 MpfrClass& operator*= (
const mpz_srcptr r ) ;
324 MpfrClass& operator*= (
const mpq_srcptr r ) ;
325 static void mul ( MpfrClass& res,
326 const MpfrClass& r1,
const MpfrClass& r2,
327 RoundingMode rnd = CurrRndMode );
330 MpfrClass operator/ (
const MpfrClass& r )
const;
331 friend MpfrClass operator/ (
const MpfrClass& r1,
const double r2 ) ;
332 friend MpfrClass operator/ (
const MpfrClass& r1,
const int r2 ) ;
333 friend MpfrClass operator/ (
const MpfrClass& r1,
const unsigned int r2 ) ;
334 friend MpfrClass operator/ (
const MpfrClass& r1,
const long int r2 ) ;
335 friend MpfrClass operator/ (
const MpfrClass& r1,
const unsigned long int r2 ) ;
336 friend MpfrClass operator/ (
const MpfrClass& r1,
const mpz_srcptr r2 ) ;
337 friend MpfrClass operator/ (
const MpfrClass& r1,
const mpq_srcptr r2 ) ;
338 friend MpfrClass operator/ (
const double r1,
const MpfrClass& r2 ) ;
339 friend MpfrClass operator/ (
const int r1,
const MpfrClass& r2 ) ;
340 friend MpfrClass operator/ (
const unsigned int r1,
const MpfrClass& r2 ) ;
341 friend MpfrClass operator/ (
const long int r1,
const MpfrClass& r2 ) ;
342 friend MpfrClass operator/ (
const unsigned long int r1,
const MpfrClass& r2 ) ;
343 friend MpfrClass operator/ (
const mpz_srcptr r1,
const MpfrClass& r2 ) ;
344 friend MpfrClass operator/ (
const mpq_srcptr r1,
const MpfrClass& r2 ) ;
345 MpfrClass& operator/= (
const MpfrClass& r ) ;
346 MpfrClass& operator/= (
const double r ) ;
347 MpfrClass& operator/= (
const int r ) ;
348 MpfrClass& operator/= (
const unsigned int r ) ;
349 MpfrClass& operator/= (
const long int r ) ;
350 MpfrClass& operator/= (
const unsigned long int r ) ;
351 MpfrClass& operator/= (
const mpz_srcptr r ) ;
352 MpfrClass& operator/= (
const mpq_srcptr r ) ;
353 static void div ( MpfrClass& res,
354 const MpfrClass& r1,
const MpfrClass& r2,
355 RoundingMode rnd = CurrRndMode );
357 static void fma ( MpfrClass& res,
358 const MpfrClass& r1,
const MpfrClass& r2,
360 RoundingMode rnd = CurrRndMode );
364 ostream& put( ostream& o,
365 RoundingMode rnd = CurrRndMode,
366 PrecisionType prec = CurrPrecision,
368 int nb_digits = 0 )
const;
370 friend istream& operator >> ( istream &i, MpfrClass& r );
371 friend ostream& operator << ( ostream &o,
const MpfrClass& r );
376 void random ( PrecisionType prec = CurrPrecision );
378 friend MpfrClass abs (
const MpfrClass& r, RoundingMode rnd = CurrRndMode );
379 friend MpfrClass agm (
const MpfrClass& r1,
const MpfrClass& r2, RoundingMode rnd = CurrRndMode );
380 friend MpfrClass sqrt (
const MpfrClass& r, RoundingMode rnd = CurrRndMode );
382 friend MpfrClass exp (
const MpfrClass& r, RoundingMode rnd = CurrRndMode );
383 friend MpfrClass expm1 (
const MpfrClass& r, RoundingMode rnd = CurrRndMode );
384 friend MpfrClass exp2 (
const MpfrClass& r, RoundingMode rnd = CurrRndMode );
385 friend MpfrClass log (
const MpfrClass& r, RoundingMode rnd = CurrRndMode );
386 friend MpfrClass log2 (
const MpfrClass& r, RoundingMode rnd = CurrRndMode );
387 friend MpfrClass log10 (
const MpfrClass& r, RoundingMode rnd = CurrRndMode );
388 friend MpfrClass log1p (
const MpfrClass& r, RoundingMode rnd = CurrRndMode );
390 friend MpfrClass sin (
const MpfrClass& r, RoundingMode rnd = CurrRndMode );
391 friend MpfrClass cos (
const MpfrClass& r, RoundingMode rnd = CurrRndMode );
392 friend void sin_cos ( MpfrClass& res_sin, MpfrClass& res_cos,
393 const MpfrClass& r, RoundingMode rnd = CurrRndMode );
394 friend MpfrClass tan (
const MpfrClass& r, RoundingMode rnd = CurrRndMode );
396 friend MpfrClass acos (
const MpfrClass& r, RoundingMode rnd = CurrRndMode );
397 friend MpfrClass asin (
const MpfrClass& r, RoundingMode rnd = CurrRndMode );
398 friend MpfrClass atan (
const MpfrClass& r, RoundingMode rnd = CurrRndMode );
400 friend MpfrClass cosh (
const MpfrClass& r, RoundingMode rnd = CurrRndMode );
401 friend MpfrClass sinh (
const MpfrClass& r, RoundingMode rnd = CurrRndMode );
402 friend MpfrClass tanh (
const MpfrClass& r, RoundingMode rnd = CurrRndMode );
404 friend MpfrClass atanh (
const MpfrClass& r, RoundingMode rnd = CurrRndMode );
405 friend MpfrClass acosh (
const MpfrClass& r, RoundingMode rnd = CurrRndMode );
406 friend MpfrClass asinh (
const MpfrClass& r, RoundingMode rnd = CurrRndMode );
408 MpfrClass pow (
const unsigned long int e, RoundingMode rnd = CurrRndMode )
const;
409 MpfrClass pow (
const long int e, RoundingMode rnd = CurrRndMode )
const;
410 MpfrClass pow (
const MpfrClass& e, RoundingMode rnd = CurrRndMode )
const;
411 friend MpfrClass cbrt (
const MpfrClass& r, RoundingMode rnd = CurrRndMode );
412 friend MpfrClass gamma (
const MpfrClass& r, RoundingMode rnd = CurrRndMode );
413 friend MpfrClass erf (
const MpfrClass& r, RoundingMode rnd = CurrRndMode );
414 friend MpfrClass factorial (
const unsigned long int e, RoundingMode rnd = CurrRndMode );
415 friend MpfrClass hypot (
const MpfrClass& r1,
const MpfrClass& r2, RoundingMode rnd = CurrRndMode );
416 friend MpfrClass zeta (
const MpfrClass& r, RoundingMode rnd = CurrRndMode );
421 friend MpfrClass round (
const MpfrClass& r );
422 friend MpfrClass floor (
const MpfrClass& r );
423 friend MpfrClass trunc (
const MpfrClass& r );
424 friend MpfrClass ceil (
const MpfrClass& r );
425 friend MpfrClass frac (
const MpfrClass& r );
427 friend long int to_int (
const MpfrClass& r, RoundingMode rnd = CurrRndMode );
428 friend unsigned long int to_uint (
const MpfrClass& r, RoundingMode rnd = CurrRndMode );
429 friend double to_double (
const MpfrClass& r, RoundingMode rnd = CurrRndMode );
430 friend long double to_ldouble (
const MpfrClass& r, RoundingMode rnd = CurrRndMode );
434 return to_int( *
this );
436 operator long int()
const
438 return to_int( *
this );
440 operator unsigned long int()
const
442 return to_uint( *
this );
444 operator double()
const
446 return to_double( *
this );
448 operator real96_type()
const
450 return to_ldouble( *
this );
453 friend MpfrClass reldiff (
const MpfrClass& r1,
const MpfrClass& r2,
454 RoundingMode rnd = CurrRndMode );
455 friend MpfrClass nextabove (
const MpfrClass& r );
456 friend MpfrClass nextbelow (
const MpfrClass& r );
457 friend MpfrClass nexttoward (
const MpfrClass& r,
const MpfrClass& dir );
462 MpfrClass pow( MpfrClass
const& mp1, T
const& t2 )
464 return mp1.pow( t2 );
470 bool operator == (
const MpfrClass& r1,
const MpfrClass& r2 );
471 bool operator == (
const MpfrClass& r1,
const double r2 );
472 bool operator == (
const MpfrClass& r1,
const int r2 );
473 bool operator == (
const MpfrClass& r1,
const unsigned int r2 );
474 bool operator == (
const MpfrClass& r1,
const long int r2 );
475 bool operator == (
const MpfrClass& r1,
const unsigned long int r2 );
476 bool operator == (
const double r1,
const MpfrClass& r2 );
477 bool operator == (
const int r1,
const MpfrClass& r2 );
478 bool operator == (
const unsigned int r1,
const MpfrClass& r2 );
479 bool operator == (
const long int r1,
const MpfrClass& r2 );
480 bool operator == (
const unsigned long int r1,
const MpfrClass& r2 );
482 bool operator != (
const MpfrClass& r1,
const MpfrClass& r2 );
483 bool operator != (
const MpfrClass& r1,
const double r2 );
484 bool operator != (
const MpfrClass& r1,
const int r2 );
485 bool operator != (
const MpfrClass& r1,
const unsigned int r2 );
486 bool operator != (
const MpfrClass& r1,
const long int r2 );
487 bool operator != (
const MpfrClass& r1,
const unsigned long int r2 );
488 bool operator != (
const double r1,
const MpfrClass& r2 );
489 bool operator != (
const int r1,
const MpfrClass& r2 );
490 bool operator != (
const unsigned int r1,
const MpfrClass& r2 );
491 bool operator != (
const long int r1,
const MpfrClass& r2 );
492 bool operator != (
const unsigned long int r1,
const MpfrClass& r2 );
494 bool operator < (
const MpfrClass& r1,
const MpfrClass& r2 );
495 bool operator < (
const MpfrClass& r1,
const double r2 );
496 bool operator < (
const MpfrClass& r1,
const int r2 );
497 bool operator < (
const MpfrClass& r1,
const unsigned int r2 );
498 bool operator < (
const MpfrClass& r1,
const long int r2 );
499 bool operator < (
const MpfrClass& r1,
const unsigned long int r2 );
500 bool operator < (
const double r1,
const MpfrClass& r2 );
501 bool operator < (
const int r1,
const MpfrClass& r2 );
502 bool operator < (
const unsigned int r1,
const MpfrClass& r2 );
503 bool operator < (
const long int r1,
const MpfrClass& r2 );
504 bool operator < (
const unsigned long int r1,
const MpfrClass& r2 );
506 bool operator <= (
const MpfrClass& r1,
const MpfrClass& r2 );
507 bool operator <= (
const MpfrClass& r1,
const double r2 );
508 bool operator <= (
const MpfrClass& r1,
const int r2 );
509 bool operator <= (
const MpfrClass& r1,
const unsigned int r2 );
510 bool operator <= (
const MpfrClass& r1,
const long int r2 );
511 bool operator <= (
const MpfrClass& r1,
const unsigned long int r2 );
512 bool operator <= (
const double r1,
const MpfrClass& r2 );
513 bool operator <= (
const int r1,
const MpfrClass& r2 );
514 bool operator <= (
const unsigned int r1,
const MpfrClass& r2 );
515 bool operator <= (
const long int r1,
const MpfrClass& r2 );
516 bool operator <= (
const unsigned long int r1,
const MpfrClass& r2 );
518 bool operator > (
const MpfrClass& r1,
const MpfrClass& r2 );
519 bool operator > (
const MpfrClass& r1,
const double r2 );
520 bool operator > (
const MpfrClass& r1,
const int r2 );
521 bool operator > (
const MpfrClass& r1,
const unsigned int r2 );
522 bool operator > (
const MpfrClass& r1,
const long int r2 );
523 bool operator > (
const MpfrClass& r1,
const unsigned long int r2 );
524 bool operator > (
const double r1,
const MpfrClass& r2 );
525 bool operator > (
const int r1,
const MpfrClass& r2 );
526 bool operator > (
const unsigned int r1,
const MpfrClass& r2 );
527 bool operator > (
const long int r1,
const MpfrClass& r2 );
528 bool operator > (
const unsigned long int r1,
const MpfrClass& r2 );
530 bool operator >= (
const MpfrClass& r1,
const MpfrClass& r2 );
531 bool operator >= (
const MpfrClass& r1,
const double r2 );
532 bool operator >= (
const MpfrClass& r1,
const int r2 );
533 bool operator >= (
const MpfrClass& r1,
const unsigned int r2 );
534 bool operator >= (
const MpfrClass& r1,
const long int r2 );
535 bool operator >= (
const MpfrClass& r1,
const unsigned long int r2 );
536 bool operator >= (
const double r1,
const MpfrClass& r2 );
537 bool operator >= (
const int r1,
const MpfrClass& r2 );
538 bool operator >= (
const unsigned int r1,
const MpfrClass& r2 );
539 bool operator >= (
const long int r1,
const MpfrClass& r2 );
540 bool operator >= (
const unsigned long int r1,
const MpfrClass& r2 );
542 MpfrClass min (
const MpfrClass& a,
const MpfrClass& b );
543 MpfrClass max (
const MpfrClass& a,
const MpfrClass& b );
546 #endif // _MPFR_CLASS_H_
bool operator>=(const BareEdge &e1, const BareEdge &e2)
Definition: bareitems.hpp:380
bool operator==(const BareEdge &p1, const BareEdge &p2)
Definition: bareitems.hpp:360
Expr< Val< typename mpl::if_< boost::is_arithmetic< ExprT1 >, mpl::identity< Cst< ExprT1 > >, mpl::identity< ExprT1 > >::type::type > > val(ExprT1 const &__e1)
precompute expression tensor
Definition: val.hpp:304
bool operator!=(const BareEdge &p1, const BareEdge &p2)
Definition: bareitems.hpp:350
bool operator<=(const BareEdge &e1, const BareEdge &e2)
Definition: bareitems.hpp:400
Elements & operator=(Elements const &e)
Definition: elements.hpp:335
bool operator<(const BareEdge &e1, const BareEdge &e2)
Definition: bareitems.hpp:390
bool operator>(const BareEdge &e1, const BareEdge &e2)
Definition: bareitems.hpp:370