HFloat - Maple Help
For the best experience, we recommend viewing online help using Google Chrome or Microsoft Edge.
Our website is currently undergoing maintenance, which may result in occasional errors while browsing. We apologize for any inconvenience this may cause and are working swiftly to restore full functionality. Thank you for your patience.

Online Help

All Products    Maple    MapleSim


Hardware Floating-point Numbers and Their Constructors

 

Calling Sequence

Parameters

Description

Examples

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.

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.

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)

See Also

convert

Default0

Digits

evalhf

evalhf/constant

integer

op

option_hfloat

SFloat

type

type/cx_infinity

type/float

type/hfloat

type/numeric

type/sfloat

UseHardwareFloats