@@ -3937,16 +3937,36 @@ def aten_negative(self: TensorType) -> TensorType:
39373937 raise NotImplementedError ()
39383938
39393939
3940- def aten_new_empty (self : TensorType , size : INT64 ) -> TensorType :
3940+ @torch_op ("aten::new_empty" )
3941+ def aten_new_empty (self : TTensor , size : INT64 , dtype : int = - 1 ) -> TTensor :
39413942 # new_empty(Tensor self, SymInt[] size, *, ScalarType? dtype=None, Layout? layout=None, Device? device=None, bool? pin_memory=None) -> Tensor
39423943
3943- raise NotImplementedError ()
3944+ # using zero to simulate empty array
3945+ zero = op .Constant (value_float = 0.0 )
3946+ result = op .Expand (zero , size )
3947+ if dtype == - 1 :
3948+ result = op .CastLike (result , self )
3949+ else :
3950+ result = op .Cast (result , to = dtype )
3951+ return result
39443952
39453953
3946- def aten_new_empty_strided (self : TensorType , size : INT64 , stride : INT64 ) -> TensorType :
3954+ @torch_op ("aten::new_empty_strided" )
3955+ def aten_new_empty_strided (
3956+ self : TTensor ,
3957+ size : INT64 ,
3958+ stride : INT64 , # pylint: disable=unused-argument
3959+ dtype : int = - 1 ,
3960+ ) -> TTensor :
39473961 # new_empty_strided(Tensor self, SymInt[] size, SymInt[] stride, *, ScalarType? dtype=None, Layout? layout=None, Device? device=None, bool? pin_memory=None) -> Tensor
39483962
3949- raise NotImplementedError ()
3963+ # using zero to simulate empty array
3964+ zero = op .ConstantOfShape (size )
3965+ if dtype == - 1 :
3966+ result = op .CastLike (zero , self )
3967+ else :
3968+ result = op .Cast (zero , to = dtype )
3969+ return result
39503970
39513971
39523972@torch_op ("aten::new_full" )
0 commit comments