"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var WorkSet = /** @class */ (function () { function WorkSet(workDomain, workNumber, workDivision) { this.workDomain = workDomain; this.workNumber = workNumber; this.workDivision = workDivision; this.workSize = Math.floor(this.workDomain.length / this.workDivision); this.workBegin = this.workNumber * this.workSize; this.workEnd = this.workBegin + this.workSize; // be sure that we will process all work for odd workSize. if (this.workNumber === this.workDivision - 1) { this.workEnd = this.workDomain.length; } } WorkSet.prototype.forEach = function (callback) { for (var i = this.workBegin; i < this.workEnd; ++i) { callback(this.workDomain[i], i); } }; return WorkSet; }()); exports.WorkSet = WorkSet;