Skip to content

Commit 0ed5623

Browse files
killeentsoumith
authored andcommitted
move clamped random functions out of cwrap and into TH
1 parent 56877b6 commit 0ed5623

File tree

2 files changed

+12
-0
lines changed

2 files changed

+12
-0
lines changed

lib/TH/generic/THTensorRandom.c

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,16 @@ void THTensor_(random)(THTensor *self, THGenerator *_generator)
2323
#endif
2424
}
2525

26+
void THTensor_(clampedRandom)(THTensor *self, THGenerator *_generator, long min, long max) {
27+
THArgCheck(max > min, 2, "max must be greater than min");
28+
TH_TENSOR_APPLY(real, self, *self_data = (real)((THRandom_random(_generator) % (max - min)) + min);)
29+
}
30+
31+
void THTensor_(cappedRandom)(THTensor *self, THGenerator *_generator, long max) {
32+
THArgCheck(max > 0, 1, "max must be positive");
33+
THTensor_(clampedRandom)(self, _generator, 0, max);
34+
}
35+
2636
void THTensor_(geometric)(THTensor *self, THGenerator *_generator, double p)
2737
{
2838
TH_TENSOR_APPLY(real, self, *self_data = (real)THRandom_geometric(_generator, p););

lib/TH/generic/THTensorRandom.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
#else
44

55
TH_API void THTensor_(random)(THTensor *self, THGenerator *_generator);
6+
TH_API void THTensor_(clampedRandom)(THTensor *self, THGenerator *_generator, long min, long max);
7+
TH_API void THTensor_(cappedRandom)(THTensor *self, THGenerator *_generator, long max);
68
TH_API void THTensor_(geometric)(THTensor *self, THGenerator *_generator, double p);
79
TH_API void THTensor_(bernoulli)(THTensor *self, THGenerator *_generator, double p);
810
TH_API void THTensor_(bernoulli_FloatTensor)(THTensor *self, THGenerator *_generator, THFloatTensor *p);

0 commit comments

Comments
 (0)