Add 'rand
parent
56d3bf7273
commit
82231ce71f
|
@ -29,6 +29,7 @@ import subprocess
|
|||
import sys
|
||||
import time
|
||||
import traceback
|
||||
import random
|
||||
from decimal import Decimal
|
||||
from fractions import Fraction
|
||||
import decimal
|
||||
|
@ -261,6 +262,17 @@ def _now(stack, arg):
|
|||
))
|
||||
env.AUTO_FORMAT = nums.TimeDurationMode()
|
||||
|
||||
def _rand(stack, arg):
|
||||
"""random number 0-1 or arg-arg"""
|
||||
|
||||
if not arg:
|
||||
minb, maxb = DecimalScalar(0.0), DecimalScalar(1.0)
|
||||
else:
|
||||
arg1, arg2 = arg.split()
|
||||
minb, maxb = nums.num_parser(arg1), nums.num_parser(arg2, set_auto=True)
|
||||
val = random.uniform(minb, maxb)
|
||||
stack.append(val)
|
||||
|
||||
###############################################################################
|
||||
# TAG COMMANDS
|
||||
|
||||
|
@ -675,6 +687,7 @@ COMMANDS = collections.OrderedDict([
|
|||
("'signed", _signed),
|
||||
("'floor", UNARY(lambda x: DecimalScalar(x.to_decimal_scalar().v.to_integral_value(decimal.ROUND_FLOOR)), "floor")),
|
||||
("'ceil", UNARY(lambda x: DecimalScalar(x.to_decimal_scalar().v.to_integral_value(decimal.ROUND_CEILING)), "floor")),
|
||||
("'rand", _rand),
|
||||
(50, "==COMPLEX=="),
|
||||
("'re", UNARY(lambda x: x.real, "real part")),
|
||||
("'im", UNARY(lambda x: x.imag, "imaginary part")),
|
||||
|
|
Loading…
Reference in New Issue