matrix
🌌matrix
matrix -- matrix based on arbitrary numeric type
matrix provides matrix operations based on an arbitray numeric type
just for brevity
redefines numeric.infix *:
basic operations: 'infix *' (multiplication)
redefines numeric.infix +:
basic operations: 'infix +' (addition)
redefines numeric.infix -:
basic operations: 'infix -' (substraction)
redefines numeric.infix /:
basic operations: 'infix /' (division)
NYI: total order
redefines ordered.infix <:
does this come strictly before other?
redefines partiallyOrdered.infix <=:
does this come before other?
redefines ordered.infix >:
does this come strictly after other?
redefines ordered.infix >=:
does this come after other?
redefines matrices.one:
redefines numerics.one:
identity element for 'infix *'
redefines partiallyOrdered.orderedThis:
get value of type T.
NYI: Once Eiffel-style 'like this' works, we can use 'like this' instead of
T and no longer need this feature.
basic operations
redefines numeric.prefix +:
basic operations: 'prefix +' (identity)
enable generic features in ancestors
redefines numeric.thiz:
get numeric.this value of type T. This is used for a generic implemention
of some features (e.g. prefix -, abs
NYI: these three should be implemented in matrices, not here:
redefines matrices.zero:
NYI: There is currently no easy way to get hold of an instance of the unit
type corresponding to E.
redef zero => matrix E.zero E.zero
redef one => matrix E.one E.zero
dummy implementations:
redefines numerics.zero:
identity element for 'infix +'