C# 클래스 RobustGeometry.Predicates.ExactArithmetic

Implements the exact floating-point described by Shewchuck, and implemented in predicates.c
파일 보기 프로젝트 열기: govert/RobustGeometry.NET

공개 메소드들

메소드 설명
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