Because the integral function is relying on the range being clamped to the non-zero portion for impulse filters and for box, and range checks are missing for some of the other filter functions, I would be tempted to remove the range check from here, and also from the impulse function (it would return 1 for all x). Oded did not like that idea but I wonder if you have any opinion.
On Mon, Apr 11, 2016 at 7:36 PM, Søren Sandmann Pedersen < soren.sandm...@gmail.com> wrote: > From: Bill Spitzak <spit...@gmail.com> > > v11: Restored range checks > > Signed-off-by: Bill Spitzak <spit...@gmail.com> > Reviewed-by: Oded Gabbay <oded.gab...@gmail.com> > --- > pixman/pixman-filter.c | 14 ++++++++------ > 1 file changed, 8 insertions(+), 6 deletions(-) > > diff --git a/pixman/pixman-filter.c b/pixman/pixman-filter.c > index 4abd05f..db4ab6e 100644 > --- a/pixman/pixman-filter.c > +++ b/pixman/pixman-filter.c > @@ -109,14 +109,16 @@ general_cubic (double x, double B, double C) > > if (ax < 1) > { > - return ((12 - 9 * B - 6 * C) * ax * ax * ax + > - (-18 + 12 * B + 6 * C) * ax * ax + (6 - 2 * B)) / 6; > + return (((12 - 9 * B - 6 * C) * ax + > + (-18 + 12 * B + 6 * C)) * ax * ax + > + (6 - 2 * B)) / 6; > } > - else if (ax >= 1 && ax < 2) > + else if (ax < 2) > { > - return ((-B - 6 * C) * ax * ax * ax + > - (6 * B + 30 * C) * ax * ax + (-12 * B - 48 * C) * > - ax + (8 * B + 24 * C)) / 6; > + return ((((-B - 6 * C) * ax + > + (6 * B + 30 * C)) * ax + > + (-12 * B - 48 * C)) * ax + > + (8 * B + 24 * C)) / 6; > } > else > { > -- > 1.7.11.7 > >
_______________________________________________ Pixman mailing list Pixman@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/pixman