mirror of
https://github.com/emmansun/gmsm.git
synced 2025-04-26 12:16:20 +08:00
55 lines
892 B
Go
55 lines
892 B
Go
//go:build s390x && !purego
|
|
|
|
package sm3
|
|
|
|
import (
|
|
"fmt"
|
|
"testing"
|
|
)
|
|
|
|
func TestTransposeMatrix(t *testing.T) {
|
|
var m [4][8]uint32
|
|
var k uint32 = 0
|
|
for i := 0; i < 4; i++ {
|
|
for j := 0; j < 8; j++ {
|
|
m[i][j] = k
|
|
k++
|
|
fmt.Printf("%04x ", m[i][j])
|
|
}
|
|
fmt.Println()
|
|
}
|
|
input := [4]*[8]uint32{&m[0], &m[1], &m[2], &m[3]}
|
|
transposeMatrix(&input[0])
|
|
fmt.Println()
|
|
fmt.Println()
|
|
for i := 0; i < 4; i++ {
|
|
for j := 0; j < 8; j++ {
|
|
fmt.Printf("%04x ", m[i][j])
|
|
}
|
|
fmt.Println()
|
|
}
|
|
}
|
|
|
|
func TestCopyResultsBy4(t *testing.T) {
|
|
var m [4][8]uint32
|
|
var k uint32 = 0
|
|
for i := 0; i < 4; i++ {
|
|
for j := 0; j < 8; j++ {
|
|
m[i][j] = k << 24
|
|
k++
|
|
fmt.Printf("%04x ", m[i][j])
|
|
}
|
|
fmt.Println()
|
|
}
|
|
var p [32]byte
|
|
copyResultsBy4(&m[0][0], &p[0])
|
|
fmt.Println()
|
|
fmt.Println()
|
|
for i := 0; i < 32; i++ {
|
|
fmt.Printf("%04x ", p[i])
|
|
if i%8 == 7 {
|
|
fmt.Println()
|
|
}
|
|
}
|
|
}
|