Subversion Repositories Integrator Subversion

Rev

Rev 760 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

package br.com.kronus.fibo;

import java.math.BigDecimal;
import java.util.LinkedHashMap;
import java.util.Map;

public class FibonacciService {

    public Map<BigDecimal, BigDecimal> calcularNiveis(BigDecimal precoInicial, BigDecimal precoFinal, double[] niveis) {
        Map<BigDecimal, BigDecimal> mapa = new LinkedHashMap<>();
        BigDecimal amplitude = precoFinal.subtract(precoInicial);
        for (double nivel : niveis) {
                BigDecimal preco = amplitude.multiply(new BigDecimal(nivel));
                preco = precoInicial.add(preco);
            mapa.put(new BigDecimal(nivel), preco);
        }
        return mapa;
    }

    public Map<BigDecimal, BigDecimal> calcularFiboPreco(BigDecimal precoInicial, BigDecimal precoFinal) {
        return calcularNiveis(precoInicial, precoFinal, FibonacciConfig.FIBO_PRECO);
    }

    public Map<BigDecimal, BigDecimal> calcularFiboProjecao(BigDecimal precoInicial, BigDecimal precoFinal) {
        return calcularNiveis(precoInicial, precoFinal, FibonacciConfig.FIBO_PROJECAO);
    }
}