1
0
mirror of https://github.com/MontFerret/ferret.git synced 2024-12-16 11:37:36 +02:00
ferret/pkg/runtime/core/helpers.go

54 lines
826 B
Go
Raw Normal View History

2018-09-18 22:42:38 +02:00
package core
import (
"math"
"math/rand"
"reflect"
)
2018-09-18 22:42:38 +02:00
func IsNil(input interface{}) bool {
val := reflect.ValueOf(input)
kind := val.Kind()
switch kind {
case reflect.Ptr,
reflect.Array,
reflect.Slice,
reflect.Map,
reflect.Func,
reflect.Interface,
reflect.Chan:
2018-09-18 22:42:38 +02:00
return val.IsNil()
case reflect.Struct,
reflect.UnsafePointer:
return false
2018-09-18 22:42:38 +02:00
case reflect.Invalid:
return true
default:
return false
}
}
func NumberBoundaries(input float64) (max float64, min float64) {
min = input / 2
max = input * 2
return
}
func NumberUpperBoundary(input float64) float64 {
return input * 2
}
func NumberLowerBoundary(input float64) float64 {
return input / 2
}
func Random(max float64, min float64) float64 {
r := rand.Float64()
i := r * (max - min + 1)
out := math.Floor(i) + min
return out
}