Numworks Epsilon  1.4.1
Graphing Calculator Operating System
primitives.h File Reference
#include <stdbool.h>
#include <stdint.h>
#include "primitiveTypes.h"

Go to the source code of this file.

Macros

#define softfloat_shortShiftLeft96M(aPtr, dist, zPtr)   softfloat_shortShiftLeftM( 3, aPtr, dist, zPtr )
 
#define softfloat_shortShiftLeft128M(aPtr, dist, zPtr)   softfloat_shortShiftLeftM( 4, aPtr, dist, zPtr )
 
#define softfloat_shortShiftLeft160M(aPtr, dist, zPtr)   softfloat_shortShiftLeftM( 5, aPtr, dist, zPtr )
 
#define softfloat_shiftLeft96M(aPtr, dist, zPtr)   softfloat_shiftLeftM( 3, aPtr, dist, zPtr )
 
#define softfloat_shiftLeft128M(aPtr, dist, zPtr)   softfloat_shiftLeftM( 4, aPtr, dist, zPtr )
 
#define softfloat_shiftLeft160M(aPtr, dist, zPtr)   softfloat_shiftLeftM( 5, aPtr, dist, zPtr )
 
#define softfloat_shortShiftRight128M(aPtr, dist, zPtr)   softfloat_shortShiftRightM( 4, aPtr, dist, zPtr )
 
#define softfloat_shortShiftRight160M(aPtr, dist, zPtr)   softfloat_shortShiftRightM( 5, aPtr, dist, zPtr )
 
#define softfloat_shortShiftRightJam160M(aPtr, dist, zPtr)   softfloat_shortShiftRightJamM( 5, aPtr, dist, zPtr )
 
#define softfloat_shiftRight96M(aPtr, dist, zPtr)   softfloat_shiftRightM( 3, aPtr, dist, zPtr )
 
#define softfloat_shiftRightJam96M(aPtr, dist, zPtr)   softfloat_shiftRightJamM( 3, aPtr, dist, zPtr )
 
#define softfloat_shiftRightJam128M(aPtr, dist, zPtr)   softfloat_shiftRightJamM( 4, aPtr, dist, zPtr )
 
#define softfloat_shiftRightJam160M(aPtr, dist, zPtr)   softfloat_shiftRightJamM( 5, aPtr, dist, zPtr )
 
#define softfloat_add96M(aPtr, bPtr, zPtr)   softfloat_addM( 3, aPtr, bPtr, zPtr )
 
#define softfloat_add128M(aPtr, bPtr, zPtr)   softfloat_addM( 4, aPtr, bPtr, zPtr )
 
#define softfloat_add160M(aPtr, bPtr, zPtr)   softfloat_addM( 5, aPtr, bPtr, zPtr )
 
#define softfloat_addComplCarry96M(aPtr, bPtr, carry, zPtr)   softfloat_addComplCarryM( 3, aPtr, bPtr, carry, zPtr )
 
#define softfloat_negX96M(zPtr)   softfloat_negXM( 3, zPtr )
 
#define softfloat_negX128M(zPtr)   softfloat_negXM( 4, zPtr )
 
#define softfloat_negX160M(zPtr)   softfloat_negXM( 5, zPtr )
 
#define softfloat_negX256M(zPtr)   softfloat_negXM( 8, zPtr )
 
#define softfloat_sub1X96M(zPtr)   softfloat_sub1XM( 3, zPtr )
 
#define softfloat_sub1X160M(zPtr)   softfloat_sub1XM( 5, zPtr )
 
#define softfloat_sub96M(aPtr, bPtr, zPtr)   softfloat_subM( 3, aPtr, bPtr, zPtr )
 
#define softfloat_sub128M(aPtr, bPtr, zPtr)   softfloat_subM( 4, aPtr, bPtr, zPtr )
 
#define softfloat_sub160M(aPtr, bPtr, zPtr)   softfloat_subM( 5, aPtr, bPtr, zPtr )
 
#define softfloat_remStep96MBy32(remPtr, dist, bPtr, q, zPtr)   softfloat_remStepMBy32( 3, remPtr, dist, bPtr, q, zPtr )
 
#define softfloat_remStep128MBy32(remPtr, dist, bPtr, q, zPtr)   softfloat_remStepMBy32( 4, remPtr, dist, bPtr, q, zPtr )
 
#define softfloat_remStep160MBy32(remPtr, dist, bPtr, q, zPtr)   softfloat_remStepMBy32( 5, remPtr, dist, bPtr, q, zPtr )
 

Functions

uint64_t softfloat_shortShiftRightJam64 (uint64_t a, uint_fast8_t dist)
 
uint32_t softfloat_shiftRightJam32 (uint32_t a, uint_fast16_t dist)
 
uint64_t softfloat_shiftRightJam64 (uint64_t a, uint_fast32_t dist)
 
uint_fast8_t softfloat_countLeadingZeros16 (uint16_t a)
 
uint_fast8_t softfloat_countLeadingZeros32 (uint32_t a)
 
uint_fast8_t softfloat_countLeadingZeros64 (uint64_t a)
 
uint32_t softfloat_approxRecip32_1 (uint32_t a)
 
uint32_t softfloat_approxRecipSqrt32_1 (unsigned int oddExpA, uint32_t a)
 
int_fast8_t softfloat_compare96M (const uint32_t *aPtr, const uint32_t *bPtr)
 
int_fast8_t softfloat_compare128M (const uint32_t *aPtr, const uint32_t *bPtr)
 
void softfloat_shortShiftLeft64To96M (uint64_t a, uint_fast8_t dist, uint32_t *zPtr)
 
void softfloat_shortShiftLeftM (uint_fast8_t size_words, const uint32_t *aPtr, uint_fast8_t dist, uint32_t *zPtr)
 
void softfloat_shiftLeftM (uint_fast8_t size_words, const uint32_t *aPtr, uint32_t dist, uint32_t *zPtr)
 
void softfloat_shortShiftRightM (uint_fast8_t size_words, const uint32_t *aPtr, uint_fast8_t dist, uint32_t *zPtr)
 
void softfloat_shortShiftRightJamM (uint_fast8_t, const uint32_t *, uint_fast8_t, uint32_t *)
 
void softfloat_shiftRightM (uint_fast8_t size_words, const uint32_t *aPtr, uint32_t dist, uint32_t *zPtr)
 
void softfloat_shiftRightJamM (uint_fast8_t size_words, const uint32_t *aPtr, uint32_t dist, uint32_t *zPtr)
 
void softfloat_addM (uint_fast8_t size_words, const uint32_t *aPtr, const uint32_t *bPtr, uint32_t *zPtr)
 
uint_fast8_t softfloat_addCarryM (uint_fast8_t size_words, const uint32_t *aPtr, const uint32_t *bPtr, uint_fast8_t carry, uint32_t *zPtr)
 
uint_fast8_t softfloat_addComplCarryM (uint_fast8_t size_words, const uint32_t *aPtr, const uint32_t *bPtr, uint_fast8_t carry, uint32_t *zPtr)
 
void softfloat_negXM (uint_fast8_t size_words, uint32_t *zPtr)
 
void softfloat_sub1XM (uint_fast8_t size_words, uint32_t *zPtr)
 
void softfloat_subM (uint_fast8_t size_words, const uint32_t *aPtr, const uint32_t *bPtr, uint32_t *zPtr)
 
void softfloat_mul64To128M (uint64_t a, uint64_t b, uint32_t *zPtr)
 
void softfloat_mul128MTo256M (const uint32_t *aPtr, const uint32_t *bPtr, uint32_t *zPtr)
 
void softfloat_remStepMBy32 (uint_fast8_t size_words, const uint32_t *remPtr, uint_fast8_t dist, const uint32_t *bPtr, uint32_t q, uint32_t *zPtr)
 

Variables

const uint_least8_t softfloat_countLeadingZeros8 [256]
 
const uint16_t softfloat_approxRecip_1k0s [16]
 
const uint16_t softfloat_approxRecip_1k1s [16]
 
const uint16_t softfloat_approxRecipSqrt_1k0s [16]
 
const uint16_t softfloat_approxRecipSqrt_1k1s [16]
 

Macro Definition Documentation

◆ softfloat_add128M

#define softfloat_add128M (   aPtr,
  bPtr,
  zPtr 
)    softfloat_addM( 4, aPtr, bPtr, zPtr )

Definition at line 923 of file primitives.h.

◆ softfloat_add160M

#define softfloat_add160M (   aPtr,
  bPtr,
  zPtr 
)    softfloat_addM( 5, aPtr, bPtr, zPtr )

Definition at line 931 of file primitives.h.

◆ softfloat_add96M

#define softfloat_add96M (   aPtr,
  bPtr,
  zPtr 
)    softfloat_addM( 3, aPtr, bPtr, zPtr )

Definition at line 915 of file primitives.h.

◆ softfloat_addComplCarry96M

#define softfloat_addComplCarry96M (   aPtr,
  bPtr,
  carry,
  zPtr 
)    softfloat_addComplCarryM( 3, aPtr, bPtr, carry, zPtr )

Definition at line 974 of file primitives.h.

◆ softfloat_negX128M

#define softfloat_negX128M (   zPtr)    softfloat_negXM( 4, zPtr )

Definition at line 1000 of file primitives.h.

◆ softfloat_negX160M

#define softfloat_negX160M (   zPtr)    softfloat_negXM( 5, zPtr )

Definition at line 1008 of file primitives.h.

◆ softfloat_negX256M

#define softfloat_negX256M (   zPtr)    softfloat_negXM( 8, zPtr )

Definition at line 1016 of file primitives.h.

◆ softfloat_negX96M

#define softfloat_negX96M (   zPtr)    softfloat_negXM( 3, zPtr )

Definition at line 992 of file primitives.h.

◆ softfloat_remStep128MBy32

#define softfloat_remStep128MBy32 (   remPtr,
  dist,
  bPtr,
  q,
  zPtr 
)    softfloat_remStepMBy32( 4, remPtr, dist, bPtr, q, zPtr )

Definition at line 1146 of file primitives.h.

◆ softfloat_remStep160MBy32

#define softfloat_remStep160MBy32 (   remPtr,
  dist,
  bPtr,
  q,
  zPtr 
)    softfloat_remStepMBy32( 5, remPtr, dist, bPtr, q, zPtr )

Definition at line 1154 of file primitives.h.

◆ softfloat_remStep96MBy32

#define softfloat_remStep96MBy32 (   remPtr,
  dist,
  bPtr,
  q,
  zPtr 
)    softfloat_remStepMBy32( 3, remPtr, dist, bPtr, q, zPtr )

Definition at line 1138 of file primitives.h.

◆ softfloat_shiftLeft128M

#define softfloat_shiftLeft128M (   aPtr,
  dist,
  zPtr 
)    softfloat_shiftLeftM( 4, aPtr, dist, zPtr )

Definition at line 747 of file primitives.h.

◆ softfloat_shiftLeft160M

#define softfloat_shiftLeft160M (   aPtr,
  dist,
  zPtr 
)    softfloat_shiftLeftM( 5, aPtr, dist, zPtr )

Definition at line 755 of file primitives.h.

◆ softfloat_shiftLeft96M

#define softfloat_shiftLeft96M (   aPtr,
  dist,
  zPtr 
)    softfloat_shiftLeftM( 3, aPtr, dist, zPtr )

Definition at line 739 of file primitives.h.

◆ softfloat_shiftRight96M

#define softfloat_shiftRight96M (   aPtr,
  dist,
  zPtr 
)    softfloat_shiftRightM( 3, aPtr, dist, zPtr )

Definition at line 842 of file primitives.h.

◆ softfloat_shiftRightJam128M

#define softfloat_shiftRightJam128M (   aPtr,
  dist,
  zPtr 
)    softfloat_shiftRightJamM( 4, aPtr, dist, zPtr )

Definition at line 881 of file primitives.h.

◆ softfloat_shiftRightJam160M

#define softfloat_shiftRightJam160M (   aPtr,
  dist,
  zPtr 
)    softfloat_shiftRightJamM( 5, aPtr, dist, zPtr )

Definition at line 889 of file primitives.h.

◆ softfloat_shiftRightJam96M

#define softfloat_shiftRightJam96M (   aPtr,
  dist,
  zPtr 
)    softfloat_shiftRightJamM( 3, aPtr, dist, zPtr )

Definition at line 873 of file primitives.h.

◆ softfloat_shortShiftLeft128M

#define softfloat_shortShiftLeft128M (   aPtr,
  dist,
  zPtr 
)    softfloat_shortShiftLeftM( 4, aPtr, dist, zPtr )

Definition at line 703 of file primitives.h.

◆ softfloat_shortShiftLeft160M

#define softfloat_shortShiftLeft160M (   aPtr,
  dist,
  zPtr 
)    softfloat_shortShiftLeftM( 5, aPtr, dist, zPtr )

Definition at line 711 of file primitives.h.

◆ softfloat_shortShiftLeft96M

#define softfloat_shortShiftLeft96M (   aPtr,
  dist,
  zPtr 
)    softfloat_shortShiftLeftM( 3, aPtr, dist, zPtr )

Definition at line 695 of file primitives.h.

◆ softfloat_shortShiftRight128M

#define softfloat_shortShiftRight128M (   aPtr,
  dist,
  zPtr 
)    softfloat_shortShiftRightM( 4, aPtr, dist, zPtr )

Definition at line 782 of file primitives.h.

◆ softfloat_shortShiftRight160M

#define softfloat_shortShiftRight160M (   aPtr,
  dist,
  zPtr 
)    softfloat_shortShiftRightM( 5, aPtr, dist, zPtr )

Definition at line 790 of file primitives.h.

◆ softfloat_shortShiftRightJam160M

#define softfloat_shortShiftRightJam160M (   aPtr,
  dist,
  zPtr 
)    softfloat_shortShiftRightJamM( 5, aPtr, dist, zPtr )

Definition at line 814 of file primitives.h.

◆ softfloat_sub128M

#define softfloat_sub128M (   aPtr,
  bPtr,
  zPtr 
)    softfloat_subM( 4, aPtr, bPtr, zPtr )

Definition at line 1077 of file primitives.h.

◆ softfloat_sub160M

#define softfloat_sub160M (   aPtr,
  bPtr,
  zPtr 
)    softfloat_subM( 5, aPtr, bPtr, zPtr )

Definition at line 1085 of file primitives.h.

◆ softfloat_sub1X160M

#define softfloat_sub1X160M (   zPtr)    softfloat_sub1XM( 5, zPtr )

Definition at line 1043 of file primitives.h.

◆ softfloat_sub1X96M

#define softfloat_sub1X96M (   zPtr)    softfloat_sub1XM( 3, zPtr )

Definition at line 1035 of file primitives.h.

◆ softfloat_sub96M

#define softfloat_sub96M (   aPtr,
  bPtr,
  zPtr 
)    softfloat_subM( 3, aPtr, bPtr, zPtr )

Definition at line 1069 of file primitives.h.

Function Documentation

◆ softfloat_addCarryM()

uint_fast8_t softfloat_addCarryM ( uint_fast8_t  size_words,
const uint32_t aPtr,
const uint32_t bPtr,
uint_fast8_t  carry,
uint32_t zPtr 
)

◆ softfloat_addComplCarryM()

uint_fast8_t softfloat_addComplCarryM ( uint_fast8_t  size_words,
const uint32_t aPtr,
const uint32_t bPtr,
uint_fast8_t  carry,
uint32_t zPtr 
)

◆ softfloat_addM()

void softfloat_addM ( uint_fast8_t  size_words,
const uint32_t aPtr,
const uint32_t bPtr,
uint32_t zPtr 
)

◆ softfloat_approxRecip32_1()

uint32_t softfloat_approxRecip32_1 ( uint32_t  a)

Definition at line 45 of file s_approxRecip32_1.c.

◆ softfloat_approxRecipSqrt32_1()

uint32_t softfloat_approxRecipSqrt32_1 ( unsigned int  oddExpA,
uint32_t  a 
)

◆ softfloat_compare128M()

int_fast8_t softfloat_compare128M ( const uint32_t aPtr,
const uint32_t bPtr 
)

◆ softfloat_compare96M()

int_fast8_t softfloat_compare96M ( const uint32_t aPtr,
const uint32_t bPtr 
)

◆ softfloat_countLeadingZeros16()

uint_fast8_t softfloat_countLeadingZeros16 ( uint16_t  a)

◆ softfloat_countLeadingZeros32()

uint_fast8_t softfloat_countLeadingZeros32 ( uint32_t  a)

Definition at line 45 of file s_countLeadingZeros32.c.

◆ softfloat_countLeadingZeros64()

uint_fast8_t softfloat_countLeadingZeros64 ( uint64_t  a)

Definition at line 45 of file s_countLeadingZeros64.c.

◆ softfloat_mul128MTo256M()

void softfloat_mul128MTo256M ( const uint32_t aPtr,
const uint32_t bPtr,
uint32_t zPtr 
)

◆ softfloat_mul64To128M()

void softfloat_mul64To128M ( uint64_t  a,
uint64_t  b,
uint32_t zPtr 
)

Definition at line 43 of file s_mul64To128M.c.

◆ softfloat_negXM()

void softfloat_negXM ( uint_fast8_t  size_words,
uint32_t zPtr 
)

◆ softfloat_remStepMBy32()

void softfloat_remStepMBy32 ( uint_fast8_t  size_words,
const uint32_t remPtr,
uint_fast8_t  dist,
const uint32_t bPtr,
uint32_t  q,
uint32_t zPtr 
)

◆ softfloat_shiftLeftM()

void softfloat_shiftLeftM ( uint_fast8_t  size_words,
const uint32_t aPtr,
uint32_t  dist,
uint32_t zPtr 
)

◆ softfloat_shiftRightJam32()

uint32_t softfloat_shiftRightJam32 ( uint32_t  a,
uint_fast16_t  dist 
)

Definition at line 42 of file s_shiftRightJam32.c.

◆ softfloat_shiftRightJam64()

uint64_t softfloat_shiftRightJam64 ( uint64_t  a,
uint_fast32_t  dist 
)

Definition at line 42 of file s_shiftRightJam64.c.

◆ softfloat_shiftRightJamM()

void softfloat_shiftRightJamM ( uint_fast8_t  size_words,
const uint32_t aPtr,
uint32_t  dist,
uint32_t zPtr 
)

◆ softfloat_shiftRightM()

void softfloat_shiftRightM ( uint_fast8_t  size_words,
const uint32_t aPtr,
uint32_t  dist,
uint32_t zPtr 
)

◆ softfloat_shortShiftLeft64To96M()

void softfloat_shortShiftLeft64To96M ( uint64_t  a,
uint_fast8_t  dist,
uint32_t zPtr 
)

◆ softfloat_shortShiftLeftM()

void softfloat_shortShiftLeftM ( uint_fast8_t  size_words,
const uint32_t aPtr,
uint_fast8_t  dist,
uint32_t zPtr 
)

◆ softfloat_shortShiftRightJam64()

uint64_t softfloat_shortShiftRightJam64 ( uint64_t  a,
uint_fast8_t  dist 
)

Definition at line 42 of file s_shortShiftRightJam64.c.

◆ softfloat_shortShiftRightJamM()

void softfloat_shortShiftRightJamM ( uint_fast8_t  ,
const uint32_t ,
uint_fast8_t  ,
uint32_t  
)

◆ softfloat_shortShiftRightM()

void softfloat_shortShiftRightM ( uint_fast8_t  size_words,
const uint32_t aPtr,
uint_fast8_t  dist,
uint32_t zPtr 
)

◆ softfloat_sub1XM()

void softfloat_sub1XM ( uint_fast8_t  size_words,
uint32_t zPtr 
)

◆ softfloat_subM()

void softfloat_subM ( uint_fast8_t  size_words,
const uint32_t aPtr,
const uint32_t bPtr,
uint32_t zPtr 
)

Variable Documentation

◆ softfloat_approxRecip_1k0s

const uint16_t softfloat_approxRecip_1k0s[16]

Definition at line 41 of file s_approxRecip_1Ks.c.

◆ softfloat_approxRecip_1k1s

const uint16_t softfloat_approxRecip_1k1s[16]

Definition at line 45 of file s_approxRecip_1Ks.c.

◆ softfloat_approxRecipSqrt_1k0s

const uint16_t softfloat_approxRecipSqrt_1k0s[16]

◆ softfloat_approxRecipSqrt_1k1s

const uint16_t softfloat_approxRecipSqrt_1k1s[16]

◆ softfloat_countLeadingZeros8

const uint_least8_t softfloat_countLeadingZeros8[256]

Definition at line 41 of file s_countLeadingZeros8.c.