Names:
halfprecision,
HP
rounding to the nearest IEEE 754 half-precision number (binary16).
Library names:
sollya_obj_t sollya_lib_halfprecision(sollya_obj_t)
sollya_obj_t sollya_lib_halfprecision_obj()
int sollya_lib_is_halfprecision_obj(sollya_obj_t)
sollya_obj_t sollya_lib_build_function_halfprecision(sollya_obj_t)
#define SOLLYA_HP(x) sollya_lib_build_function_halfprecision(x)
Description:
- halfprecision is both a function and a constant.
- As a function, it rounds its argument to the nearest IEEE 754 half-precision (i.e. IEEE754-2008 binary16) number.
Subnormal numbers are supported as well as standard numbers: it is the real
rounding described in the standard.
- As a constant, it symbolizes the half-precision format. It is used in
contexts when a precision format is necessary, e.g. in the commands
round and roundcoefficients. It is not supported for implementpoly.
See the corresponding help pages for examples.
Example 1:
> display=binary!;
> HP(0.1);
1.100110011_2 * 2^(-4)
> HP(4.17);
1.00001011_2 * 2^(2)
> HP(1.011_2 * 2^(-23));
1.1_2 * 2^(-23)
See also: single,
double,
doubleextended,
doubledouble,
quad,
tripledouble,
roundcoefficients,
fpminimax,
implementpoly,
round,
printsingle