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

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


    from c7d4b3ede7 Merge branch 'geoapi-4.0' into geoapi-3.1 Mostly use of 
Math.fma(…) and resolution of some compiler warnings.
     add 72ccbe4a19 Make `DoubleDouble` a value class (i.e. immutable and 
without identity) in anticipation for value objects to be provided in future 
Java version. It forces us to modify all usages of `DoubleDouble`, but the 
result is much more readable than previously.
     add d208d976b7 Reduce the use of double-double arithmetic where we do not 
expect significant improvement. Make explicit whether or not the numbers where 
intended to be exact in base 10.
     add 008eb40d12 Replace double-double arithmetic in matrices by more 
straightforward usage of `Number`. This change affects all implementations of 
`ExtendedPrecisionMatrix` internal interfaces. Classes using the extended 
precision are also impacted, in particular  `MatrixSIS`, `GeneralMatrix` and 
`Solver`.
     add 01c6baf548 Add tests about internal consistency of the `Number[]` 
array returned by `getElementAsNumbers()`. Fix a bug in the interaction between 
`GridGeometry` et `ProjectiveTransform` constructors and a NullPointerException.
     add 906f9ce512 Represent matrix elements as fractions when possible. This 
enhancement avoids rounding errors with, for example, unit conversions 
involving a division by 1000. It applies to creations, concatenations and 
inversions of `MathTransform` where performance is not the primary concern. It 
does not apply to the coordinate transformations executed by 
`MathTransform.transform(…)`, where performance matter.
     add faa3997687 Verify in a test that extended precision is propagated 
through MathTransform inversion and concatenation.
     new f76afb0622 Merge branch 'geoapi-4.0' into geoapi-3.1

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../org/apache/sis/coverage/grid/GridExtent.java   |  27 +-
 .../org/apache/sis/coverage/grid/GridGeometry.java |  17 +-
 .../sis/coverage/grid/ResampledGridCoverage.java   |  25 +-
 .../org/apache/sis/filter/ArithmeticFunction.java  |   6 +-
 .../sis/internal/coverage/CoverageCombiner.java    |   4 +-
 .../apache/sis/coverage/grid/GridGeometryTest.java |  34 +-
 .../main/java/org/apache/sis/portrayal/Canvas.java |  18 +-
 .../org/apache/sis/portrayal/package-info.java     |   2 +-
 .../sis/internal/referencing/Arithmetic.java       | 291 ++++++
 .../referencing/ExtendedPrecisionMatrix.java       |  92 +-
 .../sis/internal/referencing/j2d/AffineMatrix.java | 224 ++---
 .../referencing/j2d/AffineTransform2D.java         |  59 +-
 .../referencing/provider/Equirectangular.java      |   8 +-
 .../sis/referencing/crs/DefaultTemporalCRS.java    |   2 +-
 .../sis/referencing/cs/CoordinateSystems.java      |  15 +-
 .../apache/sis/referencing/cs/package-info.java    |   2 +-
 .../sis/referencing/datum/BursaWolfParameters.java |  82 +-
 .../sis/referencing/datum/DatumShiftGrid.java      |   6 +-
 .../sis/referencing/datum/DefaultEllipsoid.java    |  41 +-
 .../sis/referencing/datum/TimeDependentBWP.java    |  34 +-
 .../apache/sis/referencing/datum/package-info.java |   2 +-
 .../operation/CoordinateOperationFinder.java       |  11 +-
 .../operation/builder/LinearTransformBuilder.java  |   2 +-
 .../operation/matrix/GeneralMatrix.java            | 490 +++--------
 .../sis/referencing/operation/matrix/Matrices.java | 199 +++--
 .../sis/referencing/operation/matrix/Matrix1.java  |  15 +-
 .../sis/referencing/operation/matrix/Matrix2.java  |  19 +-
 .../sis/referencing/operation/matrix/Matrix3.java  |  21 +-
 .../sis/referencing/operation/matrix/Matrix4.java  |  23 +-
 .../referencing/operation/matrix/MatrixSIS.java    | 293 +++---
 .../operation/matrix/NonSquareMatrix.java          |  83 +-
 .../sis/referencing/operation/matrix/Solver.java   | 176 ++--
 .../operation/matrix/UnmodifiableMatrix.java       |  36 +-
 .../referencing/operation/matrix/package-info.java |  14 +-
 .../operation/projection/AlbersEqualArea.java      |  32 +-
 .../operation/projection/CylindricalEqualArea.java |  35 +-
 .../operation/projection/Initializer.java          | 197 ++---
 .../projection/LambertConicConformal.java          |  38 +-
 .../operation/projection/LongitudeWraparound.java  |   6 +-
 .../referencing/operation/projection/Mercator.java |  15 +-
 .../operation/projection/MeridianArcBased.java     |   9 +-
 .../projection/ModifiedAzimuthalEquidistant.java   |  10 +-
 .../operation/projection/ObliqueStereographic.java |   4 +-
 .../operation/projection/Orthographic.java         |   6 +-
 .../operation/projection/PolarStereographic.java   |  20 +-
 .../operation/projection/TransverseMercator.java   |  26 +-
 .../transform/AbstractLinearTransform.java         |  17 +
 .../operation/transform/CartesianToPolar.java      |   4 +-
 .../operation/transform/ConstantTransform1D.java   |  11 +-
 .../operation/transform/ContextualParameters.java  |  16 +-
 .../transform/EllipsoidToCentricTransform.java     |   7 +-
 .../transform/ExponentialTransform1D.java          |   4 +-
 .../operation/transform/IdentityTransform1D.java   |   2 +-
 .../operation/transform/LinearTransform1D.java     | 139 ++-
 .../operation/transform/MathTransforms.java        |  16 +-
 .../operation/transform/PolarToCartesian.java      |   4 +-
 .../operation/transform/ProjectiveTransform.java   |  79 +-
 .../operation/transform/ScaleTransform.java        | 118 ++-
 .../operation/transform/TransferFunction.java      |   2 +-
 .../operation/transform/TranslationTransform.java  | 114 +--
 .../referencing/datum/DefaultEllipsoidTest.java    |  22 +-
 .../operation/matrix/GeneralMatrixTest.java        |  91 +-
 .../referencing/operation/matrix/MatricesTest.java |  44 +-
 .../referencing/operation/matrix/Matrix1Test.java  |   8 +-
 .../referencing/operation/matrix/Matrix2Test.java  |  28 +-
 .../referencing/operation/matrix/Matrix3Test.java  |  20 +-
 .../referencing/operation/matrix/Matrix4Test.java  |  28 +-
 .../operation/matrix/MatrixTestCase.java           |  61 +-
 .../operation/matrix/NonSquareMatrixTest.java      |  14 +-
 .../referencing/operation/matrix/SolverTest.java   |  12 +-
 .../projection/ConformalProjectionTest.java        |   5 +-
 .../operation/projection/InitializerTest.java      |   4 +-
 .../projection/LambertConicConformalTest.java      |   8 +-
 .../operation/transform/MathTransformTestCase.java |   2 +
 .../transform/ProjectiveTransformTest.java         |  85 +-
 .../operation/transform/ScaleTransformTest.java    |  35 +-
 .../transform/TransformResultComparator.java       |  46 +-
 .../transform/TranslationTransformTest.java        |  65 +-
 .../org/apache/sis/internal/util/DoubleDouble.java | 977 ++++++++-------------
 .../org/apache/sis/internal/util/Numerics.java     |  29 +-
 .../main/java/org/apache/sis/math/Fraction.java    |  97 +-
 .../src/main/java/org/apache/sis/math/Line.java    |  66 +-
 .../java/org/apache/sis/math/MathFunctions.java    |  17 +-
 .../src/main/java/org/apache/sis/math/Plane.java   |  95 +-
 .../main/java/org/apache/sis/math/Statistics.java  |  16 +-
 .../org/apache/sis/measure/LinearConverter.java    |   7 +-
 .../src/main/java/org/apache/sis/util/Numbers.java |  90 +-
 .../apache/sis/internal/util/DoubleDoubleTest.java | 143 +--
 .../test/java/org/apache/sis/util/NumbersTest.java |  16 +-
 .../sis/storage/geotiff/GridGeometryBuilder.java   |  11 +-
 .../apache/sis/storage/aggregate/GridSlice.java    |   5 +-
 91 files changed, 2579 insertions(+), 2872 deletions(-)
 create mode 100644 
core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/Arithmetic.java

Reply via email to