max = getAreaMax(cache, x, cachePointers, 0, -Float.MAX_VALUE, minMaxOutliersSign); if (minOrMax) { values[valuesP] = max*minMaxOutliersSign; float removedPointsMax = getSideMax(cache, x, cachePointers, false, minMaxOutliersSign); if (removedPointsMax >= max) max = getAreaMax(cache, x, cachePointers, 1, newPointsMax, minMaxOutliersSign);
max = getAreaMax(cache, x, cachePointers, 0, -Float.MAX_VALUE, minMaxOutliersSign); if (minOrMax) { values[valuesP] = max*minMaxOutliersSign; float removedPointsMax = getSideMax(cache, x, cachePointers, false, minMaxOutliersSign); if (removedPointsMax >= max) max = getAreaMax(cache, x, cachePointers, 1, newPointsMax, minMaxOutliersSign);