2013-02-20 22:36:16 +00:00
|
|
|
|
2013-03-09 06:57:13 +00:00
|
|
|
Elm.Native.Random = function(elm) {
|
2013-03-02 17:18:36 +00:00
|
|
|
'use strict';
|
2013-03-09 06:57:13 +00:00
|
|
|
elm.Native = elm.Native || {};
|
|
|
|
if (elm.Native.Random) return elm.Native.Random;
|
2013-02-22 23:19:40 +00:00
|
|
|
|
2013-03-09 06:57:13 +00:00
|
|
|
var Signal = Elm.Signal(elm);
|
2013-02-20 22:36:16 +00:00
|
|
|
|
2013-03-09 06:57:13 +00:00
|
|
|
function range(min, max, signal) {
|
2013-03-02 17:18:36 +00:00
|
|
|
function f(x) { return Math.floor(Math.random() * (max-min+1)) + min; }
|
2013-03-09 06:57:13 +00:00
|
|
|
return A2( Signal.lift, f, signal );
|
|
|
|
}
|
|
|
|
|
2013-05-12 00:38:07 +00:00
|
|
|
function flt(signal) {
|
|
|
|
function f(x) { return Math.random(); }
|
2013-03-09 06:57:13 +00:00
|
|
|
return A2( Signal.lift, f, signal );
|
2013-02-22 23:19:40 +00:00
|
|
|
}
|
|
|
|
|
2013-05-21 23:06:12 +00:00
|
|
|
elm.Native.Random = { range: F3(range) };
|
|
|
|
elm.Native.Random['float'] = flt;
|
|
|
|
return elm.Native.Random;
|
2013-02-22 23:19:40 +00:00
|
|
|
|
2013-05-12 00:15:45 +00:00
|
|
|
};
|