gmsm/sm3/sm3blocks_s390x_test.go
2024-09-04 07:58:07 +08:00

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()
}
}
}