Core 1.0
Aa Class Reference

Affine interval arithmetics. More...

#include <aa.h>

Public Member Functions

 Aa (double=0.0)
 Create the affine arithmetic interval equal to a real.
 
 Aa (double, const double *, const unsigned *, unsigned)
 Create an affine arithmetic interval.
 
 Aa (const Aa &)
 Copy constructor.
 
 Aa (const Ia &)
 Create an affine arithmetic interval from an interval.
 
 ~Aa ()
 Destructor.
 
double operator[] (unsigned) const
 Index operator.
 
bool operator< (const Aa &) const
 Comparison.
 
bool operator<= (const Aa &) const
 Comparison.
 
bool operator> (const Aa &) const
 Comparison.
 
bool operator>= (const Aa &) const
 Comparison.
 
bool operator== (const Aa &) const
 Comparison.
 
Aaoperator= (const Aa &)
 Overloaded.
 
Aaoperator= (const double)
 Assignment operator.
 
Aa operator+ (const Aa &) const
 Overloaded.
 
Aa operator- (const Aa &) const
 Overloaded.
 
Aa operator* (const Aa &)
 Overloaded.
 
Aa operator/ (const Aa &)
 Division.
 
Aa operator- () const
 Overloaded.
 
Aaoperator+= (double)
 Destructive sum.
 
Aaoperator-= (double)
 Destructive subtraction.
 
Aaoperator*= (double)
 Destructive multiply.
 
Aaoperator/= (double)
 Overloaded.
 
Aaoperator+= (const Aa &)
 Overloaded.
 
Aaoperator-= (const Aa &)
 Overloaded.
 
Aa operator* (double)
 Multiply.
 
Aa operator/ (double)
 Division.
 
unsigned getlength () const
 returns the number of partial deviations.
 
double Radius () const
 Get the radius.
 
Ia GetIa () const
 Convert to an interval.
 
Aa Pow (int) const
 Power.
 

Static Public Member Functions

static void SetApproximation (ApproximationType)
 sets the approximation type
 
static unsigned getDefault ()
 returns the highest symbol
 

Protected Attributes

double cvalue = 0.0
 Central value.
 
double radius = 0.0
 Radius.
 
unsigned length = 0
 Length of indexes.
 
unsigned size = 0
 Array size of indexes and deviations.
 
double * deviations = nullptr
 values of parial deviations
 
unsigned * indexes = nullptr
 indexes of partial deviations
 

Friends

Aa operator* (double cst, const Aa P)
 Overloaded.
 
Aa operator/ (double x, const Aa a)
 Division.
 
Aa operator+ (double cst, const Aa P)
 Overloaded.
 
Aa operator- (double cst, const Aa P)
 Overloaded.
 
Aa sqrt (const Aa &P)
 Square root.
 
Aa isqrt (const Aa &P)
 Inverse square root.
 
Aa sin (const Aa &P)
 Sine.
 
Aa cos (const Aa &P)
 Cosine.
 
Aa tan (const Aa &P)
 Tangent.
 
Aa exp (const Aa &P)
 Exponential.
 
Aa log (const Aa &P)
 Logarithm.
 
Aa logexp (const Aa &P)
 Chained log(1+exp(x)).
 
Aa atan (const Aa &P)
 Arctangent.
 
Aa tanh (const Aa &P)
 Tangent hyperbolic.
 
std::ostream & operator<< (std::ostream &s, const Aa &x)
 Overloaded output-stream operator.
 
Aa sqrt (const Aa &P)
 Square root.
 
Aa sqr (const Aa &P)
 Square.
 
Aa isqrt (const Aa &P)
 Inverse square root.
 
Aa exp (const Aa &P)
 Exponential.
 
Aa log (const Aa &P)
 Logarithm.
 
Aa logexp (const Aa &P)
 Chained log(1+exp(x)).
 
Aa atan (const Aa &P)
 Arctangent.
 
Aa tanh (const Aa &P)
 Tangent hyperbolic.
 
Aa inv (const Aa &P)
 Inverse.
 
Aa Aa_pow (const Aa &base, const Aa &exp)
 Power.
 
Aa Aa_pow (const Aa &base, const double &exp)
 Power.
 
Aa Aa_pow (const double &base, const Aa &exp)
 Power.
 

Detailed Description

Affine interval arithmetics.

Rewritten from Aalib, an Affine Arithmetic class.

Copyright (C) 2003 EPFL (Ecole Polytechnique Federale de Lausanne) Copyright (c) 2004 LIRIS (University Claude Bernard Lyon 1) Copyright (C) 2009 LUH (Leibniz Universitaet Hannover)

Constructor & Destructor Documentation

◆ Aa() [1/4]

Aa::Aa ( double x = 0.0)

Create the affine arithmetic interval equal to a real.

Parameters
xReal.

◆ Aa() [2/4]

Aa::Aa ( double x,
const double * t1,
const unsigned * t2,
unsigned T )
explicit

Create an affine arithmetic interval.

Parameters
xCenter value.
t1array of index values
t2array of indices
TNumber of indices.

◆ Aa() [3/4]

Aa::Aa ( const Aa & a)

Copy constructor.

Parameters
aAffine arithmetic interval.

◆ Aa() [4/4]

Aa::Aa ( const Ia & iv)

Create an affine arithmetic interval from an interval.

Parameters
ivInterval.

Member Function Documentation

◆ operator=() [1/2]

Aa & Aa::operator= ( const Aa & P)

Overloaded.

Parameters
PAffine arithmetic interval.

◆ operator=() [2/2]

Aa & Aa::operator= ( const double x)

Assignment operator.

Parameters
xReal.

◆ operator[]()

double Aa::operator[] ( unsigned ind) const

Index operator.

Parameters
indThe index.

◆ Pow()

Aa Aa::Pow ( int exponent) const

Power.

Parameters
exponentInteger exponent.

◆ Radius()

double Aa::Radius ( ) const
inline

Get the radius.

The radius is the total deviation of an Aa, i.e. the sum of all deviations.

Friends And Related Symbol Documentation

◆ Aa_pow [1/3]

Aa Aa_pow ( const Aa & base,
const Aa & exp )
friend

Power.

Parameters
baseAffine arithmetic base.
expAffine arithmetic exponent.

◆ Aa_pow [2/3]

Aa Aa_pow ( const Aa & base,
const double & exp )
friend

Power.

Parameters
baseAffine arithmetic base.
expExponent.

◆ Aa_pow [3/3]

Aa Aa_pow ( const double & base,
const Aa & exp )
friend

Power.

Parameters
baseBase.
expAffine arithmetic exponent.

◆ atan [1/2]

Aa atan ( const Aa & P)
friend

Arctangent.

Parameters
PAffine arithmetic interval.

◆ atan [2/2]

Aa atan ( const Aa & P)
friend

Arctangent.

Parameters
PAffine arithmetic interval.

◆ cos

Aa cos ( const Aa & P)
friend

Cosine.

Parameters
PAffine arithmetic interval.

◆ exp [1/2]

Aa exp ( const Aa & P)
friend

Exponential.

Parameters
PAffine arithmetic interval.

◆ exp [2/2]

Aa exp ( const Aa & P)
friend

Exponential.

Parameters
PAffine arithmetic interval.

◆ inv

Aa inv ( const Aa & P)
friend

Inverse.

Parameters
PAffine arithmetic interval.

◆ isqrt [1/2]

Aa isqrt ( const Aa & P)
friend

Inverse square root.

Parameters
PAffine arithmetic interval.

◆ isqrt [2/2]

Aa isqrt ( const Aa & P)
friend

Inverse square root.

Parameters
PAffine arithmetic interval.

◆ log [1/2]

Aa log ( const Aa & P)
friend

Logarithm.

Parameters
PAffine arithmetic interval.

◆ log [2/2]

Aa log ( const Aa & P)
friend

Logarithm.

Parameters
PAffine arithmetic interval.

◆ operator<<

std::ostream & operator<< ( std::ostream & s,
const Aa & x )
friend

Overloaded output-stream operator.

Parameters
sStream.
xAffine arithmetic interval.

◆ sin

Aa sin ( const Aa & P)
friend

Sine.

Parameters
PAffine arithmetic interval.

◆ sqr

Aa sqr ( const Aa & P)
friend

Square.

Parameters
PAffine interval.

◆ sqrt [1/2]

Aa sqrt ( const Aa & P)
friend

Square root.

Parameters
PAffine arithmetic interval.

◆ sqrt [2/2]

Aa sqrt ( const Aa & P)
friend

Square root.

Parameters
PAffine arithmetic interval.

◆ tan

Aa tan ( const Aa & P)
friend

Tangent.

Parameters
PAffine arithmetic interval.

◆ tanh [1/2]

Aa tanh ( const Aa & P)
friend

Tangent hyperbolic.

Parameters
PAffine arithmetic interval.

The tanh function is strictly (monotonic) increasing but it has two possible turning points which has to be considered for the Chebyshev approximation.

◆ tanh [2/2]

Aa tanh ( const Aa & P)
friend

Tangent hyperbolic.

Parameters
PAffine arithmetic interval.

The tanh function is strictly (monotonic) increasing but it has two possible turning points which has to be considered for the Chebyshev approximation.