Please note that the recommended version of Scilab is 2026.0.0. This page might be outdated.
See the recommended documentation of this function
number_properties
determine floating-point parameters
Calling Sequence
pr = number_properties(prop)
Arguments
- prop
string
- pr
real or boolean scalar
Description
This function may be used to get the characteristic
numbers/properties of the floating point set denoted here by
F(b,p,emin,emax) (usually the 64 bits float numbers set
prescribe by IEEE 754). Numbers of F are of the
form:
sign * m * b^e
e is the exponent and m the
mantissa:
m = d_1 b^(-1) + d_2 b^(-2) + .... + d_p b^(-p)
d_i the digits are in [0, b-1]
and e in [emin, emax], the number is
said "normalised" if d_1 ~= 0. The following may be
gotten:
- prop = "radix"
then
pris the radixbof the setF- prop = "digits"
then
pris the number of digitsp- prop = "huge"
then
pris the max positive float ofF- prop = "tiny"
then
pris the min positive normalised float ofF- prop = "denorm"
then
pris a boolean (%t if denormalised numbers are used)- prop = "tiniest"
then if denorm = %t,
pris the min positive denormalised number elsepr= tiny- prop = "eps"
then
pris the epsilon machine ( generally (b^(1-p))/2) which is the relative max error between a realx(such than|x|in[tiny, huge]) andfl(x), its floating point approximation inF- prop = "minexp"
then
prisemin- prop = "maxexp"
then
prisemax
Remarks
This function uses the lapack routine dlamch to get the machine
parameters (the names (radix, digit, huge, etc...) are those recommended
by the LIA 1 standard and are different from the corresponding lapack's
ones) ; CAUTION: sometimes you can see the following definition for the
epsilon machine : eps = b^(1-p) but in this function we
use the traditionnal one (see prop = "eps" before) and so eps =
(b^(1-p))/2 if normal rounding occurs and eps =
b^(1-p) if not.
Examples
b = number_properties("radix") eps = number_properties("eps")
See Also
Authors
Bruno Pincon
| << nextpow2 | Floating point | round >> |