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

Go to the source code of this file.

Functions

int strtoId (CONST char *s, char **sp, double *f0, double *f1)
 

Function Documentation

◆ strtoId()

int strtoId ( CONST char *  s,
char **  sp,
double *  f0,
double *  f1 
)

Definition at line 40 of file strtoId.c.

42 {
43  static FPI fpi = {53, 1 - 1023 - 53 + 1, 2046 - 1023 - 53 + 1, 1, SI};
44  Long exp[2];
45  Bigint* B[2];
46  int k, rv[2];
47 
48  B[0] = Balloc(1);
49  B[0]->wds = 2;
50  k = strtoIg(s, sp, &fpi, exp, B, rv);
51  ULtod((ULong*)f0, B[0]->x, exp[0], rv[0]);
52  Bfree(B[0]);
53  if(B[1])
54  {
55  ULtod((ULong*)f1, B[1]->x, exp[1], rv[1]);
56  Bfree(B[1]);
57  }
58  else
59  {
60  ((ULong*)f1)[0] = ((ULong*)f0)[0];
61  ((ULong*)f1)[1] = ((ULong*)f0)[1];
62  }
63  return k;
64 }
int wds
Definition: gdtoaimp.h:487
#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
void ULtod(ULong *L, const ULong *bits, Long exp, int k)
Definition: strtord.c:41
Definition: gdtoa.h:86
Bigint * Balloc(int k)
Definition: misc.c:47
#define Long
Definition: gdtoa.h:38

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