version 1.1, 1997/05/21 20:40:07
|
version 1.2, 1998/05/02 21:29:02
|
Line 1
|
Line 1
|
/* cheap ecvt replacement */ |
/* cheap ecvt replacement */ |
|
|
|
#include <stdio.h> |
#include "config.h" |
#include "config.h" |
#include <math.h> |
#include <math.h> |
extern double floor(double); |
extern double floor(double); |
Line 12 char* ecvt(double x, int len, int* exp,
|
Line 13 char* ecvt(double x, int len, int* exp,
|
{ |
{ |
int i, j; |
int i, j; |
double z; |
double z; |
|
fprintf(stderr, "using own ecvt\n"); |
|
|
if(len > (MAXCONV-1)) len = MAXCONV-1; |
if(len > (MAXCONV-1)) len = MAXCONV-1; |
|
|
Line 53 char* ecvt(double x, int len, int* exp,
|
Line 55 char* ecvt(double x, int len, int* exp,
|
scratch[j]='0'; |
scratch[j]='0'; |
} |
} |
} |
} |
if(j==0) |
if(j<0) |
{ |
{ |
scratch[0]='1'; |
scratch[0]='1'; |
*exp += 1; |
*exp += 1; |
Line 69 char* ecvt(double x, int len, int* exp,
|
Line 71 char* ecvt(double x, int len, int* exp,
|
int main(int argc, char ** argv) |
int main(int argc, char ** argv) |
{ |
{ |
int a, b; |
int a, b; |
char * conv=ecvt(PI*1e10,20,&a,&b); |
char * conv=ecvt(9e0,20,&a,&b); |
|
|
printf("ecvt Test: %f -> %s, %d, %d\n",PI,conv,a,b); |
printf("ecvt Test: %f -> %s, %d, %d\n",9e0,conv,a,b); |
} |
} |
#endif |
#endif |