Real floatingpoint numbers
This functionality does not run in MATLAB.
Dom::Float(x
)
Dom::Float
is the set of real floatingpoint
numbers represented by elements of the domain DOM_FLOAT
.
Dom::Float
is the domain of real floating
point numbers represented by expressions of type DOM_FLOAT
.
Dom::Float
has category Cat::Field
out of pragmatism. This domain
actually is not a field because bool(1.0 = float(3) / float(3))
returns FALSE
for
example.
Elements of Dom::Float
are usually not created
explicitly. However, if one creates elements using the usual syntax,
it is checked whether the input expression may be converted to a floating
point number. This means Dom::Float
is a facade
domain which creates elements of domain type DOM_FLOAT
.
Viewed as a differential ring Dom::Float
is
trivial, it contains constants only.
Dom::Float
has the domain Dom::Numerical
as its
super domain, i.e., it inherits each method which is defined by Dom::Numerical
and
not implemented by Dom::Float
. Methods described
below are reimplemented by Dom::Float
.
Ax::canonicalRep
, Ax::systemRep
, Ax::canonicalOrder
, Ax::efficientOperation
("_divide")
, Ax::efficientOperation
("_mult")
, Ax::efficientOperation
("_invert")
Creating some floatingpoint numbers using Dom::Float
.
This example also shows that Dom::Float
is a facade
domain.
Dom::Float(2.3); domtype(%)
Dom::Float(sin(2/3*PI) + 3)
Dom::Float(sin(x))
Error: The arguments are invalid. [Dom::Float::new]
By tracing the method Dom::Float::testtypeDom
we
can see the interaction between testtype
and Dom::Float::testtypeDom
.
prog::trace(Dom::Float::testtypeDom): delete x: testtype(x, Dom::Float); testtype(3.4, Dom::Float); prog::untrace(Dom::Float::testtypeDom):
enter Dom::Float::testtypeDom(x, Dom::Float) computed FAIL
enter Dom::Float::testtypeDom(3.4, Dom::Float) computed TRUE

An expression which can be converted to a 
"one"  the unit element; it equals 
"zero"  The zero element; it equals 