void PDFChartAxis::GetDataRange(const Matrix & values) { bool fixedMin = min != _NAN_; bool fixedMax = max != _NAN_; if (!fixedMin) min = values.SafeMin(); if (!fixedMax) max = values.SafeMax(); if (max < min) { double tmp = max; max = min; min = tmp; } if (max == min) { max += 0.5; min -= 0.5; } if (centerData) Center(values); if (frameData) Frame(values); if (minMin != _NAN_ && min < minMin) min = minMin; if (maxMin != _NAN_ && min > maxMin) min = maxMin; if (minMax != _NAN_ && max < minMax) max = minMax; if (maxMax != _NAN_ && max > maxMax) max = maxMax; if (!keepStep) CalculateStep(); if (!fixedMin) min = FloorEPS(min /step) * step; if (!fixedMax) max = CeilEPS(max /step) * step; CalculateDigits(); if (min < 0.0 && max > 0.0) includesZero = true; }
void CSimpleImage::Create(uint W, uint H, uint C, SImage::EDataType T, uint Align) { SImage Img = {W, H, CalculateStep(W, C, ::Depth(T), Align), C, T}; Create(Img); }