OpenKalman
Namespaces | Functions
make_complex_number.hpp File Reference
#include "values/interface/number_traits.hpp"
#include "values/concepts/number.hpp"
#include "values/concepts/complex.hpp"
#include "values/math/real.hpp"
#include "values/math/imag.hpp"
#include "values/traits/real_type_of_t.hpp"
Include dependency graph for make_complex_number.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 OpenKalman::values::internal
 Definition of utilities for atan functions.
 

Functions

template<typename T , typename Re , typename Im = Re, std::enable_if_t< values::complex< T > and std::is_convertible_v< Re, real_type_of_t< T >> and std::is_convertible_v< Im, real_type_of_t< T >> and values::value< Re > and values::value< Im > and(not values::complex< Re >) and(not values::complex< Im >), int > = 0>
constexpr std::decay_t< T > OpenKalman::values::internal::make_complex_number (Re &&re, Im &&im=0)
 
template<typename T , typename Arg , std::enable_if_t< values::value< T > and values::complex< Arg > and std::is_constructible_v< real_type_of_t< T >, real_type_of_t< Arg >>, int > = 0>
decltype(auto) constexpr OpenKalman::values::internal::make_complex_number (Arg &&arg)
 
template<typename Re , typename Im , std::enable_if_t< values::number< Re > and values::number< Im > and(not values::complex< Re >) and(not values::complex< Im >), int > = 0>
constexpr auto OpenKalman::values::internal::make_complex_number (const Re &re, const Im &im=0)