From 88a158f61c82f8c138e5b5014aa04cb9e8c5af69 Mon Sep 17 00:00:00 2001 From: Sun Yimin Date: Thu, 1 Jun 2023 11:22:43 +0800 Subject: [PATCH] fix golang sdk version issue --- internal/bigmod/nat_noasm.go | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/internal/bigmod/nat_noasm.go b/internal/bigmod/nat_noasm.go index 1b4000b..c87b3d4 100644 --- a/internal/bigmod/nat_noasm.go +++ b/internal/bigmod/nat_noasm.go @@ -9,14 +9,19 @@ package bigmod import "unsafe" +// TODO: will use unsafe.Slice directly once upgrade golang sdk to 1.17+ +func slice(ptr *uint, len int) []uint { + return (*[len]uint)(unsafe.Pointer(ptr))[:] +} + func addMulVVW1024(z, x *uint, y uint) (c uint) { - return addMulVVW(unsafe.Slice(z, 1024/_W), unsafe.Slice(x, 1024/_W), y) + return addMulVVW(slice(z, 1024/_W), slice(x, 1024/_W), y) } func addMulVVW1536(z, x *uint, y uint) (c uint) { - return addMulVVW(unsafe.Slice(z, 1536/_W), unsafe.Slice(x, 1536/_W), y) + return addMulVVW(slice(z, 1536/_W), slice(x, 1536/_W), y) } func addMulVVW2048(z, x *uint, y uint) (c uint) { - return addMulVVW(unsafe.Slice(z, 2048/_W), unsafe.Slice(x, 2048/_W), y) + return addMulVVW(slice(z, 2048/_W), slice(x, 2048/_W), y) }