Lichen

lib/math.py

90:c7ddfc4525da
2016-10-08 Paul Boddie Added some support for eliminating accessor class types where the provided attributes are invoked and are unbound methods. This uses a more sophisticated method involving usage observations that incorporate invocation information, permitting classes as accessors if paths through the code support them, even if other paths require instances as accessors to invoke methods.
     1 #!/usr/bin/env python     2      3 """     4 Mathematical functions.     5      6 Copyright (C) 2012 Paul Boddie <paul@boddie.org.uk>     7      8 This program is free software; you can redistribute it and/or modify it under     9 the terms of the GNU General Public License as published by the Free Software    10 Foundation; either version 3 of the License, or (at your option) any later    11 version.    12     13 This program is distributed in the hope that it will be useful, but WITHOUT    14 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS    15 FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more    16 details.    17     18 You should have received a copy of the GNU General Public License along with    19 this program.  If not, see <http://www.gnu.org/licenses/>.    20 """    21     22 def pow(x, y):    23     24     "Return x ** y."    25     26     return x ** y    27     28 def acos(x): pass    29 def asin(x): pass    30 def atan(x): pass    31 def atan2(y, x): pass    32 def ceil(x): pass    33 def cos(x): pass    34 def cosh(x): pass    35 def degrees(x): pass    36 def exp(x): pass    37 def fabs(x): pass    38 def floor(x): pass    39 def fmod(x, y): pass    40 def frexp(x): pass    41 def hypot(x, y): pass    42 def ldexp(x, i): pass    43 def log(x, base=None): pass    44 def log10(x): pass    45 def modf(x): pass    46 def radians(x): pass    47 def sin(x): pass    48 def sinh(x): pass    49 def sqrt(x): pass    50 def tan(x): pass    51 def tanh(x): pass    52     53 # NOTE: From Python 2.7 on i386.    54     55 e = 2.718281828459045    56 pi = 3.141592653589793    57     58 # vim: tabstop=4 expandtab shiftwidth=4