1// this file was generated by gomacro command: import _b "crypto/elliptic"
2// DO NOT EDIT! Any change will be lost when the file is re-generated
3
4package imports
5
6import (
7	. "reflect"
8	"crypto/elliptic"
9	"math/big"
10)
11
12// reflection: allow interpreted code to import "crypto/elliptic"
13func init() {
14	Packages["crypto/elliptic"] = Package{
15	Binds: map[string]Value{
16		"GenerateKey":	ValueOf(elliptic.GenerateKey),
17		"Marshal":	ValueOf(elliptic.Marshal),
18		"P224":	ValueOf(elliptic.P224),
19		"P256":	ValueOf(elliptic.P256),
20		"P384":	ValueOf(elliptic.P384),
21		"P521":	ValueOf(elliptic.P521),
22		"Unmarshal":	ValueOf(elliptic.Unmarshal),
23	}, Types: map[string]Type{
24		"Curve":	TypeOf((*elliptic.Curve)(nil)).Elem(),
25		"CurveParams":	TypeOf((*elliptic.CurveParams)(nil)).Elem(),
26	}, Proxies: map[string]Type{
27		"Curve":	TypeOf((*P_crypto_elliptic_Curve)(nil)).Elem(),
28	},
29	}
30}
31
32// --------------- proxy for crypto/elliptic.Curve ---------------
33type P_crypto_elliptic_Curve struct {
34	Object	interface{}
35	Add_	func(_proxy_obj_ interface{}, x1 *big.Int, y1 *big.Int, x2 *big.Int, y2 *big.Int) (x *big.Int, y *big.Int)
36	Double_	func(_proxy_obj_ interface{}, x1 *big.Int, y1 *big.Int) (x *big.Int, y *big.Int)
37	IsOnCurve_	func(_proxy_obj_ interface{}, x *big.Int, y *big.Int) bool
38	Params_	func(interface{}) *elliptic.CurveParams
39	ScalarBaseMult_	func(_proxy_obj_ interface{}, k []byte) (x *big.Int, y *big.Int)
40	ScalarMult_	func(_proxy_obj_ interface{}, x1 *big.Int, y1 *big.Int, k []byte) (x *big.Int, y *big.Int)
41}
42func (P *P_crypto_elliptic_Curve) Add(x1 *big.Int, y1 *big.Int, x2 *big.Int, y2 *big.Int) (x *big.Int, y *big.Int) {
43	return P.Add_(P.Object, x1, y1, x2, y2)
44}
45func (P *P_crypto_elliptic_Curve) Double(x1 *big.Int, y1 *big.Int) (x *big.Int, y *big.Int) {
46	return P.Double_(P.Object, x1, y1)
47}
48func (P *P_crypto_elliptic_Curve) IsOnCurve(x *big.Int, y *big.Int) bool {
49	return P.IsOnCurve_(P.Object, x, y)
50}
51func (P *P_crypto_elliptic_Curve) Params() *elliptic.CurveParams {
52	return P.Params_(P.Object)
53}
54func (P *P_crypto_elliptic_Curve) ScalarBaseMult(k []byte) (x *big.Int, y *big.Int) {
55	return P.ScalarBaseMult_(P.Object, k)
56}
57func (P *P_crypto_elliptic_Curve) ScalarMult(x1 *big.Int, y1 *big.Int, k []byte) (x *big.Int, y *big.Int) {
58	return P.ScalarMult_(P.Object, x1, y1, k)
59}
60