blob: 067e8dacec7c1401b940072057a57b260954f0df (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
#include <stdint.h>
#include "platform.h"
#include "specialize.h"
#include "softfloat.h"
/*----------------------------------------------------------------------------
| Returns the result of converting the single-precision floating-point NaN
| `a' to the canonical NaN format. If `a' is a signaling NaN, the invalid
| exception is raised.
*----------------------------------------------------------------------------*/
struct commonNaN softfloat_f32UIToCommonNaN( uint_fast32_t uiA )
{
struct commonNaN z;
if ( softfloat_isSigNaNF32UI( uiA ) ) {
softfloat_raiseFlags( softfloat_flag_invalid );
}
z.sign = uiA>>31;
z.v64 = (uint_fast64_t) uiA<<41;
z.v0 = 0;
return z;
}
|