@@ -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
9272func Sample () Element {
0 commit comments