init: v1.0.0

This commit is contained in:
yaole
2026-05-27 23:03:00 +08:00
commit 8d97f750eb
466 changed files with 80067 additions and 0 deletions
+51
View File
@@ -0,0 +1,51 @@
package sm9
import (
"encoding/binary"
"xdx.jelly/xgcl/sm"
)
type endian struct {
isBigEndian bool
}
func (e *endian) PutUint32(b []byte, v uint32) {
if e.isBigEndian {
binary.BigEndian.PutUint32(b, v)
} else {
binary.LittleEndian.PutUint32(b, v)
}
}
func (e *endian) Uint32(b []byte) uint32 {
if e.isBigEndian {
return binary.BigEndian.Uint32(b)
}
return binary.LittleEndian.Uint32(b)
}
var (
// Endian is the endian when marshal a int, default is big endian
Endian = endian{true}
)
// SetToBigEndian 将端序设置为大端序
func SetToBigEndian() {
Endian.isBigEndian = true
}
// SetToLittleEndian 设置为小端序
func SetToLittleEndian() {
Endian.isBigEndian = false
}
// SetToDefaultEndian 恢复默认端序-大端
func SetToDefaultEndian() {
Endian.isBigEndian = true
}
func init() {
sm.RegisterCallBack(SetToBigEndian, SetToLittleEndian, SetToDefaultEndian)
}