ATC 2.1.8

Desenvolvimento - ATC Português

Visão geral em Português para desenvolvimento, testes e contribuição. A documentação técnica localizada está disponível em português. O inglês continua a ser a referência canónica para validação exata de versão e código-fonte.

Documentação para Desenvolvimentoes

A documentação técnica localizada está disponível em português. O inglês continua a ser a referência canónica para validação exata de versão e código-fonte.

Estado da documentação

A documentação técnica localizada está disponível em português. O inglês continua a ser a referência canónica para validação exata de versão e código-fonte.

Arquitetura

Objetivo do projeto

ATC é uma aplicação matemática Windows de linha de comando em C++ para expressões textuais, comandos documentados e fluxos técnicos locais.

Estrutura de código

A pasta principal de código é Advanced Trigonometry Calculator/. O fluxo envolve startup, autocomplete, routing de comandos, parser, módulos matemáticos, persistência e testes.

Advanced Trigonometry Calculator/
main.cpp
auto_complete.cpp
main_aux_processor.cpp
main_processor.cpp
processing_core.cpp
commands.cpp
equation_solver.cpp
equations_system_solver.cpp
solver.cpp
polynomial_arithmetic.cpp
dynamic_allocations.cpp
data_processing_core.cpp
stdafx.h
precision_types.h
safe_chararray.h
safe_index.h

Fluxo de processamento

main.cpp inicializa paths/configurações e seleciona double ou Boost mp_float; mainType<T>(), main_core<T>(), main_sub_core<T>(), initialProcessor<T>(), arithSolver<T>() e functionProcessor<T>() fazem o percurso principal.

Parser e avaliação

O parser é próprio do projeto, não uma biblioteca externa. Mudanças em operadores, funções, constantes, complexos, matrizes ou multiplicação implícita exigem regressão.

Prompt e autocomplete

auto_complete.cpp gere edição de linha, Tab completion, histórico Up/Down e sugestões de comandos, funções, aliases e user functions.

Solver e polinómios

Áreas sensíveis incluem equation_solver.cpp, equations_system_solver.cpp, solver.cpp e polynomial_arithmetic.cpp. Casos não suportados devem falhar claramente ou seguir fallback documentado.

Precisão

ATC 2.1.8 suporta double e Boost mp_float; a configuração persistente usa higherPrecision.txt, e alguns fluxos usam maxprec.

Memória

Código sensível deve usar helpers existentes, evitar buffers fixos desnecessários, preservar null termination e libertar arrays temporários em todos os caminhos.

Testes

Os testes vivem em tests/ e incluem regressão, stress de memória, benchmark de scripts e cobertura isolada.

tests/
run-atc-regression.ps1
run-atc-memory-stress.ps1
run-atc-script-benchmark.ps1
run-atc-isolated-coverage.ps1

Summary: 377 passed, 0 failed
Summary: 68 passed, 0 failed

Checklist antes de contribuir

  • Adicionar ou atualizar regressões.
  • Preservar output documentado quando possível.
  • Validar x64 e x86 quando a alteração tocar runtime comum.
  • Atualizar documentação quando um comando, módulo ou workflow mudar.
  • Evitar prometer capacidades simbólicas não documentadas.