Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ test.test_math.MathTests.testAsinh @ darwin-arm64,linux-aarch64,linux-aarch64-gi
test.test_math.MathTests.testAtan @ darwin-arm64,linux-aarch64,linux-aarch64-github,linux-x86_64,linux-x86_64-github,win32-AMD64,win32-AMD64-github
test.test_math.MathTests.testAtan2 @ darwin-arm64,linux-aarch64,linux-aarch64-github,linux-x86_64,linux-x86_64-github,win32-AMD64,win32-AMD64-github
test.test_math.MathTests.testAtanh @ darwin-arm64,linux-aarch64,linux-aarch64-github,linux-x86_64,linux-x86_64-github,win32-AMD64,win32-AMD64-github
test.test_math.MathTests.testCbrt @ darwin-arm64,linux-aarch64,linux-aarch64-github,linux-x86_64,linux-x86_64-github,win32-AMD64,win32-AMD64-github
test.test_math.MathTests.testCeil @ darwin-arm64,linux-aarch64,linux-aarch64-github,linux-x86_64,linux-x86_64-github,win32-AMD64,win32-AMD64-github
test.test_math.MathTests.testComb @ darwin-arm64,linux-aarch64,linux-aarch64-github,linux-x86_64,linux-x86_64-github,win32-AMD64,win32-AMD64-github
test.test_math.MathTests.testConstants @ darwin-arm64,linux-aarch64,linux-aarch64-github,linux-x86_64,linux-x86_64-github,win32-AMD64,win32-AMD64-github
Expand All @@ -32,6 +33,7 @@ test.test_math.MathTests.testCosh @ darwin-arm64,linux-aarch64,linux-aarch64-git
test.test_math.MathTests.testDegrees @ darwin-arm64,linux-aarch64,linux-aarch64-github,linux-x86_64,linux-x86_64-github,win32-AMD64,win32-AMD64-github
test.test_math.MathTests.testDist @ darwin-arm64,linux-aarch64,linux-aarch64-github,linux-x86_64,linux-x86_64-github,win32-AMD64,win32-AMD64-github
test.test_math.MathTests.testExp @ darwin-arm64,linux-aarch64,linux-aarch64-github,linux-x86_64,linux-x86_64-github,win32-AMD64,win32-AMD64-github
test.test_math.MathTests.testExp2 @ darwin-arm64,linux-aarch64,linux-aarch64-github,linux-x86_64,linux-x86_64-github,win32-AMD64,win32-AMD64-github
test.test_math.MathTests.testFabs @ darwin-arm64,linux-aarch64,linux-aarch64-github,linux-x86_64,linux-x86_64-github,win32-AMD64,win32-AMD64-github
test.test_math.MathTests.testFactorial @ darwin-arm64,linux-aarch64,linux-aarch64-github,linux-x86_64,linux-x86_64-github,win32-AMD64,win32-AMD64-github
test.test_math.MathTests.testFactorialNonIntegers @ darwin-arm64,linux-aarch64,linux-aarch64-github,linux-x86_64,linux-x86_64-github,win32-AMD64,win32-AMD64-github
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -255,6 +255,22 @@ private static double compute(Node inliningTarget, double value, PRaiseNode rais
}
}

@Builtin(name = "cbrt", minNumOfPositionalArgs = 1, doc = "Return the cube root of x.")
@GenerateNodeFactory
public abstract static class CbrtNode extends PythonUnaryBuiltinNode {

@Specialization
static double doGeneric(VirtualFrame frame, Object value,
@Bind Node inliningTarget,
@Cached MathUnaryHelperNode helperNode) {
return helperNode.execute(frame, inliningTarget, value, CbrtNode::compute);
}

private static double compute(Node inliningTarget, double value, PRaiseNode raiseNode) {
return Math.cbrt(value);
}
}

@Builtin(name = "exp", minNumOfPositionalArgs = 1)
@GenerateNodeFactory
public abstract static class ExpNode extends PythonUnaryBuiltinNode {
Expand All @@ -273,6 +289,24 @@ private static double compute(Node inliningTarget, double value, PRaiseNode rais
}
}

@Builtin(name = "exp2", minNumOfPositionalArgs = 1, doc = "Return 2 raised to the power of x.")
@GenerateNodeFactory
public abstract static class Exp2Node extends PythonUnaryBuiltinNode {

@Specialization
static double doGeneric(VirtualFrame frame, Object value,
@Bind Node inliningTarget,
@Cached MathUnaryHelperNode helperNode) {
return helperNode.execute(frame, inliningTarget, value, Exp2Node::compute);
}

private static double compute(Node inliningTarget, double value, PRaiseNode raiseNode) {
double result = Math.pow(2.0, value);
checkMathRangeError(Double.isFinite(value) && Double.isInfinite(result), inliningTarget, raiseNode);
return result;
}
}

@Builtin(name = "expm1", minNumOfPositionalArgs = 1)
@GenerateNodeFactory
public abstract static class Expm1Node extends PythonUnaryBuiltinNode {
Expand Down