mirror of
				https://github.com/pytorch/pytorch.git
				synced 2025-11-04 16:04:58 +08:00 
			
		
		
		
	Implement copysign (#46396)
Summary: Pull Request resolved: https://github.com/pytorch/pytorch/pull/46396 Related #38349 [numpy](https://numpy.org/doc/stable/reference/generated/numpy.copysign.html?highlight=copysign#numpy.copysign) - No in-place function - No method - Optional output - Available: byte, char, bool, int, short, long, float, double, half - Integral promoted to float - Not available: float/double complex `c = np.copysign(a, b)` | a | b | c | a.grad | | -1 | -1 | -1 | 1 | | -0 | -1 | -0 | 0 | | 0 | -1 | -0 | 0 | | 1 | -1 | -1 | -1 | | -1 | -0 | -1 | 1 | | -0 | -0 | 0 | 0 | | 0 | -0 | 0 | 0 | | 1 | -0 | -1 | -1 | | -1 | 0 | 1 | -1 | | -0 | 0 | 0 | 0 | | 0 | 0 | 0 | 0 | | 1 | 0 | 1 | 1 | | -1 | 1 | 1 | -1 | | -0 | 1 | 0 | 0 | | 0 | 1 | 0 | 0 | | 1 | 1 | 1 | 1 | This function becomes **non-differentiable** at `a=0` for any `b`. So, in my opinion, we may set the gradient for `a=0` to 0. TODO: - [x] test (cpu/gpu) - [x] doc - [x] ~kernel_vec~ Test Plan: Imported from OSS Reviewed By: mruberry Differential Revision: D24401366 Pulled By: ejguan fbshipit-source-id: 3621c5ff74b185376a3705589983bb5197ab896d
This commit is contained in:
		
				
					committed by
					
						
						Facebook GitHub Bot
					
				
			
			
				
	
			
			
			
						parent
						
							996f444c00
						
					
				
				
					commit
					f1ac63d324
				
			@ -939,6 +939,19 @@ conj() -> Tensor
 | 
			
		||||
See :func:`torch.conj`
 | 
			
		||||
""")
 | 
			
		||||
 | 
			
		||||
add_docstr_all('copysign',
 | 
			
		||||
               r"""
 | 
			
		||||
copysign(other) -> Tensor
 | 
			
		||||
 | 
			
		||||
See :func:`torch.copysign`
 | 
			
		||||
""")
 | 
			
		||||
 | 
			
		||||
add_docstr_all('copysign_', r"""
 | 
			
		||||
copysign_(other) -> Tensor
 | 
			
		||||
 | 
			
		||||
In-place version of :meth:`~Tensor.copysign`
 | 
			
		||||
""")
 | 
			
		||||
 | 
			
		||||
add_docstr_all('cos',
 | 
			
		||||
               r"""
 | 
			
		||||
cos() -> Tensor
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user