Restructure response interface
The response interface of everybeam computes the response for a single frequency at a time. This precludes further optimizations. In this merge request we change the interface to accept a list of frequencies. The frequencies are provided as a std::span (from C++20), which avoids allocations.
The computed values are returned through a pointer function parameter, for which the caller is responsible of allocating. Returning a vector would cause extra allocations.
Compatibility functions are provided that provide the old "single frequency" interface. As a result, Dp3 and WSClean compile without issue after C++20 is enabled in those code bases.
Edited by Andre Offringa