Hardware Floating-point Numbers and Their Constructors
Calling Sequence
Parameters
Description
Examples
HFloat(M, E)
HFloat(M, E, base)
M
-
expression
E
(optional) expression
base
(optional) 2 or default 10
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 ).
To obtain the mantissa and exponent fields of a hardware float, use SFloatMantissa and SFloatExponent , respectively.
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.
CopySign
Default0
DefaultOverflow
DefaultUnderflow
denom
frem
ilog10
ilog2
Im
NextAfter
numer
NumericClass
OrderedNE
Re
Scale10
Scale2
SFloatExponent
SFloatMantissa
Unordered
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 .
HFloat⁡2.3
2.30000000000000
HFloat⁡2.
2.
HFloat⁡−0.3
−0.300000000000000
HFloat⁡−23000.
−23000.
⋅120000.
−2.760000000×109
type⁡,hfloat
true
See Also
convert
Digits
evalhf
evalhf/constant
integer
op
option_hfloat
SFloat
type
type/cx_infinity
type/float
type/hfloat
type/numeric
type/sfloat
UseHardwareFloats
Download Help Document
AltStyle によって変換されたページ (->オリジナル) / アドレス: モード: デフォルト 音声ブラウザ ルビ付き 配色反転 文字拡大 モバイル