Advertisement
Guest User

Untitled

a guest
Dec 23rd, 2016
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Oz 1.48 KB | None | 0 0
  1. fun {AndG X Y}
  2.     case X#Y of (H|T)#(I|V)
  3.     then H*I|{AndG T V}
  4.     [] nil#nil then nil
  5.     else X*Y
  6.     end
  7. end
  8.  
  9. fun {OrG X Y}
  10.     case X#Y
  11.     of (H|T)#(I|V)
  12.     then H+I-(H*I)|{OrG T V}
  13.     [] nil#nil then nil
  14.     else X+Y-(X*Y)
  15.     end
  16. end
  17.  
  18. fun {XorG X Y}
  19.     case X#Y of (H|T)#(I|V)
  20.     then H+I-2*H*I|{OrG T V}
  21.     [] nil#nil then nil
  22.     else X+Y-2*Y*X
  23.     end
  24. end
  25.  
  26. proc {FullAdder X Y Z C S} A B D E F in
  27.     A={AndG X Y}
  28.     B={AndG Y Z}
  29.     D={AndG X Z}
  30.     F = {OrG B D}
  31.     C = {OrG A F}
  32.     E={XorG X Y}
  33.     S={XorG Z E}
  34. end
  35.  
  36. fun{NFullAdder S1 S2}
  37.     fun{Retourne L Acc}
  38.         case L of H|T then
  39.             {Retourne T H|Acc}
  40.         else Acc
  41.         end
  42.     end
  43.     proc{Add A B R Acc Liste Reste}
  44.         case A#B of (H|T)#(I|V) then
  45.             C S in
  46.             {FullAdder H I R C S}
  47.             case T#V of nil#nil then
  48.                 Liste = S|Acc
  49.                 Reste = C
  50.             else
  51.                 {Add T V C S|Acc Liste Reste}
  52.             end
  53.         end
  54.  
  55.     end
  56. in
  57.     case S1#S2 of (H1|T1)#(H2|T2) then
  58.         A = {Retourne H1 nil}
  59.         B = {Retourne H2 nil}
  60.         Liste Reste
  61.     in {Add A B 0 nil Liste Reste}
  62.         Liste#Reste|{NFullAdder T1 T2}
  63.     else nil
  64.     end
  65. end
  66.  
  67. SA SB S5 S6 SC
  68. S1 = [1 1 1 1 1]|[0 0 0 0 0]|[1 1 1 1 0]|S5
  69. S2 = [1 1 1 1 1]|[0 0 0 0 0]|[0 0 0 0 1]|S6
  70. thread SA=S1 end
  71. thread SB=S2 end
  72. thread SC = {NFullAdder SA SB} end
  73. thread {Browse SC} end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement