Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
Orekit
Orekit
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 58
    • Issues 58
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge Requests 7
    • Merge Requests 7
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
  • Operations
    • Operations
    • Incidents
    • Environments
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Analytics
    • Analytics
    • CI / CD
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Orekit
  • OrekitOrekit
  • Issues
  • #626

Closed
Open
Opened Nov 29, 2019 by Luc Maisonobe@lucOwner

remove interface Comparable from IntegerLeastSquareSolution

The IntegerLeastSquareSolution implements Comparable but this is not strictly needed from an API point of view. The sorting order of various solutions is more related to the algorithm that solves the integer least squares problem and is generally related only to some properties (the squared distance to the float solution), not to the other properties (the integers).

Having IntegerLeastSquareSolution implement Comparable also implies implementing equals which itself involves implementing hashCode. However, from a logical point of view, these two methods should depend on all properties, not only on the squared distance, and therefore be inconsistent with compareTo.

It would be more consistent if IntegerLeastSquareSolution does not implement Comparable but the solver uses a separate and dedicated Comparator for sorting.

This change is however backward incompatible, so it can be done only for a major release.

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
11.0
Milestone
11.0
Assign milestone
Time tracking
None
Due date
None
Reference: orekit/orekit#626