Beispiel #1
0
        /// <summary>
        /// Measures the time of the algorithm.
        /// Calls Rank method of MatrixFacade instance.
        /// </summary>
        /// <param name="rank">Passed algorithm for rank find.</param>
        /// <returns>Matrix rank</returns>
        public override int Rank(IFindRank rank)
        {
            var stopwatch = new Stopwatch();

            stopwatch.Start();
            var ret = _facade.Rank(rank);

            stopwatch.Stop();
            Time = stopwatch.ElapsedMilliseconds;
            return(ret);
        }
Beispiel #2
0
        private void rankButton2_Click(object sender, EventArgs e)
        {
            TakeBoxes(_right.Matrix, _rightBoxes);
            IFindRank algorithm = rankBox2.SelectedIndex switch
            {
                0 => new NativeFindRank(),
                1 => new LibraryFindRank(),
                _ => null
            };

            rankLabel.Text = _right.Rank(algorithm).ToString();
            if (_right is TimeDecorator timeDecorator)
            {
                timeLabel.Text = timeDecorator.Time + " ms";
            }
        }
Beispiel #3
0
 /// <summary>
 /// Gets matrix rank using passed algorithm.
 /// </summary>
 /// <param name="rank">Passed algorithm for rank find.</param>
 /// <returns>Matrix rank</returns>
 public virtual int Rank(IFindRank rank)
 {
     Matrix.FindRankAlgorithm = rank;
     return(Matrix.FindRank());
 }
 /// <summary>
 /// Calls Rank method of MatrixFacade instance.
 /// </summary>
 /// <param name="rank">Passed algorithm for rank find.</param>
 /// <returns>Matrix rank</returns>
 public virtual int Rank(IFindRank rank)
 {
     return(_facade.Rank(rank));
 }
Beispiel #5
0
 public void Setup()
 {
     _algorithm = new NativeFindRank();
 }
Beispiel #6
0
 public void Setup()
 {
     _algorithm = new LibraryFindRank();
 }