[IRPF-Livre] Possível erro em src/serpro/ppgd/negocio/Valor.java impacta todas as operações

Adonay Felipe Nogueira adfeno.7046 en gmail.com
Dom Mar 31 03:18:37 UTC 2024


Conforme consta na revisão r19523 do irpf-livre-2024, encontrei 
possíveis erros de arredondamento em src/serpro/ppgd/negocio/Valor.java.

Trata-se da perda de números pois valor retornado é incorreto caso pVal 
tenha mais que duas casas decimais. O problema é mais visível e foi 
encontrado na multiplicação (*), que é usada em alguns locais com 
porcentagens. Falta investigar se também ocorre com outras operações 
matemáticas.

= Como reproduzir

1. Preencha uma declaração com rendimentos tributáveis maiores que o 
limite cujo multiplicador tenha mais que duas casas decimais e mande o 
IRPF-Livre recalcular. Use algo como 
serpro.ppgd.irpf.ModeloDeclaracao.LIMITE_ANUAL_7_MEIO_PORCENT + R$ 1,00.

2. Siga a seção "Dicas para encontrar/depurar erros" do LEIAME até o 
passo 5, vá ao final do ~/.jdbrc e insira algo similar ao seguinte, 
trocando o número ao final pelo da linha que usa _baseCalculo.operacao 
('*', "0,075") no arquivo src/serpro/ppgd/irpf/ModeloDeclaracao.java:

     stop at serpro.ppgd.irpf.ModeloDeclaracao:65

3. Continue com os passos da seção e, após as configurações, faça 'irpf 
resumo'.

4. Já dentro do jdb (vide LEIAME), use o comando 'run'.

5. Se tudo deu certo, o IRPF-Livre estará parado na linha que pedimos. 
Agora exiba a base de cálculo e o resultado da multiplicação para 
comparações futuras:

     eval _baseCalculo
     eval _baseCalculo.operacao ('*', "0,075")

7. Assumindo que _baseCalculo esteja correta, faça a mesma multiplicação 
em outra calculadora. Experimente também multiplicar por 0,07.

= Ambiente de testes

* Distribuição: GNU+Linux Trisquel 11 Aramo

* Compilador Eclipse: 3.16.0 (pacote: ecj=3.16.0-1)

* Versões do OpenJDK Runtime Environment:
** 11.0.22+7-post-Ubuntu-0ubuntu222.04.1 (pacote: 
openjdk-11-jre-headless:amd64=11.0.22+7-0ubuntu2~22.04.1)
** 21.0.2+13-Ubuntu-122.04.1 (pacote: 
openjdk-21-jre-headless:amd64=21.0.2+13-1~22.04.1)

* Versões do depurador jdb:
** 11.0 (pacote: openjdk-11-jdk-headless:amd64=11.0.22+7-0ubuntu2~22.04.1)
** 21.0 (pacote: openjdk-21-jdk-headless:amd64=21.0.2+13-1~22.04.1)
-- 
* https://libreplanet.org/wiki/User:Adfeno
* Ativista, não advogado, nem técnico de informática
* Compre dos vendedores locais
* Use e contribua ao software livre (diferente do gratuito)
* Enviando docs.? Use OpenDocument. Outros tipos: vide endereço anterior
* Use XMPP (federado, pai do WhatsApp)
* E-mails assinados com OpenPGP (anexo "signature.asc")
------------ próxima parte ------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature.asc
Type: application/pgp-signature
Size: 236 bytes
Desc: OpenPGP digital signature
URL: <http://www.fsfla.org/pipermail/softwares-impostos/attachments/20240331/678b7a62/attachment.sig>


Más información sobre la lista de distribución Softwares-impostos