mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 13:41:24 +00:00 
			
		
		
		
	Added copysign(x, y) function to the math module
This commit is contained in:
		
							parent
							
								
									000a074c95
								
							
						
					
					
						commit
						eebb79cc69
					
				
					 4 changed files with 28 additions and 1 deletions
				
			
		|  | @ -31,6 +31,14 @@ Number-theoretic and representation functions: | ||||||
|    should return an :class:`Integral` value. |    should return an :class:`Integral` value. | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | .. function:: copysign(x, y) | ||||||
|  | 
 | ||||||
|  |    Return *x* with the sign of *y*. ``copysign`` copies the sign bit of an IEEE | ||||||
|  |    754 float, ``copysign(1, -0.0)`` returns *-1.0*. | ||||||
|  | 
 | ||||||
|  |    ..versionadded:: 2.6 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| .. function:: fabs(x) | .. function:: fabs(x) | ||||||
| 
 | 
 | ||||||
|    Return the absolute value of *x*. |    Return the absolute value of *x*. | ||||||
|  |  | ||||||
|  | @ -229,6 +229,13 @@ def testTanh(self): | ||||||
|         self.ftest('tanh(0)', math.tanh(0), 0) |         self.ftest('tanh(0)', math.tanh(0), 0) | ||||||
|         self.ftest('tanh(1)+tanh(-1)', math.tanh(1)+math.tanh(-1), 0) |         self.ftest('tanh(1)+tanh(-1)', math.tanh(1)+math.tanh(-1), 0) | ||||||
| 
 | 
 | ||||||
|  |     def testCopysign(self): | ||||||
|  |         self.assertEqual(math.copysign(1, 42), 1.0) | ||||||
|  |         self.assertEqual(math.copysign(0., 42), 0.0) | ||||||
|  |         self.assertEqual(math.copysign(1., -42), -1.0) | ||||||
|  |         self.assertEqual(math.copysign(3, 0.), 3.0) | ||||||
|  |         self.assertEqual(math.copysign(4., -0.), -4.0) | ||||||
|  | 
 | ||||||
|     def testIsnan(self): |     def testIsnan(self): | ||||||
|         self.assert_(math.isnan(float("nan"))) |         self.assert_(math.isnan(float("nan"))) | ||||||
|         self.assert_(math.isnan(float("inf")* 0.)) |         self.assert_(math.isnan(float("inf")* 0.)) | ||||||
|  |  | ||||||
|  | @ -12,7 +12,8 @@ What's New in Python 2.6 alpha 1? | ||||||
| Core and builtins | Core and builtins | ||||||
| ----------------- | ----------------- | ||||||
| 
 | 
 | ||||||
| - Issue #1640: Added math.isinf() and math.isnan() functions. | - Issue #1640: Added math.isinf(x), math.isnan(x) and math.copysign(x, y) | ||||||
|  |   functions. | ||||||
| 
 | 
 | ||||||
| - Issue #1635: Platform independent creation and representation of NaN | - Issue #1635: Platform independent creation and representation of NaN | ||||||
|   and INF. float("nan"), float("inf") and float("-inf") now work on every |   and INF. float("nan"), float("inf") and float("-inf") now work on every | ||||||
|  |  | ||||||
|  | @ -133,6 +133,14 @@ FUNC1(cos, cos, | ||||||
|       "cos(x)\n\nReturn the cosine of x (measured in radians).") |       "cos(x)\n\nReturn the cosine of x (measured in radians).") | ||||||
| FUNC1(cosh, cosh, | FUNC1(cosh, cosh, | ||||||
|       "cosh(x)\n\nReturn the hyperbolic cosine of x.") |       "cosh(x)\n\nReturn the hyperbolic cosine of x.") | ||||||
|  | #if defined(MS_WINDOWS) || defined(HAVE_COPYSIGN) | ||||||
|  | #ifdef MS_WINDOWS | ||||||
|  | FUNC2(copysign, _copysign, | ||||||
|  | #else | ||||||
|  | FUNC2(copysign, copysign, | ||||||
|  | #endif | ||||||
|  |     "copysign(x,y)\n\nReturn x with the sign of y."); | ||||||
|  | #endif | ||||||
| FUNC1(exp, exp, | FUNC1(exp, exp, | ||||||
|       "exp(x)\n\nReturn e raised to the power of x.") |       "exp(x)\n\nReturn e raised to the power of x.") | ||||||
| FUNC1(fabs, fabs, | FUNC1(fabs, fabs, | ||||||
|  | @ -375,6 +383,9 @@ static PyMethodDef math_methods[] = { | ||||||
| 	{"atan",	math_atan,	METH_O,		math_atan_doc}, | 	{"atan",	math_atan,	METH_O,		math_atan_doc}, | ||||||
| 	{"atan2",	math_atan2,	METH_VARARGS,	math_atan2_doc}, | 	{"atan2",	math_atan2,	METH_VARARGS,	math_atan2_doc}, | ||||||
| 	{"ceil",	math_ceil,	METH_O,		math_ceil_doc}, | 	{"ceil",	math_ceil,	METH_O,		math_ceil_doc}, | ||||||
|  | #if defined(MS_WINDOWS) || defined(HAVE_COPYSIGN) | ||||||
|  | 	{"copysign",	math_copysign,	METH_VARARGS,	math_copysign_doc}, | ||||||
|  | #endif | ||||||
| 	{"cos",		math_cos,	METH_O,		math_cos_doc}, | 	{"cos",		math_cos,	METH_O,		math_cos_doc}, | ||||||
| 	{"cosh",	math_cosh,	METH_O,		math_cosh_doc}, | 	{"cosh",	math_cosh,	METH_O,		math_cosh_doc}, | ||||||
| 	{"degrees",	math_degrees,	METH_O,		math_degrees_doc}, | 	{"degrees",	math_degrees,	METH_O,		math_degrees_doc}, | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Christian Heimes
						Christian Heimes