Re: [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
Sab Abr 6 22:30:17 UTC 2024


Favor desconsiderar o anexo que começa com 07 no email anterior, pois 
ele está incorreto e se refere a outro teste. Sei que não se pode 
remover um arquivo já publicado, mas segue a cópia de segurança correta 
gerada pelo IRPF privativo de liberdade do exercício de 2024, ano base 2023.

Em 06/04/2024 18:52, Adonay Felipe Nogueira escreveu:
> Em adendo ao relato inicial, segue mais alguns testes e, inclusive, 
> segue em anexo as declarações geradas pelo próprio IRPF privativo de 
> liberdade.
> 
> = Etapas para teste
> 
> 1. Faça uma declaração nova conforme parâmetros dos subitens abaixo, ou 
> restaure as cópias de segurança das declarações em anexo, todas as quais 
> foram geradas pelo próprio IRPF privativo de liberdade, selecionando a 
> opção pela declaração simplificada.
> 
> 1.a) Faça uma nova declaração: irpf nova 01234567890
> 
> 1.b) Em aplicacao/dados/iddeclaracao.xml, insira:
>       nome="CONTRIBUINTE"
>       tipoDeclaracao="1"
> 
> 1.c) Em aplicacao/dados/0123456780/0123456780.xml, adicione um item 
> vazio em colecaoRendPJTitular.
> 
> 2.d) irpf recalcula 0123456780
> 
> 3.e) No novo item em colecaoRendPJTitular, adicione:
>       NIFontePagadora="01.234.567/0001-20"
>       nomeFontePagadora="PAGADOR"
>       rendRecebidoPJ="40.000,00"
> 
> 2. irpf recalcula 01234567890
> 3. irpf resumo 01234567890
> 
> Nas declarações em anexo, o registro 18 (REG_RESUMOSIMPLES) pode ser 
> usado também para confrontar os valores gerados pelo IRPF-Livre.
> 
> = Resultados dos testes
> 
> == 2021, ano base 2020
> 
> IRPF-Livre 2021 r18092 = 526,42 a pagar
> IRPF privativo 2021 1.9 = 686,42 a pagar
> 40.000,00 * (1 - 0,2) * 0,075 - 1.713,58 = 686,42 a pagar
> 
> == 2022, ano base 2021
> 
> IRPF-Livre 2022 r19250 = 526,42 a pagar
> IRPF privativo 2022 1.9 = 686,42 a pagar
> 40.000,00 * (1 - 0,2) * 0,075 - 1.713,58 = 686,42 a pagar
> 
> == 2023, ano base 2022
> 
> IRPF-Livre 2023 r19509 = 526,42 a pagar
> IRPF privativo 2023 1.5 = 686,42 a pagar
> 40.000,00 * (1 - 0,2) * 0,075 - 1.713,58 = 686,42 a pagar
> 
> == 2024, ano base 2023
> 
> IRPF-Livre 2024 r19523 = 401,61 a pagar
> IRPF privativo 2024 1.1 = 561,61 a pagar
> 40.000,00 * (1 - 0,2) * 0,075 - 1.838,39 = 561,61 a pagar
> 
> 
> 
> 
> Em 31/03/2024 00:18, Adonay Felipe Nogueira escreveu:
>> 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)
------------ próxima parte ------------
A non-text attachment was scrubbed...
Name: 01234567890-IRPF-A-2024-2023-ORIGI.DBK
Type: application/x-docbook+xml
Size: 3811 bytes
Desc: no disponible
URL: <http://www.fsfla.org/pipermail/softwares-impostos/attachments/20240406/7df532a4/attachment.bin>
------------ 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/20240406/7df532a4/attachment.sig>


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