Skip to content

Commit 69d013a

Browse files
authored
More idiomatic fromBytes function (#20)
1 parent 309cb9d commit 69d013a

File tree

1 file changed

+8
-28
lines changed

1 file changed

+8
-28
lines changed

field/goldilocks_quintic_extension/goldilocks_quintic_extension.go

Lines changed: 8 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -57,36 +57,16 @@ func FromCanonicalLittleEndianBytes(in []byte) (Element, error) {
5757
return Element{}, fmt.Errorf("input bytes len should be 40 but is %d", len(in))
5858
}
5959

60-
elemBytesLittleEndian := [5][]byte{
61-
{in[0], in[1], in[2], in[3], in[4], in[5], in[6], in[7]},
62-
{in[8], in[9], in[10], in[11], in[12], in[13], in[14], in[15]},
63-
{in[16], in[17], in[18], in[19], in[20], in[21], in[22], in[23]},
64-
{in[24], in[25], in[26], in[27], in[28], in[29], in[30], in[31]},
65-
{in[32], in[33], in[34], in[35], in[36], in[37], in[38], in[39]},
60+
var elem Element
61+
for i := 0; i < 5; i++ {
62+
e, err := g.FromCanonicalLittleEndianBytes(in[i*8 : (i+1)*8])
63+
if err != nil {
64+
return Element{}, fmt.Errorf("failed to convert bytes to goldilocks: %w", err)
65+
}
66+
elem[i] = *e
6667
}
6768

68-
e1, err := g.FromCanonicalLittleEndianBytes(elemBytesLittleEndian[0])
69-
if err != nil {
70-
return Element{}, fmt.Errorf("failed to convert bytes to field element: %w", err)
71-
}
72-
e2, err := g.FromCanonicalLittleEndianBytes(elemBytesLittleEndian[1])
73-
if err != nil {
74-
return Element{}, fmt.Errorf("failed to convert bytes to field element: %w", err)
75-
}
76-
e3, err := g.FromCanonicalLittleEndianBytes(elemBytesLittleEndian[2])
77-
if err != nil {
78-
return Element{}, fmt.Errorf("failed to convert bytes to field element: %w", err)
79-
}
80-
e4, err := g.FromCanonicalLittleEndianBytes(elemBytesLittleEndian[3])
81-
if err != nil {
82-
return Element{}, fmt.Errorf("failed to convert bytes to field element: %w", err)
83-
}
84-
e5, err := g.FromCanonicalLittleEndianBytes(elemBytesLittleEndian[4])
85-
if err != nil {
86-
return Element{}, fmt.Errorf("failed to convert bytes to field element: %w", err)
87-
}
88-
89-
return Element{*e1, *e2, *e3, *e4, *e5}, nil
69+
return elem, nil
9070
}
9171

9272
func Sample() Element {

0 commit comments

Comments
 (0)