コード例 #1
0
ファイル: math.py プロジェクト: bodil/lolisp
 def func(self, scope, args):
   args = args[0]
   for i in xrange(len(args)):
     n = args[i]
     if not types.is_number(n):
       raise LispException("argument %d of %s must be number, was %s" %
                           (i + 1, func.__name__,
                            types.type_name(n)))
   return types.py_to_type(m.reduce_num(reducer,
                                        *(n.value for n in args)))
コード例 #2
0
ファイル: math.py プロジェクト: bodil/lolisp
def greater_than_or_equal(self, scope, args):
  return types.py_to_type(args[0].value >= args[1].value)
コード例 #3
0
ファイル: math.py プロジェクト: bodil/lolisp
def less_than_or_equal(self, scope, args):
  return types.py_to_type(args[0].value <= args[1].value)
コード例 #4
0
ファイル: math.py プロジェクト: bodil/lolisp
def greater_than(self, scope, args):
  return types.py_to_type(args[0].value > args[1].value)
コード例 #5
0
ファイル: math.py プロジェクト: bodil/lolisp
def is_fraction(self, scope, args):
  return types.py_to_type(types.is_number(args[0]) and isinstance(args[0].value, Fraction))
コード例 #6
0
ファイル: math.py プロジェクト: bodil/lolisp
def less_than(self, scope, args):
  return types.py_to_type(args[0].value < args[1].value)
コード例 #7
0
ファイル: math.py プロジェクト: bodil/lolisp
def is_decimal(self, scope, args):
  return types.py_to_type(types.is_number(args[0]) and isinstance(args[0].value, Decimal))
コード例 #8
0
ファイル: math.py プロジェクト: bodil/lolisp
def is_int(self, scope, args):
  return types.py_to_type(types.is_number(args[0]) and isinstance(args[0].value, long))
コード例 #9
0
ファイル: math.py プロジェクト: bodil/lolisp
def is_number(self, scope, args):
  return types.py_to_type(types.is_number(args[0]))
コード例 #10
0
ファイル: __init__.py プロジェクト: bodil/lolisp
 def equals(self, scope, args):
   return types.py_to_type(args[0] == args[1])
コード例 #11
0
ファイル: __init__.py プロジェクト: bodil/lolisp
 def atomic(self, scope, args):
   return types.py_to_type(types.is_atomic(args[0]))