version 1.3, 1998/12/08 22:03:02
|
version 1.7, 2000/09/23 15:47:07
|
Line 1
|
Line 1
|
/* cheap ecvt replacement |
/* cheap ecvt replacement |
|
|
Copyright (C) 1998 Free Software Foundation, Inc. |
Copyright (C) 1998,2000 Free Software Foundation, Inc. |
|
|
This file is part of Gforth. |
This file is part of Gforth. |
|
|
Line 16
|
Line 16
|
|
|
You should have received a copy of the GNU General Public License |
You should have received a copy of the GNU General Public License |
along with this program; if not, write to the Free Software |
along with this program; if not, write to the Free Software |
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. |
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA. |
*/ |
*/ |
|
|
#include <stdio.h> |
#include <stdio.h> |
Line 32 char* ecvt(double x, int len, int* exp,
|
Line 32 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 57 char* ecvt(double x, int len, int* exp,
|
Line 56 char* ecvt(double x, int len, int* exp,
|
for(i=0; i < len; i++) |
for(i=0; i < len; i++) |
{ |
{ |
z=floor(x); |
z=floor(x); |
|
if(z<0) z = 0; |
scratch[i]='0'+(char)((int)z); |
scratch[i]='0'+(char)((int)z); |
x = (x-z)*10; |
x = (x-z)*10; |
} |
} |
Line 95 int main(int argc, char ** argv)
|
Line 95 int main(int argc, char ** argv)
|
printf("ecvt Test: %f -> %s, %d, %d\n",9e0,conv,a,b); |
printf("ecvt Test: %f -> %s, %d, %d\n",9e0,conv,a,b); |
} |
} |
#endif |
#endif |
|
|