Modernize PatForward
- replace AUTO_RETURN macro with C++14 decltype(auto) return value deduction
- replace make_... functions with class template argument deduction
- replace plain owning pointers with std::unique_ptr
- use std::invoke to generically invoke callables
- pick SIMD vector size depending on AVX512F, AVX and SSE pre-processer flags
- use std::inner_product instead of explicitly writing out an unrolled inner product
- replace custom index_sequence implementation with std::index_sequence
Edited by Marco Cattaneo