.PS # ex16.m4 cct_init [ define(`elen_',linewid*1.2) circlerad = delay_rad_ {"\sl input" above ljust} line right_ J: Here delay K: Here delay L: Here S1: circle "$+$" at (K.x,K.y+linewid) S2: circle "$+$" at (L,S1) arrow up_ S1.y-J.y from J then to S1.w arrow from K to S1.s arrow from S1.e to S2.w arrow from L to S2.s S3: circle "$+$" at (L.x,L.y-linewid) arrow down_ J.y-S3.y from J then to S3.w arrow from L to S3.n arrow from S2.e right_ linewid/2 then down_ (S2.y-S3.y)/2-circlerad \ then right_ linewid/2 arrow from S3.e right_ linewid/2 then up_ (S2.y-S3.y)/2-circlerad \ then right_ linewid/2 "\sl output" at 0.5 ] [ circlerad = 0.35/2 d = linewid*1.75 S00: circle "$00$" S10: circle "$10$" at S00+(d,d) S01: circle "$01$" at S00+(d,-d) S11: circle "$11$" at S01+(d,d) dx = circlerad*cosd(60) dy = circlerad*sind(60) brad = circlerad*1.3 qrad = circlerad*6 arc -> cw from S00+(-dx,-dy) to S00+(-dx,dy) rad brad \ with .c at S00-(dx+sqrt(brad^2-dy^2),0) "$0/00$" at last arc.w rjust right arc -> cw from S00+(dx,dy) to S10+(-dy,-dx) rad qrad "$1/11$" at last arc.nw rjust above right arc -> cw from S10+(dy,-dx) to S11+(-dx,dy) rad qrad "$1/01$" at last arc.ne ljust above up_ arc -> cw from S11+(dx,dy) to S11+(dx,-dy) rad brad \ with .c at S11+(dx+sqrt(brad^2-dy^2),0) "$1/10$" at last arc.e ljust down_ arc -> cw from S11+(-dx,-dy) to S01+(dy,dx) rad qrad "$0/01$" at last arc.se ljust below left_ arc -> cw from S01+(-dy,dx) to S00+(dx,-dy) rad qrad "$0/11$" at last arc.sw rjust below up_ arc -> cw from S01+(-dx,dy) to S10+(-dx,-dy) rad qrad*2 "$1/00$" at last arc.w rjust down_ arc -> cw from S10+(dx,-dy) to S01+(dx,dy) rad qrad*2 "$0/10$" at last arc.e ljust ] with .sw at last [].se+(0.4,0) .PE