@@ -34,6 +34,28 @@ THC_API void THCTensor_(normal)(THCState* state, THCTensor *self_, double mean,
3434 THCTensor_ (freeCopyTo)(state, self, self_);
3535};
3636
37+ THC_API void THCTensor_ (normal_means)(THCState *state, THCTensor *self, THCTensor *means, double stddev) {
38+ THCTensor_ (resizeAs)(state, self, means);
39+ THCTensor_ (normal)(state, self, 0 , stddev);
40+ THCTensor_ (cadd)(state, self, self, ScalarConvert<int , real>::to (1 ), means);
41+ }
42+
43+ THC_API void THCTensor_ (normal_stddevs)(THCState *state, THCTensor *self, double mean, THCTensor *stddevs)
44+ {
45+ THCTensor_ (resizeAs)(state, self, stddevs);
46+ THCTensor_ (normal)(state, self, 0 , 1 );
47+ THCTensor_ (cmul)(state, self, self, stddevs);
48+ THCTensor_ (add)(state, self, self, ScalarConvert<double , real>::to (mean));
49+ }
50+
51+ THC_API void THCTensor_ (normal_means_stddevs)(THCState *state, THCTensor *self, THCTensor *means, THCTensor *stddevs)
52+ {
53+ THCTensor_ (resizeAs)(state, self, means);
54+ THCTensor_ (normal)(state, self, 0 , 1 );
55+ THCTensor_ (cmul)(state, self, self, stddevs);
56+ THCTensor_ (cadd)(state, self, self, ScalarConvert<int , real>::to (1 ), means);
57+ }
58+
3759THC_API void THCTensor_ (logNormal)(THCState* state, THCTensor *self_, double mean, double stdv)
3860{
3961
0 commit comments