// 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}}
