.interp.fillnan
author Andreas Thurnherr <ant@ldeo.columbia.edu>
Mon, 13 Apr 2020 11:06:22 -0400
changeset 40 c1803ae2540f
parent 39 56bdfe65a697
permissions -rw-r--r--
.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
39
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
     1
#======================================================================
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
     2
#                    . I N T E R P . F I L L N A N 
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
     3
#                    doc: Tue Sep 18 16:36:28 2012
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
     4
#                    dlm: Tue Sep 18 16:43:36 2012
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
     5
#                    (c) 2012 A.M. Thurnherr
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
     6
#                    uE-Info: 34 5 NIL 0 0 72 10 2 4 NIL ofnI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
     7
#======================================================================
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
     8
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
     9
# fill missing with nans
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    10
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    11
# HISTORY:
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    12
#	Sep 18, 2012: - adapted from [.interp.nnbr]
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    13
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    14
# see [.interp.linear] for documentation of interface
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    15
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    16
$IS_opts = "";
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    17
$IS_optsUsage = "";
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    18
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    19
sub IS_usage() {}
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    20
sub IS_init($$$$) {}
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    21
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    22
sub IS_interpolate($$$$$$)
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    23
{
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    24
	my($bR,$idR,$xf,$xv,$xi,$f) = @_;
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    25
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    26
	if ($f == $xf) {
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    27
		return $xv;
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    28
    } elsif ($bR->[$xi][$xf] == $xv) {
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    29
		return $bR->[$xi][$f];
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    30
    } elsif ($bR->[$xi+1][$xf] == $xv) {
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    31
		return $bR->[$xi+1][$f];
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    32
	} else {
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    33
		return nan;
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    34
	}
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    35
}
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    36
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    37
1;