Example #1
0
        public void CombinedRotations(
            int periodA,
            int phaseA,
            int periodB,
            int phaseB,
            int expectedStep)
        {
            var(combinedPeriod, combinedPhase) = EuclidUtil.CombinedRotations(periodA, phaseA, periodB, phaseB);

            var actualStep = EuclidUtil.Mod(-combinedPhase, combinedPeriod);

            Assert.That(actualStep, Is.EqualTo(expectedStep));
        }
Example #2
0
        public void Extended(
            int a,
            int b,
            int expectedGcd,
            int expectedX,
            int expectedY)
        {
            var(actualGcd, actualX, actualY) = EuclidUtil.Extended(a, b);

            Assert.That(actualGcd, Is.EqualTo(expectedGcd));

            Assert.That(actualX, Is.EqualTo(expectedX));

            Assert.That(actualY, Is.EqualTo(expectedY));
        }