#include <float.h>
#include <limits.h>

int ipmpar( int *i)
{
   static int imach[11] = {
      0, /* dummy zeroth index */
      /* integers */  
      2, /* base;  you are on the binary machine, aren't you? */
      sizeof(int)*(CHAR_BIT)-1,
      INT_MAX,
      /* all floats */
      FLT_RADIX,
      /* single precision floats */
      FLT_MANT_DIG,
      FLT_MIN_EXP,
      FLT_MAX_EXP,
      /* double precision floats */
      DBL_MANT_DIG,
      DBL_MIN_EXP,
      DBL_MAX_EXP,
   };
   return imach[*i];
}


syntax highlighted by Code2HTML, v. 0.9.1