LongFloat.st
changeset 8706 d48896f0a910
parent 8635 38674ba49a14
child 8913 b9498d27a554
equal deleted inserted replaced
8705:fad08dd9cec5 8706:d48896f0a910
    97 # endif
    97 # endif
    98 
    98 
    99 # define NO_ASINH
    99 # define NO_ASINH
   100 # define NO_ACOSH
   100 # define NO_ACOSH
   101 # define NO_ATANH
   101 # define NO_ATANH
   102 #endif
   102 #endif /* WIN32 */
   103 
   103 
   104 #ifdef realIX
   104 #ifdef realIX
   105 /*
   105 /*
   106  * no finite(x)
   106  * no finite(x)
   107  */
   107  */
   108 # ifndef finite
   108 # ifndef finite
   109 #  define finite(x)     1
   109 #  define finite(x)     1
   110 # endif
   110 # endif
   111 #endif /* realIX */
   111 #endif /* realIX */
   112 
   112 
       
   113 #ifdef OSX
       
   114 # ifndef isnanl
       
   115 #  define isnanl(x)	isnan(x)
       
   116 # endif
       
   117 #endif /* OSX */
       
   118 
   113 #if defined(__GNUC__) || defined(WIN32)
   119 #if defined(__GNUC__) || defined(WIN32)
   114 # define LONGFLOAT      long double
   120 # define LONGFLOAT      long double
       
   121 
   115 # if defined(linux) || defined(WIN32)
   122 # if defined(linux) || defined(WIN32)
   116 #  define LONG_ceil     ceill
   123 #  define LONG_ceil     ceill
   117 #  define LONG_floor    floorl
   124 #  define LONG_floor    floorl
   118 #  define LONG_sqrt     sqrtl
   125 #  define LONG_sqrt     sqrtl
   119 #  define LONG_sin      sinl
   126 #  define LONG_sin      sinl
   131 #  define LONG_log10    log10l
   138 #  define LONG_log10    log10l
   132 #  define LONG_pow      powl
   139 #  define LONG_pow      powl
   133 #  define LONG_isnan    isnanl
   140 #  define LONG_isnan    isnanl
   134 #  define LONG_isfinite isfinitel
   141 #  define LONG_isfinite isfinitel
   135 # endif
   142 # endif
       
   143 
   136 # if defined(linux)
   144 # if defined(linux)
   137 #  define LONG_asinh    asinhl
   145 #  define LONG_asinh    asinhl
   138 #  define LONG_acosh    acoshl
   146 #  define LONG_acosh    acoshl
   139 #  define LONG_atanh    atanhl
   147 #  define LONG_atanh    atanhl
   140 # endif /* defined(lunux) */
   148 # endif /* linux */
       
   149 
       
   150 # if defined(OSX)
       
   151 #  define LONG_isnan    isnan
       
   152 #  define LONG_isfinite isfinite
       
   153 # endif /* OSX */
   141 
   154 
   142 #endif /* defined(__GNUC__) || defined(WIN32)
   155 #endif /* defined(__GNUC__) || defined(WIN32)
   143 
   156 
   144 /*
   157 /*
   145  * on systems which do not support long doubles, fall back to Float
   158  * on systems which do not support long doubles, fall back to double
   146  * arithmetic
   159  * arithmetic
   147  */
   160  */
   148 #ifndef LONGFLOAT
   161 #ifndef LONGFLOAT
   149 # define LONGFLOAT       double
   162 # define LONGFLOAT       double
   150 # define LONGFLOAT_CLASS  Float
   163 # define LONGFLOAT_CLASS  Float
  2469 ! !
  2482 ! !
  2470 
  2483 
  2471 !LongFloat class methodsFor:'documentation'!
  2484 !LongFloat class methodsFor:'documentation'!
  2472 
  2485 
  2473 version
  2486 version
  2474     ^ '$Header: /cvs/stx/stx/libbasic/LongFloat.st,v 1.49 2004-11-12 12:24:03 cg Exp $'
  2487     ^ '$Header: /cvs/stx/stx/libbasic/LongFloat.st,v 1.50 2005-01-25 14:51:17 cg Exp $'
  2475 ! !
  2488 ! !
  2476 
  2489 
  2477 LongFloat initialize!
  2490 LongFloat initialize!