(rt #124001) avoid flooring a second time in matrix transform interpolation
authorTony Cook <tony@develop-help.com>
Fri, 5 Jan 2018 11:09:46 +0000 (22:09 +1100)
committerTony Cook <tony@develop-help.com>
Fri, 5 Jan 2018 11:09:46 +0000 (22:09 +1100)
commit8cf479739a15b551f6afbb88e1c76c331e61142e
treee0c09804a01543e30a20cc65e6ab8981737793e7
parent7c2117a4a44f023b8d96b24e1ac9131cd17f8bbc
(rt #124001) avoid flooring a second time in matrix transform interpolation

The linear interpolation done by matrix_transform_bg() (also called
when rotating images) called floor() on the ordinate both in the
caller and in the interpolation code, which seemed to confuse the compiler
supplied with the gcc supplied with 32-bit strawberry perl 5.26.0.

I suspect a value just barely below an integer was being stored in the
FPU and then rounded up to that integer when converted to a double,
which then caused an off-by-one error in interpolation.
rotate.im