adiar icon indicating copy to clipboard operation
adiar copied to clipboard

Remove `__dd` Class in Public API

Open SSoelvsten opened this issue 2 years ago • 0 comments

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& into dd.
  • [ ] Use the deref() function in dd to release the shared pointer after the top-down sweep. Then return the reduced output.

Unresolved Questions:

  1. How do we test the top-down sweeps independently of the bottom-up Reduce sweep?

SSoelvsten avatar Dec 19 '22 09:12 SSoelvsten