From 1683f1149019024b1da7faab567177110a91aa74 Mon Sep 17 00:00:00 2001 From: Hwang In Tak Date: Sun, 8 Sep 2024 03:04:47 +0000 Subject: [PATCH] fix: Fix UniformSampler --- math/csprng/uniform_sampler.go | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/math/csprng/uniform_sampler.go b/math/csprng/uniform_sampler.go index 49663e3..3a9f197 100644 --- a/math/csprng/uniform_sampler.go +++ b/math/csprng/uniform_sampler.go @@ -64,7 +64,7 @@ func NewUniformSamplerWithSeed[T num.Integer](seed []byte) *UniformSampler[T] { prng: prng, buf: make([]byte, bufSize), - ptr: 0, + ptr: bufSize, byteSizeT: byteSizeT, maxT: T(num.MaxT[T]()), @@ -82,17 +82,17 @@ func (s *UniformSampler[T]) Sample() T { var res T switch s.byteSizeT { - case 8: + case 1: res = T(uint64(s.buf[s.ptr+0])) - case 16: + case 2: res = T(uint64(s.buf[s.ptr+0])) res |= T(uint64(s.buf[s.ptr+1]) << 8) - case 32: + case 4: res = T(uint64(s.buf[s.ptr+0])) res |= T(uint64(s.buf[s.ptr+1]) << 8) res |= T(uint64(s.buf[s.ptr+2]) << 16) res |= T(uint64(s.buf[s.ptr+3]) << 24) - case 64: + case 8: res = T(uint64(s.buf[s.ptr+0])) res |= T(uint64(s.buf[s.ptr+1]) << 8) res |= T(uint64(s.buf[s.ptr+2]) << 16)