THTensor_(clampedRandom)(self, _generator, 0, max);
}
-void THTensor_(geometric)(THTensor *self, THGenerator *_generator, double p)
-{
- std::lock_guard<std::mutex> lock(_generator->mutex);
- TH_TENSOR_APPLY(scalar_t, self, *self_data = (scalar_t)THRandom_geometric(_generator, p););
-}
-
#if defined(TH_REAL_IS_FLOAT) || defined(TH_REAL_IS_DOUBLE)
#if defined(TH_REAL_IS_FLOAT)
TH_API void THTensor_(random)(THTensor *self, THGenerator *_generator);
TH_API void THTensor_(clampedRandom)(THTensor *self, THGenerator *_generator, int64_t min, int64_t max);
TH_API void THTensor_(cappedRandom)(THTensor *self, THGenerator *_generator, int64_t max);
-TH_API void THTensor_(geometric)(THTensor *self, THGenerator *_generator, double p);
#if defined(TH_REAL_IS_FLOAT) || defined(TH_REAL_IS_DOUBLE)
TH_API void THTensor_(bernoulli_Tensor)(THTensor *self, THGenerator *_generator, THTensor *p);
THCudaCheck(cudaGetLastError());
}
-void THCTensor_(zerosLike)(THCState *state, THCTensor *r_, THCTensor *input)
-{
- THCAssertSameGPU(THCTensor_(checkGPU)(state, 2, r_, input));
- THCTensor_(resizeAs)(state, r_, input);
- THCTensor_(zero)(state, r_);
-}
-
-void THCTensor_(onesLike)(THCState *state, THCTensor *r_, THCTensor *input)
-{
- THCAssertSameGPU(THCTensor_(checkGPU)(state, 2, r_, input));
- THCTensor_(resizeAs)(state, r_, input);
- THCTensor_(fill)(state, r_, ScalarConvert<int, scalar_t>::to(1));
-}
-
ptrdiff_t
THCTensor_(numel)(THCState *state, THCTensor *t)
{
THCudaCheck(cudaGetLastError());
}
-void THCTensor_(eye)(THCState *state, THCTensor *self_, int64_t n, int64_t m)
-{
- THCAssertSameGPU(THCTensor_(checkGPU)(state, 1, self_));
- THArgCheck(n > 0, 1, "invalid argument");
-
- if(m <= 0)
- m = n;
-
- THCTensor_(resize2d)(state, self_, n, m);
- THCTensor_(zero)(state, self_);
-
- int64_t sz = THMin(n, m);
- int64_t stride = THCTensor_(stride)(state, self_, 0) +
- THCTensor_(stride)(state, self_, 1);
-
- THCTensor *diag = THCTensor_(newWithStorage1d)(state, THTensor_getStoragePtr(self_),
- self_->storage_offset(), sz, stride);
-
- THCTensor_(fill)(state, diag, ScalarConvert<int, scalar_t>::to(1));
- THCTensor_(free)(state, diag);
-}
-
accreal THCTensor_(trace)(THCState *state, THCTensor *src_) {
THCAssertSameGPU(THCTensor_(checkGPU)(state, 1, src_));
THArgCheck((THTensor_nDimensionLegacyAll(src_) == 2), 1, "expected a matrix");