aboutsummaryrefslogtreecommitdiffstats
path: root/lib/random.moon
diff options
context:
space:
mode:
authors-ol <s-ol@users.noreply.github.com>2020-03-22 12:15:05 +0000
committers-ol <s-ol@users.noreply.github.com>2020-03-22 12:15:05 +0000
commitce99c90c282a04177bfda54e9df1855e8e6597e6 (patch)
treed82ef94a1c35da5c21ba1b86a3dbc0a6bef84b4b /lib/random.moon
parenterror handling: scope + registry (diff)
downloadalive-ce99c90c282a04177bfda54e9df1855e8e6597e6.tar.gz
alive-ce99c90c282a04177bfda54e9df1855e8e6597e6.zip
error handling: lib
Diffstat (limited to 'lib/random.moon')
-rw-r--r--lib/random.moon22
1 files changed, 11 insertions, 11 deletions
diff --git a/lib/random.moon b/lib/random.moon
index a3124fa..9a98702 100644
--- a/lib/random.moon
+++ b/lib/random.moon
@@ -1,18 +1,18 @@
-import Op, Value, Input, match from require 'core.base'
+import Value, Error, Op, Input, match from require 'core.base'
apply_range = (range, val) ->
if range\type! == 'str'
- switch range\unwrap!
- when 'uni' then val
- when 'bip' then val * 2 - 1
- when 'rad' then val * 2 * math.pi
- when 'deg' then val * 360
+ switch range!
+ when 'uni' then val / 128
+ when 'bip' then val / 64 - 1
+ when 'rad' then val / 64 * math.pi
+ when 'deg' then val / 128 * 360
else
- error "unknown range #{range}"
+ error Error 'argument', "unknown range '#{range!}'"
elseif range.type == 'num'
- val * range\unwrap!
+ val / 128 * range!
else
- error "range has to be a string or number"
+ error Error 'argument', "range has to be a string or number"
range_doc = "
range can be one of:
@@ -28,7 +28,7 @@ num = Value.meta
name: 'num'
summary: 'Generate a random number.'
examples: { '(random/num [trigger] [range]))' }
- description: "generate a random value in `range` when created and on `trig`.
+ description: "Generate a random value in `range` when created and on `trig`.
#{range_doc}"
value: class extends Op
@@ -54,7 +54,7 @@ vec_ = (n) ->
name: "vec#{n}"
summary: 'Generate a random vector.'
examples: { '(random/vec#{n} [trigger] [range]))' }
- description: "generate a random vec#{n} in `range` when created and on `trig`.
+ description: "Generate a random vec#{n} in `range` when created and on `trig`.
#{range_doc}"
value: class extends Op