-
Notifications
You must be signed in to change notification settings - Fork 12
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Output floating point types #19
Comments
Good remark. By default, I don't think it is a bad idea to return to users the default type for |
The reason I think it is not great to upcast downcasted floats is that users who pass distance matrices (as 64-bit arrays) might decide to "match" distance matrix values with the output bars. If 64-bit, they would be well-justified to expect that every birth and death corresponds exactly to an entry in the distance matrix. If 32-bit, they would at least have an indirect hint as to what might have happened. Incidentally, this is related to another issue, namely that a possible enhancement would be to add a 64-bit implementation and allow users to pass a |
Good argument about trying to match the output with the input ! Definitely, if they try to match and because we outputs 64-bit float, they would expect to find the exact same values they used as input. But, because of the downcast, this values are slightly different.
This shall not be in my opinion too much work, it is adding a template argument to the |
I think there are other features that would be cooler to have first, but they are harder (cocycles, persistence pairs, isolate edge collapser). Maybe we should make a kanban for these? Anyway, if it is really that simple, why not add it I say. |
As always, it seems simple, maybe some issues will be encountered ...
Definitely, but if possible, if we can centralize this in Github directly, it would be really cool ! |
Done :) |
Nice, thank you ! |
It seems that we output barcodes with 64-bit floating-point type. I think that, as things stand, this could be a little misleading because we internally convert to 32-bit representations and hence lose precision. Is there a reason I am missing why outputting doubles is preferrable?
The text was updated successfully, but these errors were encountered: