self.assertTrue(math.isnan(math.atan2(NAN, INF)))
self.assertTrue(math.isnan(math.atan2(NAN, NAN)))
+ def testCbrt(self):
+ self.assertRaises(TypeError, math.cbrt)
+ self.ftest('cbrt(0)', math.cbrt(0), 0)
+ self.ftest('cbrt(1)', math.cbrt(1), 1)
+ self.ftest('cbrt(8)', math.cbrt(8), 2)
+ self.ftest('cbrt(0.0)', math.cbrt(0.0), 0.0)
+ self.ftest('cbrt(-0.0)', math.cbrt(-0.0), -0.0)
+ self.ftest('cbrt(1.2)', math.cbrt(1.2), 1.062658569182611)
+ self.ftest('cbrt(-2.6)', math.cbrt(-2.6), -1.375068867074141)
+ self.ftest('cbrt(27)', math.cbrt(27), 3)
+ self.ftest('cbrt(-1)', math.cbrt(-1), -1)
+ self.ftest('cbrt(-27)', math.cbrt(-27), -3)
+ self.assertEqual(math.cbrt(INF), INF)
+ self.assertEqual(math.cbrt(NINF), NINF)
+ self.assertTrue(math.isnan(math.cbrt(NAN)))
+
def testCeil(self):
self.assertRaises(TypeError, math.ceil)
self.assertEqual(int, type(math.ceil(0.5)))
FUNC1(atanh, m_atanh, 0,
"atanh($module, x, /)\n--\n\n"
"Return the inverse hyperbolic tangent of x.")
+FUNC1(cbrt, cbrt, 0,
+ "cbrt($module, x, /)\n--\n\n"
+ "Return the cube root of x.")
/*[clinic input]
math.ceil
{"atan", math_atan, METH_O, math_atan_doc},
{"atan2", (PyCFunction)(void(*)(void))math_atan2, METH_FASTCALL, math_atan2_doc},
{"atanh", math_atanh, METH_O, math_atanh_doc},
+ {"cbrt", math_cbrt, METH_O, math_cbrt_doc},
MATH_CEIL_METHODDEF
{"copysign", (PyCFunction)(void(*)(void))math_copysign, METH_FASTCALL, math_copysign_doc},
{"cos", math_cos, METH_O, math_cos_doc},