Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
27
Task/Four-bit-adder/Wren/four-bit-adder.wren
Normal file
27
Task/Four-bit-adder/Wren/four-bit-adder.wren
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
var xor = Fn.new { |a, b| a&(~b) | b&(~a) }
|
||||
|
||||
var ha = Fn.new { |a, b| [xor.call(a, b), a & b] }
|
||||
|
||||
var fa = Fn.new { |a, b, c0|
|
||||
var res = ha.call(a, c0)
|
||||
var sa = res[0]
|
||||
var ca = res[1]
|
||||
res = ha.call(sa, b)
|
||||
return [res[0], ca | res[1]]
|
||||
}
|
||||
|
||||
var add4 = Fn.new { |a3, a2, a1, a0, b3, b2, b1, b0|
|
||||
var res = fa.call(a0, b0, 0)
|
||||
var s0 = res[0]
|
||||
var c0 = res[1]
|
||||
res = fa.call(a1, b1, c0)
|
||||
var s1 = res[0]
|
||||
var c1 = res[1]
|
||||
res = fa.call(a2, b2, c1)
|
||||
var s2 = res[0]
|
||||
var c2 = res[1]
|
||||
res = fa.call(a3, b3, c2)
|
||||
return [res[1], res[0], s2, s1, s0]
|
||||
}
|
||||
|
||||
System.print(add4.call(1, 0, 1, 0, 1, 0, 0, 1))
|
||||
Loading…
Add table
Add a link
Reference in a new issue