public WeierstrassCurve(BigInteger a, BigInteger b, BigInteger prime)
 {
     _a = a;
     _b = b;
     _prime = prime;
     _infinity = new WeierstrassCurvePoint(null, null, this);
 }
        public void TestSmallMultiplication()
        {
            var curve = TestCurveFactory.SimpleCurve1;
            var point = new WeierstrassCurvePoint(new BigInteger(5), new BigInteger(22), curve);

            var time = Time(() =>
            {
                var point2 = point * new BigInteger(100);
            });

            RuntimeAssert.LessThan(
                expected: new TimeSpan(0,0,1),
                actual: time
            );
        }
 public void SetUp()
 {
     var curve = new WeierstrassCurve(new BigInteger(4), new BigInteger(20), new BigInteger(29));
     p = new WeierstrassCurvePoint(new BigInteger(5), new BigInteger(22), curve);
 }