ATC 2.1.8

Desarrollador - ATC Español

Resumen localizado en Español para desarrollo, pruebas y contribución. La documentación técnica localizada está disponible en español. El inglés sigue siendo canónico para la autoridad exacta de release y código fuente.

Documentación para Desarrolladores

La documentación técnica localizada está disponible en español. El inglés sigue siendo canónico para la autoridad exacta de release y código fuente.

Estado de la documentación

La documentación técnica localizada está disponible en español. El inglés sigue siendo canónico para la autoridad exacta de release y código fuente.

Arquitectura

Objetivo del proyecto

ATC es una aplicación matemática Windows de línea de comandos en C++ para expresiones textuales, comandos documentados y flujos técnicos locales.

Estructura del código

La carpeta principal de código es Advanced Trigonometry Calculator/. El flujo incluye startup, autocomplete, routing de comandos, parser, módulos matemáticos, persistencia y pruebas.

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

Flujo de procesamiento

main.cpp inicializa paths/configuración y selecciona double o Boost mp_float; mainType<T>(), main_core<T>(), main_sub_core<T>(), initialProcessor<T>(), arithSolver<T>() y functionProcessor<T>() forman la ruta principal.

Parser y evaluación

El parser es propio del proyecto, no una biblioteca externa. Cambios en operadores, funciones, constantes, complejos, matrices o multiplicación implícita requieren regresión.

Prompt y autocomplete

auto_complete.cpp gestiona edición de línea, Tab completion, historial Up/Down y sugerencias de comandos, funciones, aliases y user functions.

Solver y polinomios

Áreas sensibles incluyen equation_solver.cpp, equations_system_solver.cpp, solver.cpp y polynomial_arithmetic.cpp. Los casos no soportados deben fallar claramente o seguir fallback documentado.

Precisión

ATC 2.1.8 soporta double y Boost mp_float; la configuración persistente usa higherPrecision.txt, y algunos flujos usan maxprec.

Memoria

El código sensible debe usar helpers existentes, evitar buffers fijos innecesarios, preservar null termination y liberar arrays temporales en todos los caminos.

Pruebas

Las pruebas viven en tests/ e incluyen regresión, stress de memoria, benchmark de scripts y cobertura aislada.

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

  • Añadir o actualizar regresiones.
  • Preservar output documentado cuando sea posible.
  • Validar x64 y x86 si el cambio toca runtime común.
  • Actualizar documentación cuando cambie un comando, módulo o workflow.
  • Evitar prometer capacidades simbólicas no documentadas.