Skip to content

Instantly share code, notes, and snippets.

@rwaldron
rwaldron / full-adder.js
Created October 25, 2016 19:05
Full Adder
let fullAdder = (a, b, c) => [(a ^ b) ^ c, ~(~(a & b) & ~((a ^ b) & c))];
[
{ args: [0, 0, 0], expect: {sum: 0, carry: 0}},
{ args: [0, 0, 1], expect: {sum: 1, carry: 0}},
{ args: [0, 1, 0], expect: {sum: 1, carry: 0}},
{ args: [0, 1, 1], expect: {sum: 0, carry: 1}},
{ args: [1, 0, 0], expect: {sum: 1, carry: 0}},
{ args: [1, 0, 1], expect: {sum: 0, carry: 1}},
{ args: [1, 1, 0], expect: {sum: 0, carry: 1}},