17 lines
557 B
Python
17 lines
557 B
Python
from Source.Components.Boolean_Arithmetic.HalfAdder import HalfAdder
|
|
from Source.Logic_Gates.Xor import Xor
|
|
from Source.Pre_Built_Gates.Power import Power
|
|
|
|
class FullAdder:
|
|
def __init__(self,a,b,c) -> None:
|
|
self.a=a
|
|
self.b=b
|
|
self.c=c
|
|
self.out=[Power(False),Power(False)]
|
|
self()
|
|
def __call__(self) -> None:
|
|
ha1=HalfAdder(self.a,self.b)
|
|
ha2=HalfAdder(ha1.out[0],self.c)
|
|
xor=Xor(ha1.out[1],ha2.out[1])
|
|
self.out[0].out=ha2.out[0].out
|
|
self.out[1].out=xor.out |