adiar
adiar copied to clipboard
Remove `__dd` Class in Public API
Currently, we expose to the end user the __dd
class that encapsulates a possibly-unreduced output; the Reduce algorithm is then run as part of the conversion constructor from __dd
to dd
.
It would be great, if we can make all functions just get a dd
as inputs and return a dd
as output (the Reduce operation is then run within the algorithm instead). With #397 we have cleaned up most of the stuff behind the scenes to do so.
- [ ] Change all algorithms from parse-by-reference to be parse-by-value, i.e. turn the type of their arguments from
const dd&
intodd
. - [ ] Use the
deref()
function indd
to release the shared pointer after the top-down sweep. Then return the reduced output.
Unresolved Questions:
- How do we test the top-down sweeps independently of the bottom-up Reduce sweep?