initial addition of essential crypto, encoders, workflows and LLM instructions
This commit is contained in:
51
pkg/crypto/ec/secp256k1/ellipticadaptor_bench_test.go
Normal file
51
pkg/crypto/ec/secp256k1/ellipticadaptor_bench_test.go
Normal file
@@ -0,0 +1,51 @@
|
||||
// Copyright 2013-2016 The btcsuite developers
|
||||
// Copyright (c) 2015-2022 The Decred developers
|
||||
// Use of this source code is governed by an ISC
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
package secp256k1
|
||||
|
||||
import (
|
||||
"testing"
|
||||
)
|
||||
|
||||
// BenchmarkScalarBaseMultAdaptor benchmarks multiplying a scalar by the base
|
||||
// point of the curve via the method used to satisfy the elliptic.Curve
|
||||
// interface.
|
||||
func BenchmarkScalarBaseMultAdaptor(b *testing.B) {
|
||||
k := fromHex("d74bf844b0862475103d96a611cf2d898447e288d34b360bc885cb8ce7c00575")
|
||||
curve := S256()
|
||||
b.ReportAllocs()
|
||||
b.ResetTimer()
|
||||
for i := 0; i < b.N; i++ {
|
||||
curve.ScalarBaseMult(k.Bytes())
|
||||
}
|
||||
}
|
||||
|
||||
// BenchmarkScalarBaseMultLargeAdaptor benchmarks multiplying an abnormally
|
||||
// large scalar by the base point of the curve via the method used to satisfy
|
||||
// the elliptic.Curve interface.
|
||||
func BenchmarkScalarBaseMultLargeAdaptor(b *testing.B) {
|
||||
k := fromHex("d74bf844b0862475103d96a611cf2d898447e288d34b360bc885cb8ce7c005751111111011111110")
|
||||
curve := S256()
|
||||
b.ReportAllocs()
|
||||
b.ResetTimer()
|
||||
for i := 0; i < b.N; i++ {
|
||||
curve.ScalarBaseMult(k.Bytes())
|
||||
}
|
||||
}
|
||||
|
||||
// BenchmarkScalarMultAdaptor benchmarks multiplying a scalar by an arbitrary
|
||||
// point on the curve via the method used to satisfy the elliptic.Curve
|
||||
// interface.
|
||||
func BenchmarkScalarMultAdaptor(b *testing.B) {
|
||||
x := fromHex("34f9460f0e4f08393d192b3c5133a6ba099aa0ad9fd54ebccfacdfa239ff49c6")
|
||||
y := fromHex("0b71ea9bd730fd8923f6d25a7a91e7dd7728a960686cb5a901bb419e0f2ca232")
|
||||
k := fromHex("d74bf844b0862475103d96a611cf2d898447e288d34b360bc885cb8ce7c00575")
|
||||
curve := S256()
|
||||
b.ReportAllocs()
|
||||
b.ResetTimer()
|
||||
for i := 0; i < b.N; i++ {
|
||||
curve.ScalarMult(x, y, k.Bytes())
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user