Main Page | Class Hierarchy | Alphabetical List | Data Structures | File List | Data Fields | Globals

rtmrag1rtiwt_.F

Go to the documentation of this file.
00001 c rtmrag1rtiwt_.F
00002 
00003 c*********************************************************************
00004 c*      (c) Copyright 1994-2002 David A. Richie.  All rights reserved.
00005 c*********************************************************************
00006 c*              Created:                Jun 19, 2000
00007 c*              Last Modified:          Aug 19, 2001
00008 c*********************************************************************
00009 
00010         subroutine rtmrag1rtiwt(
00011      &     Msize
00012      &     ,mmax
00013      &     ,mrastep,mracoef
00014      &     ,data
00015      &     )
00016 
00017 c       ****************************************
00018 c       ***** COMMON BLOCKS AND PARAMETERS *****
00019 c       ****************************************
00020 
00021         real H00,H10,H11
00022         parameter(H00=0.70710678118654752440)
00023         parameter(H10=-0.61237243569579452455)
00024         parameter(H11=0.35355339059327376220)
00025 
00026 c       *******************************
00027 c       ***** VARIABLES EXCHANGED *****
00028 c       *******************************
00029 
00030         integer Msize
00031         integer mmax
00032         integer mrastep
00033         real mracoef(0:1,0:1,0:Msize-1)
00034         real data
00035 
00036 c       ****************************
00037 c       ***** LOCAL VARIABLES ******
00038 c       ****************************
00039 
00040         integer itmp
00041         integer imcycle
00042         integer m
00043         real tmpold,tmps,tmpw
00044 
00045 c       ******************************
00046 c       ***** EXTERNAL FUNCTIONS *****
00047 c       ******************************
00048 
00049         mrastep=mrastep+1
00050 
00051         itmp=ishft(1,mmax)-1
00052 
00053         itmp=itmp-iand(itmp,mrastep)
00054 
00055         imcycle=0
00056 
00057         do while (btest(itmp,imcycle).and.(imcycle.lt.mmax))
00058            imcycle=imcycle+1
00059         enddo
00060 
00061         m=imcycle
00062 
00063         if (m.lt.mmax) then
00064 c          mracoef(0,m)=(mracoef(0,m+1)-mracoef(1,m+1))*ISQRT2
00065            mracoef(0,0,m)=H00*mracoef(0,0,m+1)-H10*mracoef(1,0,m+1)
00066      &                   -H11*mracoef(0,1,m+1)
00067            mracoef(1,0,m)=H11*mracoef(1,0,m+1)-H10*mracoef(0,1,m+1)
00068      &                   -H00*mracoef(1,1,m+1)
00069         endif
00070 
00071         m=m-1
00072 
00073         do while (m.ge.0)
00074 c          mracoef(0,m)=(mracoef(0,m+1)+mracoef(1,m+1))*ISQRT2
00075            mracoef(0,0,m)=H00*mracoef(0,0,m+1)+H10*mracoef(1,0,m+1)
00076      &                   +H11*mracoef(0,1,m+1)
00077            mracoef(1,0,m)=H11*mracoef(1,0,m+1)-H10*mracoef(0,1,m+1)
00078      &                   +H00*mracoef(1,1,m+1)
00079            m=m-1
00080         enddo
00081 
00082         data=mracoef(0,0,0)
00083 
00084         return
00085         end
00086 c********************************************************

Generated on Mon May 31 21:38:52 2004 for SR2k4 Assembler by doxygen 1.3.6