Overview - 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


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