4.3BSD/usr/contrib/apl/lib/fn/dft

z { w dft x;d;e;f;g;h;i;j;k;l;y
d { ' 0123456789.`'
}(V/w#Dw{,w+(h{0)Ml{1<RRx)/dfterr+0Mf{2
hr1: }(3 2 1 <RRx)/(dfterr+f{0), 2 3 +hr1
hr2: }(RRRx{((V/ 1 2 =Rw)O| 1 2)O\(1,R,x)Rx)/2+hr2
x { (0 1 1 /Rx)Rx
hr3: }((^/(Rw)# 1 2 ,2Me{1RO|Rx),1#Rw)/(dfterrMf{1),3+hr3
i { 1+S/0,,D10O*|x+1>|x
w { (2+i+w+(w#0)+V/,x<0),w
}(V/2>-/[1] w{O\(e,2)Rw)/dfterr+0Mf{2
z { ((k{1RRx),+/w[1;])R' '
x { j-1|j{0.5+xM10*(Rx)Rw[2;]
dftlp: }(e<h{h+1)/dftend
j { 1 + O\ ((i{w[1;h])R10)N |y{x[;h]
j { (,j)Mg{,O\(O|Rj)R(,O\(j#1)V.^(Ii)J.$Ii-f+1),(kM1+f{w[2;h])R1
hr4: }(^/0$y)/2+hr4
j[(i-+/(k,i)Rg)+iM`1+Ik]{12My<0
j { (k,i)Rj
hr5: }(0=f)/3+hr5
j { j[;(1O|Ig),(g{-/w[;h])+If]
j[;g] { 11
 }dftlpMRRRz[;(+/w[1;Ih-1])+Ii]{d[1+j]
dftend: }l/0
 }0MRz{,z
dfterr: 'dft ',(3 6 R' rank lengthdomain')[f+1;],' problem.'