iterative-solver 0.0
molpro::linalg::itsolv::detail::eigenvalue_order< real_type > Struct Template Reference

Orders eigenvalues by non-descending real part, then by imaginary part. More...

#include <helper-implementation.h>

Detailed Description

template<typename real_type>
struct molpro::linalg::itsolv::detail::eigenvalue_order< real_type >

Orders eigenvalues by non-descending real part, then by imaginary part.

The magnitude of the imaginary part is compared before its sign so that distinct complex pairs sharing a real part stay together, and the two members of a pair come out in a fixed order.

Public Member Functions

bool operator() (const std::complex< real_type > &lhs, const std::complex< real_type > &rhs) const
 

Member Function Documentation

◆ operator()()

template<typename real_type >
bool molpro::linalg::itsolv::detail::eigenvalue_order< real_type >::operator() ( const std::complex< real_type > &  lhs,
const std::complex< real_type > &  rhs 
) const
inline