Update the balanced tree to use the new kernel data layout
- Whitespace cleaning - Divide the FCostCell inner data layout into two sub-types: multipole_t and local_expansion_t. Two class attribute are accessible through the `getMultipoledata` and `getLocalExpansionData` methods. Define the optional symbolic_data_t type to store the cost of each operator. - Change FMM operators signature to take advantage of the new layout. The operators only take as parameters the data they may need instead of the whole cell. For instance (simplified): void M2M(CellClass* parent, CellClass** children); becomes void M2M(multipole_t* parent_m, symbolic_data_t* parent_s, multipole_t** children_ms, symbolic_data_t* children_ss); - Update the balanced algorithm to use the new interface.
Showing with 341 additions and 226 deletions