A Fault-Tolerant Ripple-Carry Adder with Controllable-Polarity Transistors