Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
86a96f9
Added frexp, isinf, isnan, isfinite
Chillee May 30, 2019
753b3e2
Update on "Added frexp, isinf, isnan, isfinite"
Chillee May 30, 2019
1ad65b5
Update on "Added frexp, isinf, isnan, isfinite"
Chillee May 30, 2019
961c250
Update on "Added frexp, isinf, isnan, isfinite"
Chillee May 30, 2019
2acd3f9
Update on "Added frexp, isinf, isnan, isfinite"
Chillee May 30, 2019
7965c82
Update on "Added frexp, isinf, isnan, isfinite"
Chillee May 30, 2019
a80ec1b
Update on "Added frexp, isinf, isnan, isfinite"
Chillee May 30, 2019
7a49f88
Update on "Added frexp, isinf, isnan, isfinite"
Chillee May 30, 2019
3f31737
Update on "Added frexp, isinf, isnan, isfinite"
Chillee May 31, 2019
2930c03
Update on "Added frexp, isinf, isnan, isfinite"
Chillee May 31, 2019
c5849d3
Update on "Added frexp, isinf, isnan, isfinite"
Chillee May 31, 2019
da265b8
Update on "Added frexp, isinf, isnan, isfinite"
Chillee May 31, 2019
69fd5c5
Update on "Added frexp, isinf, isnan, isfinite"
Chillee May 31, 2019
30fc8bc
Update on "Added frexp, isinf, isnan, isfinite"
Chillee May 31, 2019
e3e3394
Update on "Added frexp, isinf, isnan, isfinite"
Chillee May 31, 2019
6027ba7
Update on "Added frexp, isinf, isnan, isfinite"
Chillee Jun 3, 2019
a4c8f3d
Update on "Added frexp, isinf, isnan, isfinite"
Chillee Jun 3, 2019
08a4f95
Update on "Added frexp, isinf, isnan, isfinite"
Chillee Jun 3, 2019
f218b8f
Update on "Added frexp, isinf, isnan, isfinite"
Chillee Jun 3, 2019
cc54988
Update on "Added frexp, isinf, isnan, isfinite"
Chillee Jun 3, 2019
0bd15e7
Update on "Added frexp, isinf, isnan, isfinite"
Chillee Jun 3, 2019
ba2434a
Update on "Added frexp, isinf, isnan, isfinite"
Chillee Jun 4, 2019
60ac7ff
Update on "Added frexp, isinf, isnan, isfinite"
Chillee Jun 4, 2019
85ab752
Update on "Added frexp, isinf, isnan, isfinite"
Chillee Jun 4, 2019
1711caa
Update on "Added frexp, isinf, isnan, isfinite"
Chillee Jun 5, 2019
bd19ffe
Update on "Added frexp, isinf, isnan, isfinite"
Chillee Jun 5, 2019
c1dcde0
Update on "Added frexp, isinf, isnan, isfinite"
Chillee Jun 5, 2019
2916119
Update on "Added frexp, isinf, isnan, isfinite"
Chillee Jun 5, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions test/test_jit.py
Original file line number Diff line number Diff line change
Expand Up @@ -6130,12 +6130,16 @@ def func(a, b):
checkMathWrap(op, 2)

checkMath("modf", 1, ret_type="Tuple[float, float]")
checkMath("frexp", 1, ret_type="Tuple[float, int]")
checkMath("isnan", 1, ret_type="bool")
checkMath("isinf", 1, ret_type="bool")
checkMath("pow", 2, is_float=False, ret_type="int")
checkMath("pow", 2, is_float=True, ret_type="float")
if not PY2:
checkMathWrap("floor", ret_type="int")
checkMathWrap("ceil", ret_type="int")
checkMathWrap("gcd", 2, is_float=False, ret_type="int")
checkMath("isfinite", 1, ret_type="bool")
if PY37:
checkMathWrap("remainder", 2)
checkMathWrap("factorial", 1, is_float=False, ret_type="int", vals=[(i, i) for i in range(-2, 10)])
Expand Down
14 changes: 14 additions & 0 deletions torch/csrc/jit/register_prim_ops.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2210,6 +2210,9 @@ RegisterOperators reg2({
DEFINE_UNARY_OP(aten::tanh, std::tanh(a), float, float),
DEFINE_BINARY_FLOAT_OP(aten::fmod, std::fmod(a, b)),
DEFINE_UNARY_INT_OP(aten::factorial, factorial(a), int),
DEFINE_UNARY_FLOAT_OP(aten::isnan, std::isnan(a), bool),
DEFINE_UNARY_FLOAT_OP(aten::isfinite, std::isfinite(a), bool),
DEFINE_UNARY_FLOAT_OP(aten::isinf, std::isinf(a), bool),
Operator(
"aten::modf(float a) -> (float, float)",
[](Stack& stack) {
Expand All @@ -2220,6 +2223,17 @@ RegisterOperators reg2({
push(stack, b, c);
return 0;
}),
Operator(
"aten::frexp(float a) -> (float, int)",
[](Stack& stack) {
double a;
pop(stack, a);
double m;
int e;
m = std::frexp(a, &e);
push(stack, m, e);
return 0;
}),
DEFINE_BINARY_FLOAT_OP(aten::mathremainder, std::remainder(a, b)),

// TODO: move abs to aten namespace because it's schematized!
Expand Down
4 changes: 4 additions & 0 deletions torch/jit/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -1909,6 +1909,9 @@ def register_all(mod):
(math.fmod, "aten::fmod"),
(math.modf, "aten::modf"),
(math.factorial, "aten::factorial"),
(math.frexp, "aten::frexp"),
(math.isnan, "aten::isnan"),
(math.isinf, "aten::isinf"),
(torch._C._infer_size, "aten::_infer_size"),
(torch.nn.functional._no_grad_embedding_renorm_, "aten::_no_grad_embedding_renorm_"),
(torch.nn.functional.assert_int_or_pair, "aten::_assert_int_or_pair"),
Expand All @@ -1928,6 +1931,7 @@ def register_all(mod):
_builtin_table[id(builtin)] = aten_op
if not PY2:
_builtin_table[id(math.gcd)] = "aten::gcd"
_builtin_table[id(math.isfinite)] = "aten::isfinite"
if PY37:
_builtin_table[id(math.remainder)] = "aten::mathremainder"

Expand Down