@@ -3955,16 +3955,36 @@ def aten_negative(self: TensorType) -> TensorType:
39553955 raise NotImplementedError ()
39563956
39573957
3958- def aten_new_empty (self : TensorType , size : INT64 ) -> TensorType :
3958+ @torch_op ("aten::new_empty" )
3959+ def aten_new_empty (self : TTensor , size : INT64 , dtype : int = - 1 ) -> TTensor :
39593960 # new_empty(Tensor self, SymInt[] size, *, ScalarType? dtype=None, Layout? layout=None, Device? device=None, bool? pin_memory=None) -> Tensor
39603961
3961- raise NotImplementedError ()
3962+ # using zero to simulate empty array
3963+ zero = op .Constant (value_float = 0.0 )
3964+ result = op .Expand (zero , size )
3965+ if dtype == - 1 :
3966+ result = op .CastLike (result , self )
3967+ else :
3968+ result = op .Cast (result , to = dtype )
3969+ return result
39623970
39633971
3964- def aten_new_empty_strided (self : TensorType , size : INT64 , stride : INT64 ) -> TensorType :
3972+ @torch_op ("aten::new_empty_strided" )
3973+ def aten_new_empty_strided (
3974+ self : TTensor ,
3975+ size : INT64 ,
3976+ stride : INT64 , # pylint: disable=unused-argument
3977+ dtype : int = - 1 ,
3978+ ) -> TTensor :
39653979 # new_empty_strided(Tensor self, SymInt[] size, SymInt[] stride, *, ScalarType? dtype=None, Layout? layout=None, Device? device=None, bool? pin_memory=None) -> Tensor
39663980
3967- raise NotImplementedError ()
3981+ # using zero to simulate empty array
3982+ zero = op .ConstantOfShape (size )
3983+ if dtype == - 1 :
3984+ result = op .CastLike (zero , self )
3985+ else :
3986+ result = op .Cast (zero , to = dtype )
3987+ return result
39683988
39693989
39703990@torch_op ("aten::new_full" )
0 commit comments