コード例 #1
0
        private IStudyAssignment Adder(IComplexNumber addend, AdderArgument type)
        {
            var result = new ComplexNumber(RealPart + addend.RealPart * (int)type,
                                           ImaginaryPart + addend.ImaginaryPart * (int)type);

            return(result);
        }
コード例 #2
0
ファイル: ThreeDVector.cs プロジェクト: Raelav/ControlWork
 private IThreeDVector Adder(IThreeDVector vector, AdderArgument type)
 {
     return(new ThreeDVector()
     {
         X = X + vector[0] * (int)type,
         Y = Y + vector[1] * (int)type,
         Z = Z + vector[2] * (int)type
     });
 }
コード例 #3
0
        private ISquareMatrix Adder(ISquareMatrix added, AdderArgument type)
        {
            if (Rank != added.Rank)
            {
                throw new ArgumentException();
            }
            var result = GetZeroMatrix();

            for (var i = 0; i < Rank; i++)
            {
                for (var j = 0; j < Rank; j++)
                {
                    result[i, j] = this[i, j] + added[i, j] * (int)type;
                }
            }
            return(result);
        }
コード例 #4
0
ファイル: OneDArray.cs プロジェクト: Raelav/ControlWork
        public IOneDArray Adder(IOneDArray added, AdderArgument type)
        {
            try
            {
                if (StartIndex != added.StartIndex || Length != added.Length)
                {
                    throw new IndexOutOfRangeException();
                }
            }
            catch (IndexOutOfRangeException e)
            {
                Console.WriteLine("Выход за пределы массива");
                return(new OneDArray());
            }
            var result = new OneDArray(StartIndex, Length);

            for (var i = StartIndex; i < StartIndex + Length; i++)
            {
                result[i] = this[i] + added[i] * (int)type;
            }
            return(result);
        }
コード例 #5
0
        private INDimensionalVector Adder(INDimensionalVector value, AdderArgument type)
        {
            var length = GetBiggerLength(value);

            var result = new NDimensionalVector();

            for (var i = 0; i < length; i++)
            {
                if (i >= _vector.Count)
                {
                    result[i] = (int)type * value[i];
                }
                else if (i >= value.Count)
                {
                    result[i] = this[i];
                }
                else
                {
                    result[i] = this[i] + (int)type * value[i];
                }
            }
            return(result);
        }