// 
// Decompiled by Procyon v0.6.0
// 

package org.bouncycastle.math.ec;

public class WNafPreCompInfo implements PreCompInfo
{
    volatile int promotionCountdown;
    protected int confWidth;
    protected ECPoint[] preComp;
    protected ECPoint[] preCompNeg;
    protected ECPoint twice;
    protected int width;
    
    public WNafPreCompInfo() {
        this.promotionCountdown = 4;
        this.confWidth = -1;
        this.preComp = null;
        this.preCompNeg = null;
        this.twice = null;
        this.width = -1;
    }
    
    int decrementPromotionCountdown() {
        int promotionCountdown = this.promotionCountdown;
        if (promotionCountdown > 0) {
            this.promotionCountdown = --promotionCountdown;
        }
        return promotionCountdown;
    }
    
    int getPromotionCountdown() {
        return this.promotionCountdown;
    }
    
    void setPromotionCountdown(final int promotionCountdown) {
        this.promotionCountdown = promotionCountdown;
    }
    
    public boolean isPromoted() {
        return this.promotionCountdown <= 0;
    }
    
    public int getConfWidth() {
        return this.confWidth;
    }
    
    public void setConfWidth(final int confWidth) {
        this.confWidth = confWidth;
    }
    
    public ECPoint[] getPreComp() {
        return this.preComp;
    }
    
    public void setPreComp(final ECPoint[] preComp) {
        this.preComp = preComp;
    }
    
    public ECPoint[] getPreCompNeg() {
        return this.preCompNeg;
    }
    
    public void setPreCompNeg(final ECPoint[] preCompNeg) {
        this.preCompNeg = preCompNeg;
    }
    
    public ECPoint getTwice() {
        return this.twice;
    }
    
    public void setTwice(final ECPoint twice) {
        this.twice = twice;
    }
    
    public int getWidth() {
        return this.width;
    }
    
    public void setWidth(final int width) {
        this.width = width;
    }
}
