PDL::Bad#

📦 stdpdl

Synopsis#

use PDL;
my $a = pdl [1, 2, 3];
$a->badflag(1);
$a->set(1, $a->badvalue);
print $a->nbad, "\n";      # 1
print $a->ngood, "\n";     # 2

Functions#

Other Functions#

setvaltobad#

setvaltobad($pdl, $val) — set elements equal to $val as bad. Upstream Bad.pd:625. Same signature as setbadtoval: pdl_run_setvaltobad(a, b, value). Engine restored 2026-04-19. Honours PDL_INPLACE so $x->inplace->setvaltobad(1) mutates $x.

setbadtoval#

setbadtoval($pdl, $val) — replace bad values with $val.

badmask#

badmask($pdl, $replacement) — replace bad values with $replacement.

setbadat#

setbadat($pdl, @indices) — set element at given indices to the bad value and enable the badflag.

setinftobad#

setinftobad($pdl) — set Inf/-Inf elements to bad value, enable badflag. Returns a new pdl (or modifies inplace if inplace flag set).

setnonfinitetobad#

setnonfinitetobad($pdl) — set NaN and Inf/-Inf elements to bad value, enable badflag. Returns a new pdl (or modifies inplace if inplace flag set). Combines setnantobad and setinftobad behavior.

isfinite#

isfinite($pdl) — returns a PDL of 1s for finite values, 0s for NaN/Inf/bad. Mirrors PDL::Bad::isfinite.