gen: Alter mod function. Purely cosmetic.
parent
7b92fe3532
commit
902ec9e896
13
gen.go
13
gen.go
|
@ -45,7 +45,7 @@ func count(n int) []int {
|
||||||
func add(a, b int) int { return a + b }
|
func add(a, b int) int { return a + b }
|
||||||
func sub(a, b int) int { return a - b }
|
func sub(a, b int) int { return a - b }
|
||||||
func mul(a, b int) int { return a * b }
|
func mul(a, b int) int { return a * b }
|
||||||
func mod(a, b int) int { return a % b }
|
func mod(a int) int { return a % 5 }
|
||||||
|
|
||||||
func afunc(x, y int) string {
|
func afunc(x, y int) string {
|
||||||
return fmt.Sprintf("a[%d]", y%5*5+x%5)
|
return fmt.Sprintf("a[%d]", y%5*5+x%5)
|
||||||
|
@ -89,16 +89,16 @@ func roundGo(a *[25]uint64) {
|
||||||
{{ end }}
|
{{ end }}
|
||||||
var d uint64
|
var d uint64
|
||||||
{{ range $x := count 5 }}
|
{{ range $x := count 5 }}
|
||||||
{{ $x4 := mod (add $x 4) 5 }}
|
{{ $x4 := add $x 4 | mod }}
|
||||||
{{ $x1 := mod (add $x 1) 5 }}
|
{{ $x1 := add $x 1 | mod }}
|
||||||
d = c{{$x4}} ^ (c{{$x1}}<<1 | c{{$x1}}>>63)
|
d = c{{$x4}} ^ (c{{$x1}}<<1 | c{{$x1}}>>63)
|
||||||
{{ range $y := count 5 }}
|
{{ range $y := count 5 }}
|
||||||
{{b $x $y}} = {{a $x $y}} ^ d
|
{{b $x $y}} = {{a $x $y}} ^ d
|
||||||
{{ end }}
|
{{ end }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
|
||||||
// Rho / Pi / Chi / output
|
|
||||||
{{ range $y := count 5 }}
|
{{ range $y := count 5 }}
|
||||||
|
// Rho / Pi
|
||||||
{{ range $x := count 5 }}
|
{{ range $x := count 5 }}
|
||||||
{{ $x0 := add $x (mul $y 3) }}
|
{{ $x0 := add $x (mul $y 3) }}
|
||||||
{{ $y0 := $x }}
|
{{ $y0 := $x }}
|
||||||
|
@ -106,9 +106,10 @@ func roundGo(a *[25]uint64) {
|
||||||
{{ $r := rotc $x0 $y0 }}
|
{{ $r := rotc $x0 $y0 }}
|
||||||
c{{$x}} = {{$b}}<<{{$r}} | {{$b}}>>{{sub 64 $r}}
|
c{{$x}} = {{$b}}<<{{$r}} | {{$b}}>>{{sub 64 $r}}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
// Chi
|
||||||
{{ range $x := count 5 }}
|
{{ range $x := count 5 }}
|
||||||
{{ $x1 := mod (add $x 1) 5 }}
|
{{ $x1 := add $x 1 | mod }}
|
||||||
{{ $x2 := mod (add $x 2) 5 }}
|
{{ $x2 := add $x 2 | mod }}
|
||||||
{{a $x $y}} = c{{$x}} ^ (c{{$x2}} &^ c{{$x1}})
|
{{a $x $y}} = c{{$x}} ^ (c{{$x2}} &^ c{{$x1}})
|
||||||
{{ end }}
|
{{ end }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
|
|
@ -91,7 +91,7 @@ func roundGo(a *[25]uint64) {
|
||||||
|
|
||||||
b44 = a[24] ^ d
|
b44 = a[24] ^ d
|
||||||
|
|
||||||
// Rho / Pi / Chi / output
|
// Rho / Pi
|
||||||
|
|
||||||
c0 = b00<<0 | b00>>64
|
c0 = b00<<0 | b00>>64
|
||||||
|
|
||||||
|
@ -103,6 +103,8 @@ func roundGo(a *[25]uint64) {
|
||||||
|
|
||||||
c4 = b44<<14 | b44>>50
|
c4 = b44<<14 | b44>>50
|
||||||
|
|
||||||
|
// Chi
|
||||||
|
|
||||||
a[0] = c0 ^ (c2 &^ c1)
|
a[0] = c0 ^ (c2 &^ c1)
|
||||||
|
|
||||||
a[1] = c1 ^ (c3 &^ c2)
|
a[1] = c1 ^ (c3 &^ c2)
|
||||||
|
@ -113,6 +115,8 @@ func roundGo(a *[25]uint64) {
|
||||||
|
|
||||||
a[4] = c4 ^ (c1 &^ c0)
|
a[4] = c4 ^ (c1 &^ c0)
|
||||||
|
|
||||||
|
// Rho / Pi
|
||||||
|
|
||||||
c0 = b30<<28 | b30>>36
|
c0 = b30<<28 | b30>>36
|
||||||
|
|
||||||
c1 = b41<<20 | b41>>44
|
c1 = b41<<20 | b41>>44
|
||||||
|
@ -123,6 +127,8 @@ func roundGo(a *[25]uint64) {
|
||||||
|
|
||||||
c4 = b24<<61 | b24>>3
|
c4 = b24<<61 | b24>>3
|
||||||
|
|
||||||
|
// Chi
|
||||||
|
|
||||||
a[5] = c0 ^ (c2 &^ c1)
|
a[5] = c0 ^ (c2 &^ c1)
|
||||||
|
|
||||||
a[6] = c1 ^ (c3 &^ c2)
|
a[6] = c1 ^ (c3 &^ c2)
|
||||||
|
@ -133,6 +139,8 @@ func roundGo(a *[25]uint64) {
|
||||||
|
|
||||||
a[9] = c4 ^ (c1 &^ c0)
|
a[9] = c4 ^ (c1 &^ c0)
|
||||||
|
|
||||||
|
// Rho / Pi
|
||||||
|
|
||||||
c0 = b10<<1 | b10>>63
|
c0 = b10<<1 | b10>>63
|
||||||
|
|
||||||
c1 = b21<<6 | b21>>58
|
c1 = b21<<6 | b21>>58
|
||||||
|
@ -143,6 +151,8 @@ func roundGo(a *[25]uint64) {
|
||||||
|
|
||||||
c4 = b04<<18 | b04>>46
|
c4 = b04<<18 | b04>>46
|
||||||
|
|
||||||
|
// Chi
|
||||||
|
|
||||||
a[10] = c0 ^ (c2 &^ c1)
|
a[10] = c0 ^ (c2 &^ c1)
|
||||||
|
|
||||||
a[11] = c1 ^ (c3 &^ c2)
|
a[11] = c1 ^ (c3 &^ c2)
|
||||||
|
@ -153,6 +163,8 @@ func roundGo(a *[25]uint64) {
|
||||||
|
|
||||||
a[14] = c4 ^ (c1 &^ c0)
|
a[14] = c4 ^ (c1 &^ c0)
|
||||||
|
|
||||||
|
// Rho / Pi
|
||||||
|
|
||||||
c0 = b40<<27 | b40>>37
|
c0 = b40<<27 | b40>>37
|
||||||
|
|
||||||
c1 = b01<<36 | b01>>28
|
c1 = b01<<36 | b01>>28
|
||||||
|
@ -163,6 +175,8 @@ func roundGo(a *[25]uint64) {
|
||||||
|
|
||||||
c4 = b34<<56 | b34>>8
|
c4 = b34<<56 | b34>>8
|
||||||
|
|
||||||
|
// Chi
|
||||||
|
|
||||||
a[15] = c0 ^ (c2 &^ c1)
|
a[15] = c0 ^ (c2 &^ c1)
|
||||||
|
|
||||||
a[16] = c1 ^ (c3 &^ c2)
|
a[16] = c1 ^ (c3 &^ c2)
|
||||||
|
@ -173,6 +187,8 @@ func roundGo(a *[25]uint64) {
|
||||||
|
|
||||||
a[19] = c4 ^ (c1 &^ c0)
|
a[19] = c4 ^ (c1 &^ c0)
|
||||||
|
|
||||||
|
// Rho / Pi
|
||||||
|
|
||||||
c0 = b20<<62 | b20>>2
|
c0 = b20<<62 | b20>>2
|
||||||
|
|
||||||
c1 = b31<<55 | b31>>9
|
c1 = b31<<55 | b31>>9
|
||||||
|
@ -183,6 +199,8 @@ func roundGo(a *[25]uint64) {
|
||||||
|
|
||||||
c4 = b14<<2 | b14>>62
|
c4 = b14<<2 | b14>>62
|
||||||
|
|
||||||
|
// Chi
|
||||||
|
|
||||||
a[20] = c0 ^ (c2 &^ c1)
|
a[20] = c0 ^ (c2 &^ c1)
|
||||||
|
|
||||||
a[21] = c1 ^ (c3 &^ c2)
|
a[21] = c1 ^ (c3 &^ c2)
|
||||||
|
|
Loading…
Reference in New Issue