Implemented GETKEYA. This works like GETKEY, except that it will not wait for a keystroke if no keystrokes are in the keyboard queue, returning 0 instead in that case.
Fixed crash with relative file imports.
Corrigida falha para certos códigos de tecla não reconhecidos de teclados Bluetooth.
Agora reconhecendo os delimitadores de comentários '@' e ';' para colar o programa.
ASIN/ASINH complexo mais preciso.
O mapeamento de comando direto agora suporta mapeamentos alternativos para o modo ALPHA.
Corrigido acesso a arquivos para Android >= 11.
INPUT falharia se R/S fosse pressionado enquanto a pilha estivesse vazia, no modo NSTK. Fixo.
ANUM consideraria um ponto decimal ou vírgula por si só como zero, em vez de ignorá-lo. Fixo.
EDIT, EDITN e INDEX não limparam os sinalizadores 76 e 77 (matrix edge wrap e end wrap), enquanto deveriam. Fixo.
Versão decimal: em HMS+ e HMS-, tratamento corrigido de casos em que um ou ambos os argumentos têm um número de minutos ou segundos >= 60. (A versão binária não tinha esse bug.) Nível de API de destino atualizado para manter a segurança
Alterado Σ+/Σ- para que, no modo NSTK, eles aceitem um único argumento real, assumindo Y=0 nesse caso.
Freqüências TONE sintonizadas na escala A440.
Corrigida a falha no RTNERR ao voltar para o modo NSTK após FUNC/L4STK.
Corrigido ASSIGN "" nos programas.
Adicionado PRREG ao menu IMPRIMIR.
NN→S agora ignora o modo de exibição e sempre age como se o modo ALL estivesse ativo. A ideia é que, se você se preocupa com o modo de exibição, provavelmente usará N → S e precisará apenas de NN → S se quiser especificamente ver a precisão interna total.
de bugs Corrigidos alguns bugs no Colar de escalares nos modos BINM, OCTM e HEXM.
Colagem corrigida de U+22A2 e U+22A6 (caracteres 'apêndices' usados por i41CX e Emu42).
Fixo (re,im) colagem complexa. Isso foi quebrado por copiar e colar localizado.
Casos especiais para puro real e puro imaginário em SQRT.
Corrigido o manuseio de chaves numéricas inválidas nos modos BINM e OCTM.
Adicionado →LIST, LIST→, SKIP, CPXMAT? e TYPE? funções e alterou o nome de PRMVAR para PGMVAR. Consulte o site do Free42 para obter detalhes.
INPUT causou saída incorreta da impressora nos modos NORM e TRACE. Fixo.
Sequências de escape para caracteres indefinidos em Copiar e Colar e saída da impressora.
Quando o registrador Y contém uma string ou lista, no modo RUN, a tecla + agora executa APPEND.
Corrigido o manuseio de strings de um único caractere em programas. Isso foi quebrado na versão anterior.
Versão 3.0. 8:
Repetição automática para XSTR e argumentos alfa em geral.
Impressão embaçada fixa em determinados dispositivos.
Correções de bugs.
Repetição automática para argumentos XSTR e ALPHA em geral.
Versão do Android: impressão borrada corrigida em alguns dispositivos.
Correções de bugs.
A2LINE agora lida melhor com strings que começam com caracteres 127-255. Além disso, adicionou a função A2 + LINE para gerar strings anexadas.
TAN e TANH complexos mais precisos.
RND não tratou grandes números corretamente, falhando em arredondar tantos dígitos quanto necessário em certos casos. Fixo.
Σ + e Σ- sempre quiseram dois argumentos, mesmo no modo NSTK, quando X continha uma matriz real. Fixo.
Copiar e colar agora manipulam objetos de lista.
Adicionadas funções de string e lista. Consulte o site do Free42 para obter detalhes.
Adicionadas letras minúsculas à fonte do menu.
erros L4STK podem travar, devido a uma correção LNSTK incorreta em 3.0.2. Fixo.
Corrigidos alguns bugs de macro de skin: Falha ao iniciar a execução do programa quando EXIT foi pressionado durante VARMNU1 e congelamento da IU ao iniciar a execução do programa em alguns casos.
Corrigido bug que poderia causar resultados incorretos em INVRT, DET e divisão de matrizes complexas.
FUNC e RTN agora salvam e restauram ERRMSG e ERRNO junto com o sinalizador 25.
Funções RCOMPLX e PCOMPLX adicionadas. Estes funcionam como COMPLEX, exceto que sempre funcionam em retângulo ou polar, respectivamente, ignorando o sinalizador 73.
Ajustes de MENU e VARMNU1: Cancele MENU e cancele o trapping de SAÍDA em VARMNU1, quando a pilha RTN for limpa.
Correções de colar: limpar mensagens restantes; defina os sinalizadores 22 ou 23 quando apropriado.
Implementado VARMNU1: aprimorado VARMENU, com seleção imediata de variáveis e trapping de SAÍDA.
X2LINE e A2LINE implementados: Insira o conteúdo de X ou ALPHA em um programa.
INDEX ou EDITN em uma matriz local agora preserva IJ se uma matriz já foi indexada.
O RTNERR agora aceita argumentos de string, portanto, mensagens de erro arbitrárias podem ser geradas.
ERRNO e ERRMSG implementados: Retorna o número ou mensagem do erro, para o último erro capturado pelo sinalizador 25.
XSTR implementado: Cria string diretamente no registrador X.
Colar fixo de zero. Isso foi quebrado em 2.5.21.
Corrigido o problema de rotação da tela com o Android 11.
Suporte implementado para semântica de função definida pelo usuário: preservação de pilha, RTN com salto, RTN com erro. Consulte o site do Free42 para obter detalhes.
Melhor manuseio das linhas numéricas: a diferença visual entre as representações equivalentes de um número agora é preservada, então 1000 permanece 1000 e não se transforma em 1E3, por exemplo.
Implementado FMA (Fused Multiply-Add).
Em programas, agora trata de colar FIX / SCI / ENG com argumento de 1 dígito, para compatibilidade com HP-41.
2.5.22a:
Corrigida a falha em alguns dispositivos mais antigos.
2.5.22:
Pré-preencher nomes de arquivo em caixas de diálogo de seleção de arquivo agora.
LASTO implementado. Isso está relacionado ao LSTO como ASTO está relacionado ao STO.
Função No-Operation (NOP) implementada.
GETKEY não parou em Shift-EXIT. Fixo.
Função GETKEY1 implementada. Isso funciona como o GETKEY regular, exceto que só para no R / S.
O STOFLAG não atualizou os anunciadores G e RAD quando os sinalizadores 42 ou 43 foram alterados. Fixo.
Opção de alcance implementada para STOFLAG.
Implementadas funções ANUM, X <> F, RCLFLAG e STOFLAG. Consulte o site do Free42 para obter detalhes.
Implementado o modo de "rastreamento de pilha" quando os sinalizadores 15 e 16 estão configurados.
Colar números longos pode retornar resultados incorretos se muitos zeros à esquerda estiverem presentes. Fixo.
A divisão real / complexa e complexa / complexa pode retornar Não é um número para certas entradas. Fixo. Também aplicou uma correção semelhante ao complexo 1 / X.
A divisão de matriz complexa, INVRT e DET retornaria resultados incorretos para matrizes grandes. Fixo.
Corrigido o comportamento INTEG quando o integrando retorna não real.
Fixo DATE +, DDAYS e DOW quando os sinalizadores 31 e 67 estão configurados.
Corrigido lixo em SHOW quando BIN transborda para HEX.
Durante o TRACE, imprima uma linha em branco antes do LBL, como o HP-41.
Quando o ISG chegasse a zero, a variável de controle do loop acabaria tendo o sinal errado. Fixo.
Adicionados [FIND], [MAX] e [MIN] ao catálogo FCN.
Corrigido fora de alcance espúrio em COMB.
ISG e DSE com uma variável nomeada travariam se essa variável não existisse. Fixo.
Correção do comportamento de elevação da pilha com GETKEY.
Correção da colagem de 1 / X e 10 ^ X sem número de linha.
Implementação de HEADING atualizada para funcionar em telefones que não oferecem mais a API antiga da bússola.
Remover temporariamente o rollover de n-chave e deslizar para alternar que foram introduzidos na versão anterior; 2.5.17a sofre de pressionamentos de tecla perdidos, aparentemente causados pela nova lógica. Os recursos serão restaurados assim que o problema do teclado for diagnosticado e corrigido.
Corrigido o comportamento GETKEY com skins que usam mapeamento de comando direto.
Durante a entrada do número, se você retrocedesse sobre um número negativo até que apenas o sinal de menos permanecesse, esse menos não seria analisado corretamente e você poderia obtê-lo. Por exemplo, 1 +/- <- ENTER.
A verificação de intervalo de índice em R <> R estava com defeito, permitindo um índice de linha igual ao número de linhas + 1 a ser usado, o que por sua vez causaria corrupção de memória. Fixo.
Ao renomear o estado ativo no momento, o nome do estado não foi atualizado na memória, com o resultado de que ao sair, o estado ainda seria salvo com o nome antigo e, na próxima inicialização, também seria carregado com o nome antigo. O efeito líquido de tudo isso foi que, em vez de terminar com um estado renomeado, você acabaria com uma cópia.
aplicativo de login de PIN pode ser iniciado com a orientação de tela errada em certas circunstâncias. Fixo.
SOLVE nem sempre retornava o melhor valor de função em Z, ou a segunda melhor estimativa em Y. Corrigido.
Alteração da configuração de preferência de feedback tátil para um controle deslizante de quatro níveis, para permitir um feedback mais forte.
Reduzido o intervalo de atualização do GPS para LOCAT de 60 segundos para 5 segundos.
Compartilhar uma impressão vazia travaria. Fixo; agora, em vez disso, aparece uma mensagem.
Falhas corrigidas ao importar arquivos de estado de anexos de e-mail.
Adicionado o gerenciador de arquivos de estado para carregar, salvar e alternar entre os estados da calculadora. Os arquivos de estado estão em um formato de plataforma neutra, portanto, podem ser trocados entre instâncias do Free42 em execução em diferentes dispositivos.
Corrigida a falha no RTN quando uma variável local estava ocultando a matriz indexada.
Adicionada opção de "compartilhar" para visualização de impressão.
Adicionada opção de "compartilhamento" para programas em formato bruto.
Ao carregar um skin no navegador de skin, agora ele força uma carga não armazenada em cache, portanto, as correções de skin podem ser carregadas pelos usuários sem atraso e sem precisar recorrer ao side-loading.
Mudou a aparência padrão da paisagem, de desktop / 42ct para android / SGS-L. A pele antiga tinha as teclas abaixo da tela que não se alinhavam com os menus; você realmente tem que ter Σ + 1 / x LOGx LOG LN XEQ abaixo do display para uma interface de usuário consistente.
2.3.1a: Alterou as configurações do compilador para evitar que ele gerasse instruções de Neon, que são incompatíveis com alguns dispositivos, fazendo com que o aplicativo trave.
Adicionado o recurso Load Skins, para baixar e instalar skins da Internet.
Adicionado o recurso Excluir Skins.
Adiantamento de papel adicionado para a janela de impressão.
Cópia adicionada para a janela de impressão.
Adicionado o recurso Load Skins, para baixar e instalar skins da Internet. (Você pode observar o Android pedindo que você conceda acesso à Internet ao Free42; esse é o motivo. Observe que o Free42 não acessa a Internet por qualquer razão que não seja o carregamento de skins.)
Adicionado o recurso Excluir Skins.
Adiantamento de papel adicionado para a janela de impressão.
Cópia adicionada para a janela de impressão.
Tornou o aplicativo explicitamente de instância única (adicionando launchMode = "singleInstance" a Free42Atividade no manifesto do aplicativo). Isso deve eliminar as falhas de ponteiro nulo remanescentes no código nativo e também evitar cenários de corrupção de arquivo de estado.
Corrigido falha ao ligar ou desligar de um programa.
Corrigido um bug que poderia deixar um arquivo de estado corrompido sob certas circunstâncias.
SOLVE agora se esforça mais quando extrapolação secante fica presa devido a secante sendo excessivamente íngreme.
0 ^ 0 agora retorna Dados Inválidos, não 1, para todas as combinações de argumentos reais e complexos. A justificativa para o retorno 1 era matematicamente questionável, e Dados Inválidos é o que o HP-42S real retorna.
Novo Menu Principal. Isso deve ser compatível com todas as versões do Android, incluindo os tablets Amazon Fire HD e outros dispositivos que sabotaram o antigo menu depois de começar a segmentar o Android 8.
Adicionado código para solicitar armazenamento e acesso GPS quando necessário (peles externas, carregamento e gravação de programas, impressão em arquivos, função LOCAT).
Corrigido o SQRT complexo para que ele retornasse resultados exatos quando Re (x) = 0 e Im (x) / 2 é um quadrado perfeito.
O VARMENU passaria por filas de menus com várias linhas na ordem errada. (Você precisava de uma função com 13 ou mais MVARs para perceber isso.) Corrigido.
Ao imprimir em GIF, a alteração do nome do arquivo não fez com que a sequência de numeração GIF fosse reiniciada em 1. Fixo.
Ao imprimir em GIF, os arquivos de saída agora são liberados e fechados imediatamente quando atingem sua altura máxima.
MATA, MATB e MATX devem exibir o mesmo comportamento de empilhamento de pilha que EDIT e EDITN, mas não o fizeram. Fixo.
Inserir ou excluir um END nem sempre limparia destinos GTO ou XEQ locais armazenados em cache, possivelmente fazendo com que os comandos GTO ou XEQ locais saltem para os locais incorretos. Corrigido e também adicionado código para reparar esses danos em arquivos de estado existentes.
0 SEED inicializou a semente aleatória incorretamente, desperdiçando um dígito de aleatoriedade. Fixo. Ao importar arquivos brutos, E e -E agora são reconhecidos como 1 e -1, para compatibilidade com arquivos raw HP-41 com números sintéticos. Ao importar arquivos brutos, as instruções sintéticas agora são tratadas mais como o HP-42S real as manipula. Os argumentos 112-116 são sempre registros de pilha, mesmo quando isso não faz sentido; 102-111 e 123-127 são considerados apenas como AJ e ae em LBL, GTO e XEQ.
O POSA não encontraria a cadeia de pesquisa se sua única ocorrência estivesse no final do registro alfa. Fixo. Manipulação refinada do indicador de bateria fraca.
Em Exportar Programas, removeu o tamanho do buffer codificado para a lista de programas, portanto, agora você deve ver todos os seus programas na lista, independentemente de quantos existirem. Ao colar números complexos em uma notação + bi, a unidade imaginária deve ser i ou j; as grafias alternativas I e J não são mais reconhecidas.
Colar não manipulou números com expoentes negativos corretamente. Fixo.
Outra correção para falha na mudança de orientação durante a impressão.
Copiar agora ignora o sinalizador 29 (separadores de milhares) e sempre copia números sem separadores. Isso corrige certos comportamentos surpreendentes / indesejáveis ao colar números em planilhas ou programas. Ao inserir uma linha de programa nos modos NORM ou TRACE, a linha seria impressa, mesmo quando a impressão estava desativada. Fixo. MATA e MATB, no menu SIMQ, travariam se as variáveis MATA ou MATB estivessem faltando. Fixo. Fixed UI congelar durante a impressão de grande volume.
Colar do programa não requer mais números de linha. (Isso teve um bug na versão 2.0.9) O comando CUSTOM não desativa o menu CUSTOM. DIM ?, EDIT e EDITN não imprimiram X no modo TRACE. Fixo. Selecionar o menu já ativo agora força a repintura, removendo mensagens. Fez o anunciador de impressão demorar por um segundo após a impressão ser interrompida. Isso torna mais perceptível, portanto, é menos provável que a impressão passe despercebida em dispositivos rápidos.
MENU (ativando o menu programável) enquanto no modo ALPHA não desativou o sinalizador alpha_mode, levando a um mau comportamento ou até mesmo travando se qualquer tecla de menu fosse pressionada subsequentemente.
A configuração "Sempre Pintar Todo o Display", introduzida na versão anterior, não permaneceu após a reinicialização do aplicativo. Fixo.
Adicionada a opção "Sempre pintar toda a exibição". Isso evita falhas no display com certas combinações de dispositivos e skins.
Alterou as funções RAN e SEED para corresponder ao comportamento do HP-42S real. A implementação anterior usou o algoritmo do HP-41C Standard Pac, que produzia números com apenas 6 dígitos significativos. O indicador up / down (menu multi-row) não foi atualizado corretamente quando o VARMENU foi ativado, inclusive no solver e no integrador. Fixo. Os ícones de menu para Copiar, Colar e Imprimir foram exibidos muito grandes, sobrepondo os rótulos de itens de menu em alguns dispositivos. Fixo.
ISG fixo e DSE para valores> = 2 ^ 63 (9.2e18). Corrigidos alguns erros em como as mudanças nas estruturas internas de dados SOLVE e INTEG são tratadas.
Corrigido a condição de finalização do INTEG. Ele retornaria resultados imprecisos em certos casos. Corrigido a importação de números com expoente mas sem mantissa, por exemplo, E3, -E-5, etc. Isso foi quebrado em 1.5. Corrigida a falha ao tentar alocar matrizes ridiculamente grandes. Durante a digitação de um argumento numérico, as teclas de seta para cima e para baixo executavam BST e SST, que deveriam ser bloqueadas. Fixo. A bandeira de teste 75 ligaria o menu programável. Fixo.
2.0.4 Código de caso especial implementado para números imaginários reais e puros em todas as funções complexas logarítmicas, trigonométricas e hiperbólicas. 2.0.3 Corrigido alguns casos de borda em funções complexas. Na inicialização a frio, agora é possível limpar os sinalizadores 21 (habilitação da impressora) e 55 (existência da impressora) para corresponder ao comportamento do HP-42S real. Opção de impressão "raw text" removida; Ele ficou obsoleto desde a introdução da impressão UTF-8 em 1.5.11, já que Unicode pode representar o conjunto de caracteres HP-42S diretamente. [...]