C# Class RobustGeometry.Predicates.ExactArithmetic

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

Public Methods

Method 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 method

public static Compress ( int elen, double e, double h ) : int
elen int
e double
h double
return int

EightFourSum() public static method

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
return void

EightOneSum() public static method

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
return void

EightTwoSum() public static method

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
return void

Estimate() public static method

public static Estimate ( int elen, double e ) : double
elen int
e double
return double

ExpansionSum() public static method

public static ExpansionSum ( int elen, double e, int flen, double f, double h ) : int
elen int
e double
flen int
f double
h double
return int

FastExpansionSum() public static method

public static FastExpansionSum ( int elen, double e, int flen, double f, double h ) : int
elen int
e double
flen int
f double
h double
return int

FastExpansionSumZeroElim() public static method

public static FastExpansionSumZeroElim ( int elen, double e, int flen, double f, double h ) : int
elen int
e double
flen int
f double
h double
return int

FastTwoDiff() public static method

public static FastTwoDiff ( double a, double b, double &x, double &y ) : void
a double
b double
x double
y double
return void

FastTwoDiffTail() public static method

public static FastTwoDiffTail ( double a, double b, double x, double &y ) : void
a double
b double
x double
y double
return void

FastTwoSum() public static method

public static FastTwoSum ( double a, double b, double &x, double &y ) : void
a double
b double
x double
y double
return void

FastTwoSumTail() public static method

public static FastTwoSumTail ( double a, double b, double x, double &y ) : void
a double
b double
x double
y double
return void

FourFourSum() public static method

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
return void

FourOneProduct() public static method

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
return void

FourOneSum() public static method

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
return void

FourTwoSum() public static method

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
return void

GrowExpansion() public static method

public static GrowExpansion ( int elen, double e, double b, double h ) : int
elen int
e double
b double
h double
return int

ScaleExpansion() public static method

public static ScaleExpansion ( int elen, double e, double b, double h ) : int
elen int
e double
b double
h double
return int

ScaleExpansionZeroElim() public static method

public static ScaleExpansionZeroElim ( int elen, double e, double b, double h ) : int
elen int
e double
b double
h double
return int

Split() public static method

public static Split ( double a, double &ahi, double &alo ) : void
a double
ahi double
alo double
return void

Square() public static method

public static Square ( double a, double &x, double &y ) : void
a double
x double
y double
return void

SquareTail() public static method

public static SquareTail ( double a, double x, double &y ) : void
a double
x double
y double
return void

TwoDiff() public static method

public static TwoDiff ( double a, double b, double &x, double &y ) : void
a double
b double
x double
y double
return void

TwoDiffTail() public static method

public static TwoDiffTail ( double a, double b, double x, double &y ) : void
a double
b double
x double
y double
return void

TwoOneDiff() public static method

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
return void

TwoOneProduct() public static method

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
return void

TwoOneSum() public static method

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
return void

TwoProduct() public static method

public static TwoProduct ( double a, double b, double &x, double &y ) : void
a double
b double
x double
y double
return void

TwoProduct2Presplit() public static method

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
return void

TwoProductPresplit() public static method

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
return void

TwoProductTail() public static method

public static TwoProductTail ( double a, double b, double x, double &y ) : void
a double
b double
x double
y double
return void

TwoSquare() public static method

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
return void

TwoSum() public static method

public static TwoSum ( double a, double b, double &x, double &y ) : void
a double
b double
x double
y double
return void

TwoSumTail() public static method

public static TwoSumTail ( double a, double b, double x, double &y ) : void
a double
b double
x double
y double
return void

TwoTwoDiff() public static method

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
return void

TwoTwoProduct() public static method

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
return void

TwoTwoSum() public static method

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
return void