Embedded Artistry libc
C Standard Library Support for Bare-metal Systems
strtoIf.c File Reference
#include "gdtoaimp.h"
Include dependency graph for strtoIf.c:

Go to the source code of this file.

Functions

int strtoIf (CONST char *s, char **sp, float *f0, float *f1)
 

Function Documentation

◆ strtoIf()

int strtoIf ( CONST char *  s,
char **  sp,
float *  f0,
float *  f1 
)

Definition at line 40 of file strtoIf.c.

42 {
43  static FPI fpi = {24, 1 - 127 - 24 + 1, 254 - 127 - 24 + 1, 1, SI};
44  Long exp[2];
45  Bigint* B[2];
46  int k, rv[2];
47 
48  B[0] = Balloc(0);
49  B[0]->wds = 1;
50  k = strtoIg(s, sp, &fpi, exp, B, rv);
51  ULtof((ULong*)f0, B[0]->x, exp[0], rv[0]);
52  Bfree(B[0]);
53  if(B[1])
54  {
55  ULtof((ULong*)f1, B[1]->x, exp[1], rv[1]);
56  Bfree(B[1]);
57  }
58  else
59  {
60  {
61  *(ULong*)f1 = *(ULong*)f0;
62  }
63  }
64  return k;
65 }
int wds
Definition: gdtoaimp.h:487
void ULtof(ULong *L, const ULong *bits, Long exp, int k)
Definition: strtorf.c:41
#define SI
Definition: gdtoaimp.h:635
unsigned Long ULong
Definition: gdtoa.h:41
void Bfree(Bigint *v)
Definition: misc.c:92
int strtoIg(CONST char *s00, char **se, FPI *fpi, Long *exp, Bigint **B, int *rvp)
Definition: strtoIg.c:43
Definition: gdtoa.h:86
Bigint * Balloc(int k)
Definition: misc.c:47
#define Long
Definition: gdtoa.h:38

References Balloc(), Bfree(), Long, SI, strtoIg(), ULtof(), and Bigint::wds.