You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This enum lists all existing fill in reduction methods in the sprs ecosystem. I realized while binding such methods from suitesparse that each time a method would be added, this would require changing this enum and thus making a breaking change. This does not look like a good idea, so this enum should probably go away in the future.
The text was updated successfully, but these errors were encountered:
vbarrielle
changed the title
FillInReduction enum is not a good API for version stabilityt
FillInReduction enum is not a good API for version stability
Aug 25, 2020
Yes, I've been considering that as well. However I'm not sure if it's a good idea to expose this enum at all. It is used in LDL decomposition to specify decomposition options in a builder pattern (https://github.com/vbarrielle/sprs/blob/master/sprs-ldl/src/lib.rs#L132-L143), but there may be more idiomatic ways to do it (eg by passing a FnOnce that will perform the decomposition when the input matrix is passed). That way no need to match on all possible enums, and it's extendable with other crates as well.
Fixed by #223, I've chosen to use #[non_exhaustive], passing a function would have made the API too cumbersome (right now one nice thing about the Ldl builder struct is that it does not depend on the actual type of the matrix up until the last step, and this property would have been lost).
This enum lists all existing fill in reduction methods in the sprs ecosystem. I realized while binding such methods from suitesparse that each time a method would be added, this would require changing this enum and thus making a breaking change. This does not look like a good idea, so this enum should probably go away in the future.
The text was updated successfully, but these errors were encountered: