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

artmrartwt_.F

Go to the documentation of this file.
00001 c artmrartwt_.F
00002 c*********************************************************************
00003 c*          (c) Copyright 1994-2002 Brown Deer Technology, LLC.
00004 c*                        All rights reserved.
00005 c*********************************************************************
00006 
00007         subroutine artmrartwt(
00008      &     Asize,Msize
00009      &     ,amax,mmax
00010      &     ,mrastep,mracoef
00011      &     ,data
00012      &     )
00013 
00014         implicit none
00015 
00016 c       ****************************************
00017 c       ***** COMMON BLOCKS AND PARAMETERS *****
00018 c       ****************************************
00019 
00020 #include "stormdef.h"
00021         real INVSQRT2
00022         parameter( INVSQRT2 = STORMDEF_MATHCONST_INVSQRT2 )
00023 
00024 c       *******************************
00025 c       ***** VARIABLES EXCHANGED *****
00026 c       *******************************
00027 
00028         integer Asize
00029         integer Msize
00030         integer amax
00031         integer mmax
00032         integer mrastep
00033         real mracoef(0:1,0:Msize-1,0:Asize-1)
00034         real data(0:Asize-1)
00035 
00036 c       ****************************
00037 c       ***** LOCAL VARIABLES ******
00038 c       ****************************
00039 
00040         integer mcycle
00041         integer a
00042         integer m
00043         real tmp,tmpold
00044 
00045 c       ******************************
00046 c       ***** EXTERNAL FUNCTIONS *****
00047 c       ******************************
00048 
00049         mrastep=mrastep+1
00050 
00051         mcycle=0
00052         do while (btest(mrastep,mcycle).and.(mcycle.lt.mmax))
00053            mcycle=mcycle+1
00054         enddo
00055 
00056         do a=0,amax
00057 
00058            tmp=data(a)
00059 
00060            m=1
00061            do while (m.le.mcycle)
00062               tmpold=mracoef(0,m-1,a)
00063               mracoef(0,m-1,a)=tmp
00064               mracoef(1,m,a)=(tmpold-tmp)*INVSQRT2
00065               tmp=(tmpold+tmp)*INVSQRT2
00066               m=m+1
00067            enddo
00068 
00069            mracoef(0,m-1,a)=tmp
00070 
00071         enddo
00072 
00073         return
00074         end
00075 c********************************************************

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