github.com/traefik/yaegi@v0.15.1/stdlib/go1_20_crypto_elliptic.go (about)

     1  // Code generated by 'yaegi extract crypto/elliptic'. DO NOT EDIT.
     2  
     3  //go:build go1.20
     4  // +build go1.20
     5  
     6  package stdlib
     7  
     8  import (
     9  	"crypto/elliptic"
    10  	"math/big"
    11  	"reflect"
    12  )
    13  
    14  func init() {
    15  	Symbols["crypto/elliptic/elliptic"] = map[string]reflect.Value{
    16  		// function, constant and variable definitions
    17  		"GenerateKey":         reflect.ValueOf(elliptic.GenerateKey),
    18  		"Marshal":             reflect.ValueOf(elliptic.Marshal),
    19  		"MarshalCompressed":   reflect.ValueOf(elliptic.MarshalCompressed),
    20  		"P224":                reflect.ValueOf(elliptic.P224),
    21  		"P256":                reflect.ValueOf(elliptic.P256),
    22  		"P384":                reflect.ValueOf(elliptic.P384),
    23  		"P521":                reflect.ValueOf(elliptic.P521),
    24  		"Unmarshal":           reflect.ValueOf(elliptic.Unmarshal),
    25  		"UnmarshalCompressed": reflect.ValueOf(elliptic.UnmarshalCompressed),
    26  
    27  		// type definitions
    28  		"Curve":       reflect.ValueOf((*elliptic.Curve)(nil)),
    29  		"CurveParams": reflect.ValueOf((*elliptic.CurveParams)(nil)),
    30  
    31  		// interface wrapper definitions
    32  		"_Curve": reflect.ValueOf((*_crypto_elliptic_Curve)(nil)),
    33  	}
    34  }
    35  
    36  // _crypto_elliptic_Curve is an interface wrapper for Curve type
    37  type _crypto_elliptic_Curve struct {
    38  	IValue          interface{}
    39  	WAdd            func(x1 *big.Int, y1 *big.Int, x2 *big.Int, y2 *big.Int) (x *big.Int, y *big.Int)
    40  	WDouble         func(x1 *big.Int, y1 *big.Int) (x *big.Int, y *big.Int)
    41  	WIsOnCurve      func(x *big.Int, y *big.Int) bool
    42  	WParams         func() *elliptic.CurveParams
    43  	WScalarBaseMult func(k []byte) (x *big.Int, y *big.Int)
    44  	WScalarMult     func(x1 *big.Int, y1 *big.Int, k []byte) (x *big.Int, y *big.Int)
    45  }
    46  
    47  func (W _crypto_elliptic_Curve) Add(x1 *big.Int, y1 *big.Int, x2 *big.Int, y2 *big.Int) (x *big.Int, y *big.Int) {
    48  	return W.WAdd(x1, y1, x2, y2)
    49  }
    50  func (W _crypto_elliptic_Curve) Double(x1 *big.Int, y1 *big.Int) (x *big.Int, y *big.Int) {
    51  	return W.WDouble(x1, y1)
    52  }
    53  func (W _crypto_elliptic_Curve) IsOnCurve(x *big.Int, y *big.Int) bool {
    54  	return W.WIsOnCurve(x, y)
    55  }
    56  func (W _crypto_elliptic_Curve) Params() *elliptic.CurveParams {
    57  	return W.WParams()
    58  }
    59  func (W _crypto_elliptic_Curve) ScalarBaseMult(k []byte) (x *big.Int, y *big.Int) {
    60  	return W.WScalarBaseMult(k)
    61  }
    62  func (W _crypto_elliptic_Curve) ScalarMult(x1 *big.Int, y1 *big.Int, k []byte) (x *big.Int, y *big.Int) {
    63  	return W.WScalarMult(x1, y1, k)
    64  }