00001 c artmrartjiwt_.F
00002 c*********************************************************************
00003 c* (c) Copyright 1994-2002 Brown Deer Technology, LLC.
00004 c* All rights reserved.
00005 c*********************************************************************
00006
00007 subroutine artmrartjiwt(
00008 & Asize,Msize
00009 & ,amax,mmax
00010 & ,mrastep,mracoef
00011 & ,datavalue
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 datavalue(0:Asize-1)
00035
00036 c ****************************
00037 c ***** LOCAL VARIABLES ******
00038 c ****************************
00039
00040 integer a
00041 integer m
00042
00043 c ******************************
00044 c ***** EXTERNAL FUNCTIONS *****
00045 c ******************************
00046
00047 mrastep=mrastep+1
00048
00049 do a=0,amax
00050 do m = mmax-1, 0, -1
00051 if (btest(mrastep,m)) then
00052 mracoef(0,m,a)=(mracoef(0,m+1,a)-mracoef(1,m+1,a))*INVSQRT2
00053 else
00054 mracoef(0,m,a)=(mracoef(0,m+1,a)+mracoef(1,m+1,a))*INVSQRT2
00055 endif
00056 enddo
00057 datavalue(a)=mracoef(0,0,a)
00058 enddo
00059
00060 return
00061 end
00062 c********************************************************