Beispiel #1
0
 /// <summary>
 /// Cria instâncias de objectos do tipo <see cref="GeneralMatrixGroup{CoeffType}"/>.
 /// </summary>
 /// <param name="lines">O número de linhas.</param>
 /// <param name="columns">O número de colunas.</param>
 /// <param name="matrixFactory">A fábrica responsável pela criação de instâncias de matrizes.</param>
 /// <param name="coeffsGroup">O grupo responsável pelas operações sobre as entradas das matrizes.</param>
 /// <exception cref="ArgumentException">Se o número de linhas ou de colunas for negativo.</exception>
 /// <exception cref="ArgumentNullException">
 /// Se forem nulos os argumentos "matrixFactory" e "coeffsGroup".
 /// </exception>
 public GeneralMatrixGroup(
     int lines,
     int columns,
     IMathMatrixFactory <CoeffType> matrixFactory,
     IGroup <CoeffType> coeffsGroup)
 {
     if (lines < 0)
     {
         throw new ArgumentException("The number of lines must be non negative.");
     }
     else if (columns < 0)
     {
         throw new ArgumentException("The number of columns must be non negative.");
     }
     else if (matrixFactory == null)
     {
         throw new ArgumentNullException("matrixFactory");
     }
     else if (coeffsGroup == null)
     {
         throw new ArgumentNullException("coeffsGroup");
     }
     else
     {
         this.lines                   = lines;
         this.columns                 = columns;
         this.coeffsGroup             = coeffsGroup;
         this.matrixFactory           = matrixFactory;
         this.matrixAdditionOperation = new MatrixAdditionOperation <CoeffType>(matrixFactory, this.coeffsGroup);
     }
 }
Beispiel #2
0
 /// <summary>
 /// Adicionar os valores especificados aos valores existentes.
 /// </summary>
 /// <remarks>
 /// A utilização é destinada aos processo internos da livraria.
 /// </remarks>
 /// <param name="finitePart">Valor a ser adicionado à parte finita.</param>
 /// <param name="bigPart">Valor a ser adicionado à parte grande.</param>
 /// <param name="additionOperation">O objecto responsável pela adição dos coeficientes.</param>
 public void UnchekedAdd(
     ObjectType finitePart,
     ObjectType bigPart,
     IAdditionOperation <ObjectType, ObjectType, ObjectType> additionOperation)
 {
     this.finitePart = additionOperation.Add(this.finitePart, finitePart);
     this.bigPart    = additionOperation.Add(this.bigPart, bigPart);
 }
 /// <summary>
 /// Cria instâncias de objectos do tipo <see cref="MatrixAdditionOperation{ObjectType}"/>.
 /// </summary>
 /// <param name="matrixFactory">A fábrica responsável pela criação de instâncias de matrizes.</param>
 /// <param name="additionOperation">O objecto responsável pela adição dos coeficientes.</param>
 /// <exception cref="ArgumentNullException">
 /// Se um dos argumentos for nulo.
 /// </exception>
 public MatrixAdditionOperation(
     IMathMatrixFactory <ObjectType> matrixFactory,
     IAdditionOperation <ObjectType, ObjectType, ObjectType> additionOperation)
 {
     if (additionOperation == null)
     {
         throw new ArgumentNullException("additionOperation");
     }
     else if (matrixFactory == null)
     {
         throw new ArgumentNullException("matrixFactory");
     }
     else
     {
         this.additionOperation = additionOperation;
         this.matrixFactory     = matrixFactory;
     }
 }
Beispiel #4
0
 /// <summary>
 /// Adicionar os valores especificados aos valores existentes.
 /// </summary>
 /// <param name="finitePart">Valor a ser adicionado à parte finita.</param>
 /// <param name="bigPart">Valor a ser adicionado à parte grande.</param>
 /// <param name="additionOperation">O objecto responsável pela adição dos coeficientes.</param>
 /// <exception cref="ArgumentNullException">Se algum dos argumentos for nulo.</exception>
 public void Add(
     ObjectType finitePart,
     ObjectType bigPart,
     IAdditionOperation <ObjectType, ObjectType, ObjectType> additionOperation)
 {
     if (finitePart == null)
     {
         throw new ArgumentNullException("finitePart");
     }
     else if (bigPart == null)
     {
         throw new ArgumentNullException("bigPart");
     }
     else if (additionOperation == null)
     {
         throw new ArgumentNullException("additionOperation");
     }
     else
     {
         this.UnchekedAdd(finitePart, bigPart, additionOperation);
     }
 }
Beispiel #5
0
 public Form1()
 {
     InitializeComponent();
     calculator = new BasicOperation();
 }