// Copyright (c) 2019 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. package field import "testing" func BenchmarkAdd(b *testing.B) { x := new(Element).One() y := new(Element).Add(x, x) b.ResetTimer() for i := 0; i < b.N; i++ { x.Add(x, y) } } func BenchmarkMultiply(b *testing.B) { x := new(Element).One() y := new(Element).Add(x, x) b.ResetTimer() for i := 0; i < b.N; i++ { x.Multiply(x, y) } } func BenchmarkSquare(b *testing.B) { x := new(Element).Add(feOne, feOne) b.ResetTimer() for i := 0; i < b.N; i++ { x.Square(x) } } func BenchmarkInvert(b *testing.B) { x := new(Element).Add(feOne, feOne) b.ResetTimer() for i := 0; i < b.N; i++ { x.Invert(x) } } func BenchmarkMult32(b *testing.B) { x := new(Element).One() b.ResetTimer() for i := 0; i < b.N; i++ { x.Mult32(x, 0xaa42aa42) } }