library: math/rand

This commit is contained in:
xushiwei
2024-07-30 21:41:26 +08:00
parent e7d959da90
commit cacd52f81d
13 changed files with 1342 additions and 19 deletions

26
_demo/crand/rand.go Normal file
View File

@@ -0,0 +1,26 @@
package main
import (
"fmt"
"github.com/goplus/llgo/c"
"github.com/goplus/llgo/c/math/rand"
"github.com/goplus/llgo/c/time"
)
func fastrand64() uint64 {
v1 := uint64(rand.Random())
v2 := uint64(rand.Random())
return v1 ^ (v2 << 32)
}
func main() {
rand.Srand(c.Uint(time.Time(nil)))
fmt.Printf("%x\n", rand.Rand())
fmt.Printf("%x\n", rand.Rand())
rand.Srandom(c.Uint(time.Time(nil)))
fmt.Printf("%x\n", rand.Random())
fmt.Printf("%x\n", rand.Random())
fmt.Printf("%x\n", fastrand64())
}