From 52c822ba8500a05d310cf31f76eb545521093530 Mon Sep 17 00:00:00 2001 From: Ilia Popov Date: Wed, 27 Oct 2010 02:01:28 +0200 Subject: [PATCH] Made sinc work with zero argument --- rtengine/ipresize.cc | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/rtengine/ipresize.cc b/rtengine/ipresize.cc index 89fea464f..15aea0e3f 100644 --- a/rtengine/ipresize.cc +++ b/rtengine/ipresize.cc @@ -64,7 +64,10 @@ void ImProcFunctions::resize (Image16* src, Image16* dst) { for (int ii = ii0; ii < ii1; ii++) { int k = ii - i0 + kc; double z = M_PI * (y0 - (i0 + k - kc)); - w[k] = sin(z) * sin(a*z) / (a * z * z); + if (z * z > 1e-6) + w[k] = sin(z) * sin(a*z) / (a * z * z); + else + w[k] = 1.0; ww += w[k]; } @@ -109,7 +112,10 @@ void ImProcFunctions::resize (Image16* src, Image16* dst) { for (int jj = jj0; jj < jj1; jj++) { int k = jj - j0 + kc; double z = M_PI * (x0 - (j0 + k - kc)); - w[k] = sin(z) * sin(a*z) / (a * z * z); + if (z * z > 1e-6) + w[k] = sin(z) * sin(a*z) / (a * z * z); + else + w[k] = 1.0; ww += w[k]; }