pike.git / src / stuff.c

version» Context lines:

pike.git/src/stuff.c:1:   /*\   ||| This file a part of Pike, and is copyright by Fredrik Hubinette   ||| Pike is distributed as GPL (General Public License)   ||| See the files COPYING and DISCLAIMER for more information.   \*/ + #include "global.h"   #include "stuff.h" -  + #include <stdlib.h>      /* same thing as (int)floor(log((double)x) / log(2.0)) */   /* Except a bit quicker :) (hopefully) */      int my_log2(unsigned INT32 x)   {    static char bit[256] =    {    -1, 0, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3,    4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
pike.git/src/stuff.c:64:   /* Return true for integers with more than one bit set */   int is_more_than_one_bit(unsigned INT32 x)   {    return ((x & 0xaaaaaaaaUL) && (x & 0x55555555UL)) ||    ((x & 0xccccccccUL) && (x & 0x33333333UL)) ||    ((x & 0xf0f0f0f0UL) && (x & 0x0f0f0f0fUL)) ||    ((x & 0xff00ff00UL) && (x & 0x00ff00ffUL)) ||    ((x & 0xff00ff00UL) && (x & 0x00ff00ffUL)) ||    ((x & 0xffff0000UL) && (x & 0x0000ffffUL));   } +  + double my_strtod(char *nptr, char **endptr) + { +  double tmp=STRTOD(nptr,endptr); +  if(*endptr>nptr) +  { +  if(endptr[0][-1]=='.') +  endptr[0]--; +  } +  return tmp; + }