Programming-Idioms

Implementation
Fortran

Be concise.

Be useful.

All contributions dictatorially edited by webmasters to match personal tastes.

Please do not paste any copyright violating resource.

Please try to avoid dependencies to third-party libraries and frameworks.

Implementation edit is for fixing errors and enhancing with metadata.

Instead of changing the code of the snippet, consider creating another Fortran implementation.

Other implementations
import java.util.Random;
int pick(int a, int b){
	return a + new Random().nextInt(b - a + 1);
}
#include <stdlib.h>
int pick(int a, int b)
{
	int upper_bound = b - a + 1;
	int max = RAND_MAX - RAND_MAX % upper_bound;
	int r;

	do {
		r = rand();
	} while (r >= max);
	r = r % max;
	return a + r;
}
rand(a..b)
import "math/rand"
func pick(a,b int) int {
	return a + rand.Intn(b-a+1)
}
function pick(a, b) {
    return a + Math.floor(Math.random() * (b - a + 1));
}
import random
random.randint(a,b)
rand($a, $b)
import util.Random
a + Random.nextInt(b + 1)
my ($min, $max) = (5, 25);
my $val = $min + int(rand($max-$min));
extern crate rand;
use rand::distributions::{IndependentSample, Range};
fn pick(a: i32, b: i32) -> i32 {
    let between = Range::new(a, b);
    let mut rng = rand::thread_rng();
    between.ind_sample(&mut rng)
}
import std.random;
auto x1 = uniform(a, b+1);
auto x2 = uniform!"[]"(a, b);
import 'dart:math';
int pick(int a, int b) => a + new Random().nextInt(b - a + 1);
Math
var
  _a, _b, _r: Integer;
begin
  _r := RandomRange(_a, _b);
end; 
crypto:rand_uniform(A, B)
import System.Random
let pick (a, b) = randomRIO (a, b) :: IO Integer
 in pick (1, 6) >>= print

(+ a (rand-int (- b a)))
:crypto.rand_uniform(a, b)
math.random(a, b)
using System;
Random r = new Random();
return r.next(a, b + 1);
a - 1 + :rand.uniform(b-a+1)
#include <random>
std::mt19937 gen;
std::uniform_int_distribution<size_t> uid (a, b);
uid (gen);
use rand::distributions::Uniform;
Uniform::new_inclusive(a, b).sample(&mut rand::thread_rng())
a+arc4random_uniform(b+1)