C# Класс RobustGeometry.Predicates.ExactArithmetic

Implements the exact floating-point described by Shewchuck, and implemented in predicates.c
Показать файл Открыть проект

Открытые методы

Метод Описание
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

Описание методов

Compress() публичный статический Метод

public static Compress ( int elen, double e, double h ) : int
elen int
e double
h double
Результат int

EightFourSum() публичный статический Метод

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
Результат void

EightOneSum() публичный статический Метод

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
Результат void

EightTwoSum() публичный статический Метод

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
Результат void

Estimate() публичный статический Метод

public static Estimate ( int elen, double e ) : double
elen int
e double
Результат double

ExpansionSum() публичный статический Метод

public static ExpansionSum ( int elen, double e, int flen, double f, double h ) : int
elen int
e double
flen int
f double
h double
Результат int

FastExpansionSum() публичный статический Метод

public static FastExpansionSum ( int elen, double e, int flen, double f, double h ) : int
elen int
e double
flen int
f double
h double
Результат int

FastExpansionSumZeroElim() публичный статический Метод

public static FastExpansionSumZeroElim ( int elen, double e, int flen, double f, double h ) : int
elen int
e double
flen int
f double
h double
Результат int

FastTwoDiff() публичный статический Метод

public static FastTwoDiff ( double a, double b, double &x, double &y ) : void
a double
b double
x double
y double
Результат void

FastTwoDiffTail() публичный статический Метод

public static FastTwoDiffTail ( double a, double b, double x, double &y ) : void
a double
b double
x double
y double
Результат void

FastTwoSum() публичный статический Метод

public static FastTwoSum ( double a, double b, double &x, double &y ) : void
a double
b double
x double
y double
Результат void

FastTwoSumTail() публичный статический Метод

public static FastTwoSumTail ( double a, double b, double x, double &y ) : void
a double
b double
x double
y double
Результат void

FourFourSum() публичный статический Метод

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
Результат void

FourOneProduct() публичный статический Метод

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
Результат void

FourOneSum() публичный статический Метод

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
Результат void

FourTwoSum() публичный статический Метод

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
Результат void

GrowExpansion() публичный статический Метод

public static GrowExpansion ( int elen, double e, double b, double h ) : int
elen int
e double
b double
h double
Результат int

ScaleExpansion() публичный статический Метод

public static ScaleExpansion ( int elen, double e, double b, double h ) : int
elen int
e double
b double
h double
Результат int

ScaleExpansionZeroElim() публичный статический Метод

public static ScaleExpansionZeroElim ( int elen, double e, double b, double h ) : int
elen int
e double
b double
h double
Результат int

Split() публичный статический Метод

public static Split ( double a, double &ahi, double &alo ) : void
a double
ahi double
alo double
Результат void

Square() публичный статический Метод

public static Square ( double a, double &x, double &y ) : void
a double
x double
y double
Результат void

SquareTail() публичный статический Метод

public static SquareTail ( double a, double x, double &y ) : void
a double
x double
y double
Результат void

TwoDiff() публичный статический Метод

public static TwoDiff ( double a, double b, double &x, double &y ) : void
a double
b double
x double
y double
Результат void

TwoDiffTail() публичный статический Метод

public static TwoDiffTail ( double a, double b, double x, double &y ) : void
a double
b double
x double
y double
Результат void

TwoOneDiff() публичный статический Метод

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
Результат void

TwoOneProduct() публичный статический Метод

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
Результат void

TwoOneSum() публичный статический Метод

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
Результат void

TwoProduct() публичный статический Метод

public static TwoProduct ( double a, double b, double &x, double &y ) : void
a double
b double
x double
y double
Результат void

TwoProduct2Presplit() публичный статический Метод

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
Результат void

TwoProductPresplit() публичный статический Метод

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
Результат void

TwoProductTail() публичный статический Метод

public static TwoProductTail ( double a, double b, double x, double &y ) : void
a double
b double
x double
y double
Результат void

TwoSquare() публичный статический Метод

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
Результат void

TwoSum() публичный статический Метод

public static TwoSum ( double a, double b, double &x, double &y ) : void
a double
b double
x double
y double
Результат void

TwoSumTail() публичный статический Метод

public static TwoSumTail ( double a, double b, double x, double &y ) : void
a double
b double
x double
y double
Результат void

TwoTwoDiff() публичный статический Метод

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
Результат void

TwoTwoProduct() публичный статический Метод

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
Результат void

TwoTwoSum() публичный статический Метод

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
Результат void