Skip to content

Commit

Permalink
test new fallback expressions
Browse files Browse the repository at this point in the history
  • Loading branch information
StrikerRUS committed May 18, 2020
1 parent 8aa5472 commit de838c5
Show file tree
Hide file tree
Showing 15 changed files with 245 additions and 255 deletions.
2 changes: 1 addition & 1 deletion .travis.yml
Expand Up @@ -10,7 +10,7 @@ python:
env:
- TEST=API
- TEST=E2E LANG="c_lang or python or java or go_lang or javascript or php or haskell or ruby"
- TEST=E2E LANG="c_sharp or visual_basic or powershell"
- TEST=E2E LANG="powershell"
- TEST=E2E LANG="r_lang or dart"

before_install:
Expand Down
4 changes: 2 additions & 2 deletions m2cgen/interpreters/c/interpreter.py
Expand Up @@ -17,9 +17,9 @@ class CInterpreter(ImperativeToCodeInterpreter,
ast.BinNumOpType.MUL: "mul_vector_number",
}

exponent_function_name = "exp"
# exponent_function_name = "exp"
power_function_name = "pow"
sqrt_function_name = "sqrt"
# sqrt_function_name = "sqrt"
tanh_function_name = "tanh"

def __init__(self, indent=4, function_name="score", *args, **kwargs):
Expand Down
4 changes: 2 additions & 2 deletions m2cgen/interpreters/c_sharp/interpreter.py
Expand Up @@ -18,9 +18,9 @@ class CSharpInterpreter(ImperativeToCodeInterpreter,
ast.BinNumOpType.MUL: "MulVectorNumber",
}

exponent_function_name = "Exp"
# exponent_function_name = "Exp"
power_function_name = "Pow"
sqrt_function_name = "Sqrt"
# sqrt_function_name = "Sqrt"
tanh_function_name = "Tanh"

def __init__(self, namespace="ML", class_name="Model", indent=4,
Expand Down
4 changes: 2 additions & 2 deletions m2cgen/interpreters/dart/interpreter.py
Expand Up @@ -21,9 +21,9 @@ class DartInterpreter(ImperativeToCodeInterpreter,

bin_depth_threshold = 465

exponent_function_name = "exp"
# exponent_function_name = "exp"
power_function_name = "pow"
sqrt_function_name = "sqrt"
# sqrt_function_name = "sqrt"
tanh_function_name = "tanh"

with_tanh_expr = False
Expand Down
4 changes: 2 additions & 2 deletions m2cgen/interpreters/go/interpreter.py
Expand Up @@ -16,9 +16,9 @@ class GoInterpreter(ImperativeToCodeInterpreter,
ast.BinNumOpType.MUL: "mulVectorNumber",
}

exponent_function_name = "math.Exp"
# exponent_function_name = "math.Exp"
power_function_name = "math.Pow"
sqrt_function_name = "math.Sqrt"
# sqrt_function_name = "math.Sqrt"
tanh_function_name = "math.Tanh"

def __init__(self, indent=4, function_name="score", *args, **kwargs):
Expand Down
4 changes: 2 additions & 2 deletions m2cgen/interpreters/haskell/interpreter.py
Expand Up @@ -16,8 +16,8 @@ class HaskellInterpreter(ToCodeInterpreter,
ast.BinNumOpType.MUL: "mulVectorNumber",
}

exponent_function_name = "exp"
sqrt_function_name = "sqrt"
# exponent_function_name = "exp"
# sqrt_function_name = "sqrt"
tanh_function_name = "tanh"

def __init__(self, module_name="Model", indent=4, function_name="score",
Expand Down
4 changes: 2 additions & 2 deletions m2cgen/interpreters/java/interpreter.py
Expand Up @@ -24,9 +24,9 @@ class JavaInterpreter(ImperativeToCodeInterpreter,
ast.BinNumOpType.MUL: "mulVectorNumber",
}

exponent_function_name = "Math.exp"
# exponent_function_name = "Math.exp"
power_function_name = "Math.pow"
sqrt_function_name = "Math.sqrt"
# sqrt_function_name = "Math.sqrt"
tanh_function_name = "Math.tanh"

def __init__(self, package_name=None, class_name="Model", indent=4,
Expand Down
4 changes: 2 additions & 2 deletions m2cgen/interpreters/javascript/interpreter.py
Expand Up @@ -19,9 +19,9 @@ class JavascriptInterpreter(ImperativeToCodeInterpreter,
ast.BinNumOpType.MUL: "mulVectorNumber",
}

exponent_function_name = "Math.exp"
# exponent_function_name = "Math.exp"
power_function_name = "Math.pow"
sqrt_function_name = "Math.sqrt"
# sqrt_function_name = "Math.sqrt"
tanh_function_name = "Math.tanh"

def __init__(self, indent=4, function_name="score",
Expand Down
4 changes: 2 additions & 2 deletions m2cgen/interpreters/php/interpreter.py
Expand Up @@ -17,9 +17,9 @@ class PhpInterpreter(ImperativeToCodeInterpreter,
ast.BinNumOpType.MUL: "mulVectorNumber",
}

exponent_function_name = "exp"
# exponent_function_name = "exp"
power_function_name = "pow"
sqrt_function_name = "sqrt"
# sqrt_function_name = "sqrt"
tanh_function_name = "tanh"

def __init__(self, indent=4, function_name="score", *args, **kwargs):
Expand Down
14 changes: 2 additions & 12 deletions m2cgen/interpreters/powershell/interpreter.py
Expand Up @@ -18,9 +18,9 @@ class PowershellInterpreter(ImperativeToCodeInterpreter,
ast.BinNumOpType.MUL: "Mul-Vector-Number",
}

exponent_function_name = "[math]::Exp"
# exponent_function_name = "[math]::Exp"
power_function_name = "[math]::Pow"
sqrt_function_name = "[math]::Sqrt"
# sqrt_function_name = "[math]::Sqrt"
tanh_function_name = "[math]::Tanh"

def __init__(self, indent=4, function_name="Score", *args, **kwargs):
Expand Down Expand Up @@ -48,16 +48,6 @@ def interpret(self, expr):

return self._cg.code

def interpret_exp_expr(self, expr, **kwargs):
nested_result = self._do_interpret(expr.expr, **kwargs)
return self._cg.math_function_invocation(
self.exponent_function_name, nested_result)

def interpret_sqrt_expr(self, expr, **kwargs):
nested_result = self._do_interpret(expr.expr, **kwargs)
return self._cg.math_function_invocation(
self.sqrt_function_name, nested_result)

def interpret_tanh_expr(self, expr, **kwargs):
nested_result = self._do_interpret(expr.expr, **kwargs)
return self._cg.math_function_invocation(
Expand Down
4 changes: 2 additions & 2 deletions m2cgen/interpreters/python/interpreter.py
Expand Up @@ -10,9 +10,9 @@ class PythonInterpreter(ImperativeToCodeInterpreter,
# 60 raises MemoryError for some SVM models with RBF kernel.
bin_depth_threshold = 55

exponent_function_name = "math.exp"
# exponent_function_name = "math.exp"
power_function_name = "math.pow"
sqrt_function_name = "math.sqrt"
# sqrt_function_name = "math.sqrt"
tanh_function_name = "math.tanh"

def __init__(self, indent=4, function_name="score", *args, **kwargs):
Expand Down
4 changes: 2 additions & 2 deletions m2cgen/interpreters/r/interpreter.py
Expand Up @@ -22,8 +22,8 @@ class RInterpreter(ImperativeToCodeInterpreter,
ast_size_check_frequency = 2
ast_size_per_subroutine_threshold = 200

exponent_function_name = "exp"
sqrt_function_name = "sqrt"
# exponent_function_name = "exp"
# sqrt_function_name = "sqrt"
tanh_function_name = "tanh"

def __init__(self, indent=4, function_name="score", *args, **kwargs):
Expand Down
4 changes: 2 additions & 2 deletions m2cgen/interpreters/ruby/interpreter.py
Expand Up @@ -17,8 +17,8 @@ class RubyInterpreter(ImperativeToCodeInterpreter,
ast.BinNumOpType.MUL: "mul_vector_number",
}

exponent_function_name = "Math.exp"
sqrt_function_name = "Math.sqrt"
# exponent_function_name = "Math.exp"
# sqrt_function_name = "Math.sqrt"
tanh_function_name = "Math.tanh"

def __init__(self, indent=4, function_name="score", *args, **kwargs):
Expand Down
2 changes: 1 addition & 1 deletion m2cgen/interpreters/visual_basic/interpreter.py
Expand Up @@ -17,7 +17,7 @@ class VisualBasicInterpreter(ImperativeToCodeInterpreter,
ast.BinNumOpType.MUL: "MulVectorNumber",
}

exponent_function_name = "Math.Exp"
# exponent_function_name = "Math.Exp"
tanh_function_name = "Tanh"

with_tanh_expr = False
Expand Down

0 comments on commit de838c5

Please sign in to comment.