|
Calling Sequence
|
|
HFloat(M, E)
HFloat(M, E, base)
|
|
Parameters
|
|
M
|
-
|
expression
|
E
|
-
|
(optional) expression
|
base
|
-
|
(optional) 2 or default 10
|
|
|
|
|
Description
|
|
•
|
A hardware floating-point number (an object of type hfloat) is represented internally in Maple as a 64-bit IEEE binary floating-point value.
|
•
|
The HFloat(M, E) command can be used to construct the hardware floating-point number M * base^E.
|
|
If the mantissa parameter M is of type imaginary, HFloat(M, E) returns I * HFloat(Im(M), E).
|
|
If the mantissa is of type nonreal, HFloat(M, E) returns HFloat(Re(M), E) + I * HFloat(Im(M), E).
|
|
Maple also has arbitrary-precision software floating-point numbers, of type sfloat (see type/sfloat), which can be constructed using the SFloat or Float constructor.
|
•
|
The maximum number of digits in the mantissa of a hardware float, and the maximum and minimum allowable exponents, can be obtained from evalhf (see evalhf/constant).
|
•
|
A hardware float, H, can be converted to a software float using SFloat(H). Similarly, a software float, S, can be converted to a hardware float using HFloat(S).
|
•
|
The presence of a hardware floating-point number in an expression generally implies that the computation will use hardware floating-point evaluation, unless the settings of Digits and UseHardwareFloats specify otherwise (see UseHardwareFloats).
|
•
|
An expression can be forced to evaluate entirely using hardware floating-point by enclosing it in a call to evalhf. However, some expressions, notably those involving data structures, cannot be evaluated by evalhf.
|
•
|
Entire procedures can be written to work using hardware floats without the restrictions imposed by evalhf by adding option hfloat to the procedure (see option_hfloat).
|
•
|
The number of digits carried in the mantissa for hardware floating-point arithmetic is approximately 15. More digits are displayed to ensure a base 10 representation from which the underlying binary hardware floating-point value can be reliably reconstructed.
|
•
|
Maple includes a variety of numeric functions to use with both hardware and software floating-point numbers.
|
•
|
The behaviors of hardware floating-point infinities, undefined values (so called "Not a Number", or "NaN", in IEEE nomenclature), and zero, are analogous to the corresponding software floating-point concepts. For details, see Float.
|
|
|
Examples
|
|
|
|
|