DEFINITION MODULE MatInterpol;
  (*******************************************************************
    Module  MatInterpol     (Version 1.0)
      Copyright (c) 1990-2006 by Olivier Roth, Andreas Fischlin and
      ETH Zurich.
    Purpose   Interpolation in 2D and 1D tables.
    Remarks   This module is part of the Mat-library, which forms
              part of the RAMSES package.
    Programming
      o Design
        Olivier Roth              14/05/1990
        Andreas Fischlin          28/05/1993
      o Implementation
        Olivier Roth              14/05/1990
        Andreas Fischlin          28/05/1993
    ETH Zurich
    Systems Ecology
    CHN E 35.1
    Universitaetstrasse 16
    8092 Zurich
    SWITZERLAND
    URLs:
        <mailto:RAMSES@env.ethz.ch>
        <http://www.sysecol.ethz.ch>
        <http://www.sysecol.ethz.ch/SimSoftware/RAMSES>
    Last revision of definition:  28/05/1993  AF
  *******************************************************************)
  FROM Matrices IMPORT Matrix;
  PROCEDURE YI ( m: Matrix;  x: REAL ): REAL;
  (* returns linearly interpolated value between adjacent points
  given by the elements of 1-d m closest to x *)
  PROCEDURE YIE( m: Matrix;  x: REAL ): REAL;
  (* like YI, but does also extrapolate *)
  PROCEDURE ZI ( m: Matrix;  x,y: REAL ): REAL;
  (* returns linearly interpolated value between adjacent points
  given by the elements of 2-d m closest to point x,y *)
  PROCEDURE ZIE( m: Matrix;  x,y: REAL ): REAL;
  (* like ZI, but does also extrapolate *)
END MatInterpol.