@@ -376,6 +376,50 @@ def free_tpl(self):
376
376
register (MulConstant , torch .autograd ._functions .basic_ops .MulConstant )
377
377
378
378
379
+ class Div (Emitter ):
380
+
381
+ def __init__ (self , obj , prevfns ):
382
+ Emitter .__init__ (self , obj , prevfns )
383
+ self .def_vars ({'input0' : id (prevfns [0 ]),
384
+ 'input1' : id (prevfns [1 ])})
385
+ self .infer_type_var = 'input0'
386
+
387
+ def call_tpl (self ):
388
+ return '''
389
+ TH${T}Tensor *$id = TH${T}Tensor_new();
390
+ TH${T}Tensor_cdiv($id,$input0,$input1);
391
+ '''
392
+
393
+ def free_tpl (self ):
394
+ return '''
395
+ TH${T}Tensor_free($id);
396
+ '''
397
+
398
+ register (Div , torch .autograd ._functions .basic_ops .Div )
399
+
400
+
401
+ class DivConstant (Emitter ):
402
+
403
+ def __init__ (self , obj , prevfns ):
404
+ Emitter .__init__ (self , obj , prevfns )
405
+ self .def_vars ({'input' : id (prevfns [0 ])})
406
+ self .infer_type_var = 'input'
407
+ self .def_args ({'constant' : obj .constant })
408
+
409
+ def call_tpl (self ):
410
+ return '''
411
+ TH${T}Tensor *$id = TH${T}Tensor_new();
412
+ TH${T}Tensor_div($id,$input,$constant);
413
+ '''
414
+
415
+ def free_tpl (self ):
416
+ return '''
417
+ TH${T}Tensor_free($id);
418
+ '''
419
+
420
+ register (DivConstant , torch .autograd ._functions .basic_ops .DivConstant )
421
+
422
+
379
423
class Softmax (Emitter ):
380
424
381
425
def __init__ (self , obj , prevfns ):
0 commit comments