summaryrefslogtreecommitdiffstats
path: root/vendor/github.com/d5/tengo/stdlib/rand.go
diff options
context:
space:
mode:
authorWim <wim@42.be>2019-03-05 23:08:54 +0100
committerWim <wim@42.be>2019-03-05 23:10:45 +0100
commit325d62b41c03f0530513a4f404cc8d7349b6885b (patch)
treed6f9f2809bdcd3a35b696b412c24cf6f54ddab78 /vendor/github.com/d5/tengo/stdlib/rand.go
parente955a056e2aa4a07c6375315113886b2ee86138c (diff)
downloadmatterbridge-msglm-325d62b41c03f0530513a4f404cc8d7349b6885b.tar.gz
matterbridge-msglm-325d62b41c03f0530513a4f404cc8d7349b6885b.tar.bz2
matterbridge-msglm-325d62b41c03f0530513a4f404cc8d7349b6885b.zip
Update vendor d5/tengo
Diffstat (limited to 'vendor/github.com/d5/tengo/stdlib/rand.go')
-rw-r--r--vendor/github.com/d5/tengo/stdlib/rand.go99
1 files changed, 0 insertions, 99 deletions
diff --git a/vendor/github.com/d5/tengo/stdlib/rand.go b/vendor/github.com/d5/tengo/stdlib/rand.go
deleted file mode 100644
index 248d8e79..00000000
--- a/vendor/github.com/d5/tengo/stdlib/rand.go
+++ /dev/null
@@ -1,99 +0,0 @@
-package stdlib
-
-import (
- "math/rand"
-
- "github.com/d5/tengo/objects"
-)
-
-var randModule = map[string]objects.Object{
- "int": &objects.UserFunction{Name: "int", Value: FuncARI64(rand.Int63)},
- "float": &objects.UserFunction{Name: "float", Value: FuncARF(rand.Float64)},
- "intn": &objects.UserFunction{Name: "intn", Value: FuncAI64RI64(rand.Int63n)},
- "exp_float": &objects.UserFunction{Name: "exp_float", Value: FuncARF(rand.ExpFloat64)},
- "norm_float": &objects.UserFunction{Name: "norm_float", Value: FuncARF(rand.NormFloat64)},
- "perm": &objects.UserFunction{Name: "perm", Value: FuncAIRIs(rand.Perm)},
- "seed": &objects.UserFunction{Name: "seed", Value: FuncAI64R(rand.Seed)},
- "read": &objects.UserFunction{
- Value: func(args ...objects.Object) (ret objects.Object, err error) {
- if len(args) != 1 {
- return nil, objects.ErrWrongNumArguments
- }
-
- y1, ok := args[0].(*objects.Bytes)
- if !ok {
- return nil, objects.ErrInvalidArgumentType{
- Name: "first",
- Expected: "bytes",
- Found: args[0].TypeName(),
- }
- }
-
- res, err := rand.Read(y1.Value)
- if err != nil {
- ret = wrapError(err)
- return
- }
-
- return &objects.Int{Value: int64(res)}, nil
- },
- },
- "rand": &objects.UserFunction{
- Value: func(args ...objects.Object) (ret objects.Object, err error) {
- if len(args) != 1 {
- return nil, objects.ErrWrongNumArguments
- }
-
- i1, ok := objects.ToInt64(args[0])
- if !ok {
- return nil, objects.ErrInvalidArgumentType{
- Name: "first",
- Expected: "int(compatible)",
- Found: args[0].TypeName(),
- }
- }
-
- src := rand.NewSource(i1)
-
- return randRand(rand.New(src)), nil
- },
- },
-}
-
-func randRand(r *rand.Rand) *objects.ImmutableMap {
- return &objects.ImmutableMap{
- Value: map[string]objects.Object{
- "int": &objects.UserFunction{Name: "int", Value: FuncARI64(r.Int63)},
- "float": &objects.UserFunction{Name: "float", Value: FuncARF(r.Float64)},
- "intn": &objects.UserFunction{Name: "intn", Value: FuncAI64RI64(r.Int63n)},
- "exp_float": &objects.UserFunction{Name: "exp_float", Value: FuncARF(r.ExpFloat64)},
- "norm_float": &objects.UserFunction{Name: "norm_float", Value: FuncARF(r.NormFloat64)},
- "perm": &objects.UserFunction{Name: "perm", Value: FuncAIRIs(r.Perm)},
- "seed": &objects.UserFunction{Name: "seed", Value: FuncAI64R(r.Seed)},
- "read": &objects.UserFunction{
- Value: func(args ...objects.Object) (ret objects.Object, err error) {
- if len(args) != 1 {
- return nil, objects.ErrWrongNumArguments
- }
-
- y1, ok := args[0].(*objects.Bytes)
- if !ok {
- return nil, objects.ErrInvalidArgumentType{
- Name: "first",
- Expected: "bytes",
- Found: args[0].TypeName(),
- }
- }
-
- res, err := r.Read(y1.Value)
- if err != nil {
- ret = wrapError(err)
- return
- }
-
- return &objects.Int{Value: int64(res)}, nil
- },
- },
- },
- }
-}