kyosu v0.1.0
Complex Without Complexes
 
Loading...
Searching...
No Matches

◆ acoth

kyosu::acoth = eve::functor<acoth_t>
inlineconstexpr

Computes the inverse hyperbolic cotangent of the argument.

Header file

#include <kyosu/functions.hpp>

Callable Signatures

namespace kyosu
{
template<eve::floating_ordered_value T> constexpr auto acoth(T z) noexcept; //1
template<kyosu::concepts::complex T> constexpr auto acoth(T z) noexcept; //2
template<kyosu::concepts::cayley_dickson T> constexpr auto acoth(T z) noexcept; //3
}
constexpr auto acoth
Computes the inverse hyperbolic cotangent of the argument.
Definition: acoth.hpp:75
Main KYOSU namespace.
Definition: cinf.hpp:13

Parameters

  • z: Value to process.

Return value

  1. a real typed input z is treated as if complex(z) was entered.
  2. Returns elementwise the complex principal value of the inverse hyperbolic cotangent of the input as the inverse hyperbolic tangent of the inverse of the input.
  3. Returns \(I_z \mathrm{acot}(z I_z)\) where \(I_z = \frac{\underline{z}}{|\underline{z}|}\) and \(\underline{z}\) is the pure part of \(z\).

External references

Example

#include <kyosu/kyosu.hpp>
#include <eve/wide.hpp>
#include <iostream>
int main()
{
using wide_ft = eve::wide <float, eve::fixed<4>>;
wide_ft ref1 = { 3.0f, 2.0f, 1.0f, 0.5f};
wide_ft imf1 = { 2.0f , -1.0, -5.0, 0.0};
wide_ft ref2 = { 0.0, 1.0, 2.0, 3.0};
auto zc = kyosu::complex_t<wide_ft>(ref1, imf1);
std::cout
<< "---- simd" << std::endl
<< "<- zc = " << zc << std::endl
<< "-> acoth(zc) = " << kyosu::acoth(zc)<< std::endl
<< "-> acoth(ref2) = " << kyosu::acoth(ref2) << std::endl;
return 0;
}
as_cayley_dickson_n_t< 2, T > complex_t
Type alias for complex numbers.
Definition: complex.hpp:27