github.com/c2s/go-ethereum@v1.9.7/crypto/bn256/bn256_fast.go (about) 1 // Copyright 2018 Péter Szilágyi. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be found 3 // in the LICENSE file. 4 5 // +build amd64 arm64 6 7 // Package bn256 implements the Optimal Ate pairing over a 256-bit Barreto-Naehrig curve. 8 package bn256 9 10 import "github.com/ethereum/go-ethereum/crypto/bn256/cloudflare" 11 12 // G1 is an abstract cyclic group. The zero value is suitable for use as the 13 // output of an operation, but cannot be used as an input. 14 type G1 = bn256.G1 15 16 // G2 is an abstract cyclic group. The zero value is suitable for use as the 17 // output of an operation, but cannot be used as an input. 18 type G2 = bn256.G2 19 20 // PairingCheck calculates the Optimal Ate pairing for a set of points. 21 func PairingCheck(a []*G1, b []*G2) bool { 22 return bn256.PairingCheck(a, b) 23 }