Return TypeFunction nameArguments
boolIsDouble(double&,const char*,)

Declared in file: hzTextproc.h
Defined in file : hzTypes.cpp

Function Logic:

0:START 1:!tok||!tok[0] 2:Return false 3:*i==(char)32; 4:*i==(char)45 5:bNeg items 6:*i==(char)43 7:bNeg 8:Return false 9:items 10:*i==(char)32; 11:*i; 12:!(chartype[*i]&CTYPE_DIGIT) 13:*i!=(char)46 14:Return false 15:pt_pos 16:Return false 17:pt_pos 18:val val pt_pos 19:nVal 20:bNeg 21:nVal 22:Return true

Function body:

bool IsDouble (double& nVal, const char* tok)
{
   _hzfunc("IsDouble") ;
   const char* i = tok ;
   double      val = 0.0;
   double      pt_pos = 0.0;
   bool        bNeg = false ;
   if (!tok || !tok[0])
       return false ;
   for (i = tok ; *i == CHAR_SPACE ; i++) ;
   if (*i == CHAR_MINUS)
       { bNeg = true ; i++ ; }
   if (*i == CHAR_PLUS)
   {
       if (bNeg)
           return false ;
       i++ ;
   }
   for (; *i == CHAR_SPACE ; i++) ;
   for (; *i ; i++)
   {
       if (!(chartype[*i] & CTYPE_DIGIT))
       {
           if (*i != CHAR_PERIOD)
               return false ;
           if (pt_pos)
               return false ;
           pt_pos = 1.0;
       }
       val *= 10.0;
       val += (double) (*i - CHAR_0) ;
       pt_pos *= 10.0;
   }
   nVal = (val / pt_pos) ;
   if (bNeg)
       nVal *= -1.0;
   return true ;
}