Close
Close window
HFloat - Maple Help
For the best experience, we recommend viewing online help using Google Chrome or Mozilla Firefox.
Maplesoft logo
Maplesoft logo

Online Help

All Products Maple MapleSim


[フレーム] [フレーム]

Hardware Floating-point Numbers and Their Constructors

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 ).

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.

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

>

HFloat2.3

2.30000000000000

(1)
>

HFloat2.

2.

(2)
>

HFloat0.3

−0.300000000000000

(3)
>

HFloat23000.

−23000.

(4)
>

120000.

−2.760000000×109

(5)
>

type,hfloat

true

(6)


Download Help Document

AltStyle によって変換されたページ (->オリジナル) /