qd-1.0.2.1: double-double and quad-double number type via libqd

Portabilityportable
Stabilityunstable
Maintainerclaude@mathr.co.uk
Safe HaskellNone

Numeric.QD.FPU.Unsafe

Description

Unsafe FPU manipulation functions.

Synopsis

Documentation

unsafePreservingFPU :: IO a -> IO aSource

unsafePreservingFPU f executes the computation f, ensuring that the FPU control words are set to avoid problems from excess precision. See the libqd documentation for further details.

This function is unsafe in a threaded runtime as Haskell threads can migrate between OS threads, moreover there is no checking for nested calls - this results in race conditions.

Some steps can be taken to mitigate some of this badness; perhaps using (for example) forkOnIO might help.