You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sis.apache.org by de...@apache.org on 2023/01/14 16:34:25 UTC

[sis] 02/03: More advanced test for rounding errors.

This is an automated email from the ASF dual-hosted git repository.

desruisseaux pushed a commit to branch geoapi-4.0
in repository https://gitbox.apache.org/repos/asf/sis.git

commit 0f46e213f39d4d26ff37dcbc5b90ea4ffd8faf4f
Author: Martin Desruisseaux <ma...@geomatys.com>
AuthorDate: Sat Jan 14 13:00:30 2023 +0100

    More advanced test for rounding errors.
---
 .../referencing/operation/transform/ProjectiveTransformTest.java   | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/transform/ProjectiveTransformTest.java b/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/transform/ProjectiveTransformTest.java
index f7c03e26d8..7ed92c62a3 100644
--- a/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/transform/ProjectiveTransformTest.java
+++ b/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/transform/ProjectiveTransformTest.java
@@ -186,6 +186,11 @@ public class ProjectiveTransformTest extends AffineTransformTest {
     public void testRoundingErrors() throws FactoryException, TransformException {
         final Matrix4 num = new Matrix4(); num.m00 =  2; num.m11 = 3.25; num.m22 = -17;
         final Matrix4 den = new Matrix4(); den.m00 = 37; den.m11 = 1000; den.m22 = 127;
+
+        // Add translation terms.
+        num.m03 =  4*37; num.m13 = 17; num.m23 = -2*127;
+        den.m03 = -3*37; den.m13 = 65; den.m23 =  7*127;
+
         transform = TransformResultComparator.concatenate(
                 mtFactory.createAffineTransform(num),
                 mtFactory.createAffineTransform(den).inverse(),
@@ -203,7 +208,7 @@ public class ProjectiveTransformTest extends AffineTransformTest {
          * Test a transformation, expecting exact result.
          */
         verifyTransform(new double[] {2645.5,  19500, 2222.5},
-                        new double[] {   143, 63.375, -297.5});
+                        new double[] {   150, 63.327, -306.5});
     }
 
     /**