Scalar (ap_scalar_t wrapper).
More...
#include <apxx_scalar.hh>
Inherits apron::use_malloc.
|
|
| scalar () |
| Makes a double scalar equal to 0.0.
|
|
| scalar (int x) |
| Makes a MPQ scalar from a native integer.
|
|
| scalar (long x) |
| Makes a MPQ scalar from a native integer.
|
|
| scalar (double x) |
| Makes a double scalar from a double.
|
|
| scalar (const frac &x) |
| Makes a MPQ scalar from a fraction with native integer coefficients.
|
|
| scalar (infty x) |
| Makes a double scalar equal to +oo or -oo.
|
|
| scalar (const mpq_class &x) |
| Makes a MPQ scalar from a MPQ (copied).
|
|
| scalar (mpfr_t x) |
| Makes a MPFR scalar from a MPFR number (copied).
|
|
| scalar (const scalar &x) |
| Makes a copy of a scalar.
|
|
|
| ~scalar () |
|
|
ap_scalar_discr_t | get_discr () const |
| Whether the object wraps a double or a MPQ.
|
|
double & | get_double () |
| Returns a (modifiable) reference to the double contained in the scalar.
|
|
const double & | get_double () const |
| Returns a reference to the double contained in the scalar.
|
|
mpq_class & | get_mpq () |
| Returns a (modifiable) reference to the MPQ contained in the scalar.
|
|
const mpq_class & | get_mpq () const |
| Return a reference to the MPQ contained in the scalar.
|
|
|
mpq_class | to_mpq (mp_rnd_t round, order &conv) const |
| Returns a new MPQ containing the (possibly converted) value of the scalar.
|
|
double | to_double (mp_rnd_t round, order &conv) const |
| Returns a double containing the (possibly converted) value of the scalar.
|
|
void | to_mpfr (mpfr_t x, mp_rnd_t round, order &conv) const |
| Copies the (possibly converted) value of the scalar into the MPFR.
|
|
| operator mpq_class () const |
| Returns a new MPQ containing the (possibly converted) value of the scalar. No rounding.
|
|
| operator double () const |
| Returns a double containing the (possibly converted) value of the scalar. Rounding to nearest.
|
|
|
void | neg () |
| Negates *this.
|
|
scalar | operator- () const |
| Returns the opposite of *this.
|
|
void | inv () |
| Inverses *this. Not exact for double type.
|
|
scalar | operator~ () const |
| Returns the inverse of *this. Not exact for double type.
|
|
long | hash () const |
| Returns a hash code.
|
|
|
const ap_scalar_t * | get_ap_scalar_t () const |
| Returns a pointer to the internal APRON object stored in *this.
|
|
ap_scalar_t * | get_ap_scalar_t () |
| Returns a pointer to the internal APRON object stored in *this.
|
|
void * | operator new (size_t sz) |
|
void * | operator new[] (size_t sz) |
|
void | operator delete (void *p) |
|
void | operator delete[] (void *p) |
|
|
ap_scalar_t | c |
| Structure managed by APRON.
|
|
|
scalar & | operator= (int x) |
| Assigns a native integer to *this, setting its type to MPQ.
|
|
scalar & | operator= (long x) |
| Assigns a native integer to *this, setting its type to MPQ.
|
|
scalar & | operator= (double x) |
| Assigns a double to *this, setting its type to double.
|
|
scalar & | operator= (const frac &x) |
| Assigns a fraction to *this, setting its type to MPQ.
|
|
scalar & | operator= (infty x) |
| Assigns +oo or -oo to *this, no change in scalar type.
|
|
scalar & | operator= (const mpq_class &x) |
| Assigns a MPQ to *this (copied), setting its type to MPQ.
|
|
scalar & | operator= (mpfr_t x) |
| Assigns a MPFR to *this (copied), setting its type to MPFR.
|
|
scalar & | operator= (const scalar &x) |
| Sets the type and value of *this to that of x.
|
|
|
void | print (FILE *stream=stdout) const |
| Prints to a C stream.
|
|
|
order | is_infty () const |
| Returns LESS if -oo, GREATER if +oo, EQUAL if finite.
|
|
order | sgn () const |
| Returns LESS if negative, GREATER if positive, EQUAL if null.
|
|
Scalar (ap_scalar_t wrapper).
A scalar object represents a (possibly +oo or -oo) number, using either a double or a MPQ (multi-precision fraction). All operations are exact unless explicitly noted.
◆ order
Returned by ordering functions.
Enumerator |
---|
LESS | Means less than, negative, or -oo (depending on context).
|
EQUAL | Means equal or null (depending on context).
|
GREATER | Means greater than, positive, or +oo (depending on context).
|
◆ scalar() [1/9]
Makes a double scalar equal to 0.0.
◆ scalar() [2/9]
Makes a MPQ scalar from a native integer.
◆ scalar() [3/9]
Makes a MPQ scalar from a native integer.
◆ scalar() [4/9]
scalar::scalar |
( |
double | x | ) |
|
|
inline |
Makes a double scalar from a double.
◆ scalar() [5/9]
scalar::scalar |
( |
const frac & | x | ) |
|
|
inline |
Makes a MPQ scalar from a fraction with native integer coefficients.
◆ scalar() [6/9]
scalar::scalar |
( |
infty | x | ) |
|
|
inline |
Makes a double scalar equal to +oo or -oo.
◆ scalar() [7/9]
scalar::scalar |
( |
const mpq_class & | x | ) |
|
|
inline |
Makes a MPQ scalar from a MPQ (copied).
◆ scalar() [8/9]
scalar::scalar |
( |
mpfr_t | x | ) |
|
|
inline |
Makes a MPFR scalar from a MPFR number (copied).
◆ scalar() [9/9]
scalar::scalar |
( |
const scalar & | x | ) |
|
|
inline |
Makes a copy of a scalar.
◆ ~scalar()
◆ get_ap_scalar_t() [1/2]
ap_scalar_t * scalar::get_ap_scalar_t |
( |
| ) |
|
|
inline |
Returns a pointer to the internal APRON object stored in *this.
◆ get_ap_scalar_t() [2/2]
const ap_scalar_t * scalar::get_ap_scalar_t |
( |
| ) |
const |
|
inline |
Returns a pointer to the internal APRON object stored in *this.
◆ get_discr()
ap_scalar_discr_t scalar::get_discr |
( |
| ) |
const |
|
inline |
Whether the object wraps a double or a MPQ.
- Returns
- Either
AP_SCALAR_DOUBLE
, AP_SCALAR_MPQ
, or AP_SCALAR_MPFR
.
◆ get_double() [1/2]
double & scalar::get_double |
( |
| ) |
|
|
inline |
Returns a (modifiable) reference to the double contained in the scalar.
- Exceptions
-
◆ get_double() [2/2]
const double & scalar::get_double |
( |
| ) |
const |
|
inline |
Returns a reference to the double contained in the scalar.
- Exceptions
-
◆ get_mpq() [1/2]
mpq_class & scalar::get_mpq |
( |
| ) |
|
|
inline |
Returns a (modifiable) reference to the MPQ contained in the scalar.
- Exceptions
-
◆ get_mpq() [2/2]
const mpq_class & scalar::get_mpq |
( |
| ) |
const |
|
inline |
Return a reference to the MPQ contained in the scalar.
- Exceptions
-
◆ hash()
long scalar::hash |
( |
| ) |
const |
|
inline |
◆ inv()
Inverses *this. Not exact for double type.
◆ is_infty()
Returns LESS if -oo, GREATER if +oo, EQUAL if finite.
◆ neg()
◆ operator double()
scalar::operator double |
( |
| ) |
const |
|
inline |
Returns a double containing the (possibly converted) value of the scalar. Rounding to nearest.
◆ operator mpq_class()
scalar::operator mpq_class |
( |
| ) |
const |
|
inline |
Returns a new MPQ containing the (possibly converted) value of the scalar. No rounding.
◆ operator-()
scalar scalar::operator- |
( |
| ) |
const |
|
inline |
Returns the opposite of *this.
◆ operator=() [1/8]
Assigns a fraction to *this, setting its type to MPQ.
◆ operator=() [2/8]
scalar & scalar::operator= |
( |
const mpq_class & | x | ) |
|
|
inline |
Assigns a MPQ to *this (copied), setting its type to MPQ.
◆ operator=() [3/8]
Sets the type and value of *this to that of x.
◆ operator=() [4/8]
scalar & scalar::operator= |
( |
double | x | ) |
|
|
inline |
Assigns a double to *this, setting its type to double.
◆ operator=() [5/8]
Assigns +oo or -oo to *this, no change in scalar type.
◆ operator=() [6/8]
scalar & scalar::operator= |
( |
int | x | ) |
|
|
inline |
Assigns a native integer to *this, setting its type to MPQ.
◆ operator=() [7/8]
scalar & scalar::operator= |
( |
long | x | ) |
|
|
inline |
Assigns a native integer to *this, setting its type to MPQ.
◆ operator=() [8/8]
scalar & scalar::operator= |
( |
mpfr_t | x | ) |
|
|
inline |
Assigns a MPFR to *this (copied), setting its type to MPFR.
◆ operator~()
scalar scalar::operator~ |
( |
| ) |
const |
|
inline |
Returns the inverse of *this. Not exact for double type.
◆ print()
void scalar::print |
( |
FILE * | stream = stdout | ) |
const |
|
inline |
◆ sgn()
Returns LESS if negative, GREATER if positive, EQUAL if null.
◆ to_double()
double scalar::to_double |
( |
mp_rnd_t | round, |
|
|
order & | conv ) const |
|
inline |
Returns a double containing the (possibly converted) value of the scalar.
round:
rounding direction, may be GMP_RNDN, GMP_RNDZ, GMP_RNDU, GMP_RNDD, or GMP_RND_MAX.
conv
is set to either LESS, EQUAL, or GREATER, depending on whether the result is less than, equal to or greater than the value of *this.
◆ to_mpfr()
void scalar::to_mpfr |
( |
mpfr_t | x, |
|
|
mp_rnd_t | round, |
|
|
order & | conv ) const |
|
inline |
Copies the (possibly converted) value of the scalar into the MPFR.
round:
rounding direction, may be GMP_RNDN, GMP_RNDZ, GMP_RNDU, GMP_RNDD, or GMP_RND_MAX.
conv
is set to either LESS, EQUAL, or GREATER, depending on whether the result is less than, equal to or greater than the value of *this.
◆ to_mpq()
mpq_class scalar::to_mpq |
( |
mp_rnd_t | round, |
|
|
order & | conv ) const |
|
inline |
Returns a new MPQ containing the (possibly converted) value of the scalar.
round:
rounding direction, may be GMP_RNDN, GMP_RNDZ, GMP_RNDU, GMP_RNDD, or GMP_RND_MAX.
conv
is set to either LESS, EQUAL, or GREATER, depending on whether the result is less than, equal to or greater than the value of *this. - Note
- Currently round is ignored and the conversion is always exact.
ap_scalar_t apron::scalar::c |
|
protected |
Structure managed by APRON.
The documentation for this class was generated from the following files: