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);
}
}