-
Notifications
You must be signed in to change notification settings - Fork 40
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
Handling of "dr" #234
Comments
The role of
The
|
@stggh, I mean
|
|
|
|
For the benchmarks, we still have the low-level |
Sorry that I missed this discussion earlier. |
There is In any case, passing |
So #240 has moved I do not know whether the Dasch methods would benefit from the same approach. And |
All transform methods have the
dr
parameter, but they treat it inconsistently:basex has it in both the high-level
basex_transform()
and the low-levelbasex_core_transform()
, the scaling is done inbasex_core_transform()
.dasch has it in
_dasch_transform()
(aliased by all the high-level<method>_transform()
) but not in the low-leveldasch_transform()
, the scaling is done in_dasch_transform()
.direct has only
direct_transform()
, hopefully working correctly for both forward and inverse.hansenlaw has only
hansenlaw_transform()
, hopefully working correctly for both forward and inverse.linbasex has
dr
as a "dummy variable for call compatibility with the other methods" and does not use it at all.onion_bordas has only
onion_bordas_transform()
and only inverse transform, apparently correct.This question arose during implementation of the forward transform in BASEX, since it should scale intensities by multiplying by dr instead of dividing. Therefore all functions that take
dr
must also takedirection
.In addition to implementing proper
dr
handling in linbasex (why not?), I see two general approaches to make it consistent:dr
(anddirection
, if implemented), and the scaling is done at the low level.dr
to theirget_bs_cached()
, and low-level methods simply apply given matrices and always produce correct results without the need to know dr and the transform direction.The second approach seems to be cleaner and should work slightly faster for repetitive transforms. For default parameters (
dr=1
), the results will not change in either case.The text was updated successfully, but these errors were encountered: