Free cookie consent management tool by TermsFeed Policy Generator

Opened 3 years ago

Closed 3 years ago

#3100 closed defect (obsolete)

TriangularMatrix uses wrong base class

Reported by: bburlacu Owned by: gkronber
Priority: medium Milestone: HeuristicLab 3.3.17
Component: Data Version: trunk
Keywords: Cc:


Since the underlying storage is an array, the TriangularMatrix<T> class should inherit from ValueTypeArray<T> instead of ValueTypeMatrix<T>. This would lead to a more efficient implementation.

Optional enhancements:

  • option to specify storage order (row- or column major)
  • a property to access the underlying T[] array

Change History (7)

comment:1 Changed 3 years ago by bburlacu

  • Status changed from new to accepted

comment:2 Changed 3 years ago by bburlacu

  • Milestone set to HeuristicLab 3.3.17
  • Owner changed from bburlacu to architects
  • Status changed from accepted to reviewing
  • Version set to trunk

r17831: Use ValueTypeArray as base class for TriangularMatrix.

  • Data property exposes the underlying array as a ReadOnlyCollection.
  • No need to specify storage order since the matrix is symmetric.

comment:3 Changed 3 years ago by bburlacu

  • Owner changed from architects to jkarder

comment:4 Changed 3 years ago by gkronber

The TriangularMatrix is not used yet in HeuristicLab core source code. Therefore, the changes should be fine. However, one must be very careful with persistence when changing the class hierarchy (see Additionally, a storable field has been changed. Persistence (compatibility of old files) should be tested carefully.

comment:5 Changed 3 years ago by gkronber

  • Owner changed from jkarder to gkronber
  • Status changed from reviewing to readytorelease

Reviewed r17831. Can be merged to stable.

comment:6 Changed 3 years ago by gkronber

  • Status changed from readytorelease to assigned

Change has been made to the branch for #3087. I'm closing this ticket as r17831 should be merged together with #3087.

comment:7 Changed 3 years ago by gkronber

  • Resolution set to obsolete
  • Status changed from assigned to closed
Note: See TracTickets for help on using tickets.