/* tatox.c CCMATH mathematics library source code.
*
* Copyright (C) 2000 Daniel A. Atkinson All rights reserved.
* This code may be redistributed under the terms of the GNU library
* public license (LGPL). ( See the lgpl.license file for details.)
* ------------------------------------------------------------------------
*/
/*
Test: atox prxpr xprint
Input file: atox.dat
*/
#define XMATH 1
#include "ccmath.h"
int decd=30;
void main(int na,char **av)
{ struct xpr f;
FILE *fp;
char num[64];
if(na!=2){ printf("para: input_file\n"); exit(-1);}
fp=fopen(*++av,"r");
while(fscanf(fp,"%s",num)!=EOF){
printf(" string in : %s\n",num);
/* convert ascii string to extended precision */
f=atox(num);
printf(" f = "); prxpr(f,decd);
printf(" hex = "); xprint(f);
}
}
/* Test output
string in : 1.25
f = 1.250000000000000000000000000000e+0
hex = 3fff.9ffffffffffffffffffffffffffa
string in : 1.234567890123456789012345678901
f = 1.234567890123456789012345678901e+0
hex = 3fff.9e06521462cfdb8d3df0b5b5b3dc
string in : 1.326457891245678800213456789012e+512
f = 1.326457891245678800213456789011e+512
hex = 46a4.969e8eb82353816d4739377f0d6f
string in : -9.876543210123456789098765432108e-70
f = -9.876543210123456789098765432107e-70
hex = bf19.da2117a8c6ec0619ba34035d5f84
string in : 0.3333333333333333333333333333333
f = 3.333333333333333333333333333333e-1
hex = 3ffd.aaaaaaaaaaaaaaaaaaaaaaaaa8d5
string in : 1.10e-3
f = 1.100000000000000000000000000000e-3
hex = 3ff5.902de00d1b71758e219652bd3c27
*/
syntax highlighted by Code2HTML, v. 0.9.1