pfFPConfig(3pf) OpenGL Performer 3.2.2 libpr Reference Pages pfFPConfig(3pf)NAME
pfFPConfig, pfGetFPConfig - Specify floating-point tolerances and
exception handling
FUNCTION SPECIFICATION
#include <Performer/pr.h>
void pfFPConfig(int which, float val);
float pfGetFPConfig(int which);
DESCRIPTION
pfFPConfig allows you to set some tolerances used by the OpenGL Performer
math routines. The which field specifies which floating point attribute
is to be set. val specifies the value that attribute should take.
Supported values are:
PFFP_UNIT_ROUNDOFF
Specifies the tolerance applied to testing for equality,
usually scaled by the magnitude of the operand. The default is
1.0e-5. For performance reasons, the appropriately scaled
tolerance is not used pervasively.
PFFP_ZERO_THRESH
Specifies how large in magnitude a floating point number can be
before it should be considered non-zero. The default is 1.0e-
15.
PFFP_TRAP_FPES
Enables and disables trapping of floating point exceptions with
values 1.0 and 0.0, respectively. Normally, these floating
point errors are handled through kernel exceptions or by the
floating point hardware, and may be nearly invisible to an
application except from performance degradation, sometimes very
significant, which they can cause. When enabled, pfNotify
events are generated for the floating point exceptions
mentioned above and messages displayed or passed to the user
supplied pfNotify handler.
An application can also turn on floating point exception handling via the
general Performer pfNotify notification mechanism. Calling pfNotifyLevel
with the PFNFY_FP_DEBUG notification level configures pfFPConfig to
enable exceptions. Alternately, an appropriate setting of the
environment variable PFNFYLEVEL will enable this processing as well. Use
of the pfNotifyLevel function is preferable because then the PFNFYLEVEL
environment variable can be used when necessary to override the
specification.
BUGS
Enabling floating point exceptions may cause the values returned from
exceptions to be different from the system defaults. Once a
PFNFY_FP_INVALID exception has been reported, all subsequent exceptions
Page 1
pfFPConfig(3pf) OpenGL Performer 3.2.2 libpr Reference Pages pfFPConfig(3pf)
will generate incorrect return values.
SEE ALSO
handle_sigfpes, pfNotifyLevel
Page 2