Exemplo n.º 1
0
        public void Simple()
        {
            var complexNumber1        = new ComplexNumber(1, 2);
            var complexNumber2        = new ComplexNumber(3, 4);
            var multiplyComplexNumber = complexNumber1.Multiply(complexNumber2);

            Assert.AreEqual(1 * 3 - 2 * 4, multiplyComplexNumber.Real);
            Assert.AreEqual(2 * 3 + 1 * 4, multiplyComplexNumber.Imaginary);

            multiplyComplexNumber = complexNumber1.Multiply(5);
            Assert.AreEqual(5 * 1, multiplyComplexNumber.Real);
            Assert.AreEqual(5 * 2, multiplyComplexNumber.Imaginary);

            multiplyComplexNumber = 6 * complexNumber1;
            Assert.AreEqual(6 * 1, multiplyComplexNumber.Real);
            Assert.AreEqual(6 * 2, multiplyComplexNumber.Imaginary);

            multiplyComplexNumber = complexNumber1 * 7;
            Assert.AreEqual(7 * 1, multiplyComplexNumber.Real);
            Assert.AreEqual(7 * 2, multiplyComplexNumber.Imaginary);

            complexNumber1 *= 1;
            Assert.AreEqual(1, complexNumber1.Real);
            Assert.AreEqual(2, complexNumber1.Imaginary);

            complexNumber1 *= 5;
            Assert.AreEqual(5, complexNumber1.Real);
            Assert.AreEqual(10, complexNumber1.Imaginary);

            complexNumber1 *= complexNumber2;
            Assert.AreEqual(5 * 3 - 10 * 4, complexNumber1.Real);
            Assert.AreEqual(10 * 3 + 5 * 4, complexNumber1.Imaginary);
        }
Exemplo n.º 2
0
        public void Simple()
        {
            var complexNumber1 = new ComplexNumber(1, 2);
            var complexNumber2 = new ComplexNumber(3, 4);
            var multiplyComplexNumber = complexNumber1.Multiply(complexNumber2);

            Assert.AreEqual(1 * 3 - 2 * 4, multiplyComplexNumber.Real);
            Assert.AreEqual(2 * 3 + 1 * 4, multiplyComplexNumber.Imaginary);

            multiplyComplexNumber = complexNumber1.Multiply(5);
            Assert.AreEqual(5 * 1, multiplyComplexNumber.Real);
            Assert.AreEqual(5 * 2, multiplyComplexNumber.Imaginary);

            multiplyComplexNumber = 6 * complexNumber1;
            Assert.AreEqual(6 * 1, multiplyComplexNumber.Real);
            Assert.AreEqual(6 * 2, multiplyComplexNumber.Imaginary);

            multiplyComplexNumber = complexNumber1 * 7;
            Assert.AreEqual(7 * 1, multiplyComplexNumber.Real);
            Assert.AreEqual(7 * 2, multiplyComplexNumber.Imaginary);

            complexNumber1 *= 1;
            Assert.AreEqual(1, complexNumber1.Real);
            Assert.AreEqual(2, complexNumber1.Imaginary);

            complexNumber1 *= 5;
            Assert.AreEqual(5, complexNumber1.Real);
            Assert.AreEqual(10, complexNumber1.Imaginary);

            complexNumber1 *= complexNumber2;
            Assert.AreEqual(5 * 3 - 10 * 4, complexNumber1.Real);
            Assert.AreEqual(10 * 3 + 5 * 4, complexNumber1.Imaginary);
        }
Exemplo n.º 3
0
        public void Imaginary_unit()
        {
            var sut      = new ComplexNumber(0, 1);
            var expected = new ComplexNumber(-1, 0);

            Assert.Equal(expected.Real, sut.Multiply(new ComplexNumber(0, 1)).Real, precision: 7);
            Assert.Equal(expected.Imaginary, sut.Multiply(new ComplexNumber(0, 1)).Imaginary, precision: 7);
        }
Exemplo n.º 4
0
        public void Multiplytiply_numbers_with_real_and_imaginary_part()
        {
            var sut      = new ComplexNumber(1, 2);
            var expected = new ComplexNumber(-5, 10);

            Assert.Equal(expected.Real, sut.Multiply(new ComplexNumber(3, 4)).Real, precision: 7);
            Assert.Equal(expected.Imaginary, sut.Multiply(new ComplexNumber(3, 4)).Imaginary, precision: 7);
        }
Exemplo n.º 5
0
        public void Multiplytiply_purely_imaginary_numbers()
        {
            var sut      = new ComplexNumber(0, 1);
            var expected = new ComplexNumber(-2, 0);

            Assert.Equal(expected.Real, sut.Multiply(new ComplexNumber(0, 2)).Real, precision: 7);
            Assert.Equal(expected.Imaginary, sut.Multiply(new ComplexNumber(0, 2)).Imaginary, precision: 7);
        }
Exemplo n.º 6
0
    public static ComplexNumber operator *(ComplexNumber a, ComplexNumber b)
    {
        ComplexNumber r = new ComplexNumber(a);

        r.Multiply(b);
        return(r);
    }
Exemplo n.º 7
0
        public void MultiplyDoubleExample()
        {
            var complexNumber1 = new ComplexNumber(1, 2);
            var times          = complexNumber1.Multiply(2);

            Assert.AreEqual(times.Real, 2);
            Assert.AreEqual(times.Imaginary, 4);
        }
Exemplo n.º 8
0
        public void MultiplyComplexNumberExample()
        {
            var complexNumber1 = new ComplexNumber(1, 2);
            var complexNumber2 = new ComplexNumber(3, 4);
            var times          = complexNumber1.Multiply(complexNumber2);

            Assert.AreEqual(times.Real, -5);
            Assert.AreEqual(times.Imaginary, 10);
        }
Exemplo n.º 9
0
        public void TestComplexNumberMultiply()
        {
            ComplexNumber a = new ComplexNumber(5, 2);
            ComplexNumber b = new ComplexNumber(15, 3);
            ComplexNumber c = new ComplexNumber(69, 45);

            a = a.Multiply(b) as ComplexNumber;
            Assert.True(a.CompareTo(c) == 0);
        }
Exemplo n.º 10
0
        public void MultiplyTest()
        {
            var testVar2 = new ComplexNumber(1, 1);

            _testVar = new ComplexNumber(2, 2);

            _testVar = _testVar.Multiply(testVar2);
            Assert.Equal(0, _testVar.RealPart);
            Assert.Equal(4, _testVar.ImagPart);
        }
        public void TestMultiply()
        {
            ComplexNumber left     = new ComplexNumber(1, -5);
            ComplexNumber right    = new ComplexNumber(-9, 2);
            ComplexNumber expected = new ComplexNumber(1, 47);
            ComplexNumber actual   = left.Multiply(right);

            Assert.Equal(expected.Real(), actual.Real(), 2);
            Assert.Equal(expected.Imaginary(), actual.Imaginary(), 2);
        }
Exemplo n.º 12
0
        public void MultiplyTest()
        {
            ComplexNumber actual   = firstComplexNumber.Multiply(secondComplexNumber);
            ComplexNumber shouldBe = new ComplexNumber()
            {
                Re = -50,
                Im = 0
            };

            Assert.AreEqual(shouldBe, actual);
        }
Exemplo n.º 13
0
    static void Main(string[] args)
    {
        ComplexNumber x = new ComplexNumber(10, 20);
        ComplexNumber y = new ComplexNumber(30, 40);

        Console.WriteLine(x + " + " + y + " = " + (x + y));
        Console.WriteLine(x + " - " + y + " = " + (x - y));
        Console.WriteLine(x + " * " + y + " = " + (x * y));

        Console.WriteLine(x + " + " + y + " = " + ComplexNumber.Add(x, y));
        Console.WriteLine(x + " - " + y + " = " + ComplexNumber.Subtract(x, y));
        Console.WriteLine(x + " * " + y + " = " + ComplexNumber.Multiply(x, y));
    }
Exemplo n.º 14
0
        public void MultiplyDoubleExample()
        {
            var complexNumber1 = new ComplexNumber(1, 2);
            var times = complexNumber1.Multiply(2);

            Assert.AreEqual(times.Real, 2);
            Assert.AreEqual(times.Imaginary, 4);
        }
Exemplo n.º 15
0
        public void MultiplyComplexNumberExample()
        {
            var complexNumber1 = new ComplexNumber(1, 2);
            var complexNumber2 = new ComplexNumber(3, 4);
            var times = complexNumber1.Multiply(complexNumber2);

            Assert.AreEqual(times.Real, -5);
            Assert.AreEqual(times.Imaginary, 10);
        }
Exemplo n.º 16
0
        static void Main(string[] args)
        {
            Console.WriteLine("=== Complex Numbers ===");

            Console.Write("Primo Numero - Parte Reale: ");
            var realOneString = Console.ReadLine();

            double.TryParse(realOneString, out double realOne);

            Console.Write("Primo Numero - Parte Immaginaria: ");
            var immagOneString = Console.ReadLine();

            double.TryParse(immagOneString, out double immagOne);

            Console.Write("Secondo Numero - Parte Reale: ");
            var realTwoString = Console.ReadLine();

            double.TryParse(realTwoString, out double realTwo);

            Console.Write("Secondo Numero - Parte Immaginaria: ");
            var immagTwoString = Console.ReadLine();

            double.TryParse(immagTwoString, out double immagTwo);

            Console.Write("Operazione (+, -, *, /): ");
            var op = Console.ReadLine();

            var           cnOne = new ComplexNumber(realOne, immagOne);
            var           cnTwo = new ComplexNumber(realTwo, immagTwo);
            ComplexNumber result;

            switch (op)
            {
            case "+":
                result = cnOne.Add(cnTwo);
                Console.WriteLine($"ADD: ({result.Real}, {result.Immag})");
                break;

            case "-":
                result = cnOne.Subtract(cnTwo);
                Console.WriteLine($"SUBTRACT: ({result.Real}, {result.Immag})");
                break;

            case "*":
                result = cnOne.Multiply(cnTwo);
                Console.WriteLine($"MULTIPLY: ({result.Real}, {result.Immag})");
                break;

            case "/":
                result = cnOne.Divide(cnTwo);
                Console.WriteLine($"DIVIDE: ({result.Real}, {result.Immag})");
                break;

            default:
                Console.WriteLine("Operazione invalida");
                break;
            }

            Console.WriteLine($"Modulo di ({cnOne.Real}, {cnOne.Immag}): {cnOne.Modulo}");
            Console.WriteLine($"Coniugato di ({cnTwo.Real}, {cnTwo.Immag}): ({cnTwo.Coniugato.Real}, {cnTwo.Coniugato.Immag})");
        }