cyqlone develop
Fast, parallel and vectorized solver for linear systems with optimal control structure.
Loading...
Searching...
No Matches
algorithms.hpp File Reference
#include <cyqlone/config.hpp>
#include <batmat/assume.hpp>
#include <guanaqo/trace.hpp>
#include <algorithm>
#include <iterator>
#include <numeric>
#include <ranges>

Go to the source code of this file.

Namespaces

namespace  cyqlone
namespace  cyqlone::qpalm

Functions

template<class R, class F>
static void cyqlone::qpalm::sort (R &&range, F key)
template<class R, class I, class F>
static void cyqlone::qpalm::nth_element (R &&range, I mid, F key)
template<std::ranges::bidirectional_range R, class F, class C>
static std::ranges::subrange< std::ranges::iterator_t< R > > cyqlone::qpalm::partition_min (R &&range, F pred, C cmp)
 A variant of std::ranges::partition where the first element of the return value is the smallest element of the "false" partition.
template<std::ranges::forward_range R, class F>
static decltype(auto) cyqlone::qpalm::partition (R &&range, F key)
template<std::permutable I, std::sentinel_for< I > S, class F>
static decltype(auto) cyqlone::qpalm::partition (I first, S last, F key)
template<class R, class F>
static decltype(auto) cyqlone::qpalm::min_element (R &&range, F key)
template<class I, class T, class BinOp, class UnOp>
cyqlone::qpalm::transform_reduce (I first, I last, T init, BinOp binary_op, UnOp unary_op)