Print this page
10882 math headers should stop supporting K&R C

Split Close
Expand all
Collapse all
          --- old/usr/src/head/floatingpoint.h
          +++ new/usr/src/head/floatingpoint.h
↓ open down ↓ 40 lines elided ↑ open up ↑
  41   41  extern "C" {
  42   42  #endif
  43   43  
  44   44  /*
  45   45   * <floatingpoint.h> contains definitions for constants, types, variables,
  46   46   * and functions for:
  47   47   *      IEEE floating-point arithmetic base conversion;
  48   48   *      IEEE floating-point arithmetic modes;
  49   49   *      IEEE floating-point arithmetic exception handling.
  50   50   */
  51      -
  52      -#ifndef __P
  53      -#ifdef __STDC__
  54      -#define __P(p)  p
  55      -#else
  56      -#define __P(p)  ()
  57      -#endif
  58      -#endif  /* !defined(__P) */
  59      -
  60   51  #if defined(__STDC__) && !defined(_FILEDEFED)
  61   52  #define _FILEDEFED
  62   53  typedef __FILE FILE;
  63   54  #endif
  64   55  
  65   56  typedef int sigfpe_code_type;   /* Type of SIGFPE code. */
  66   57  
  67   58  typedef void (*sigfpe_handler_type)();  /* Pointer to exception handler */
  68   59  
  69   60  #define SIGFPE_DEFAULT (void (*)())0    /* default exception handling */
  70   61  #define SIGFPE_IGNORE  (void (*)())1    /* ignore this exception or code */
  71   62  #define SIGFPE_ABORT   (void (*)())2    /* force abort on exception */
  72   63  
  73      -extern sigfpe_handler_type sigfpe __P((sigfpe_code_type, sigfpe_handler_type));
       64 +extern sigfpe_handler_type sigfpe(sigfpe_code_type, sigfpe_handler_type);
  74   65  
  75   66  /*
  76   67   * Types for IEEE floating point.
  77   68   */
  78   69  typedef float single;
  79   70  
  80   71  #ifndef _EXTENDED
  81   72  #define _EXTENDED
  82   73  typedef unsigned extended[3];
  83   74  #endif
↓ open down ↓ 55 lines elided ↑ open up ↑
 139  130          floating_int_form,      /* <digs><exp>          */
 140  131          floating_intdot_form,   /* <digs>.<exp>         */
 141  132          floating_dotfrac_form,  /* .<digs><exp>         */
 142  133          floating_intdotfrac_form, /* <digs>.<digs><exp> */
 143  134          inf_form,               /* inf                  */
 144  135          infinity_form,          /* infinity             */
 145  136          nan_form,               /* nan                  */
 146  137          nanstring_form          /* nan(string)          */
 147  138  };
 148  139  
 149      -extern void single_to_decimal __P((single *, decimal_mode *, decimal_record *,
 150      -                                fp_exception_field_type *));
 151      -extern void double_to_decimal __P((double *, decimal_mode *, decimal_record *,
 152      -                                fp_exception_field_type *));
 153      -extern void extended_to_decimal __P((extended *, decimal_mode *,
 154      -                                decimal_record *, fp_exception_field_type *));
 155      -extern void quadruple_to_decimal __P((quadruple *, decimal_mode *,
 156      -                                decimal_record *, fp_exception_field_type *));
 157      -
 158      -extern void decimal_to_single __P((single *, decimal_mode *, decimal_record *,
 159      -                                fp_exception_field_type *));
 160      -extern void decimal_to_double __P((double *, decimal_mode *, decimal_record *,
 161      -                                fp_exception_field_type *));
 162      -extern void decimal_to_extended __P((extended *, decimal_mode *,
 163      -                                decimal_record *, fp_exception_field_type *));
 164      -extern void decimal_to_quadruple __P((quadruple *, decimal_mode *,
 165      -                                decimal_record *, fp_exception_field_type *));
 166      -
 167      -extern void string_to_decimal __P((char **, int, int, decimal_record *,
 168      -                                enum decimal_string_form *, char **));
 169      -extern void func_to_decimal __P((char **, int, int, decimal_record *,
 170      -                                enum decimal_string_form *, char **,
 171      -                                int (*)(void), int *, int (*)(int)));
 172      -extern void file_to_decimal __P((char **, int, int, decimal_record *,
 173      -                                enum decimal_string_form *, char **,
 174      -                                FILE *, int *));
 175      -
 176      -extern char *seconvert __P((single *, int, int *, int *, char *));
 177      -extern char *sfconvert __P((single *, int, int *, int *, char *));
 178      -extern char *sgconvert __P((single *, int, int, char *));
 179      -extern char *econvert __P((double, int, int *, int *, char *));
 180      -extern char *fconvert __P((double, int, int *, int *, char *));
 181      -extern char *gconvert __P((double, int, int, char *));
 182      -extern char *qeconvert __P((quadruple *, int, int *, int *, char *));
 183      -extern char *qfconvert __P((quadruple *, int, int *, int *, char *));
 184      -extern char *qgconvert __P((quadruple *, int, int, char *));
 185      -
 186      -extern char *ecvt __P((double, int, int *, int *));
 187      -extern char *fcvt __P((double, int, int *, int *));
 188      -extern char *gcvt __P((double, int, char *));
      140 +extern void single_to_decimal(single *, decimal_mode *, decimal_record *,
      141 +    fp_exception_field_type *);
      142 +extern void double_to_decimal(double *, decimal_mode *, decimal_record *,
      143 +    fp_exception_field_type *);
      144 +extern void extended_to_decimal(extended *, decimal_mode *,
      145 +    decimal_record *, fp_exception_field_type *);
      146 +extern void quadruple_to_decimal(quadruple *, decimal_mode *,
      147 +    decimal_record *, fp_exception_field_type *);
      148 +
      149 +extern void decimal_to_single(single *, decimal_mode *, decimal_record *,
      150 +    fp_exception_field_type *);
      151 +extern void decimal_to_double(double *, decimal_mode *, decimal_record *,
      152 +    fp_exception_field_type *);
      153 +extern void decimal_to_extended(extended *, decimal_mode *,
      154 +    decimal_record *, fp_exception_field_type *);
      155 +extern void decimal_to_quadruple(quadruple *, decimal_mode *,
      156 +    decimal_record *, fp_exception_field_type *);
      157 +
      158 +extern void string_to_decimal(char **, int, int, decimal_record *,
      159 +    enum decimal_string_form *, char **);
      160 +extern void func_to_decimal(char **, int, int, decimal_record *,
      161 +    enum decimal_string_form *, char **,
      162 +    int (*)(void), int *, int (*)(int));
      163 +extern void file_to_decimal(char **, int, int, decimal_record *,
      164 +    enum decimal_string_form *, char **,
      165 +    FILE *, int *);
      166 +
      167 +extern char *seconvert(single *, int, int *, int *, char *);
      168 +extern char *sfconvert(single *, int, int *, int *, char *);
      169 +extern char *sgconvert(single *, int, int, char *);
      170 +extern char *econvert(double, int, int *, int *, char *);
      171 +extern char *fconvert(double, int, int *, int *, char *);
      172 +extern char *gconvert(double, int, int, char *);
      173 +extern char *qeconvert(quadruple *, int, int *, int *, char *);
      174 +extern char *qfconvert(quadruple *, int, int *, int *, char *);
      175 +extern char *qgconvert(quadruple *, int, int, char *);
      176 +
      177 +extern char *ecvt(double, int, int *, int *);
      178 +extern char *fcvt(double, int, int *, int *);
      179 +extern char *gcvt(double, int, char *);
 189  180  
 190  181  #if __cplusplus >= 199711L
 191  182  namespace std {
 192  183  #endif
 193  184  /*
 194  185   * ANSI C Standard says the following entry points should be
 195  186   * prototyped in <stdlib.h>.  They are now, but weren't before.
 196  187   */
 197      -extern double atof __P((const char *));
 198      -extern double strtod __P((const char *, char **));
      188 +extern double atof(const char *);
      189 +extern double strtod(const char *, char **);
 199  190  #if __cplusplus >= 199711L
 200  191  }
 201  192  
 202  193  using std::atof;
 203  194  using std::strtod;
 204  195  #endif /* end of namespace std */
 205  196  
 206  197  #ifdef __cplusplus
 207  198  }
 208  199  #endif
 209  200  
 210  201  #endif /* _FLOATINGPOINT_H */
    
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX