Wire Sysio Wire Sysion 1.0.0
Loading...
Searching...
No Matches
extF80_eq_signaling.c File Reference
#include <stdbool.h>
#include <stdint.h>
#include "platform.h"
#include "internals.h"
#include "softfloat.h"
Include dependency graph for extF80_eq_signaling.c:

Go to the source code of this file.

Functions

bool extF80_eq_signaling (extFloat80_t a, extFloat80_t b)
 

Function Documentation

◆ extF80_eq_signaling()

bool extF80_eq_signaling ( extFloat80_t a,
extFloat80_t b )

Definition at line 43 of file extF80_eq_signaling.c.

44{
45 union { struct extFloat80M s; extFloat80_t f; } uA;
46 uint_fast16_t uiA64;
47 uint_fast64_t uiA0;
48 union { struct extFloat80M s; extFloat80_t f; } uB;
49 uint_fast16_t uiB64;
50 uint_fast64_t uiB0;
51
52 uA.f = a;
53 uiA64 = uA.s.signExp;
54 uiA0 = uA.s.signif;
55 uB.f = b;
56 uiB64 = uB.s.signExp;
57 uiB0 = uB.s.signif;
58 if ( isNaNExtF80UI( uiA64, uiA0 ) || isNaNExtF80UI( uiB64, uiB0 ) ) {
60 return false;
61 }
62 return
63 (uiA0 == uiB0)
64 && ((uiA64 == uiB64) || (! uiA0 && ! ((uiA64 | uiB64) & 0x7FFF)));
65
66}
const GenericPointer< typename T::ValueType > T2 T::AllocatorType & a
Definition pointer.h:1181
void softfloat_raiseFlags(uint_fast8_t flags)
#define isNaNExtF80UI(a64, a0)
Definition internals.h:150
@ softfloat_flag_invalid
Definition softfloat.h:89
uint16_t uint_fast16_t
Definition stdint.h:155
uint64_t uint_fast64_t
Definition stdint.h:157
uint16_t signExp
char * s
Here is the call graph for this function: