final double segmentationRatio) {
super();
this.device = device;
if ((localRatio < 0) || (globalRatio < 0) || (segmentationRatio < 0)) {
throw new OpenCLError("None of the ratios can be below zero.");
}
if (localRatio > 1.0) {
throw new OpenCLError(
"The local ratio cannot be greater than 1.0. That would cause the OpenCL device to have more local items than it can handle.");
}
if (globalRatio < 1.0) {
throw new OpenCLError(
"The global ratio cannot be less than 1.0. That would cause the global work area to be less than a local work area.");
}
if (segmentationRatio > 1.0) {
throw new OpenCLError(
"The segmentation ratio cannot be greater than 1.0. That would cause the trainer to require more training elements per iteration than exist.");
}
this.localRatio = localRatio;
this.globalRatio = globalRatio;