iir2d(3F)

SIIR2D, DIIR2D, CIIR2D, ZIIR2D - 2D Convolution in the time domain.

As shipped in IRIX 6.5.30. Unchanged since IRIX 6.5.

NAME
     SIIR2D, DIIR2D, CIIR2D, ZIIR2D - 2D Convolution in the time domain.

FORTRAN SPECIFICATION
     subroutine SIIR2D( f, incf, ldf, ifx0, n_fx, ify0, n_fy,
                        g, incg, ldg, igx0, n_gx, igy0, n_gy,
                        h, inch, ldh, ihx0, n_hx, ihy0, n_hy )
     integer            incf, ldf, ifx0, n_fx, ify0, n_fy
                        incg, ldg, igx0, n_gx, igy0, n_gy
                        inch, ldh, ihx0, n_hx, ihy0, n_hy
     real               f(ldf,*), g(ldg,*), h(ldh,*)

     subroutine DIIR2D( f, incf, ldf, ifx0, n_fx, ify0, n_fy,
                        g, incg, ldg, igx0, n_gx, igy0, n_gy,
                        h, inch, ldh, ihx0, n_hx, ihy0, n_hy )
     integer            incf, ldf, ifx0, n_fx, ify0, n_fy
                        incg, ldg, igx0, n_gx, igy0, n_gy
                        inch, ldh, ihx0, n_hx, ihy0, n_hy
     double precision   f(ldf,*), g(ldg,*), h(ldh,*)

     subroutine CIIR2D( f, incf, ldf, ifx0, n_fx, ify0, n_fy,
                        g, incg, ldg, igx0, n_gx, igy0, n_gy,
                        h, inch, ldh, ihx0, n_hx, ihy0, n_hy )
     integer            incf, ldf, ifx0, n_fx, ify0, n_fy
                        incg, ldg, igx0, n_gx, igy0, n_gy
                        inch, ldh, ihx0, n_hx, ihy0, n_hy
     complex            f(ldf,*), g(ldg,*), h(ldh,*)

     subroutine ZIIR2D( f, incf, ldf, ifx0, n_fx, ify0, n_fy,
                        g, incg, ldg, igx0, n_gx, igy0, n_gy,
                        h, inch, ldh, ihx0, n_hx, ihy0, n_hy )
     integer            incf, ldf, ifx0, n_fx, ify0, n_fy
                        incg, ldg, igx0, n_gx, igy0, n_gy
                        inch, ldh, ihx0, n_hx, ihy0, n_hy
     double complex     f(ldf,*), g(ldg,*), h(ldh,*)


C SPECIFICATION
     #include <conv.h>

     void siir2d( float *f, int incf, int lsf, int ifx0, int n_fx,
                  int ify0, int n_fy,
                  float *g, int incg, int ldg, int igx0, int n_gx,
                  int igy0, int n_gy,
                  float *h, int inch, int ldh, int ihx0, int n_hx,
                  int ihy0, int n_hy )

     void diir2d( double *f, int incf, int ldf, int ifx0, int n_fx,
                  int ify0, int n_fy,
                  double *g, int incg, int ldg, int igx0, int n_gx,
                  int igy0, int n_gy,
                  double *h, int inch, int ldh, int ihx0, int n_hx,
                  int ihy0, int n_hy )

     void ciir2d( complex *f, int incf, int ldf, int ifx0, int n_fx,
                  int ify0, int n_fy,
                  complex *g, int incg, int ldg, int igx0, int n_gx,
                  int igy0, int n_gy,
                  complex *h, int inch, int ldh, int ihx0, int n_hx,
                  int ihy0, int n_hy )

     void ziir2d( zomplex *f, int incf, int ldf, int ifx0, int n_fx,
                  int ify0, int n_fy,
                  zomplex *g, int incg, int ldg, int igx0, int n_gx,
                  int igy0, int n_gy,
                  zomplex *h, int inch, int ldh, int ihx0, int n_hx,
                  int ihy0, int n_hy )



DESCRIPTION
     SIIR2D, DIIR2D, CIIR2D and ZIIR2D compute a 2D convolution in the time
     domain:

        h(i,j) = beta * h(i,j) + alpha * Sum.Sum[ f(k,l) * g(i-k,j-l) ]



PARAMETERS
     f       Vector containing sequence "f"

     incf    Increment between two successive lines   of "f"

     ldf     Increment between two successive columns of "f"

     ifx0    Index of the first element of each column of "f"

     n_fx    Number of elements (lines) of each column of "f"

     ify0    Index of the first column of "f"

     n_fy    Index of the  last column of "f"


     g       Vector containing sequence "g"

     incg    Increment between two successive lines   of "g"

     ldg     Increment between two successive columns of "g"

     igx0    Index of the first element of each column of "g"

     n_gx    Number of elements (lines) of each column of "g"

     igy0    Index of the first column of "g"

     n_gy    Index of the  last column of "g"


     h       Vector containing sequence "h"

     inch    Increment between two successive lines   of "h"

     ldh     Increment between two successive columns of "h"

     ihx0    Index of the first element of each column of "h"

     n_hx    Number of elements (lines) of each column of "h"

     ihy0    Index of the first column of "h"

     n_hy    Index of the  last column of "h"



IMPORTANT NOTE:
           The array pointers must all point to the first element of the
           array "(ifx0,ify0)", "(igx0,igy0)" and "(ihx0,ihy0)". If "f"
           for example is defined as
                dimension f(-25:45,10:21)
           Then "diir2d" must be called with the following parameters
                call diir2d( f(-25,10),(45-(-25)+1),-25,45,10,21 ... )


AUTHORS
          Jean-Pierre Panziera, 1/12/93.