@@ -55,6 +55,29 @@ void THTensor_(normal)(THTensor *self, THGenerator *_generator, double mean, dou
5555  TH_TENSOR_APPLY (real , self , * self_data  =  (real )THRandom_normal (_generator , mean , stdv ););
5656}
5757
58+ void  THTensor_ (normal_means )(THTensor  * self , THGenerator  * gen , THTensor  * means , double  stddev )
59+ {
60+   THTensor_ (resizeAs )(self , means );
61+   THTensor_ (normal )(self , gen , 0 , stddev );
62+   THTensor_ (cadd )(self , self , 1 , means );
63+ }
64+ 
65+ void  THTensor_ (normal_stddevs )(THTensor  * self , THGenerator  * gen , double  mean , THTensor  * stddevs )
66+ {
67+   THTensor_ (resizeAs )(self , stddevs );
68+   THTensor_ (normal )(self , gen , 0 , 1 );
69+   THTensor_ (cmul )(self , self , stddevs );
70+   THTensor_ (add )(self , self , mean );
71+ }
72+ 
73+ void  THTensor_ (normal_means_stddevs )(THTensor  * self , THGenerator  * gen , THTensor  * means , THTensor  * stddevs )
74+ {
75+   THTensor_ (resizeAs )(self , means );
76+   THTensor_ (normal )(self , gen , 0 , 1 );
77+   THTensor_ (cmul )(self , self , stddevs );
78+   THTensor_ (cadd )(self , self , 1 , means );
79+ }
80+ 
5881void  THTensor_ (exponential )(THTensor  * self , THGenerator  * _generator , double  lambda )
5982{
6083  TH_TENSOR_APPLY (real , self , * self_data  =  (real )THRandom_exponential (_generator , lambda ););
0 commit comments