objectBFMSS extends ZeroBoundFunction with Product with Serializable
An implementation of "A Separation Bound for Real Algebraic Expressions",
by Burnikel, Funke, Mehlhorn, Schirra, and Schmitt. This provides a good
ZeroBoundFunction for use in sign tests.
Unlike the paper, we use log-arithmetic instead of working with exact,
big integer values. This means our bound isn't technically as good as it
could be, but we save the cost of working with arithmetic. We also perform
all log arithmetic using Longs and check for overflow (throwing
ArithmeticExceptions when detected). In practice we shouldn't hit this
limit, but in case we do, we prefer to throw over failing silently.
Annotations
@SerialVersionUID()
Linear Supertypes
Serializable, Serializable, Product, Equals, ZeroBoundFunction, AnyRef, Any
Ordering
Alphabetic
By Inheritance
Inherited
BFMSS
Serializable
Serializable
Product
Equals
ZeroBoundFunction
AnyRef
Any
Hide All
Show All
Visibility
Public
All
Type Members
final case classBound(l: Long, u: Long) extends Product with Serializable
An implementation of "A Separation Bound for Real Algebraic Expressions", by Burnikel, Funke, Mehlhorn, Schirra, and Schmitt. This provides a good ZeroBoundFunction for use in sign tests.
Unlike the paper, we use log-arithmetic instead of working with exact, big integer values. This means our bound isn't technically as good as it could be, but we save the cost of working with arithmetic. We also perform all log arithmetic using
Longs and check for overflow (throwingArithmeticExceptions when detected). In practice we shouldn't hit this limit, but in case we do, we prefer to throw over failing silently.