nk 1.0.0
C++ Numerical Computing Runtime
Loading...
Searching...
No Matches

NaN-aware reductions. More...

#include <memory_resource>
#include <nk/value/value.hpp>

Go to the source code of this file.

Functions

Value nk::stats::nansum (const Value &x, int dim=0, std::pmr::memory_resource *mr=nullptr)
 NaN-aware sum along dim (y = nansum(x, dim)).
Value nk::stats::nanmean (const Value &x, int dim=0, std::pmr::memory_resource *mr=nullptr)
 NaN-aware mean along dim (y = nanmean(x, dim)).
Value nk::stats::nanmax (const Value &x, int dim=0, std::pmr::memory_resource *mr=nullptr)
 NaN-aware maximum along dim (y = nanmax(x, dim)).
Value nk::stats::nanmin (const Value &x, int dim=0, std::pmr::memory_resource *mr=nullptr)
 NaN-aware minimum along dim (y = nanmin(x, dim)).
Value nk::stats::nanvar (const Value &x, int normFlag=0, int dim=0, std::pmr::memory_resource *mr=nullptr)
 NaN-aware variance (y = nanvar(x, normFlag, dim)).
Value nk::stats::nanstdev (const Value &x, int normFlag=0, int dim=0, std::pmr::memory_resource *mr=nullptr)
 NaN-aware standard deviation (y = nanstdev(x, normFlag, dim)).
Value nk::stats::nanmedian (const Value &x, int dim=0, std::pmr::memory_resource *mr=nullptr)
 NaN-aware median along dim (y = nanmedian(x, dim)).
Value nk::stats::nancov (const Value &x, int normFlag=0, std::pmr::memory_resource *mr=nullptr)
 NaN-aware covariance matrix (C = nancov(X [, normFlag])).
Value nk::stats::nancov (const Value &x, const Value &y, int normFlag=0, std::pmr::memory_resource *mr=nullptr)
 NaN-aware covariance from two vectors (C = nancov(x, y)).

Detailed Description

NaN-aware reductions.

All-NaN slice handling:

  • nansum → returns 0 (NaN is the additive identity)
  • all others → return NaN (no defined value when nothing is observed)

For partial-NaN slices, NaN entries are skipped and the count of valid observations becomes the divisor for nanmean / nanvar / nanstd.

Definition in file nan_aware.hpp.