Exemplo n.º 1
0
        public void 実部2と虚部2を与えて虚数を生成できること()
        {
            var inum = new ImaginaryNumber(2, 2);

            Assert.AreEqual(2, inum.realPart);
            Assert.AreEqual(2, inum.imaginaryPart);
        }
Exemplo n.º 2
0
    public static ImaginaryNumber operator*(ImaginaryNumber imFirst, ImaginaryNumber imSecond)
    {
        ImaginaryNumber ret = new ImaginaryNumber((imFirst.R * imSecond.R) - (imFirst.I * imSecond.I), (imFirst.R * imSecond.I) - (imFirst.I * imSecond.R));

        ret.printerEvent();
        return(ret);
    }
Exemplo n.º 3
0
    public static ImaginaryNumber operator/(ImaginaryNumber imFirst, ImaginaryNumber imSecond)
    {
        ImaginaryNumber ret = new ImaginaryNumber((imFirst.R * imSecond.R + imFirst.I * imSecond.I) / (System.Math.Pow(imFirst.R, 2) + System.Math.Pow(imSecond.R, 2)), (imFirst.R * imSecond.I - imFirst.I * imSecond.R) / (System.Math.Pow(imFirst.R, 2) + System.Math.Pow(imSecond.R, 2)));

        ret.printerEvent();
        return(ret);
    }
Exemplo n.º 4
0
    public ImaginaryNumber copy()
    {
        ImaginaryNumber ret = new ImaginaryNumber(this.R, this.I);

        ret.printerEvent();
        return(ret);
    }
Exemplo n.º 5
0
    public static ImaginaryNumber operator-(ImaginaryNumber imFirst, ImaginaryNumber imSecond)
    {
        ImaginaryNumber ret = new ImaginaryNumber(imFirst.R - imSecond.R, imFirst.I - imSecond.I);

        ret.printerEvent();
        return(ret);
    }
Exemplo n.º 6
0
    public ImaginaryNumber conjugate()
    {
        ImaginaryNumber ret = new ImaginaryNumber(this.R, -this.I);

        ret.printerEvent();
        return(ret);
    }
Exemplo n.º 7
0
            public void 虚数が生成できること(int realPart, int imaginaryPart)
            {
                var @in = new ImaginaryNumber(realPart, imaginaryPart);

                Assert.AreEqual(realPart, @in.RealPart);
                Assert.AreEqual(imaginaryPart, @in.ImaginaryPart);
            }
Exemplo n.º 8
0
    public void SameImaginaryNumbersAreEqual()
    {
        // Arrange
        var imaginaryNumber1 = new ImaginaryNumber(10, 100);
        var imaginaryNumber2 = new ImaginaryNumber(10, 100);

        // Act & Assert
        imaginaryNumber1.Should().Be(imaginaryNumber2);
    }
Exemplo n.º 9
0
        /// <summary>
        /// This function decides if the power of the given i number makes it
        /// a part of the real number.
        /// For example :
        /// i^2 = -1 in this case the value of the imPart is added to the real number
        /// </summary>
        private void CalcImaginaryPart(ImaginaryNumber imPart)
        {
            int modFour = imPart.Power % 4;

            switch (modFour)
            {
            case 0: this.RealPart += imPart.Value; break;

            case 1: this.ImaginaryPart = imPart.Value; break;

            case 2: this.RealPart += -imPart.Value; break;

            case 3: this.ImaginaryPart = -imPart.Value; break;
            }
        }
Exemplo n.º 10
0
 public static void Main(){
     ImaginaryNumber im1 = new ImaginaryNumber(2,-1);
     ImaginaryNumber im2 = im1.conjugate();
     ImaginaryNumber im3 = im1 + im2;
     ImaginaryNumber im4 = new ImaginaryNumber(3,8);
     ImaginaryNumber im5 = new ImaginaryNumber(-3,-4);
     ImaginaryNumber im6 = im4 * im3;
     ImaginaryNumber im7 = im5/im1;
     ImaginaryNumber im8 = new ImaginaryNumber(2,-1);
     if(im8 == im1){
         System.Console.WriteLine("IM8 == IM1");
     }
     if(im8 != im3){
         System.Console.WriteLine("IM8 != IM3");
     }
 }
Exemplo n.º 11
0
            public void 虚数の文字列表記が取得できること(int rp, int ip, string expedted)
            {
                var @in = new ImaginaryNumber(rp, ip);

                Assert.AreEqual(expedted, @in.ToString());
            }
Exemplo n.º 12
0
 public ComplexNumber(double realPart = 0, ImaginaryNumber imPart = null)
 {
     this.RealPart      = realPart;
     this.ImaginaryPart = 0d;
     CalcImaginaryPart(imPart);
 }