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

Go to the source code of this file.

Functions

int strtoIx (CONST char *s, char **sp, void *a, void *b)
 

Function Documentation

◆ strtoIx()

int strtoIx ( CONST char *  s,
char **  sp,
void *  a,
void *  b 
)

Definition at line 41 of file strtoIx.c.

43 {
44  static FPI fpi = {64, 1 - 16383 - 64 + 1, 32766 - 16383 - 64 + 1, 1, SI};
45  Long exp[2];
46  Bigint* B[2];
47  int k, rv[2];
48  UShort *L = (UShort*)a, *M = (UShort*)b;
49 
50  B[0] = Balloc(1);
51  B[0]->wds = 2;
52  k = strtoIg(s, sp, &fpi, exp, B, rv);
53  ULtox(L, B[0]->x, exp[0], rv[0]);
54  Bfree(B[0]);
55  if(B[1])
56  {
57  ULtox(M, B[1]->x, exp[1], rv[1]);
58  Bfree(B[1]);
59  }
60  else
61  {
62  M[0] = L[0];
63  M[1] = L[1];
64  M[2] = L[2];
65  M[3] = L[3];
66  M[4] = L[4];
67  }
68  return k;
69 }
int wds
Definition: gdtoaimp.h:487
void ULtox(UShort *L, const ULong *bits, Long exp, int k)
Definition: strtorx.c:61
unsigned short UShort
Definition: gdtoa.h:44
#define SI
Definition: gdtoaimp.h:635
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(), ULtox(), and Bigint::wds.