47 template<
typename dtype>
48 constexpr
double interp(dtype inValue1, dtype inValue2,
double inPercent) noexcept
71 template<
typename dtype>
80 if (inX.
min().item() < inXp.
min().item() || inX.
max().item() > inXp.
max().item())
90 for (
auto sortedXpIdx : sortedXpIdxs)
92 sortedXp[counter] = inXp[sortedXpIdx];
93 sortedFp[counter++] = inFp[sortedXpIdx];
103 while (currXidx < sortedX.
size())
105 if (sortedXp[currXpIdx] <= sortedX[currXidx] && sortedX[currXidx] <= sortedXp[currXpIdx + 1])
107 const double percent =
static_cast<double>(sortedX[currXidx] - sortedXp[currXpIdx]) /
108 static_cast<double>(sortedXp[currXpIdx + 1] - sortedXp[currXpIdx]);
109 returnArray[currXidx++] =
utils::interp(sortedFp[currXpIdx], sortedFp[currXpIdx + 1], percent);
#define THROW_INVALID_ARGUMENT_ERROR(msg)
Definition: Error.hpp:36
Holds 1D and 2D arrays, the main work horse of the NumCpp library.
Definition: NdArrayCore.hpp:72
size_type size() const noexcept
Definition: NdArrayCore.hpp:4373
NdArray< dtype > min(Axis inAxis=Axis::NONE) const
Definition: NdArrayCore.hpp:3056
NdArray< dtype > max(Axis inAxis=Axis::NONE) const
Definition: NdArrayCore.hpp:2999
constexpr double interp(double inValue1, double inValue2, double inPercent) noexcept
Definition: Utils/interp.hpp:43
Definition: Coordinate.hpp:45
constexpr double interp(dtype inValue1, dtype inValue2, double inPercent) noexcept
Definition: Functions/interp.hpp:48
NdArray< dtype > sort(const NdArray< dtype > &inArray, Axis inAxis=Axis::NONE)
Definition: sort.hpp:47
NdArray< uint32 > argsort(const NdArray< dtype > &inArray, Axis inAxis=Axis::NONE)
Definition: argsort.hpp:47
std::uint32_t uint32
Definition: Types.hpp:40