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

Go to the source code of this file.

Functions

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

Function Documentation

◆ extF80M_eq()

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

Definition at line 55 of file extF80M_eq.c.

56{
57 const struct extFloat80M *aSPtr, *bSPtr;
58 uint_fast16_t uiA64;
59 uint64_t uiA0;
60 uint_fast16_t uiB64;
61 uint64_t uiB0;
62
63 /*------------------------------------------------------------------------
64 *------------------------------------------------------------------------*/
65 aSPtr = (const struct extFloat80M *) aPtr;
66 bSPtr = (const struct extFloat80M *) bPtr;
67 /*------------------------------------------------------------------------
68 *------------------------------------------------------------------------*/
69 uiA64 = aSPtr->signExp;
70 uiA0 = aSPtr->signif;
71 uiB64 = bSPtr->signExp;
72 uiB0 = bSPtr->signif;
73 /*------------------------------------------------------------------------
74 *------------------------------------------------------------------------*/
75 if ( isNaNExtF80UI( uiA64, uiA0 ) || isNaNExtF80UI( uiB64, uiB0 ) ) {
76 if (
77 softfloat_isSigNaNExtF80UI( uiA64, uiA0 )
78 || softfloat_isSigNaNExtF80UI( uiB64, uiB0 )
79 ) {
81 }
82 return false;
83 }
84 /*------------------------------------------------------------------------
85 *------------------------------------------------------------------------*/
86 if ( uiA0 == uiB0 ) {
87 return (uiA64 == uiB64) || ! uiA0;
88 } else {
89 if ( ! ((uiA0 & uiB0) & UINT64_C( 0x8000000000000000 )) ) {
90 return ! softfloat_compareNonnormExtF80M( aSPtr, bSPtr );
91 }
92 return false;
93 }
94
95}
void softfloat_raiseFlags(uint_fast8_t flags)
#define softfloat_isSigNaNExtF80UI(uiA64, uiA0)
Definition specialize.h:202
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: