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

Go to the source code of this file.

Functions

float16_t f16_sub (float16_t a, float16_t b)
 

Function Documentation

◆ f16_sub()

float16_t f16_sub ( float16_t a,
float16_t b )

Definition at line 43 of file f16_sub.c.

44{
45 union ui16_f16 uA;
46 uint_fast16_t uiA;
47 union ui16_f16 uB;
48 uint_fast16_t uiB;
49#if ! defined INLINE_LEVEL || (INLINE_LEVEL < 1)
50 float16_t (*magsFuncPtr)( uint_fast16_t, uint_fast16_t );
51#endif
52
53 uA.f = a;
54 uiA = uA.ui;
55 uB.f = b;
56 uiB = uB.ui;
57#if defined INLINE_LEVEL && (1 <= INLINE_LEVEL)
58 if ( signF16UI( uiA ^ uiB ) ) {
59 return softfloat_addMagsF16( uiA, uiB );
60 } else {
61 return softfloat_subMagsF16( uiA, uiB );
62 }
63#else
64 magsFuncPtr =
66 return (*magsFuncPtr)( uiA, uiB );
67#endif
68
69}
const GenericPointer< typename T::ValueType > T2 T::AllocatorType & a
Definition pointer.h:1181
#define signF16UI(a)
Definition internals.h:83
float16_t softfloat_subMagsF16(uint_fast16_t, uint_fast16_t)
float16_t softfloat_addMagsF16(uint_fast16_t, uint_fast16_t)
uint16_t uint_fast16_t
Definition stdint.h:155
Here is the call graph for this function: