.interp.fillnan
changeset 39 56bdfe65a697
equal deleted inserted replaced
38:15c603bc4f70 39:56bdfe65a697
       
     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;