View source code
							
							
						
								Display the source code in std/math.d from which this
								page was generated on github.
							
						
							Report a bug
							
						
								If you spot a problem with this page, click here to create a
								Bugzilla issue.
							
						
							
								Improve this page
							
							
					
								Quickly fork, edit online, and submit a pull request for this page.
								Requires a signed-in GitHub account. This works well for small changes.
								If you'd like to make larger changes you may want to consider using
								local clone.
							
						std.math.IeeeFlags/ieeeFlags  - multiple declarations
				Function ieeeFlags
						
					
				Returns
snapshot of the current state of the floating-point status flags
Example
pragma(inline, false) static void blockopt(ref real x) {}
resetIeeeFlags();
real a = 3.5;
blockopt(a); // avoid constant propagation by the optimizer
a /= 0.0L;
writeln(a); // real.infinity
assert(ieeeFlagsStruct IeeeFlags
IEEE exception status flags ('sticky bits')
						
				struct IeeeFlags
				;
						
					
				These flags indicate that an exceptional floating-point condition has occurred. They indicate that a NaN or an infinity has been generated, that a result is inexact, or that a signalling NaN has been encountered. If floating-point exceptions are enabled (unmasked), a hardware exception will be generated instead of setting these flags.
Properties
| Name | Type | Description | 
|---|---|---|
| divByZero[get] | bool | An infinity was generated by division by zero | 
| inexact[get] | bool | The result cannot be represented exactly, so rounding occurred. | 
| invalid[get] | bool | A machine NaN was generated. | 
| overflow[get] | bool | An infinity was generated by overflow | 
| underflow[get] | bool | A zero was generated by underflow | 
Example
static void func() {
    int a = 10 * 10;
}
pragma(inline, false) static void blockopt(ref real x) {}
real a = 3.5;
// Set all the flags to zero
resetIeeeFlags();
assert(!ieeeFlagsAuthors
Walter Bright, Don Clugston, Conversion of CEPHES math library to D by Iain Buclaw and David Nadlinger
License
					Copyright © 1999-2022 by the D Language Foundation | Page generated by ddox.