aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/tools/cython/Cython/Includes/libcpp/limits.pxd
blob: a26bb20244d644171b8e1a2fbbe8edd634a63272 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
cdef extern from "<limits>" namespace "std" nogil: 
   enum float_round_style: 
        round_indeterminate       = -1 
        round_toward_zero         = 0 
        round_to_nearest          = 1 
        round_toward_infinity     = 2 
        round_toward_neg_infinity = 3 

   enum float_denorm_style: 
        denorm_indeterminate  = -1 
        denorm_absent         = 0 
        denorm_present        = 1 
 
   #The static methods can be called as, e.g. numeric_limits[int].round_error(), etc. 
   #The const data members should be declared as static.  Cython currently doesn't allow that 
   #and/or I can't figure it out, so you must instantiate an object to access, e.g. 
   #cdef numeric_limits[double] lm 
   #print lm.round_style 
   cdef cppclass numeric_limits[T]: 
    const bint is_specialized 
    @staticmethod 
    T min() 
    @staticmethod 
    T max() 
    const int digits 
    const int  digits10 
    const bint is_signed 
    const bint is_integer 
    const bint is_exact 
    const int radix 
    @staticmethod 
    T epsilon() 
    @staticmethod 
    T round_error() 
 
    const int  min_exponent 
    const int  min_exponent10 
    const int  max_exponent 
    const int  max_exponent10 

    const bint has_infinity 
    const bint has_quiet_NaN 
    const bint has_signaling_NaN 
    const float_denorm_style has_denorm 
    const bint has_denorm_loss 
    @staticmethod 
    T infinity() 
    @staticmethod 
    T quiet_NaN() 
    @staticmethod 
    T signaling_NaN() 
    @staticmethod 
    T denorm_min() 
 
    const bint is_iec559 
    const bint is_bounded 
    const bint is_modulo 
 
    const bint traps 
    const bint tinyness_before 
    const float_round_style round_style