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

Go to the source code of this file.

Functions

bool extF80M_eq_signaling (const extFloat80_t *aPtr, const extFloat80_t *bPtr)
 

Function Documentation

◆ extF80M_eq_signaling()

bool extF80M_eq_signaling ( const extFloat80_t * aPtr,
const extFloat80_t * bPtr )

Definition at line 54 of file extF80M_eq_signaling.c.

55{
56 const struct extFloat80M *aSPtr, *bSPtr;
57 uint_fast16_t uiA64;
58 uint64_t uiA0;
59 uint_fast16_t uiB64;
60 uint64_t uiB0;
61
62 /*------------------------------------------------------------------------
63 *------------------------------------------------------------------------*/
64 aSPtr = (const struct extFloat80M *) aPtr;
65 bSPtr = (const struct extFloat80M *) bPtr;
66 /*------------------------------------------------------------------------
67 *------------------------------------------------------------------------*/
68 uiA64 = aSPtr->signExp;
69 uiA0 = aSPtr->signif;
70 uiB64 = bSPtr->signExp;
71 uiB0 = bSPtr->signif;
72 /*------------------------------------------------------------------------
73 *------------------------------------------------------------------------*/
74 if ( isNaNExtF80UI( uiA64, uiA0 ) || isNaNExtF80UI( uiB64, uiB0 ) ) {
76 return false;
77 }
78 /*------------------------------------------------------------------------
79 *------------------------------------------------------------------------*/
80 if ( uiA0 == uiB0 ) {
81 return (uiA64 == uiB64) || ! uiA0;
82 } else {
83 if ( ! ((uiA0 & uiB0) & UINT64_C( 0x8000000000000000 )) ) {
84 return ! softfloat_compareNonnormExtF80M( aSPtr, bSPtr );
85 }
86 return false;
87 }
88
89}
void softfloat_raiseFlags(uint_fast8_t flags)
int softfloat_compareNonnormExtF80M(const struct extFloat80M *, const struct extFloat80M *)
#define isNaNExtF80UI(a64, a0)
Definition internals.h:150
@ softfloat_flag_invalid
Definition softfloat.h:89
uint16_t uint_fast16_t
Definition stdint.h:155
#define UINT64_C(val)
Definition stdint.h:284
unsigned __int64 uint64_t
Definition stdint.h:136
uint64_t signif
uint16_t signExp
Here is the call graph for this function: