home *** CD-ROM | disk | FTP | other *** search
/ Frozen Fish 1: Amiga / FrozenFish-Apr94.iso / bbs / alib / d0xx / d056 / mcad.lha / mCAD / tdp / source / ffp.c < prev    next >
Encoding:
C/C++ Source or Header  |  1987-03-02  |  661 b   |  33 lines

  1. #include <string.h>
  2. #include "ffp.h"
  3.  
  4. FFP FFPLARGE = 1.0e10, FFPSMALL = 1.0e-10;
  5.  
  6. #ifdef FASTFLOAT
  7. FFP atoFFP(string)
  8. register char *string;
  9. {
  10.    register char *s;
  11.    register FFP val;
  12.    register int epart, fpart, fexp;
  13.  
  14.    val = (FFP)atoi(string);
  15.  
  16.    s = strchr(string,'e');
  17.    if (!s) s = strchr(string,'E');
  18.    epart = (s ? atoi(s+1) : 0);
  19.  
  20.    s = strchr(string, '.');
  21.    if (s) {
  22.       for (++s, fpart=fexp=0; (*s <= '9') && (*s >= '0'); s++) {
  23.          fexp--;
  24.          fpart = fpart*10 + (*s - '0');
  25.       }
  26.       if (val < 0.) fpart *= -1;
  27.       val += (FFP)(fpart * pow(10., (FFP)fexp)); 
  28.    }
  29.  
  30.    return ((FFP)(val * pow(10., (FFP)epart)));
  31. }
  32. #endif
  33.