Subversion Repositories Integrator Subversion

Rev

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

Rev Author Line No. Line
760 blopes 1
package br.com.kronus.fibo;
2
 
762 blopes 3
import java.math.BigDecimal;
760 blopes 4
import java.util.LinkedHashMap;
5
import java.util.Map;
6
 
7
public class FibonacciService {
8
 
762 blopes 9
    public Map<BigDecimal, BigDecimal> calcularNiveis(BigDecimal precoInicial, BigDecimal precoFinal, double[] niveis) {
10
        Map<BigDecimal, BigDecimal> mapa = new LinkedHashMap<>();
11
        BigDecimal amplitude = precoFinal.subtract(precoInicial);
760 blopes 12
        for (double nivel : niveis) {
762 blopes 13
                BigDecimal preco = amplitude.multiply(new BigDecimal(nivel));
14
                preco = precoInicial.add(preco);
15
            mapa.put(new BigDecimal(nivel), preco);
760 blopes 16
        }
17
        return mapa;
18
    }
19
 
762 blopes 20
    public Map<BigDecimal, BigDecimal> calcularFiboPreco(BigDecimal precoInicial, BigDecimal precoFinal) {
760 blopes 21
        return calcularNiveis(precoInicial, precoFinal, FibonacciConfig.FIBO_PRECO);
22
    }
23
 
762 blopes 24
    public Map<BigDecimal, BigDecimal> calcularFiboProjecao(BigDecimal precoInicial, BigDecimal precoFinal) {
760 blopes 25
        return calcularNiveis(precoInicial, precoFinal, FibonacciConfig.FIBO_PROJECAO);
26
    }
27
}