You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

34 lines
701 B

package ecc
import (
"bytes"
"math/big"
)
var (
BigZero = big.NewInt(int64(0))
BigOne = big.NewInt(int64(1))
ZeroPoint = Point{BigZero, BigZero}
)
// Point is the data structure for a point, containing the X and Y coordinates
type Point struct {
X *big.Int
Y *big.Int
}
// Equal compares the X and Y coord of a Point and returns true if are the same
func (p1 *Point) Equal(p2 Point) bool {
if !bytes.Equal(p1.X.Bytes(), p2.X.Bytes()) {
return false
}
if !bytes.Equal(p1.Y.Bytes(), p2.Y.Bytes()) {
return false
}
return true
}
// String returns the components of the point in a string
func (p *Point) String() string {
return "(" + p.X.String() + ", " + p.Y.String() + ")"
}