Graphite  Version 3
An experimental 3D geometry processing program
expansion_nt.h File Reference

High-level interface to multi-precision arithmetics. More...

Go to the source code of this file.

Classes

class  GEO::expansion_nt
 Expansion_nt (expansion Number Type) is used to compute the sign of polynoms exactly. More...
 

Namespaces

 GEO
 Global Vorpaline namespace.
 
 GEO::Numeric
 Defines numeric types used in Vorpaline.
 

Typedefs

typedef rationalg< expansion_nt > GEO::rational_nt
 

Functions

template<>
Sign GEO::geo_sgn (const expansion_nt &x)
 Specialization of geo_sgn() for expansion_nt. More...
 
template<>
Sign GEO::geo_cmp (const expansion_nt &x, const expansion_nt &y)
 Specialization of geo_cmp() for expansion_nt. More...
 
bool GEO::expansion_nt_is_zero (const expansion_nt &x)
 Tests whether an expansion_nt is zero. More...
 
bool GEO::expansion_nt_is_one (const expansion_nt &x)
 Tests whether an expansion_nt is equal to one. More...
 
Sign GEO::expansion_nt_compare (const expansion_nt &x, const expansion_nt &y)
 Compares two expansion_nt. More...
 
expansion_nt GEO::expansion_nt_square (const expansion_nt &x)
 Computes the square of an expansion_nt. More...
 
expansion_nt GEO::expansion_nt_determinant (const expansion_nt &a00, const expansion_nt &a01, const expansion_nt &a10, const expansion_nt &a11)
 Computes a 2x2 determinant. More...
 
expansion_nt GEO::expansion_nt_determinant (const expansion_nt &a00, const expansion_nt &a01, const expansion_nt &a02, const expansion_nt &a10, const expansion_nt &a11, const expansion_nt &a12, const expansion_nt &a20, const expansion_nt &a21, const expansion_nt &a22)
 Computes a 3x3 determinant. More...
 
expansion_nt GEO::expansion_nt_determinant (const expansion_nt &a00, const expansion_nt &a01, const expansion_nt &a02, const expansion_nt &a03, const expansion_nt &a10, const expansion_nt &a11, const expansion_nt &a12, const expansion_nt &a13, const expansion_nt &a20, const expansion_nt &a21, const expansion_nt &a22, const expansion_nt &a23, const expansion_nt &a30, const expansion_nt &a31, const expansion_nt &a32, const expansion_nt &a33)
 Computes a 4x4 determinant. More...
 
std::ostream & operator<< (std::ostream &os, const GEO::expansion_nt &a)
 Displays the approximated value of an expansion_nt to a stream. More...
 
std::istream & operator>> (std::istream &is, GEO::expansion_nt &a)
 Reads a double precision number from a stream and converts it to an approximation. More...
 
template<>
void GEO::Numeric::optimize_number_representation (expansion_nt &x)
 
template<>
Sign GEO::Numeric::ratio_compare (const expansion_nt &a_num, const expansion_nt &a_denom, const expansion_nt &b_num, const expansion_nt &b_denom)
 Compares two rational numbers given as separate numerators and denominators. Specialization for exact_nt. More...
 

Detailed Description

High-level interface to multi-precision arithmetics.

This file provides a "number-type" that encapsulates a (low-level) GEO::expansion object.

Definition in file expansion_nt.h.

Function Documentation

◆ operator<<()

std::ostream& operator<< ( std::ostream &  os,
const GEO::expansion_nt a 
)
inline

Displays the approximated value of an expansion_nt to a stream.

Parameters
[out]osthe stream
[in]athe expansion_nt to be sent to the stream
Returns
a reference to the stream

Definition at line 1010 of file expansion_nt.h.

◆ operator>>()

std::istream& operator>> ( std::istream &  is,
GEO::expansion_nt a 
)
inline

Reads a double precision number from a stream and converts it to an approximation.

Parameters
[in]isthe stream
[out]athe read expansion_nt
Returns
a reference to the stream

Definition at line 1023 of file expansion_nt.h.