Пример #1
0
 public void PerformAnalisys(AnalisysParams Params)
 {
     //throw new NotImplementedException();
     try
     {
         this.SetMultiThreadPrevalence(new Prevalence(0, 0, this.GetSettings().WordLength / this.GetSettings().SBoxCount));
         this.AddSolution = Params.AddSolution;
         var TaskerParams = new TaskerParams(this, Params.Alg);
         var WP           = new WorkerParams(Params.MaxThreads, TaskerParams, Params.TaskFinishedFunc);
         _worker = new Worker(WP);
         {
             if (!Params.ASync)
             {
                 _worker.Run();
             }
             else
             {
                 _worker.AsyncRun();
             }
         }
     }
     catch
     {
         Logger.UltraLogger.Instance.ExportToFile();
     }
 }
Пример #2
0
 public AnalisysParams(Algorithm Alg, CallbackAddSolution AddSolution, TaskFinishedHandler TaskFinishedFunc, int MaxThreads = -1)
 {
     this.TaskFinishedFunc = TaskFinishedFunc;
     this.ASync            = true;
     this.Alg         = Alg;
     this.AddSolution = AddSolution;
     if (MaxThreads == -1)
     {
         this.MaxThreads = System.Environment.ProcessorCount;
         if (MaxThreads > 32)
         {
             throw new Exception("Seems incorrect processor count value. Maximum is 32 (hardcoded value).");
         }
     }
     else
     {
         this.MaxThreads = MaxThreads;
     }
 }