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(); } }
public void Init(TaskerParams Params) { this.Params = Params; _rounds_count = Params.Net.GetLayers().Count / 3; _tempEmptyWay = WayConverter.ToWay(Params.Net); IsBruteForceTurnedOn = false; Iter = new InputsIterator(Params.Net.GetSettings().SBoxCount, Params.Net.GetSettings().SBoxSize); _tasks = new ConcurrentQueue <Task>(); InitSolvers(); ProcessRules(); }
public WorkerParams(int MaxThreads, TaskerParams TaskerParams, TaskFinishedHandler TaskFinishedFunc) { this.TaskerParams = TaskerParams; this.MaxThreads = MaxThreads; this.TaskFinishedFunc = TaskFinishedFunc; }
public Tasker(TaskerParams Params) { Init(Params); }