package com.wrox.algorithms.iteration;

public final class PowerCalculator {
    /** Pojedyncza, publicznie dostępna instancja kalkulatora */
    public static final PowerCalculator INSTANCE = new PowerCalculator();

    /** Prywatny konstruktor uniemożliwia samodzielne tworzenie instancji */
    private PowerCalculator() {
    }

    public int calculate(int base, int exponent) {
        assert exponent >= 0 : "Wykładnik nie może być ujemny";

        int result = 1;

        for (int i = 0; i < exponent; ++i) {
            result *= base;
        }

        return result;
    }
}
