ATC 2.1.8

Développeur - ATC Français

Vue d'ensemble localisée en Français pour développement, tests et contribution. La documentation technique localisée est disponible en français. L'anglais reste canonique pour l'autorité exacte de version et de code source.

Documentation Développeur

La documentation technique localisée est disponible en français. L'anglais reste canonique pour l'autorité exacte de version et de code source.

État de la documentation

La documentation technique localisée est disponible en français. L'anglais reste canonique pour l'autorité exacte de version et de code source.

Architecture

Objectif du projet

ATC est une application mathématique Windows en ligne de commande écrite en C++ pour expressions textuelles, commandes documentées et flux techniques locaux.

Structure du code

Le dossier principal du code est Advanced Trigonometry Calculator/. Le flux couvre startup, autocomplete, routing de commandes, parser, modules mathématiques, persistance et tests.

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

Flux de traitement

main.cpp initialise paths/configuration et sélectionne double ou Boost mp_float; mainType<T>(), main_core<T>(), main_sub_core<T>(), initialProcessor<T>(), arithSolver<T>() et functionProcessor<T>() forment la route principale.

Parser et évaluation

Le parser est propre au projet, pas une bibliothèque externe. Les changements sur opérateurs, fonctions, constantes, complexes, matrices ou multiplication implicite exigent une régression.

Prompt et autocomplete

auto_complete.cpp gère édition de ligne, Tab completion, historique Up/Down et suggestions de commandes, fonctions, aliases et user functions.

Solver et polynômes

Les zones sensibles incluent equation_solver.cpp, equations_system_solver.cpp, solver.cpp et polynomial_arithmetic.cpp. Les cas non supportés doivent échouer clairement ou suivre un fallback documenté.

Précision

ATC 2.1.8 prend en charge double et Boost mp_float; la configuration persistante utilise higherPrecision.txt, et certains flux utilisent maxprec.

Mémoire

Le code sensible doit utiliser les helpers existants, éviter les buffers fixes inutiles, préserver null termination et libérer les tableaux temporaires sur tous les chemins.

Tests

Les tests vivent dans tests/ et incluent régression, stress mémoire, benchmark de scripts et couverture isolée.

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 avant contribution

  • Ajouter ou mettre à jour les régressions.
  • Préserver l'output documenté quand possible.
  • Valider x64 et x86 si le changement touche le runtime commun.
  • Mettre à jour la documentation quand une commande, un module ou un workflow change.
  • Éviter de promettre des capacités symboliques non documentées.