/// <summary> /// Measures the time of the algorithm. /// Calls Determinant method of MatrixFacade instance. /// </summary> /// <param name="det">Passed algorithm for determinant find.</param> /// <returns>Matrix determinant.</returns> public override long Determinant(IFindDeterminant det) { var stopwatch = new Stopwatch(); stopwatch.Start(); var ret = _facade.Determinant(det); stopwatch.Stop(); Time = stopwatch.ElapsedMilliseconds; return(ret); }
private void detButton_Click(object sender, EventArgs e) { TakeBoxes(_left.Matrix, _leftBoxes); IFindDeterminant algorithm = detBox1.SelectedIndex switch { 0 => new NativeFindDeterminant(), 1 => new LibraryFindDeterminant(), _ => null }; detLabel.Text = _left.Determinant(algorithm).ToString(); if (_left is TimeDecorator timeDecorator) { timeLabel.Text = timeDecorator.Time + " ms"; } }
public void Setup() { _algorithm = new NativeFindDeterminant(); }
public void Setup() { _algorithm = new LibraryFindDeterminant(); }
/// <summary> /// Gets matrix determinant using passed algorithm. /// </summary> /// <param name="det">Passed algorithm for determinant find</param> /// <returns>Matrix determinant.</returns> public virtual long Determinant(IFindDeterminant det) { Matrix.FindDeterminantAlgorithm = det; return(Matrix.FindDeterminant()); }
/// <summary> /// Calls Determinant method of MatrixFacade instance. /// </summary> /// <param name="det">Passed algorithm for determinant find.</param> /// <returns>Matrix determinant.</returns> public virtual long Determinant(IFindDeterminant det) { return(_facade.Determinant(det)); }