*
*     ***************
      program genfunc
*     ***************
*
      implicit none
*
*     Nombre maximum de points : max_data
*     Nombre maximum de parametres : max_par
*
      integer		max_data,max_par
*
      parameter		(max_data=2000)
      parameter		(max_par=20)
*
      real*4		madrid(1)
      integer		naxis
      integer		npix(1)
      integer		pntr_out
      integer		no_out
      integer		acts
      integer		kun
      integer		knul
      integer		k_status
      integer		i_status
*
      real		a(max_par)
*
      real*8		start(1)
      real*8		step(1)
*
      character*8	out_ima
      character*64	cunit
      character*72	ident
*
      common/vmr/madrid
*
      call stspro('genfunc')
*
*     Lecture du nom de fichier
*
      call stkrdc('OUT_A',1,1,8,acts,out_ima,kun,knul,k_status)
*
*     Parametres du fichier
*
      naxis=1
      npix(1)=128
      start(1)=-2
      step(1)= 0.31250000000000E-01


*     Parametres de la fonction
*
      a(1)=-0.015
      a(2)=0.015
*
*     Ecriture du fichier resultat
*
      call stiput(out_ima,10,1,1,naxis,npix,start,step,
     +            ident,cunit,pntr_out,no_out,i_status)
      call func(madrid(pntr_out),npix,start,step,a)
      call stfclo(no_out,i_status)
*
*     Fin du programme
*
      call stsepi
*
      stop
      end
*
*     ************************************
      subroutine func(y,npix,start,step,a)
*     ************************************
*
      implicit none
*
*     Nombre maximum de points : max_data
*     Nombre maximum de parametres : max_par
*
      integer		max_data,max_par
*
      parameter		(max_data=2000)
      parameter		(max_par=20)
*
      integer		npix
      integer		i
*
      real		x(max_data)
      real		y(max_data)
      real		a(max_par)
*
      real*8		start(1)
      real*8		step(1)
*
      do 1,i=1,npix
        x(i)=start(1)+(i-1)*step(1)
    1 continue
      do 2,i=1,npix
       y(i)=0
       if(x(i).ge.-0.5.and.x(i).le.0)y(i)=2*x(i)+1
       if(x(i).ge.0.and.x(i).le.0.5)y(i)=-2*x(i)+1
     
    2 continue
      return
      end
*
