Esempio n. 1
0
        /// <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);
        }
Esempio n. 2
0
        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";
            }
        }
Esempio n. 3
0
 public void Setup()
 {
     _algorithm = new NativeFindDeterminant();
 }
Esempio n. 4
0
 public void Setup()
 {
     _algorithm = new LibraryFindDeterminant();
 }
Esempio n. 5
0
 /// <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));
 }