C# Class RobustGeometry.Predicates.ExactArithmetic

Implements the exact floating-point described by Shewchuck, and implemented in predicates.c
Afficher le fichier Open project: govert/RobustGeometry.NET

Méthodes publiques

Méthode Description
Compress ( int elen, double e, double h ) : int
EightFourSum ( double a7, double a6, double a5, double a4, double a3, double a2, double a1, double a0, double b4, double b3, double b1, double b0, double &x11, double &x10, double &x9, double &x8, double &x7, double &x6, double &x5, double &x4, double &x3, double &x2, double &x1, double &x0 ) : void
EightOneSum ( double a7, double a6, double a5, double a4, double a3, double a2, double a1, double a0, double b, double &x8, double &x7, double &x6, double &x5, double &x4, double &x3, double &x2, double &x1, double &x0 ) : void
EightTwoSum ( double a7, double a6, double a5, double a4, double a3, double a2, double a1, double a0, double b1, double b0, double &x9, double &x8, double &x7, double &x6, double &x5, double &x4, double &x3, double &x2, double &x1, double &x0 ) : void
Estimate ( int elen, double e ) : double
ExpansionSum ( int elen, double e, int flen, double f, double h ) : int
FastExpansionSum ( int elen, double e, int flen, double f, double h ) : int
FastExpansionSumZeroElim ( int elen, double e, int flen, double f, double h ) : int
FastTwoDiff ( double a, double b, double &x, double &y ) : void
FastTwoDiffTail ( double a, double b, double x, double &y ) : void
FastTwoSum ( double a, double b, double &x, double &y ) : void
FastTwoSumTail ( double a, double b, double x, double &y ) : void
FourFourSum ( double a3, double a2, double a1, double a0, double b4, double b3, double b1, double b0, double &x7, double &x6, double &x5, double &x4, double &x3, double &x2, double &x1, double &x0 ) : void
FourOneProduct ( double a3, double a2, double a1, double a0, double b, double &x7, double &x6, double &x5, double &x4, double &x3, double &x2, double &x1, double &x0 ) : void
FourOneSum ( double a3, double a2, double a1, double a0, double b, double &x4, double &x3, double &x2, double &x1, double &x0 ) : void
FourTwoSum ( double a3, double a2, double a1, double a0, double b1, double b0, double &x5, double &x4, double &x3, double &x2, double &x1, double &x0 ) : void
GrowExpansion ( int elen, double e, double b, double h ) : int
ScaleExpansion ( int elen, double e, double b, double h ) : int
ScaleExpansionZeroElim ( int elen, double e, double b, double h ) : int
Split ( double a, double &ahi, double &alo ) : void
Square ( double a, double &x, double &y ) : void
SquareTail ( double a, double x, double &y ) : void
TwoDiff ( double a, double b, double &x, double &y ) : void
TwoDiffTail ( double a, double b, double x, double &y ) : void
TwoOneDiff ( double a1, double a0, double b, double &x2, double &x1, double &x0 ) : void
TwoOneProduct ( double a1, double a0, double b, double &x3, double &x2, double &x1, double &x0 ) : void
TwoOneSum ( double a1, double a0, double b, double &x2, double &x1, double &x0 ) : void
TwoProduct ( double a, double b, double &x, double &y ) : void
TwoProduct2Presplit ( double a, double ahi, double alo, double b, double bhi, double blo, double &x, double &y ) : void
TwoProductPresplit ( double a, double b, double bhi, double blo, double &x, double &y ) : void
TwoProductTail ( double a, double b, double x, double &y ) : void
TwoSquare ( double a1, double a0, double &x5, double &x4, double &x3, double &x2, double &x1, double &x0 ) : void
TwoSum ( double a, double b, double &x, double &y ) : void
TwoSumTail ( double a, double b, double x, double &y ) : void
TwoTwoDiff ( double a1, double a0, double b1, double b0, double &x3, double &x2, double &x1, double &x0 ) : void
TwoTwoProduct ( double a1, double a0, double b1, double b0, double &x7, double &x6, double &x5, double &x4, double &x3, double &x2, double &x1, double &x0 ) : void
TwoTwoSum ( double a1, double a0, double b1, double b0, double &x3, double &x2, double &x1, double &x0 ) : void

Method Details

Compress() public static méthode

public static Compress ( int elen, double e, double h ) : int
elen int
e double
h double
Résultat int

EightFourSum() public static méthode

public static EightFourSum ( double a7, double a6, double a5, double a4, double a3, double a2, double a1, double a0, double b4, double b3, double b1, double b0, double &x11, double &x10, double &x9, double &x8, double &x7, double &x6, double &x5, double &x4, double &x3, double &x2, double &x1, double &x0 ) : void
a7 double
a6 double
a5 double
a4 double
a3 double
a2 double
a1 double
a0 double
b4 double
b3 double
b1 double
b0 double
x11 double
x10 double
x9 double
x8 double
x7 double
x6 double
x5 double
x4 double
x3 double
x2 double
x1 double
x0 double
Résultat void

EightOneSum() public static méthode

public static EightOneSum ( double a7, double a6, double a5, double a4, double a3, double a2, double a1, double a0, double b, double &x8, double &x7, double &x6, double &x5, double &x4, double &x3, double &x2, double &x1, double &x0 ) : void
a7 double
a6 double
a5 double
a4 double
a3 double
a2 double
a1 double
a0 double
b double
x8 double
x7 double
x6 double
x5 double
x4 double
x3 double
x2 double
x1 double
x0 double
Résultat void

EightTwoSum() public static méthode

public static EightTwoSum ( double a7, double a6, double a5, double a4, double a3, double a2, double a1, double a0, double b1, double b0, double &x9, double &x8, double &x7, double &x6, double &x5, double &x4, double &x3, double &x2, double &x1, double &x0 ) : void
a7 double
a6 double
a5 double
a4 double
a3 double
a2 double
a1 double
a0 double
b1 double
b0 double
x9 double
x8 double
x7 double
x6 double
x5 double
x4 double
x3 double
x2 double
x1 double
x0 double
Résultat void

Estimate() public static méthode

public static Estimate ( int elen, double e ) : double
elen int
e double
Résultat double

ExpansionSum() public static méthode

public static ExpansionSum ( int elen, double e, int flen, double f, double h ) : int
elen int
e double
flen int
f double
h double
Résultat int

FastExpansionSum() public static méthode

public static FastExpansionSum ( int elen, double e, int flen, double f, double h ) : int
elen int
e double
flen int
f double
h double
Résultat int

FastExpansionSumZeroElim() public static méthode

public static FastExpansionSumZeroElim ( int elen, double e, int flen, double f, double h ) : int
elen int
e double
flen int
f double
h double
Résultat int

FastTwoDiff() public static méthode

public static FastTwoDiff ( double a, double b, double &x, double &y ) : void
a double
b double
x double
y double
Résultat void

FastTwoDiffTail() public static méthode

public static FastTwoDiffTail ( double a, double b, double x, double &y ) : void
a double
b double
x double
y double
Résultat void

FastTwoSum() public static méthode

public static FastTwoSum ( double a, double b, double &x, double &y ) : void
a double
b double
x double
y double
Résultat void

FastTwoSumTail() public static méthode

public static FastTwoSumTail ( double a, double b, double x, double &y ) : void
a double
b double
x double
y double
Résultat void

FourFourSum() public static méthode

public static FourFourSum ( double a3, double a2, double a1, double a0, double b4, double b3, double b1, double b0, double &x7, double &x6, double &x5, double &x4, double &x3, double &x2, double &x1, double &x0 ) : void
a3 double
a2 double
a1 double
a0 double
b4 double
b3 double
b1 double
b0 double
x7 double
x6 double
x5 double
x4 double
x3 double
x2 double
x1 double
x0 double
Résultat void

FourOneProduct() public static méthode

public static FourOneProduct ( double a3, double a2, double a1, double a0, double b, double &x7, double &x6, double &x5, double &x4, double &x3, double &x2, double &x1, double &x0 ) : void
a3 double
a2 double
a1 double
a0 double
b double
x7 double
x6 double
x5 double
x4 double
x3 double
x2 double
x1 double
x0 double
Résultat void

FourOneSum() public static méthode

public static FourOneSum ( double a3, double a2, double a1, double a0, double b, double &x4, double &x3, double &x2, double &x1, double &x0 ) : void
a3 double
a2 double
a1 double
a0 double
b double
x4 double
x3 double
x2 double
x1 double
x0 double
Résultat void

FourTwoSum() public static méthode

public static FourTwoSum ( double a3, double a2, double a1, double a0, double b1, double b0, double &x5, double &x4, double &x3, double &x2, double &x1, double &x0 ) : void
a3 double
a2 double
a1 double
a0 double
b1 double
b0 double
x5 double
x4 double
x3 double
x2 double
x1 double
x0 double
Résultat void

GrowExpansion() public static méthode

public static GrowExpansion ( int elen, double e, double b, double h ) : int
elen int
e double
b double
h double
Résultat int

ScaleExpansion() public static méthode

public static ScaleExpansion ( int elen, double e, double b, double h ) : int
elen int
e double
b double
h double
Résultat int

ScaleExpansionZeroElim() public static méthode

public static ScaleExpansionZeroElim ( int elen, double e, double b, double h ) : int
elen int
e double
b double
h double
Résultat int

Split() public static méthode

public static Split ( double a, double &ahi, double &alo ) : void
a double
ahi double
alo double
Résultat void

Square() public static méthode

public static Square ( double a, double &x, double &y ) : void
a double
x double
y double
Résultat void

SquareTail() public static méthode

public static SquareTail ( double a, double x, double &y ) : void
a double
x double
y double
Résultat void

TwoDiff() public static méthode

public static TwoDiff ( double a, double b, double &x, double &y ) : void
a double
b double
x double
y double
Résultat void

TwoDiffTail() public static méthode

public static TwoDiffTail ( double a, double b, double x, double &y ) : void
a double
b double
x double
y double
Résultat void

TwoOneDiff() public static méthode

public static TwoOneDiff ( double a1, double a0, double b, double &x2, double &x1, double &x0 ) : void
a1 double
a0 double
b double
x2 double
x1 double
x0 double
Résultat void

TwoOneProduct() public static méthode

public static TwoOneProduct ( double a1, double a0, double b, double &x3, double &x2, double &x1, double &x0 ) : void
a1 double
a0 double
b double
x3 double
x2 double
x1 double
x0 double
Résultat void

TwoOneSum() public static méthode

public static TwoOneSum ( double a1, double a0, double b, double &x2, double &x1, double &x0 ) : void
a1 double
a0 double
b double
x2 double
x1 double
x0 double
Résultat void

TwoProduct() public static méthode

public static TwoProduct ( double a, double b, double &x, double &y ) : void
a double
b double
x double
y double
Résultat void

TwoProduct2Presplit() public static méthode

public static TwoProduct2Presplit ( double a, double ahi, double alo, double b, double bhi, double blo, double &x, double &y ) : void
a double
ahi double
alo double
b double
bhi double
blo double
x double
y double
Résultat void

TwoProductPresplit() public static méthode

public static TwoProductPresplit ( double a, double b, double bhi, double blo, double &x, double &y ) : void
a double
b double
bhi double
blo double
x double
y double
Résultat void

TwoProductTail() public static méthode

public static TwoProductTail ( double a, double b, double x, double &y ) : void
a double
b double
x double
y double
Résultat void

TwoSquare() public static méthode

public static TwoSquare ( double a1, double a0, double &x5, double &x4, double &x3, double &x2, double &x1, double &x0 ) : void
a1 double
a0 double
x5 double
x4 double
x3 double
x2 double
x1 double
x0 double
Résultat void

TwoSum() public static méthode

public static TwoSum ( double a, double b, double &x, double &y ) : void
a double
b double
x double
y double
Résultat void

TwoSumTail() public static méthode

public static TwoSumTail ( double a, double b, double x, double &y ) : void
a double
b double
x double
y double
Résultat void

TwoTwoDiff() public static méthode

public static TwoTwoDiff ( double a1, double a0, double b1, double b0, double &x3, double &x2, double &x1, double &x0 ) : void
a1 double
a0 double
b1 double
b0 double
x3 double
x2 double
x1 double
x0 double
Résultat void

TwoTwoProduct() public static méthode

public static TwoTwoProduct ( double a1, double a0, double b1, double b0, double &x7, double &x6, double &x5, double &x4, double &x3, double &x2, double &x1, double &x0 ) : void
a1 double
a0 double
b1 double
b0 double
x7 double
x6 double
x5 double
x4 double
x3 double
x2 double
x1 double
x0 double
Résultat void

TwoTwoSum() public static méthode

public static TwoTwoSum ( double a1, double a0, double b1, double b0, double &x3, double &x2, double &x1, double &x0 ) : void
a1 double
a0 double
b1 double
b0 double
x3 double
x2 double
x1 double
x0 double
Résultat void