Not logged in.  Login/Logout/Register | List snippets | | Create snippet | Upload image | Upload data

56
LINES

< > BotCompany Repo | #1002033 - random - return random number between 0 and n-1, and other version

JavaX fragment (include) [tags: use-pretranspiled]

Libraryless. Click here for Pure Java version (3069L/17K).

static Random random_random = new Random;

static int random(int n) {
  return random(random_random, n);
}

static int random(int n, Random r) { ret random(r, n); }

static int random(Random r, int n) {
  return n <= 0 ? 0 : r.nextInt(n);
}

static double random(double max) {
  return random()*max;
}

static double random() {
  return random_random.nextInt(100001)/100000.0;
}

static double random(double min, double max) {
  return min+random()*(max-min);
}

// min <= value < max
static int random(int min, int max) {
  return min+random(max-min);
}

static int random(int min, int max, Random r) {
  ret random(r, min, max);
}

static int random(Random r, int min, int max) {
  return min+random(r, max-min);
}

static <A> A random(L<A> l) {
  ret oneOf(l);
}

static <A> A random(Collection<A> c) {
  if (c instanceof L) ret random((L<A>) c);
  int i = random(l(c));
  ret collectionGet(c, i);
}

ifclass IntRange
static int random(IntRange r) {
  ret random(r.start, r.end);
}
endif

static <A, B> Pair<A, B> random(Map<A, B> map) {
  ret entryToPair(random(entries(map)));
}

download  show line numbers  debug dex  old transpilations   

Travelled to 16 computer(s): aoiabmzegqzx, bhatertpkbcr, cbybwowwnfue, cfunsshuasjs, gwrvuhgaqvyk, ishqpsrjomds, lpdgvwnxivlt, mqqgnosmbjvj, podlckwnjdmb, pyentgdyhuwx, pzhvpgtvlbxg, tslmcundralx, tvejysmllsmz, vouqrxazstgt, whxojlpjdney, xrpafgyirdlv

No comments. add comment

Snippet ID: #1002033
Snippet name: random - return random number between 0 and n-1, and other version
Eternal ID of this version: #1002033/11
Text MD5: 7d06e3b885020aec00e9bab05da2fff6
Transpilation MD5: cf360e6816625b0379a4e794d6fd09ef
Author: stefan
Category: javax
Type: JavaX fragment (include)
Public (visible to everyone): Yes
Archived (hidden from active list): No
Created/modified: 2021-07-24 00:03:45
Source code size: 1138 bytes / 56 lines
Pitched / IR pitched: No / No
Views / Downloads: 681 / 1390
Version history: 10 change(s)
Referenced in: [show references]

Formerly at http://tinybrain.de/1002033 & http://1002033.tinybrain.de