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 datatype=float8, double, or complex8; 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 datatype=float8, datatype=double, or datatype=complex8, no conversion to Maple floats takes place. Using hfarrays or rtables with datatype=float8, double, or complex8, 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

evalhfsinexpγ+2+lncosCatalan

0.0980197901238379354

(1)

AMatrix3,2,i,ji+Ij,datatype=complex8

A1.+I1.+2.I2.+I2.+2.I3.+I3.+2.I

(2)

evalhfmapsin,A

1.29845758141598+0.634963914784736I3.16577851321617+1.95960104142161I1.403119250622040.489056259041294I3.420954861117011.50930648532362I0.2177595516221521.16344036370325I0.5309210862485203.59056458998578I

(3)

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

evalhff100+f10+f1

57.

(4)

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

evalhfg2

4.43614195558364965

(5)

solutionssolvex3=3

solutions313,3132I3562,3132+I3562

(6)

mapevalhf&comma;solutions

−1.44224957030740830&comma;0.7211247851537041511.24902476648340643I&comma;0.721124785153704151+1.24902476648340643I

(7)

DigitstruncevalhfDigits

Digits15

(8)

evalfg2

4.43614195558365

(9)

s1evalhfsin1

s10.841470984807896505

(10)

types1&comma;hfloat

false

(11)

types12&comma;hfloat

false

(12)

s2evalhfhfloatsin2

s20.909297426825682

(13)

types2&comma;hfloat

true

(14)

types22&comma;hfloat

true

(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