On 02/07/2016 04:57 AM, Oded Gabbay wrote:
On Fri, Feb 5, 2016 at 9:49 AM, <[email protected]> wrote:
From: Bill Spitzak <[email protected]>
v11: Restored range checks
Signed-off-by: Bill Spitzak <[email protected]>
---
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 e82871f..e5ef8e6 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.9.1
_______________________________________________
Pixman mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/pixman
I'm sorry, I was probably not clear enough in my response for the v10
patch. In my response then, I also referred to the fact you removed
the special case of handling ax >= 2. I meant that I also didn't see
the benefit of removing that check.
Oded
This version does not remove the range check. I just kept the nested
version of the polynomial (I have heard but not personally confirmed
that some compilers will not do this optimization). This one also
removes the redundant ax >= 1 because that is true if the previous if
statement is false.
_______________________________________________
Pixman mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/pixman