Half-Adders and Full-Adders work using a ripple carry, which is when the carry from one calculation is sent to the next calculation and must wait for the previous calculation to finish before it can do it's job. However, a much faster method was created, where the Adder can look ahead and make some calculations without having all the information, making it faster.

## How It WorksEdit

For CLAs, there are 2 main terms: Generate and Propagate. Generate is whether the addition of the two bits will always carry, regardless of if there is a carry coming from the previous operation. G is therefore defined as $ G = A_i \cdot B_i $. Propagate is if the addition of two bits will carry if there exists a carry from the previous operation. P is therefore defines as $ P = A_i + B_i $. Whether there will be a carry for a specified digit $ C_i $ is based on if G or P is true. C is defined as $ C_{i+1} = G_i + (P_i \cdot C_i) $, or when expanded, $ C_{i+1} = A_i \cdot B_i + (A_i + B_i) \cdot C_i $.