39
|
1 |
#======================================================================
|
|
2 |
# . I N T E R P . F I L L N A N
|
|
3 |
# doc: Tue Sep 18 16:36:28 2012
|
|
4 |
# dlm: Tue Sep 18 16:43:36 2012
|
|
5 |
# (c) 2012 A.M. Thurnherr
|
|
6 |
# uE-Info: 34 5 NIL 0 0 72 10 2 4 NIL ofnI
|
|
7 |
#======================================================================
|
|
8 |
|
|
9 |
# fill missing with nans
|
|
10 |
|
|
11 |
# HISTORY:
|
|
12 |
# Sep 18, 2012: - adapted from [.interp.nnbr]
|
|
13 |
|
|
14 |
# see [.interp.linear] for documentation of interface
|
|
15 |
|
|
16 |
$IS_opts = "";
|
|
17 |
$IS_optsUsage = "";
|
|
18 |
|
|
19 |
sub IS_usage() {}
|
|
20 |
sub IS_init($$$$) {}
|
|
21 |
|
|
22 |
sub IS_interpolate($$$$$$)
|
|
23 |
{
|
|
24 |
my($bR,$idR,$xf,$xv,$xi,$f) = @_;
|
|
25 |
|
|
26 |
if ($f == $xf) {
|
|
27 |
return $xv;
|
|
28 |
} elsif ($bR->[$xi][$xf] == $xv) {
|
|
29 |
return $bR->[$xi][$f];
|
|
30 |
} elsif ($bR->[$xi+1][$xf] == $xv) {
|
|
31 |
return $bR->[$xi+1][$f];
|
|
32 |
} else {
|
|
33 |
return nan;
|
|
34 |
}
|
|
35 |
}
|
|
36 |
|
|
37 |
1;
|