@@ -192,6 +192,28 @@ public static Tensor asin(Tensor x, string name = null)
192192 return _op . outputs [ 0 ] ;
193193 }
194194
195+ public static Tensor add ( Tensor x , Tensor y , string name = null )
196+ {
197+ if ( tf . context . executing_eagerly ( ) )
198+ {
199+ using ( var status = new Status ( ) )
200+ {
201+ var _result = c_api . TFE_FastPathExecute ( tf . context , tf . context . device_name ,
202+ "Add" , name , new IntPtr [ ]
203+ {
204+ ( x as EagerTensor ) . EagerTensorHandle ,
205+ ( y as EagerTensor ) . EagerTensorHandle
206+ } , 2 , status ) ;
207+ status . Check ( true ) ;
208+ return new EagerTensor ( _result ) ;
209+ }
210+ }
211+
212+ var _op = _op_def_lib . _apply_op_helper ( "Add" , name , args : new { x , y } ) ;
213+
214+ return _op . output ;
215+ }
216+
195217 public static Tensor add < Tx , Ty > ( Tx x , Ty y , string name = null )
196218 {
197219 if ( tf . context . executing_eagerly ( ) )
@@ -593,6 +615,28 @@ public static Tensor sqrt(Tensor x, string name = null)
593615 return _op . outputs [ 0 ] ;
594616 }
595617
618+ public static Tensor sub ( Tensor x , Tensor y , string name = null )
619+ {
620+ if ( tf . context . executing_eagerly ( ) )
621+ {
622+ using ( var status = new Status ( ) )
623+ {
624+ var _result = c_api . TFE_FastPathExecute ( tf . context , tf . context . device_name ,
625+ "Sub" , name , new IntPtr [ ]
626+ {
627+ ( x as EagerTensor ) . EagerTensorHandle ,
628+ ( y as EagerTensor ) . EagerTensorHandle
629+ } , 2 , status ) ;
630+ status . Check ( true ) ;
631+ return new EagerTensor ( _result ) ;
632+ }
633+ }
634+
635+ var _op = _op_def_lib . _apply_op_helper ( "Sub" , name , args : new { x , y } ) ;
636+
637+ return _op . output ;
638+ }
639+
596640 public static Tensor sub < Tx , Ty > ( Tx x , Ty y , string name = null )
597641 {
598642 if ( tf . context . executing_eagerly ( ) )
@@ -667,6 +711,28 @@ public static Tensor atan2(Tensor y, Tensor x, string name = null)
667711 return _op . output ;
668712 }
669713
714+ public static Tensor mul ( Tensor x , Tensor y , string name = null )
715+ {
716+ if ( tf . context . executing_eagerly ( ) )
717+ {
718+ using ( var status = new Status ( ) )
719+ {
720+ var _result = c_api . TFE_FastPathExecute ( tf . context , tf . context . device_name ,
721+ "Mul" , name , new IntPtr [ ]
722+ {
723+ ( x as EagerTensor ) . EagerTensorHandle ,
724+ ( y as EagerTensor ) . EagerTensorHandle
725+ } , 2 , status ) ;
726+ status . Check ( true ) ;
727+ return new EagerTensor ( _result ) ;
728+ }
729+ }
730+
731+ var _op = _op_def_lib . _apply_op_helper ( "Mul" , name , args : new { x , y } ) ;
732+
733+ return _op . output ;
734+ }
735+
670736 public static Tensor mul < Tx , Ty > ( Tx x , Ty y , string name = null )
671737 {
672738 if ( tf . context . executing_eagerly ( ) )
@@ -693,8 +759,17 @@ public static Tensor real_div(Tensor x, Tensor y, string name = null)
693759 {
694760 if ( tf . context . executing_eagerly ( ) )
695761 {
696- var _result = wrap_tfe_src . TFE_FastPathExecute ( tf . context , "" , "RealDiv" , name , null , x , y ) ;
697- return _result ;
762+ using ( var status = new Status ( ) )
763+ {
764+ var _result = c_api . TFE_FastPathExecute ( tf . context , tf . context . device_name ,
765+ "RealDiv" , name , new IntPtr [ ]
766+ {
767+ ( x as EagerTensor ) . EagerTensorHandle ,
768+ ( y as EagerTensor ) . EagerTensorHandle
769+ } , 2 , status ) ;
770+ status . Check ( true ) ;
771+ return new EagerTensor ( _result ) ;
772+ }
698773 }
699774
700775 var _op = _op_def_lib . _apply_op_helper ( "RealDiv" , name , args : new { x , y } ) ;
0 commit comments