home *** CD-ROM | disk | FTP | other *** search
/ Solo Programadores 22 / SOLO_22.iso / packages / win32ada / data.z / win32-floatpkg.ads < prev    next >
Encoding:
Text File  |  1996-03-15  |  11.0 KB  |  186 lines

  1. -- $Source: /home/harp/1/proto/monoBANK/winnt/win32-floatpkg.ads,v $ 
  2. -- $Revision: 1.9 $ $Date: 96/03/15 12:52:11 $ $Author: stm $ 
  3. -- See end of file for Copyright (c) information.
  4.  
  5. package Win32.FloatPkg is
  6.  
  7.     DBL_DIG            : constant := 15;                    -- float.h:46
  8.     DBL_EPSILON        : constant := 2.22044604925031357389e-16;
  9.                                                             -- float.h:47
  10.     DBL_MANT_DIG       : constant := 53;                    -- float.h:48
  11.     DBL_MAX            : constant := 1.7976931348623158e+308;
  12.                                                             -- float.h:49
  13.     DBL_MAX_10_EXP     : constant := 308;                   -- float.h:50
  14.     DBL_MAX_EXP        : constant := 1024;                  -- float.h:51
  15.     DBL_MIN            : constant := 2.22507385850720582968e-308;       
  16.                                                             -- float.h:52
  17.     DBL_MIN_10_EXP     : constant := -307;                  -- float.h:53
  18.     DBL_MIN_EXP        : constant := -1021;                 -- float.h:54
  19.     DBL_RADIX          : constant := 2;                     -- float.h:55
  20.     DBL_ROUNDS         : constant := 1;                     -- float.h:56
  21.     FLT_DIG            : constant := 6;                     -- float.h:58
  22.     FLT_EPSILON        : constant := 1.19209289600000031694e-07;
  23.                                                             -- float.h:59
  24.     FLT_GUARD          : constant := 0;                     -- float.h:60
  25.     FLT_MANT_DIG       : constant := 24;                    -- float.h:61
  26.     FLT_MAX            : constant := 3.40282346599999902814e+38;
  27.                                                             -- float.h:62
  28.     FLT_MAX_10_EXP     : constant := 38;                    -- float.h:63
  29.     FLT_MAX_EXP        : constant := 128;                   -- float.h:64
  30.     FLT_MIN            : constant := 1.17549435100000025997e-38;        
  31.                                                             -- float.h:65
  32.     FLT_MIN_10_EXP     : constant := -37;                   -- float.h:66
  33.     FLT_MIN_EXP        : constant := -125;                  -- float.h:67
  34.     FLT_NORMALIZE      : constant := 0;                     -- float.h:68
  35.     FLT_RADIX          : constant := 2;                     -- float.h:69
  36.     FLT_ROUNDS         : constant := 1;                     -- float.h:70
  37.     LDBL_DIG           : constant := 15;                    -- float.h:72
  38.     LDBL_EPSILON       : constant := 2.22044604925031357389e-16;        
  39.                                                             -- float.h:73
  40.     LDBL_MANT_DIG      : constant := 53;                    -- float.h:74
  41.     LDBL_MAX           : constant := DBL_MAX;               -- float.h:75
  42.     LDBL_MAX_10_EXP    : constant := 308;                   -- float.h:76
  43.     LDBL_MAX_EXP       : constant := 1024;                  -- float.h:77
  44.     LDBL_MIN           : constant := 2.22507385850720582968e-308;       
  45.                                                             -- float.h:78
  46.     LDBL_MIN_10_EXP    : constant := -307;                  -- float.h:79
  47.     LDBL_MIN_EXP       : constant := -1021;                 -- float.h:80
  48.     LDBL_RADIX         : constant := DBL_RADIX;             -- float.h:81
  49.     LDBL_ROUNDS        : constant := DBL_ROUNDS;            -- float.h:82
  50.     MCW_EM             : constant := 16#8001f#;             -- float.h:101
  51.     EM_INEXACT         : constant := 16#1#;                 -- float.h:102
  52.     EM_UNDERFLOW       : constant := 16#2#;                 -- float.h:103
  53.     EM_OVERFLOW        : constant := 16#4#;                 -- float.h:104
  54.     EM_ZERODIVIDE      : constant := 16#8#;                 -- float.h:105
  55.     EM_INVALID         : constant := 16#10#;                -- float.h:106
  56.     MCW_RC             : constant := 16#300#;               -- float.h:108
  57.     RC_NEAR            : constant := 16#0#;                 -- float.h:109
  58.     RC_DOWN            : constant := 16#100#;               -- float.h:110
  59.     RC_UP              : constant := 16#200#;               -- float.h:111
  60.     RC_CHOP            : constant := 16#300#;               -- float.h:112
  61.     SW_INEXACT         : constant := 16#1#;                 -- float.h:118
  62.     SW_UNDERFLOW       : constant := 16#2#;                 -- float.h:119
  63.     SW_OVERFLOW        : constant := 16#4#;                 -- float.h:120
  64.     SW_ZERODIVIDE      : constant := 16#8#;                 -- float.h:121
  65.     SW_INVALID         : constant := 16#10#;                -- float.h:122
  66.     MCW_PC             : constant := 16#30000#;             -- float.h:129
  67.     PC_64              : constant := 16#0#;                 -- float.h:130
  68.     PC_53              : constant := 16#10000#;             -- float.h:131
  69.     PC_24              : constant := 16#20000#;             -- float.h:132
  70.     MCW_IC             : constant := 16#40000#;             -- float.h:134
  71.     IC_AFFINE          : constant := 16#40000#;             -- float.h:135
  72.     IC_PROJECTIVE      : constant := 16#0#;                 -- float.h:136
  73.     EM_DENORMAL        : constant := 16#80000#;             -- float.h:138
  74.     SW_DENORMAL        : constant := 16#80000#;             -- float.h:140
  75.     MCW_DN             : constant := 16#1000000#;           -- float.h:150
  76.     DN_FLUSH           : constant := 16#1000000#;           -- float.h:151
  77.     DN_SAVE            : constant := 16#0#;                 -- float.h:152
  78.     CW_DEFAULT         : constant := 16#1f#;                -- float.h:159
  79.     SW_UNEMULATED      : constant := 16#40#;                -- float.h:182
  80.     SW_SQRTNEG         : constant := 16#80#;                -- float.h:183
  81.     SW_STACKOVERFLOW   : constant := 16#200#;               -- float.h:184
  82.     SW_STACKUNDERFLOW  : constant := 16#400#;               -- float.h:185
  83.     FPE_INVALID        : constant := 16#81#;                -- float.h:189
  84.     FPE_DENORMAL       : constant := 16#82#;                -- float.h:190
  85.     FPE_ZERODIVIDE     : constant := 16#83#;                -- float.h:191
  86.     FPE_OVERFLOW       : constant := 16#84#;                -- float.h:192
  87.     FPE_UNDERFLOW      : constant := 16#85#;                -- float.h:193
  88.     FPE_INEXACT        : constant := 16#86#;                -- float.h:194
  89.     FPE_UNEMULATED     : constant := 16#87#;                -- float.h:196
  90.     FPE_SQRTNEG        : constant := 16#88#;                -- float.h:197
  91.     FPE_STACKOVERFLOW  : constant := 16#8a#;                -- float.h:198
  92.     FPE_STACKUNDERFLOW : constant := 16#8b#;                -- float.h:199
  93.     FPE_EXPLICITGEN    : constant := 16#8c#;                -- float.h:201
  94.     FPCLASS_SNAN       : constant := 16#1#;                 -- float.h:215
  95.     FPCLASS_QNAN       : constant := 16#2#;                 -- float.h:216
  96.     FPCLASS_NINF       : constant := 16#4#;                 -- float.h:217
  97.     FPCLASS_NN         : constant := 16#8#;                 -- float.h:218
  98.     FPCLASS_ND         : constant := 16#10#;                -- float.h:219
  99.     FPCLASS_NZ         : constant := 16#20#;                -- float.h:220
  100.     FPCLASS_PZ         : constant := 16#40#;                -- float.h:221
  101.     FPCLASS_PD         : constant := 16#80#;                -- float.h:222
  102.     FPCLASS_PN         : constant := 16#100#;               -- float.h:223
  103.     FPCLASS_PINF       : constant := 16#200#;               -- float.h:224
  104.  
  105.     -- Global variable holding floating point error code
  106.     function fpecode return Win32.INT;                      -- float.h:174
  107.  
  108.     function clearfp return Win32.UINT;                     -- float.h:89
  109.  
  110.     function clear87 return Win32.UINT renames clearfp;     -- float.h:94
  111.  
  112.     function controlfp(new_value: Win32.UINT;
  113.                        mask     : Win32.UINT)
  114.                            return Win32.UINT;               -- float.h:90
  115.  
  116.     function statusfp return Win32.UINT;                    -- float.h:91
  117.  
  118.     function status87 return Win32.UINT renames statusfp;   -- float.h:95
  119.  
  120.     procedure fpreset;                                      -- float.h:92
  121.  
  122.     function control87(new_value: Win32.UINT;
  123.                        mask     : Win32.UINT)
  124.                            return Win32.UINT;               -- float.h:143
  125.  
  126.     function copysign(x: Win32.DOUBLE;
  127.                       y: Win32.DOUBLE)
  128.                           return Win32.DOUBLE;              -- float.h:206
  129.  
  130.     function chgsign(x: Win32.DOUBLE) return Win32.DOUBLE;  -- float.h:207
  131.  
  132.     function scalb(x  : Win32.DOUBLE;
  133.                    exp: Win32.INT)
  134.                        return Win32.DOUBLE;                 -- float.h:208
  135.  
  136.     function logb(x: Win32.DOUBLE) return Win32.DOUBLE;     -- float.h:209
  137.  
  138.     function nextafter(x: Win32.DOUBLE;
  139.                        y: Win32.DOUBLE)
  140.                            return Win32.DOUBLE;             -- float.h:210
  141.  
  142.     function finite(x: Win32.DOUBLE) return Win32.INT;      -- float.h:211
  143.  
  144.     function isnan(x: Win32.DOUBLE) return Win32.INT;       -- float.h:212
  145.  
  146.     function fpclass(x: Win32.DOUBLE) return Win32.INT;     -- float.h:213
  147.  
  148. private
  149.  
  150.     pragma Inline(fpecode);
  151.  
  152.     pragma Import(C, clearfp, "_clearfp");                  -- float.h:89
  153.     pragma Import(C, controlfp, "_controlfp");              -- float.h:90
  154.     pragma Import(C, statusfp, "_statusfp");                -- float.h:91
  155.     pragma Import(C, fpreset, "_fpreset");                  -- float.h:92
  156.     pragma Import(C, control87, "_control87");              -- float.h:143
  157.     pragma Import(C, copysign, "_copysign");                -- float.h:206
  158.     pragma Import(C, chgsign, "_chgsign");                  -- float.h:207
  159.     pragma Import(C, scalb, "_scalb");                      -- float.h:208
  160.     pragma Import(C, logb, "_logb");                        -- float.h:209
  161.     pragma Import(C, nextafter, "_nextafter");              -- float.h:210
  162.     pragma Import(C, finite, "_finite");                    -- float.h:211
  163.     pragma Import(C, isnan, "_isnan");                      -- float.h:212
  164.     pragma Import(C, fpclass, "_fpclass");                  -- float.h:213
  165.  
  166. -------------------------------------------------------------------------------
  167. --
  168. -- THIS FILE AND ANY ASSOCIATED DOCUMENTATION IS PROVIDED WITHOUT CHARGE
  169. -- "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING
  170. -- BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR
  171. -- FITNESS FOR A PARTICULAR PURPOSE.  The user assumes the entire risk as to
  172. -- the accuracy and the use of this file.  This file may be used, copied,
  173. -- modified and distributed only by licensees of Microsoft Corporation's
  174. -- WIN32 Software Development Kit in accordance with the terms of the 
  175. -- licensee's End-User License Agreement for Microsoft Software for the
  176. -- WIN32 Development Kit.
  177. --
  178. -- Copyright (c) Intermetrics, Inc. 1995
  179. -- Portions (c) 1985-1994 Microsoft Corporation with permission.
  180. -- Microsoft is a registered trademark and Windows and Windows NT are
  181. -- trademarks of Microsoft Corporation.
  182. --
  183. -------------------------------------------------------------------------------
  184.  
  185. end Win32.FloatPkg;
  186.