Qué fue novedad en Tol 1.1.4


Kernel

  • Mejora en la eficiencia de los métodos y estructuras usados para la resolución de símbolos en TOL:
    • Los elementos sintácticos detectan constantes literales (números, cadenas and fechas)
    • Los elemenos sintácticos almacenan referencias a objetos del sistema que no se pueden destruir como: nombres de tipo y funciones internas
    • Nueva implementación de estructura de pila con un árbol de búsqueda super-rápido con coste O(n) en memoria y ejecución.
  • Se admite la definición de "Struct" locales. Veáse un ejemplo en el test del bug 246
  • Integridad de las constantes del sistema: ya no se pueden modificar los objetos constantes del sistema. Cuando se hacen asignaciones de constantes se crea una copia interna del objeto de forma que no se produzcan efectos colaterales impredictibles. Ver ejemplos de uso en los tests de TOL (en construcción)
  • Paso por valor de los objetos para el operador de construcción (=) excepto para el tipo Set. Ver ejemplos de uso en los tests de TOL CreationAndCopy.
  • Los objetos TOL de usuario tienen ahora Description y Expression como funciones separadas, pero sólo la descripción es modificable por el usuario mientras que la expresión la rellenará TOL sólo cuando la variable Real  DoUnparseNodes sea cierta. Cuando no hay descripción, el usuario recibirá la  expresión, si es que existe o la cadena vacía en otro caso. La función Identify devuelve el primer texto no vacío de la lista Name(), LocalName(), Expression(), Description().

TOL-Tester

Creación de TOL-Tester: el sistema de chequeo automático de versiones de TOL. Se trata de un sistema estándar de chequeo del comportamiento del lenguaje TOL y de las herramientas relacionadas como TOLBase. Antes de publicar cada nueva versión se debe comprobar que TOL actúa como se espera lo cual no suele ser nada trivial dado el extenso número de aplicaciones del lenguaje. Lea aquí más al respecto.

Sistema

  • Nuevo argumento en la funcion interna WinSystem (Text command, Real showMode [, Real wait=FALSE]), que permite controlar la espera del proceso.
  • Nuevas funciones multiplataforma de acceso al sistema. Véase el codigo en general/_system.tol

Mensajes

  • Extendido el comportamiento de las funciones internas Write y WriteLn mediante un argumento opcional que clasifica el tipo de mensaje indicando si este  es un mensaje de error, wraning  o info. Se han añadido funciones de conveniencia a InitLibrary: Error y Warning para enviar mensajes de error y aviso respectivamente.
  • Se ha mejorado las opciones de línea de comando que controlan el tipo de salida generado por la consola de TOL. Para conocer más acerca de esta caracaterística   ejcute en su consola el comando tol -help
  • LAs funciones que retornan Anything  pueden no retornan objeto sin que esto implique un mensaje de error o aviso. También pueden ser usadas en cualquier scope.
  • El fichero de registro de TOL start.log, se ha movido a %APPDATA%\to\syslog para la plataforma Windows y ~/.tol para la plataforma unix.
  • Implementada la función PutLanguage para establecer el idioma actual de los mensajes.
  • Cada mensaje de error o de aviso llevará adjunto un número correlativo para que el usuario pueda encontrar más facilmente el primero de ellos y seguirles la pista más cómodamente.
  • Se han creado las variables TOL Real NError y Real NWarning que devuelven el número de errores y avisos emitidos hasta el momento en la sesión, para que los usuarios puedan comprobar en tiempo de ejecución si un proceso está funcionando correctamente.

Matrix

Se han implementado nuevas funciones de matrices.

  • Las funciones TOL built-in de tipo Matrix f01, F01 e Inv01 implementan la densidad, la distribución y su inversa para variables aleatorias con distribución multinormal estándar incorrelada.
  • La función TOL built-in de multiplicación de matrices celda a celda WeightProd(A,B) puede ahora escribirse como A $* B
  • Los operadores de matrices +,-,* admiten ahora como segundo elemento tanto una matriz como un número real.

Ver ejemplos de uso en los tests de TOL (en construcción)

TimeSet

La implementación del álgebra del tiempo (TimeSet) se ha mejorado considerablemente usando los conceptos descritos aquí.
Las ventajas fundamentales son:

  • Casi todos los bugs asociados a TimeSet han sido resueltos.
  • Los metodos que iteran sobre los conjuntos temporales son ahora más rápidos
  • Mejora en los métodos que precalculan el  conjunto temporal
  • Detección en un itervalo acotado de conjutnos vacíos para evitar ciclos infinitos. En tal caso se emite un mensaje de aviso.
  • La fecha de inicio se ha establecido a 31-dic-1582 (El calendario gregoriano comienza el 15-oct-1582)

Ver ejemplos en los tests de TOL.

Serie

  • Las series que se generan a  partir de un formato BDT ya no tienen conportamiento retardado (Lazy).
  • Nueva función interna Serie EvalSerie(Serie S, Code realToRealFunction)

Text

  • Mejora de las fuciones: BeginWith, EndAt, Reverse
  • Nuevas variable de iformación del sistema: TOLSessionPath and TOLVersion

Funciones de Probabilidad y Estadística

  • Mejora del tratamiento del desconocido ? en las funciones de distribución.
  • Nuevos métodos más rápidos para distribución normal truncada:
    • Scalar: DensMultiNormalTrunc, DensTruncatedNormal, DistTruncatedNormal, DistTruncatedNormalInv, DrawTruncatedNormal,
    • Vectorial: RandTruncatedMultNormal, LogDensTruncatedMultNormal
  • Nuevos métodos Markov Chain Monte Carlo (MCMC) para el muestreo de distribuciones de probabilidad definidas implícitamente mediante las funciones built-in GibbsSampler y MetropolisHastings. Para ver una descripción de estas funciones ejecute en la consola tol -vU -c"WriteLn(Description(GibbsSampler))" -c"WriteLn(Description(MetropolisHastings))"
  • Nueva función para realizar una regresión lineal sobre matrices sparse: SparseLinnearRegression. Para ver una descripción de la función ejecute en la consola tol -vU -c"WriteLn(Description(SparseLinearRegression))". La definición de una matriz sparse se base en la especificación descrita en tolsparse.txt
  • Corregidos bugs asociados a la definición, nombrado  uso de los estadísticos R2, Pearson, y Correlation
  • Nuevo conjuno de funciones internas de interfaz con funciones de GSL que retorna tipo Real y tambien sus argumentos son de tipo Real. Lea más en el siguiente enlace.
  • Mejoras en la función Estimate (Estimador máximo-verosímil de modelos ARIMAX):
    • En la estimación de omitidos, cuando  en el paso actual se obtienen peor resultado que el paso anterior entonces los actuales no se consideran y se mantienen los previos.
    • Se genera un error si la estructura de definición del modelo no tiene InputDef definida.
    • En la función ARMAAutoCovarianzeVector utilizada internamente por Estimate había un acceso inválido de memoria cuando no hay parte AR en un modelo y se solicita un número de autocovarianzas menor o igual que el grado MA, lo cual podía dar lugar a caídas o comportamientos extraños de forma aleatoria e irreproducible.

Languages

Inicio de sesión de usuario

sponsored by

profit.pngminitc.png

Distribuir

Distribuir contenido