NumCpp  2.12.1
A Templatized Header Only C++ Implementation of the Python NumPy Library
chebyshev_u.hpp
Go to the documentation of this file.
1
28#pragma once
29
30#ifndef NUMCPP_NO_USE_BOOST
31
32#include "boost/math/special_functions/chebyshev.hpp"
33
36#include "NumCpp/NdArray.hpp"
37
38namespace nc::polynomial
39{
40 //============================================================================
41 // Method Description:
49 template<typename dtype>
50 double chebyshev_u(uint32 n, dtype x)
51 {
53
54 return boost::math::chebyshev_u(n, static_cast<double>(x));
55 }
56
57 //============================================================================
58 // Method Description:
66 template<typename dtype>
68 {
69 NdArray<double> returnArray(inArrayX.shape());
70
71 const auto function = [n](dtype x) -> double { return chebyshev_u(n, x); };
72
73 stl_algorithms::transform(inArrayX.cbegin(), inArrayX.cend(), returnArray.begin(), function);
74
75 return returnArray;
76 }
77} // namespace nc::polynomial
78
79#endif // #ifndef NUMCPP_NO_USE_BOOST
#define STATIC_ASSERT_ARITHMETIC(dtype)
Definition: StaticAsserts.hpp:39
const_iterator cbegin() const noexcept
Definition: NdArrayCore.hpp:1365
const Shape & shape() const noexcept
Definition: NdArrayCore.hpp:4511
const_iterator cend() const noexcept
Definition: NdArrayCore.hpp:1673
iterator begin() noexcept
Definition: NdArrayCore.hpp:1315
Definition: chebyshev_t.hpp:39
double chebyshev_u(uint32 n, dtype x)
Definition: chebyshev_u.hpp:50
NdArray< double > chebyshev_u(uint32 n, const NdArray< dtype > &inArrayX)
Definition: chebyshev_u.hpp:67
OutputIt transform(InputIt first, InputIt last, OutputIt destination, UnaryOperation unaryFunction)
Definition: StlAlgorithms.hpp:775
std::uint32_t uint32
Definition: Types.hpp:40