FFT Multiplication (HP48G/GX/G+)

02162014, 01:51 AM
Post: #25




RE: FFT Multiplication (HP48G/GX/G+)
(02152014 11:53 PM)Gerson W. Barbosa Wrote: It's ok now, thanks! Now I get 22.25 seconds for two 64element arrays, close to what you've reported. Just one more question: does your SysRPL do a List>Array conversion at the end? (I don't understand the code, but it appears to do that from the behavior of your previous compiled program. My latest HP48GX version, as of yesterday, uses lists only once, to do the Hadamard multiplication. This has improved performance significantly. Would it do the same in SysRPL? (Assuming of course your SysRPL version corresponds to the older UserRPL version).The SySRPL version doesn't use lists for the array/vector at all. Starting after the 2nd fft call the result vector is dissolved during the multiplication loop. After that loop the input vector for the ifft call is generated via XEQ>VEC. After the ifft call the result vector is dissolved again during the rounding/cutting loop. Following that loop, the stack contains a meta object of sizeA+sizeB entries (SysRPL version). The final loop always works on the first two stack levels (elements n and n+1) of the meta object, and finally rotates out the level 1 ob. Since the meta ob will be worked on from the end to the front, one final rotation is needed after the loop to retain the correct order of elements. The conversion to a vector at the end of the program takes about 81ms for a 256 elements meta ob, so that's rather negligible. Cheers  Ray 

« Next Oldest  Next Newest »

User(s) browsing this thread: 1 Guest(s)