Overview - Maple Help
For the best experience, we recommend viewing online help using Google Chrome or Microsoft Edge.

Online Help

All Products    Maple    MapleSim


evalhf

evaluate an expression using hardware floating-point

 

Calling Sequence

Parameters

Description

Thread Safety

Examples

Compatibility

Calling Sequence

evalhf(expr)

evalhf[hfloat](expr)

Parameters

expr

-

expression to be evaluated numerically

Description

• 

A call to evalhf evaluates an expression to a numerical value using the floating-point hardware of the underlying system. The evaluation is done in double precision.

• 

In some cases evalhf may call evalf for evaluation of some special functions with complex arguments, or with real arguments leading to complex results.

• 

The argument of evalhf must be an expression that evaluates to a single value; an hfarray or rtable with , , or ; or a procedure. As opposed to evalf, no other symbolic answers are permitted.

• 

The argument evaluated by evalhf can include function calls, either to standard functions (such as sin and arctan; see evalhf/fcnlist) or to user-defined functions in Maple.  There are restrictions on user-defined functions to be properly evaluated within the evalhf environment. For details, see evalhf/procedure.

• 

The evalhf function converts all its arguments to hardware floats, computes the answer and converts the result to a Maple software float value. Hence the user never deals with hardware floating-point numbers; these are confined to evalhf.

• 

It is advantageous to do as much computation as possible within a single call to evalhf, to avoid the conversion overhead.

• 

When evalhf returns an hfarray or rtable with , , or , no conversion to Maple floats takes place. Using hfarrays or rtables with , , or , it is possible to pass data between invocations of evalhf at almost no cost.

• 

Maple includes evalhf for the purpose of gaining speed in numerical computations or for users who wish to use the hardware floating-point system.

• 

If Digits is set equal to (the integer part of) the special value evalhf(Digits) (approximately 15 on many 32-bit architectures) then evalf and evalhf (when both succeed) should produce similar results.

• 

In the evalhf environment, non-default numeric event handling settings are not guaranteed to be respected.

• 

The evalhf[hfloat] function is identical to evalhf, except that the returned result is not converted to a software floating-point value. Such a returned value can be used in further expressions, where, depending on the setting of UseHardwareFloats, computation will be carried out using the hardware floating-point environment.

Thread Safety

• 

The evalhf command is thread safe as of Maple 15, provided that evaluating the given expression is itself thread safe.

• 

For more information on thread safety, see index/threadsafe.

Examples

(1)

(2)

(3)

f := proc(n) if n<2 then n else (n+1)*f(n-1)/n end if end proc:

(4)

g := proc(x) x^5*ln(x)/(1+x^2) end proc:

(5)

(6)

(7)

(8)

(9)

(10)

(11)

(12)

(13)

(14)

(15)

Compatibility

• 

The hfloat option was introduced in Maple 2021.

• 

For more information on Maple 2021 changes, see Updates in Maple 2021.

See Also

evalhf/array

evalhf/boolean

evalhf/constant

evalhf/fcnlist

evalhf/fortran

evalhf/hfarray

evalhf/var

Numerical Programming in Maple

option_hfloat

rtable

 


Download Help Document