package org.bouncycastle.pqc.math.ntru.polynomial;

import java.math.BigDecimal;
import java.math.BigInteger;

public class Constants
{
    static final BigInteger BIGINT_ZERO = BigInteger.valueOf(0);
    static final BigInteger BIGINT_ONE = BigInteger.valueOf(1);

    static final BigDecimal BIGDEC_ONE = BigDecimal.valueOf(1);
}
