// output of ./demo/fft/butterfly-texpic-demo.cc: // Description: //% TeX picture of dataflow for radix-2 fast transforms (butterfly diagram). arg 1: 4 == ldn [length of tranform == 2**ldn] default=4 arg 2: 1 == wh [what to produce: 1==> Walsh radix-2 DIF (same as radix-2 DIF FFT) 2==> Walsh-gray] default=1 %% additions: \linethickness{0.4mm} % ldm=1 \put(18,4){ldm=1} \put(0,3){\vector(0,1){2}} \put(0,3){\vector(447,894){1}} \put(1,3){\vector(-447,894){1}} \put(-0.2,2.5){0} \put(0.8,2.5){1} \put(2,3){\vector(0,1){2}} \put(2,3){\vector(447,894){1}} \put(3,3){\vector(-447,894){1}} \put(1.8,2.5){2} \put(2.8,2.5){3} \put(4,3){\vector(0,1){2}} \put(4,3){\vector(447,894){1}} \put(5,3){\vector(-447,894){1}} \put(3.8,2.5){4} \put(4.8,2.5){5} \put(6,3){\vector(0,1){2}} \put(6,3){\vector(447,894){1}} \put(7,3){\vector(-447,894){1}} \put(5.8,2.5){6} \put(6.8,2.5){7} \put(8,3){\vector(0,1){2}} \put(8,3){\vector(447,894){1}} \put(9,3){\vector(-447,894){1}} \put(7.8,2.5){8} \put(8.8,2.5){9} \put(10,3){\vector(0,1){2}} \put(10,3){\vector(447,894){1}} \put(11,3){\vector(-447,894){1}} \put(9.8,2.5){10} \put(10.8,2.5){11} \put(12,3){\vector(0,1){2}} \put(12,3){\vector(447,894){1}} \put(13,3){\vector(-447,894){1}} \put(11.8,2.5){12} \put(12.8,2.5){13} \put(14,3){\vector(0,1){2}} \put(14,3){\vector(447,894){1}} \put(15,3){\vector(-447,894){1}} \put(13.8,2.5){14} \put(14.8,2.5){15} % ldm=2 \put(18,7){ldm=2} \put(0,6){\vector(0,1){2}} \put(0,6){\vector(706,706){2}} \put(2,6){\vector(-706,706){2}} \put(-0.2,5.5){0} \put(1.8,5.5){2} \put(4,6){\vector(0,1){2}} \put(4,6){\vector(706,706){2}} \put(6,6){\vector(-706,706){2}} \put(3.8,5.5){4} \put(5.8,5.5){6} \put(8,6){\vector(0,1){2}} \put(8,6){\vector(706,706){2}} \put(10,6){\vector(-706,706){2}} \put(7.8,5.5){8} \put(9.8,5.5){10} \put(12,6){\vector(0,1){2}} \put(12,6){\vector(706,706){2}} \put(14,6){\vector(-706,706){2}} \put(11.8,5.5){12} \put(13.8,5.5){14} \put(1,6){\vector(0,1){2}} \put(1,6){\vector(706,706){2}} \put(3,6){\vector(-706,706){2}} \put(0.8,5.5){1} \put(2.8,5.5){3} \put(5,6){\vector(0,1){2}} \put(5,6){\vector(706,706){2}} \put(7,6){\vector(-706,706){2}} \put(4.8,5.5){5} \put(6.8,5.5){7} \put(9,6){\vector(0,1){2}} \put(9,6){\vector(706,706){2}} \put(11,6){\vector(-706,706){2}} \put(8.8,5.5){9} \put(10.8,5.5){11} \put(13,6){\vector(0,1){2}} \put(13,6){\vector(706,706){2}} \put(15,6){\vector(-706,706){2}} \put(12.8,5.5){13} \put(14.8,5.5){15} % ldm=3 \put(18,10){ldm=3} \put(0,9){\vector(0,1){2}} \put(0,9){\vector(894,447){4}} \put(4,9){\vector(-894,447){4}} \put(-0.2,8.5){0} \put(3.8,8.5){4} \put(8,9){\vector(0,1){2}} \put(8,9){\vector(894,447){4}} \put(12,9){\vector(-894,447){4}} \put(7.8,8.5){8} \put(11.8,8.5){12} \put(1,9){\vector(0,1){2}} \put(1,9){\vector(894,447){4}} \put(5,9){\vector(-894,447){4}} \put(0.8,8.5){1} \put(4.8,8.5){5} \put(9,9){\vector(0,1){2}} \put(9,9){\vector(894,447){4}} \put(13,9){\vector(-894,447){4}} \put(8.8,8.5){9} \put(12.8,8.5){13} \put(2,9){\vector(0,1){2}} \put(2,9){\vector(894,447){4}} \put(6,9){\vector(-894,447){4}} \put(1.8,8.5){2} \put(5.8,8.5){6} \put(10,9){\vector(0,1){2}} \put(10,9){\vector(894,447){4}} \put(14,9){\vector(-894,447){4}} \put(9.8,8.5){10} \put(13.8,8.5){14} \put(3,9){\vector(0,1){2}} \put(3,9){\vector(894,447){4}} \put(7,9){\vector(-894,447){4}} \put(2.8,8.5){3} \put(6.8,8.5){7} \put(11,9){\vector(0,1){2}} \put(11,9){\vector(894,447){4}} \put(15,9){\vector(-894,447){4}} \put(10.8,8.5){11} \put(14.8,8.5){15} % ldm=4 \put(18,13){ldm=4} \put(0,12){\vector(0,1){2}} \put(0,12){\vector(969,242){8}} \put(8,12){\vector(-969,242){8}} \put(-0.2,11.5){0} \put(7.8,11.5){8} \put(1,12){\vector(0,1){2}} \put(1,12){\vector(969,242){8}} \put(9,12){\vector(-969,242){8}} \put(0.8,11.5){1} \put(8.8,11.5){9} \put(2,12){\vector(0,1){2}} \put(2,12){\vector(969,242){8}} \put(10,12){\vector(-969,242){8}} \put(1.8,11.5){2} \put(9.8,11.5){10} \put(3,12){\vector(0,1){2}} \put(3,12){\vector(969,242){8}} \put(11,12){\vector(-969,242){8}} \put(2.8,11.5){3} \put(10.8,11.5){11} \put(4,12){\vector(0,1){2}} \put(4,12){\vector(969,242){8}} \put(12,12){\vector(-969,242){8}} \put(3.8,11.5){4} \put(11.8,11.5){12} \put(5,12){\vector(0,1){2}} \put(5,12){\vector(969,242){8}} \put(13,12){\vector(-969,242){8}} \put(4.8,11.5){5} \put(12.8,11.5){13} \put(6,12){\vector(0,1){2}} \put(6,12){\vector(969,242){8}} \put(14,12){\vector(-969,242){8}} \put(5.8,11.5){6} \put(13.8,11.5){14} \put(7,12){\vector(0,1){2}} \put(7,12){\vector(969,242){8}} \put(15,12){\vector(-969,242){8}} \put(6.8,11.5){7} \put(14.8,11.5){15} %% subtractions: \linethickness{0.2mm} % ldm=1 \put(1,3){\vector(0,1){2}} \put(3,3){\vector(0,1){2}} \put(5,3){\vector(0,1){2}} \put(7,3){\vector(0,1){2}} \put(9,3){\vector(0,1){2}} \put(11,3){\vector(0,1){2}} \put(13,3){\vector(0,1){2}} \put(15,3){\vector(0,1){2}} % ldm=2 \put(2,6){\vector(0,1){2}} \put(6,6){\vector(0,1){2}} \put(10,6){\vector(0,1){2}} \put(14,6){\vector(0,1){2}} \put(3,6){\vector(0,1){2}} \put(7,6){\vector(0,1){2}} \put(11,6){\vector(0,1){2}} \put(15,6){\vector(0,1){2}} % ldm=3 \put(4,9){\vector(0,1){2}} \put(12,9){\vector(0,1){2}} \put(5,9){\vector(0,1){2}} \put(13,9){\vector(0,1){2}} \put(6,9){\vector(0,1){2}} \put(14,9){\vector(0,1){2}} \put(7,9){\vector(0,1){2}} \put(15,9){\vector(0,1){2}} % ldm=4 \put(8,12){\vector(0,1){2}} \put(9,12){\vector(0,1){2}} \put(10,12){\vector(0,1){2}} \put(11,12){\vector(0,1){2}} \put(12,12){\vector(0,1){2}} \put(13,12){\vector(0,1){2}} \put(14,12){\vector(0,1){2}} \put(15,12){\vector(0,1){2}}