subroutine dradf3 (ido,l1,cc,ch,wa1,wa2) double precision cc(ido,l1,3), ch(ido,3,l1), wa1(1), wa2(1), 1 ci2, cr2, di2, di3, dr2, dr3, taui, taur, ti2, ti3, tr2, tr3 data taur / -0.5 d0 / data taui / 0.8660254037 8443864676 3723170752 93618d0/ c do 101 k=1,l1 cr2 = cc(1,k,2)+cc(1,k,3) ch(1,1,k) = cc(1,k,1)+cr2 ch(1,3,k) = taui*(cc(1,k,3)-cc(1,k,2)) ch(ido,2,k) = cc(1,k,1)+taur*cr2 101 continue c if (ido .eq. 1) return idp2 = ido+2 do 103 k=1,l1 do 102 i=3,ido,2 ic = idp2-i dr2 = wa1(i-2)*cc(i-1,k,2)+wa1(i-1)*cc(i,k,2) di2 = wa1(i-2)*cc(i,k,2)-wa1(i-1)*cc(i-1,k,2) dr3 = wa2(i-2)*cc(i-1,k,3)+wa2(i-1)*cc(i,k,3) di3 = wa2(i-2)*cc(i,k,3)-wa2(i-1)*cc(i-1,k,3) cr2 = dr2+dr3 ci2 = di2+di3 ch(i-1,1,k) = cc(i-1,k,1)+cr2 ch(i,1,k) = cc(i,k,1)+ci2 tr2 = cc(i-1,k,1)+taur*cr2 ti2 = cc(i,k,1)+taur*ci2 tr3 = taui*(di2-di3) ti3 = taui*(dr3-dr2) ch(i-1,3,k) = tr2+tr3 ch(ic-1,2,k) = tr2-tr3 ch(i,3,k) = ti2+ti3 ch(ic,2,k) = ti3-ti2 102 continue 103 continue c return end