Create DCRTPolyInterface
-
Create pure abstract class DCRTPolyInterface
,- This should be a copy of dcrtpoly.h and make all methods pure virtual, (maybe some can have implementations but likely not many as no assumptions about data structures can be made)
- Should also inherit from ILElement<T1, T2> (publicly).
-
Make DCRTPolyImpl
inherit fromDCRTPolyInterface
-
Confirm all unittest pass, and submit MR Merge Request !340 (merged) -
Create an example derived class for HEXL & remove the HEXL specific code from DCRTPolyImpl<> -
Test switching DCRTPoly form DCRTPolyImpl<> to the HEXL example class.
We changed course so that we could be more flexible about data structures. E.g. DCRTPolyImpl's main data is std::vector<PolyImpl<NativeVector>>
however to achieve maxmium performance maybe a different data structure would be needed.
I have a demo example of how to inherit from DCRTPolyImpl in my personal scratch repo link
Edited by Jonathan Saylor