@@ -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