﻿ticket	summary	component	version	milestone	type	owner	status	created	_changetime	_description	_reporter
621	Wrong behaviour in BackDifEq of VMatrix	Math			defect	Víctor de Buen Remiro	closed	2009-03-09T15:11:10Z	2015-08-31T06:28:54Z	"Function {{{BackDifEq}}} of VMatrix doesn't works fine.
Running this random check for Matrix and VMatrix {{{BackDifEq}}} instances returns different results being the second ones missing sometimes or very large numbers in other cases.

{{{
Real m = 300;
Real  s1 = 5;
Real  s2 = 26;
Real  p1 = IntRand(1,2);
Real  q1 = IntRand(0,2);
Real  p2 = IntRand(1,1);
Real  q2 = IntRand(0,1);
Polyn ar1 = RandStationary(p1,s1);
Polyn ar2 = RandStationary(p2,s2);
Polyn ma1 = RandStationary(q1,s1);
Polyn ma2 = RandStationary(q2,s2);
Polyn ar = ar1*ar2;
Polyn ma = ma1*ma2;

Real p = Degree(ar);
Real q = Degree(ma);
Real n = Max(p,q);


NameBlock CF1 = ARMAProcess::FastCholeskiCovFactor(ar1, ma1, m);
NameBlock CF2 = ARMAProcess::FastCholeskiCovFactor(ar2, ma2, m);
NameBlock CF  = ARMAProcess::FastCholeskiCovFactor(ar,  ma,  m);

VMatrix A = Gaussian(m,1,0,1);

VMatrix Li_ar.f = CholeskiFactor(CF::_.Li_ar,""XXt"",True);

VMatrix L_ma.s  = Convert(CF::_.L_ma,""Cholmod.R.Sparse"");

VMatrix X = CholeskiSolve(Li_ar.f,L_ma.s*A,""PtL"");

VMatrix CF.X = CF::filter(X);

VMatrix cmp.CF   = A | CF.X;

VMatrix CF12.X = CF2::filter(CF1::filter(X));

VMatrix A.n   = Sub(CF12.X, m-n+1, 1, n,  1);
VMatrix A.q   = Sub(CF12.X, m-n+1, 1, q,  1);
VMatrix X.p   = Sub(X,      m-n+1, 1, p,  1);
VMatrix X.m_n = Sub(X,          1, 1, m-n,1);
VMatrix A.m_n = BackDifEq(ar/ma,X.m_n,X.p,A.q);

VMatrix A.m_n_ = Mat2VMat(BackDifEq(ar/ma,VMat2Mat(X.m_n),VMat2Mat(X.p),VMat2Mat(A.q)));

Real error = VMatMax(Abs(A.m_n-A.m_n_));
Real quality = Max(0,1-error);
}}}"	Víctor de Buen Remiro
622	BSR DBApi cannot share missing inputs related to identical series among different observational nodes	Math	head	BSR API	enhancement	Víctor de Buen Remiro	closed	2009-03-12T14:59:52Z	2009-03-27T09:33:01Z	"Sometimes the same input series is used in different observational nodes.

If there are missing values in one of these input series, then DBApi will generate a different missing value for each date and each node but it is no statistical sense, due to we know that all them have exactly the same unknown value.

"	Víctor de Buen Remiro
623	Force CHOLMOD to use an optimiced BLAS library	Math	2.0.1	Numerical methods	task	Jorge	closed	2009-03-12T16:00:05Z	2012-02-14T11:43:17Z	"CHOLMOD efficiency decays for dense and block-dense matrices, and it's almost sure due to it is using a non optimiced BLAS library.

It's neccessary to force CHOLMOD to use ATLAS or other optimiced libraries.

"	Víctor de Buen Remiro
624	Configurable drop value for design matrix of BSR linear blocks	Math	2.0.1	Numerical methods	task	Víctor de Buen Remiro	closed	2009-03-12T16:08:25Z	2009-04-03T09:19:44Z	"Sometimes design matrix of BSR linear blocks (main or missing ones) has a lot of cells very close to cero.

If we drop it all, matrix sparsity will be bigger and Choleski factorization and triangular system solving will speed up.

User must be able to control this action by mean of a configuration parameter."	Víctor de Buen Remiro
625	Preconditioned Cholesky factorization	Math	2.0.1	Numerical methods	task	Víctor de Buen Remiro	closed	2009-03-12T16:10:51Z	2009-03-27T09:32:27Z	In some circumnstances BSR linear blocks simulation could be speed up by mean of using previous decomposition as preconditioner matrices.	Víctor de Buen Remiro
626	Plausible initial values for BSR chain	Math	2.0.1	Numerical methods	defect	Víctor de Buen Remiro	closed	2009-03-12T16:18:52Z	2012-02-13T00:00:00Z	"It's neccesary a generic method to get plausible initial values for BSR chain.

In this case Plausible means factible and no null density weighted.

At this moment problem is solved for small and medium scale models by means of QuadProg R package. In order to use it you should set these configuration parameters about initial values trying

{{{
    //Try order for constrained max likelihood solution to start MCMC
    Real bsr.iniVal.try.cnstrMLE = 1;
    //Try order for constrained minimum norm solution to start MCMC
    Real bsr.iniVal.try.cnstrMinNorm = 2;
    //Try order for given by user solution to start MCMC
    Real bsr.iniVal.try.givenByUser = 3;
    //Try order for zero solution to start MCMC
    Real bsr.iniVal.try.zero = 4;
}}}
"	Víctor de Buen Remiro
630	User defined draw method for BSR non linear blocks	Math	2.0.1	BSR API	task	Víctor de Buen Remiro	closed	2009-03-12T17:24:39Z	2009-09-02T08:50:35Z	BSR user should be able to define its own draw method for non linear blocks when there is a faster way to simulate it	Víctor de Buen Remiro
634	Implcit expression of dense blocks in BSR ASCII API	Math	2.0.1	BSR API	task	Víctor de Buen Remiro	closed	2009-03-12T17:44:44Z	2009-10-01T07:58:04Z	"In models with large observational nodes appear large matrices that are not effciently treated in BSR-ASCCI format.

It should exist a way to refer to data from an external source, (BMT, BBM, OIS ?)

"	Víctor de Buen Remiro
635	Hierarquical structure over BSR missing block variables	Math	2.0.1	BSR hierarchy and priors	task	Víctor de Buen Remiro	closed	2009-03-12T17:57:47Z	2009-10-26T11:21:02Z	"User should be able to define latent, prior and generic constraints over missing block variables.

A tipical situation is that an input or output is non stationary, so scalar truncated normal distributions are no too apropriate.

Then, it should be possible to define an ARIMA model for the residuals of a special node {{{missingResidual}}} with linear equations of regression:

{{{
  knownValue[n] = missingResidual[n] //If n-th datum is known
}}}

{{{
  0 = missingResidual[n] - missingVariable[n] //If n-th datum is unknown
}}}

"	Víctor de Buen Remiro
636	Bayesian net nodes in DBApi of BSR	Math		BSR API	task	mafernandez	closed	2009-03-12T18:02:22Z	2012-02-14T08:28:27Z	"BSR accepts any generic linear model but DBApi cannot define models with other nodes but hierarchical latent and prior ones.

BsrHlm database should be expanded to a new type of generic nodes where insert variables of any node of any level."	Víctor de Buen Remiro
637	Simplified API for one observational node models	Math		BSR API	task	Víctor de Buen Remiro	closed	2009-03-12T18:07:46Z	2011-01-14T18:25:30Z	"BSR OneNode API is not fully depeveloped yet. It is neccessary to add
  1. Automatic missing variables
  1. Automatic Delta transfer non linear block
  1. Generic restrictions
"	Víctor de Buen Remiro
638	Gelman test of convergency in BSR diagnosis	Math	2.0.1	BSR Diagnosis	enhancement	Víctor de Buen Remiro	closed	2009-03-12T18:10:34Z	2009-11-04T19:12:33Z	Test of convergency of Gelman will be very usefull in very complex models	Víctor de Buen Remiro
642	BSR Fixing and reloading full blocks	Math	2.0.1	BSR reestimation	enhancement	Víctor de Buen Remiro	closed	2009-03-12T18:29:19Z	2009-04-20T15:21:44Z	Fixing and reloading full blocks is the fast way and easy to implement way for partial simulation that could be used in faster reestimation and forecasting methods	Víctor de Buen Remiro
643	Class BysMcmc::BlockSampler	Math	2.0.1	Using OOP in BSR	task	Víctor de Buen Remiro	closed	2009-03-12T18:33:05Z	2009-04-08T07:50:56Z	"Now {{{NameBlock DefineBlock}}} is included as member of BSR blocks but it should be an abstract {{{Class BlockSampler}}} which all specialized inherite from.

"	Víctor de Buen Remiro
644	BSR Interface	Interface		BSR Interface	task	Jorge	closed	2009-03-12T18:41:36Z	2011-04-05T10:26:28Z	In order to handle with large HLM models, BSR needs an specialiced interface that allows an easy control of massive process of estimation, forecasting, diagnosis, etc.	Víctor de Buen Remiro
647	TOL++: A C++ code generator from TOL code	Kernel		TOL Extensions	task	Víctor de Buen Remiro	closed	2009-03-12T19:05:12Z	2011-01-14T18:24:34Z	If we are able to create a traductor from TOL to C++ then we would have a simple way to make faster versions of critical process.	Víctor de Buen Remiro
648	TOL packages	Various	2.0.1	TOL Extensions	task	Víctor de Buen Remiro	closed	2009-03-12T19:42:34Z	2010-06-10T10:23:37Z	"In order to allow a big growning of libraries written in TOL it's neccessary to count with a well designed structure of modular development.

See more on TolPkg
"	Víctor de Buen Remiro
649	Loading dll's in TOL	Various		TOL Extensions	defect	Víctor de Buen Remiro	closed	2009-03-12T20:25:37Z	2011-01-14T18:19:57Z	Implementation of ExtLoader: a protocol for defining C++ built-in TOL entities over dynamic link libraries (.so, .dll) and an automatic cross-platform loading system tht will be called from TOL.	Víctor de Buen Remiro
651	BSR DBApi class hierarchy	Math	2.0.1	Using OOP in BSR	task	Víctor de Buen Remiro	closed	2009-03-13T10:04:25Z	2009-10-01T15:00:07Z	DBApi must be use classes instead of templates of NameBlock	Víctor de Buen Remiro
652	BSR OneNode API class hierarchy	Math	2.0.1	Using OOP in BSR	task	Víctor de Buen Remiro	closed	2009-03-13T10:06:25Z	2009-09-02T08:54:38Z	BSR OneNode API must have class hierarchy instead of a template of NameBlock	Víctor de Buen Remiro
653	compatibility in OneNode API from 1.1.7 to 2.0.1	Math	2.0.1	BSR API	defect	Víctor de Buen Remiro	closed	2009-03-13T10:29:34Z	2009-03-27T09:34:36Z	"If I compile a OneNode BSR, used in version 1.1.7, with version 2.0.1 I obtain this error:

ERROR: [1] Se esperaba campo de estructura Date BSR.DocInfo->Session.Creation  cuando se encontro el objeto de tipo Text en el el elemento número 6
"	Jorge
654	Class BysMcmc::MasterSampler	Math	2.0.1	Using OOP in BSR	task	Víctor de Buen Remiro	closed	2009-03-13T11:16:08Z	2009-04-08T18:35:10Z	"Argument {{{NameBlock modelSampler}}} of {{{BysMcmc::BuildCycler}}} must be a Class instead of a NameBlock modelSampler
"	Víctor de Buen Remiro
655	Class BysMcmc::Config	Math	2.0.1	Using OOP in BSR	task	Víctor de Buen Remiro	closed	2009-03-13T11:17:19Z	2009-04-03T17:40:11Z	"Argument {{{NameBlock config}}} of {{{BysMcmc::BuildCycler}}} must be a Class instead of a NameBlock modelSampler
"	Víctor de Buen Remiro
656	Class BysMcmc::Notifier	Math	2.0.1	Using OOP in BSR	task	Víctor de Buen Remiro	closed	2009-03-13T11:17:47Z	2012-09-17T21:06:12Z	"Argument {{{NameBlock notifier}}} of {{{BysMcmc::BuildCycler}}} must be a Class instead of a NameBlock modelSampler
"	Víctor de Buen Remiro
658	BSR Import API class hierarchy	Math	2.0.1	Using OOP in BSR	task	Víctor de Buen Remiro	closed	2009-03-13T11:30:34Z	2009-10-01T14:58:58Z	BSR Import API must have class hierarchy instead of a template of NameBlock	Víctor de Buen Remiro
659	Using macro #Embed instead of Include in BSR NameBlock's	Math	2.0.1	Using OOP in BSR	task	Víctor de Buen Remiro	closed	2009-03-13T11:41:47Z	2009-04-03T09:17:55Z	In order to get a clean declaration and prepare for classes BSR NameBlock's should use macro #Embed instead of Include	Víctor de Buen Remiro
660	Macro #Embed out of current directory is not compatible with Include	Kernel	2.0.1	Mantainance	defect	Víctor de Buen Remiro	closed	2009-03-13T14:24:03Z	2010-04-21T14:38:16Z	"Macro #Embed out of current directory is not compatible with Include

We have these three files:

{{{
//File file1.tol in my_root directory
#Embed ""my_subdir/file2.tol"";
}}}

{{{
//File file2.tol in my_root/my_subdir directory
Set Include(""file3.tol"");
}}}

{{{
//File file3.tol in my_root/my_subdir directory
Real a = 0;
}}}

When file1.tol  compiled TOL shows this error message:

{{{
ERROR: [1] Cannot open file file3.tol
}}}

"	Víctor de Buen Remiro
661	#Embed fails when is the last item of a list	Kernel	2.0.1	Using OOP in BSR	defect	Víctor de Buen Remiro	closed	2009-03-13T14:39:24Z	2009-03-26T19:30:30Z	"This TOL code
{{{
Set aux =
[[
  #Embed ""file.1.tol"";
  #Embed ""file.2.tol""
]];
}}}

returns this parser error message

{{{
ERROR: [1] Símbolo separador ; fuera de lugar.
}}}

but this other works fine

{{{
Set aux =
[[
  #Embed ""file.1.tol"";
  #Embed ""file.2.tol"";
  Real a = 0
]];
}}}

"	Víctor de Buen Remiro
664	Metropolis-Hastings simulation of BSR linear block	Math	2.0.1	Numerical methods	enhancement	Víctor de Buen Remiro	closed	2009-03-23T12:31:12Z	2009-04-21T09:46:23Z	"In each iteration of BSR, we need to simulate vector [[LatexEquation(\beta $$)]] matching this linear constrained regression with ARIMA noise:

[[LatexEquation(Y = X \beta + z $$)]][[BR]]
[[LatexEquation(A \beta \leq a $$)]][[BR]]
[[LatexEquation(\phi\left(B\right) z_t = \theta\left(B\right) e_t $$)]][[BR]]
[[LatexEquation(e \sim N\left(0,\sigma^{2} I\right) $$)]][[BR]]

ARMA and variance parameters are changing in each iteration of BSR, and, if there are missing values or non linear filters matrices [[LatexEquation(Y $$)]] and [[LatexEquation(X $$)]] could also change in each iteration. Only constraining inequations remain invariant in any case.

So, an ARIMA decomposition and filter and a Cholesky decomposition are needed in order to simulate linear block. Even if [[LatexEquation(X $$)]] is very sparse, after applying ARIMA filter it could become dense and process will be too slow.

I propose a preconditioning method to save a lot of time calculating and storing all blocks of a simulation only for one of a lot of iterations and using them to generate aproximations that will be refinated inside an internal Metropolis-Hastings chain.

The main idea behind this method is that, when external BSR Gibbs chain is already in convergence phase, difference of expected values between two different iterations should tend to zero. So, the simulator of a past iteration should be a good candidate generator for distribution of current iteration.

Let be the last full calculated and stored system

[[LatexEquation(Y' = X' \beta + z' $$)]][[BR]]
[[LatexEquation(A \beta \leq a $$)]][[BR]]
[[LatexEquation(\phi'\left(B\right) z'_t = \theta'\left(B\right) e'_t $$)]][[BR]]
[[LatexEquation(e' \sim N\left(0,\sigma'^{2} I\right) $$)]][[BR]]

Following these steps for each Metropolis-Hastings step we can generate a candidate of vector [[LatexEquation(\beta $$)]] calculating simultaneously its exact density:
 1. Since this system has been previously decomposed is very fast to generate a candidate vector and its density [[LatexEquation( \log\left(Q\left(\beta\right)\right) $$)]], that is not depending on previous state.
 1. In order to calculate the density for current system we will get corresponding ARIMA noise [[BR]][[LatexEquation(z = Y - X \beta $$)]]
 1. By means of Levinson or Almagro method of ARMA evaluation it's posible to calculate in a very fast way differential equation [[BR]][[LatexEquation(\phi\left(B\right) z_t = \theta\left(B\right) e_t $$)]][[BR]] getting also residuals likelihood which logarithm is, but a constant, the exact density [[LatexEquation( \log\left(P\left(\beta\right)\right) $$)]]

Due to candidates are independent of previous chain it is enought to have just one non rejected sample. When number of rejected iterations growns is the moment of remake full calculations and store a new preconditioner regression. If this happens after a large number of iterations, then a lot of time will be saved.
"	Víctor de Buen Remiro
666	BSR Fixing and reloading partially for main linear block	Math	2.0.1	BSR reestimation	enhancement	Víctor de Buen Remiro	closed	2009-03-27T09:08:29Z	2009-09-11T15:21:43Z	"We can separate a linear constrained regression block 

[[LatexEquation(Y = X \beta + e; e ~ N\left(0,I\right) $$)]][[BR]]
[[LatexEquation(A \beta \leq a $$)]][[BR]]

in two sub-blocks

[[LatexEquation(Y = X_{1} \beta_{1} +X_{2} \beta_{2} + e; e \sim N\left(0,I\right) $$)]][[BR]]
[[LatexEquation(A_{1}\beta_{1} + A_{2}\beta_{2} \leq a $$)]][[BR]]

If we have an inconditional sample or a fixed set of values for [[LatexEquation(\beta_{1} $$)]], then we can sample [[LatexEquation(\beta_{2} | \beta_{1} $$)]] from reduced regression

[[LatexEquation(Y_{1}  = X_{2} \beta_{2} + e; e \sim N\left(0,I\right) $$)]][[BR]]
[[LatexEquation(A_{2} \beta_{2} \leq a_{1} $$)]][[BR]]

where

[[LatexEquation(Y_{1} = Y - X_{1} \beta_{1} $$)]][[BR]]
[[LatexEquation(a_{1} = a - A_{1} \beta_{1} $$)]][[BR]]
"	Víctor de Buen Remiro
667	BSR Reestimation by partial simulation	Math	2.0.1	BSR reestimation	enhancement	Víctor de Buen Remiro	closed	2009-03-27T09:12:12Z	2009-10-01T13:38:45Z	"By means of partial simulation user can perform fast model reestimation from an old stored MCMC.

BSR should provide an automated an easy to use way of selecting which variables must be fixed or reloaded in order to get the faster partial sampling handler {{{BysMcmc::McmcPartialHandler}}}"	Víctor de Buen Remiro
668	BSR Forecasting by partial simulation	Math	2.0.1	BSR reestimation	task	Víctor de Buen Remiro	closed	2009-03-27T09:14:37Z	2009-10-01T13:37:44Z	"Bayesian forecasting is only an special case of bayesian simulation where the unknown parameters are just future values of observational nodes that can be treated as missing values.

From the original BSR model it's posible to isolate these missing values in a new BSR model which target is to give a mechanism of arbitrary inference over future values.

Partial simulation is the simplest and fastest way to implement bayesian forecasting from an old stored MCMC by means of a modified version of estimation model. It consists in an automated and easy to use way of selecting which variables must be fixed or reloaded from chains simulated in past estimation sessions.

Fixing variables to the estimated average is the faster way, but it means to calculate forecasting conditioned by one realization, with high probability but just one, of parameters. It's a bayesian way but not too.

Reloading past MCMC is more robust for inference, specially when there are no enough data, or estimated parameters are no strongly significative. Since future missing values cannot have influence over past, if there are no new data, the parameters obtained in the final estimate are as good as the day they were estimated. If there are new data, then it could be needed a battery of diagnostic tests in order to ensure the quality of the model.

These are the steps to convert the original estimation model in a bayesian forecasting model:

 * Select a past model session, whose MCMC has been stored in a persistent device.
 * Mark as fixed or reloaded all well known variables available
 * Select a short contrast time window, according with the ARIMA degrees, in order to get faster simulations.
 * Add missing output variables along forecasts window time.
 * Add known input values along forecasts window time.
 * Add posible missing input variables along forecasts window time
 * Add strong prior information over missing output and input variables to avoid colinearity.
 * Finally it's no problem to add some new detected variables in just one step of reestimation and forecasting.


===================================================================

La previsión bayesiana no es más que un caso particular de simulación bayesiana, en la que los parámetros desconocidos son los valores futuros de los nodos de observación, los cuales pueden ser tratados simplemente como valores omitidos desde le punto de vista de BSR.

A partir del modelo original BSR es posible aislar estos valores que faltan en un modelo nuevo cuyo objetivo es dar un mecanismo de inferencia arbitraria sobre esos valores futuros.

La simulación parcial es la forma más simple y rápida de implementar la previsión bayesiana a partir de una MCMC almacenada, por medio de una versión modificada del modelo de estimación. Consiste en un sistema automatizado y fácil de usar con el que es posible seleccionar las variables que deben ser fijadas o recargadas de cadenas simuladas en una sesión de estimación anterior.

La fijación de las variables a la media estimada es la manera más rápida, pero implica el cálculo dee la previsión condicionada por una realización concreta, muy probable pero sólo una, de los parámetros. Es una forma bayesiana de estimar, pero no demasiado.

LA recarga desde una MCMC anterior es un método mucho más robusto para la inferencia, especialmente cuando no hay datos suficientes, o los parámetros estimados no son muy significativas. Dado que los futuros valores que faltan no pueden tener influencia sobre el pasado, si no hay nuevos datos, los parámetros obtenidos en la estimación definitiva, son tan buenos como el día en que fueron estimados. Si hay datos nuevos, entonces podría ser necesaria una batería de pruebas de diagnóstico con el fin de garantizar la calidad del modelo.

Estos son los pasos para convertir el modelo de estimación original en un modelo de pronóstico bayesiano:

 * Seleccione una sesión de modelo pasado, cuya MCMC se ha almacenado en un dispositivo persistentes.
 * Marcar como fijos o cargar todos bien conocidos variables disponibles
 * Seleccionar una corta ventana temporal de contraste, de acuerdo con los grados ARIMA, con el fin de alcanzar mayor velocidad de las simulaciones.
 * Añadir variables de omitidos del output en la ventana temporal de previsión.
 * Añadir variables de omitidos de los inputs en la ventana temporal de previsión.
 * Añadir posible variables de entrada que faltan a lo largo de las previsiones de ventana de tiempo
 * Añadir fuerte información a priori sobre los omitidos de inputs y output para evitar colinealidades.
 * Por último, no es ningún problema, si es necesario, añadir nuevas variables detectadas en un solo paso de reestimación y previsión.
"	Víctor de Buen Remiro
673	Assignation operator PutValue for NameBlock	OOP	2.0.1	Using OOP in BSR	defect	Víctor de Buen Remiro	closed	2009-04-03T13:23:57Z	2009-04-03T14:41:06Z	It's needed to implement the assignation operator PutValue for NameBlock	Víctor de Buen Remiro
674	Default Class instance should be acceptd	OOP	2.0.1	Using OOP in BSR	defect	Víctor de Buen Remiro	closed	2009-04-03T15:28:35Z	2009-04-03T17:31:51Z	"TOL syntax should accept declarations of class instances when all members has default values.

{{{
Class MyClass  
{
  Real myMethod(Real a) { a }
};

MyClass instance;
}}}

But now an error is shown and no instance is created:
{{{
ERROR: [1] MyClass no es un operador de tipo Anything
}}}
"	Víctor de Buen Remiro
676	VMatrix IsFinite is wrong for 0 cells	Database			defect	Jorge	closed	2009-04-07T14:54:41Z	2009-05-07T15:48:23Z	"This expression returns 0 at second row but should return 1
{{{
VMatrix IsFinite(Mat2VMat(Col(1, 0)));
}}}"	Víctor de Buen Remiro
678	BSR Adusting frequency of sampling refresh by block	Math	2.0.1	BSR reestimation	enhancement	Víctor de Buen Remiro	closed	2009-04-20T13:43:37Z	2009-04-20T15:21:20Z	Some times not all BSR blocks have the same importance in inference and user could want to adjust frequence of sampling refresh that is set to 1 by default.	Víctor de Buen Remiro
679	BSR Fixing and reloading partially for output missing block	Math	2.0.1	BSR reestimation	enhancement	Víctor de Buen Remiro	closed	2009-04-20T14:29:29Z	2009-09-11T15:16:14Z	"We can separate output missing block 

[[LatexEquation(Y + V = X \beta + a; e_t = \frac{\theta \left(B\right)}{\phi\left(B\right}} a_t \sim N\left(0,\sigma^2\right) $$)]][[BR]]

in two sub-blocks

[[LatexEquation(Y + V_{1} + V_{2} = X \beta + a $$)]][[BR]]

If we have an inconditional sample or a fixed set of values for [[LatexEquation(\V_{1} $$)]], then we can sample [[LatexEquation(\V_{2} | \V_{1} $$)]] from reduced regression

[[LatexEquation(Y_{1} + V_{2} = X \beta + a $$)]][[BR]]
[[LatexEquation(Y_{1} = Y + V_{1} $$)]][[BR]]

"	Víctor de Buen Remiro
680	BSR Fixing and reloading partially for input missing block	Math	2.0.1	BSR reestimation	enhancement	Víctor de Buen Remiro	closed	2009-04-20T14:33:04Z	2009-09-12T09:09:37Z	"We can separate input missing block 

[[LatexEquation(Y = \left(X+U\right) \beta + a; e_t = \frac{\theta \left(B\right)}{\phi\left(B\right}} a_t \sim N\left(0,\sigma^2\right) $$)]][[BR]]

in two sub-blocks

[[LatexEquation(Y = \left(X+U_{1}+U_{2}\right) \beta + a $$)]][[BR]]

If we have an inconditional sample or a fixed set of values for [[LatexEquation(\U_{1} $$)]], then we can sample [[LatexEquation(\U_{2} | \U_{1} $$)]] from reduced regression

[[LatexEquation(Y = \left(X_{1}+U_{2}\right) \beta + a $$)]][[BR]]
[[LatexEquation(X_{1} = X + U_{1} $$)]][[BR]]

"	Víctor de Buen Remiro
681	BSR Fixing and reloading partially for ARIMA, Sigma and non linear blocks	Math	2.0.1	BSR reestimation	enhancement	Víctor de Buen Remiro	closed	2009-04-20T14:43:57Z	2009-10-01T13:55:53Z	"ARIMA, Sigma and non linear blocks have a natural division due they are formed by sub-blocks affecting to just one segment of BSR regression.

Sampling methods are scalar based in these cases, so we could apply  arbitrary partial simulation to them in a very easy way, but it has no sense to try partial simulation inside these sub-blocks because filtering methos could become too complicated and expected gain is very small."	Víctor de Buen Remiro
684	Following ticket status in your mail	Web			doubt	apalonso	closed	2009-04-22T17:14:17Z	2009-04-22T17:44:43Z	"Hi,
How can I follow my tickets status or tickets status in general, in my email?"	César Pérez Álvarez
686	DeepCopy does not copy the names of the elements	SetAlgebra	2.0.1	Mantainance	enhancement	Víctor de Buen Remiro	closed	2009-04-24T14:25:32Z	2009-08-24T07:04:09Z	"Is is possible to make that DeepCopy copy the objects with the names of the original ones?

{{{
Set XX = { [[ Real aa = 1 ]] };
Set YY = DeepCopy( XX );
Real YY::aa
}}}

regards,
"	Jorge
694	Official version is not updated	Web		Mantainance	defect	Víctor de Buen Remiro	closed	2009-05-28T19:20:52Z	2009-06-02T11:22:18Z	"If you download TOL 1.1.7 official version in https://www.tol-project.org/wiki/DownloadTol, this version is ""v1.1.7 b.9 2009-05-07 15:34:13 i686-win"" but official is ""v1.1.7 b.9 2009-05-15 08:07:29 i686-win"".

Is this section updating?"	César Pérez Álvarez
703	change blt::treeview for treectrl	Interface	head	TOLBase Revitalization	task	Jorge	closed	2009-06-22T16:35:42Z	2016-11-03T06:50:40Z	"This is a major change that involve some days working in tolinspect.tcl

This the first step in replacing BLT."	Jorge
709	Function getOptArg does not work properly for version 2.0.1	OOP	2.0.1	Mantainance	defect	Víctor de Buen Remiro	closed	2009-07-13T10:40:47Z	2009-07-14T09:26:59Z	"This example does not work in versión 2.0.1 while it works perfectly in version 1.1.7

{{{
NameBlock args = 
[[
  Text _.arg1 = ""existo""
]];

Text valor =  getOptArg(args, ""_.arg1"", Text ""no existo"");
}}}

In version 2.0.1 it returns ""no existo""
In version 1.1.7 it returns ""existo""
"	Javier Portugal
710	"implicit member ""this"" in NameBlock"	OOP	2.0.1	OOP Implementation	enhancement	Víctor de Buen Remiro	closed	2009-07-13T16:33:17Z	2011-01-17T08:54:51Z	"It could be very useful if every instance of a NameBlock had an implicit member ""this"" being a reference to ""it self"", similar to the this reserved word ""this"" in C++. This feature could make easy the collaboration between instances."	Jorge
711	Creación de Objetos (sin nombre) de una Clase	OOP	2.0.1	OOP Implementation	defect	Víctor de Buen Remiro	closed	2009-07-17T14:05:02Z	2009-08-12T09:54:28Z	"Si intento crear un objeto de una clase pero no le asigno nombre en lugar de crear un objeto de la clase, crea un simple NameBlock

{{{
// Clase objeto
Class Object
{
  Text _.name;
  Text GetName(Real void) {
    Text _.name
  }
};

// Creo objeto (Este si es un objeto de la Clase Object)
Object obj1 = 
[[
  Text _.name = ""Objeto 1""
]];

// Intento crear objeto sin nombre (es un NameBlock, no es un objeto de la clase Object)
Object  
[[
  Text _.name = ""Objeto 2""
]];

}}}"	Javier Portugal
712	Copy y DeepCopy para NameBlock y objetos (Clases)	OOP	2.0.1		enhancement	Víctor de Buen Remiro	closed	2009-07-17T14:36:18Z	2009-07-20T09:07:28Z	"Parece que el Copy con NameBlocks no copia. Ni en la Active ni en la 1.1.7.
{{{
NameBlock a = [[
 Text _.valor = ""Inicial"";
 Text GetValor (Real void) {
   _.valor
 };
 Text SetValor (Text valor) {
   Text _.valor := valor
 }
]];

NameBlock b = Copy(a);

Text b::SetValor(""cambiado"");

Text WriteLn(""El valor de b es ""+b::GetValor(0));
Text WriteLn(""El valor de a es ""+a::GetValor(0));
}}}

Aparte del Copy sería necesario tener un DeepCopy para NameBlocks (objetos de clases)
"	Javier Portugal
713	Llamar a un método de una clase desde el constructor	OOP	2.0.1	OOP Implementation	doubt	Víctor de Buen Remiro	closed	2009-07-20T08:09:03Z	2009-07-20T08:43:14Z	"Hola,

Simulando clases con NameBlocks puedo hacer lo siguiente: 
Tengo una clase que define que para cada objeto hay un conjunto con elementos y para llenar estos conjuntos lo quiero hacer con un texto que codifica estos elementos (la cantidad en el ejemplo, podría tener más datos). Es decir, puedo llamar al método AddItemsFromCodif desde el 'constructor'

{{{
NameBlock Objeto.New(NameBlock args) 
{
  [[ 
    Text _.codif = args::_.codif;
    Set _.items = Copy(Empty);
    Real AddItemsFromCodif(Real void) {
      Text val_ = Sub(_.codif,2,TextLength(_.codif));
      Real val = Eval(""Real ""+val_);
      Set For(1, val, Set (Real i) {
        Set Append(_.items, SetOfReal(i))
      });
      val
    };
    Real _numItems = AddItemsFromCodif(0)
  ]]
};

NameBlock miObj = Objeto.New(
[[
  Text _.codif = ""P2""
]]);
}}}

Sin embargo con clases no puedo hacer lo siguiente:
{{{
Class Objeto
{
   Text _.codif;
   Set _.items = Copy(Empty);
   Real AddItemsFromCodif(Real void) {
     Text val_ = Sub(_.codif,2,TextLength(_.codif));
     Real val = Eval(""Real ""+val_);
     Set For(1, val, Set (Real i) {
        Set Append(_.items, SetOfReal(i))
     });
     val
   };
   Real _numItems = AddItemsFromCodif(0)
};

Objeto miObj =
[[
  Text _.codif = ""P2""
]];
}}}
Da el error de que todavía no existe el atributo _.codif
''_.codif no es un objeto valido para el tipo Text.''

Estando obligado a hacer:
{{{
Class Objeto
{
   Text _.codif;
   Set _.items = Copy(Empty);
   Real AddItemsFromCodif(Real void) {
     Text val_ = Sub(_.codif,2,TextLength(_.codif));
     Real val = Eval(""Real ""+val_);
     Set For(1, val, Set (Real i) {
        Set Append(_.items, SetOfReal(i))
     });
     val
   }
};

Objeto miObj =
[[
  Text _.codif = ""P2""
]];
Real miObj::AddItemsFromCodif(0);
}}}

Creo que sería deseable que se pueda hacer lo anterior. ¿Es posible? ¿Se recomienda la programación del último ejemplo?

"	Javier Portugal
714	Herencia. Error inesperado	OOP	2.0.1	OOP Implementation	defect	Víctor de Buen Remiro	closed	2009-07-20T10:05:57Z	2009-07-20T17:58:43Z	"El siguiente ejemplo produce un error que no consigo explicar. Lo he reproducido de otro código.

{{{

Class Variable 
{
  Text _.name
};

Class Input 
{
  Text _.name;
  Variable _.variable
};

Class ExplicativeTerm
{
  Text _.name         ;
  Text _.description  = ""Sin descripción"";
  Set _.parameters    = Copy(Empty)
};


Class LinearExplicativeTerm: ExplicativeTerm
{
  Input _.input
};

Class OmegaExplicativeTerm : LinearExplicativeTerm 
{
  Real _.member
};


Variable myVar = [[ Text _.name = ""mi variable"" ]];

Input II = [[ Text _.name = ""input"", Variable _.variable = myVar ]];

OmegaExplicativeTerm D1 = [[ Text _.name = ""D1"", Input _.input = II, Real _.member = 2.0 ]];

}}}"	Javier Portugal
715	Falso mensaje de advertencia de ocultación de métodos	OOP	2.0.1	OOP Implementation	defect	Víctor de Buen Remiro	closed	2009-07-21T11:29:51Z	2009-07-21T21:46:44Z	"Cuando se crea una instancia de clase o un NameBlock dentro de un método de otra instancia o NameBlock que contiene algun método en común con la primera, entonces salta un mensaje de advertencia de ocultación de métodos que no tiene ningún sentido.

Por ejemplo, el siguiente código TOL 

{{{
  Class ClaseA
  {
    Text _.name;
    Text GetName(Real unused) { _.name }
  };

  Class ClaseB
  {
    Text _.name;
    Text GetName(Real unused) { _.name };
    ClaseA GetClaseA(Text sufix)
    {
      Text name = GetName(0)+"".""+sufix;
      ClaseA a = [[Text _.name = name]] 
    }
  };

  ClaseB b = 
  [[
    Text _.name = ""b""     
  ]];
    
  ClaseA _.a = b::GetClaseA(""a"");

}}}

genera el mensaje

{{{
Warning: [1] La función global Text GetName oculta el miembro de NameBlock publicado b::GetName
}}}

Y resulta completamente falso pues realmente no hay ninguna ocultación de ningún tipo sino un cambio de ámbito perfectamente posible, en el cual a::GetName sustituye a b::GetName con todo el derecho del mundo.



"	Víctor de Buen Remiro
716	Bad FullName when some member is assigned to a named object	OOP	2.0.1	OOP Implementation	defect	Víctor de Buen Remiro	closed	2009-07-21T17:53:11Z	2009-07-21T17:56:05Z	"When some member is assigned to a named object, FullName becomes corrupted. For example, correct FullName should be 

{{{
Code relExpTerOutput::_.explicativeTerm::_.input::_.variable::Copy
}}}

but is

{{{
Code relExpTerOutput::expTer::_.input::var20::Copy
}}}

This could be just an stetic problem in TolBase Inspector but, when root {{{ NameBlock relExpTerOutput }}} is a global object, then TolBase Inspector returns an error when you try to view the list of functions of type returned by the method, due to it can't find the final method with wrong FullName.
"	Víctor de Buen Remiro
717	error instantiating a Class just afert including the definition	OOP	2.0.1	OOP Implementation	doubt	Jorge	closed	2009-07-23T11:54:02Z	2009-08-10T08:04:31Z	"Create a file 'def_A.tol' with this contents:

{{{
================= def_A.tol =================
Class A
{
  Real a = 1
};

A a;
}}}

if you compile it works as expected but if we instantiate 'A a' in other file where def_A is included then TOL emit and error. In order to reproduce bug use the attached files and compile test_A.tol.





"	Jorge
718	Logit function returns wrong probability	Math		Mantainance	defect	Víctor de Buen Remiro	closed	2009-07-23T20:43:10Z	2009-08-10T14:55:08Z	"Hi,
when I was used Logit function and a log message is like this:

2009/07/23 17:31:24 : 
Empieza Logit model (46212x44)
  Logit model iteration(0) 	 LogLikelyhood = -32031.71750800246	 maxAbsDif = 1.806530388564703	 Gradient Norm = 3041.715167005722 Tiempo : 3.188 segundos
  Logit model iteration(1) 	 LogLikelyhood = -24056.38553091559	 maxAbsDif = 0.7096645080192925	 Gradient Norm = 903.1248844663231 Tiempo : 3.172 segundos
  Logit model iteration(2) 	 LogLikelyhood = -1.#INF	 maxAbsDif = 0.6107093713189264	 Gradient Norm = 252.949584659891 Tiempo : 3.187 segundos
  Logit model iteration(3) 	 LogLikelyhood = -1.#INF	 maxAbsDif = 0.3489773888652304	 Gradient Norm = 216.8582055399408 Tiempo : 3.203 segundos
  Logit model iteration(4) 	 LogLikelyhood = -1.#INF	 maxAbsDif = 0.2252448891341937	 Gradient Norm = 132.5871946500478 Tiempo : 3.188 segundos
  Logit model iteration(5) 	 LogLikelyhood = -1.#INF	 maxAbsDif = 0.2184098783931245	 Gradient Norm = 259.0016938189552 Tiempo : 3.219 segundos
  Logit model iteration(6) 	 LogLikelyhood = -1.#INF	 maxAbsDif = 0.2141270332939203	 Gradient Norm = 121.1500781359608 Tiempo : 3.187 segundos
  Logit model iteration(7) 	 LogLikelyhood = -1.#INF	 maxAbsDif = 0.2207307660479224	 Gradient Norm = 245.4682477045687 Tiempo : 3.188 segundos
  Logit model iteration(8) 	 LogLikelyhood = -1.#INF	 maxAbsDif = 0.2228390613032262	 Gradient Norm = 126.2880420563238 Tiempo : 3.203 segundos
  Logit model iteration(9) 	 LogLikelyhood = -1.#INF	 maxAbsDif = 0.2206495929879774	 Gradient Norm = 251.8340661491895 Tiempo : 3.187 segundos
  Logit model iteration(10) 	 LogLikelyhood = -1.#INF	 maxAbsDif = 0.2198199000609777	 Gradient Norm = 124.334223060156 Tiempo : 3.188 segundos
  Logit model iteration(11) 	 LogLikelyhood = -1.#INF	 maxAbsDif = 0.2206232593937018	 Gradient Norm = 249.3775824242171 Tiempo : 3.187 segundos
  Logit model iteration(12) 	 LogLikelyhood = -1.#INF	 maxAbsDif = 0.2209297922887828	 Gradient Norm = 125.0626477692595 Tiempo : 3.188 segundos
  Logit model iteration(13) 	 LogLikelyhood = -1.#INF	 maxAbsDif = 0.2206346758654199	 Gradient Norm = 250.2820060063693 Tiempo : 3.187 segundos
  Logit model iteration(14) 	 LogLikelyhood = -1.#INF	 maxAbsDif = 0.2205214630883892	 Gradient Norm = 124.7942732376469 Tiempo : 3.188 segundos
  Logit model iteration(15) 	 LogLikelyhood = -1.#INF	 maxAbsDif = 0.2206319101317311	 Gradient Norm = 249.9471168674323 Tiempo : 3.187 segundos
  Logit model iteration(16) 	 LogLikelyhood = -1.#INF	 maxAbsDif = 0.2206740088087957	 Gradient Norm = 124.8941738699272 Tiempo : 3.172 segundos
  Logit model iteration(17) 	 LogLikelyhood = -1.#INF	 maxAbsDif = 0.2206333171968811	 Gradient Norm = 250.071515078183 Tiempo : 3.203 segundos
  Logit model iteration(18) 	 LogLikelyhood = -1.#INF	 maxAbsDif = 0.2206177384352029	 Gradient Norm = 124.8572213844049 Tiempo : 3.172 segundos
  Logit model iteration(19) 	 LogLikelyhood = -1.#INF	 maxAbsDif = 0.2206328904031953	 Gradient Norm = 250.0254568955057 Tiempo : 3.188 segundos
  Logit model iteration(20) 	 LogLikelyhood = -1.#INF	 maxAbsDif = 0.2206386745022871	 Gradient Norm = 124.8709437231808 Tiempo : 3.187 segundos
  Logit model iteration(21) 	 LogLikelyhood = -1.#INF	 maxAbsDif = 0.2206330715390124	 Gradient Norm = 250.0425526818025 Tiempo : 3.188 segundos
  Logit model iteration(22) 	 LogLikelyhood = -1.#INF	 maxAbsDif = 0.2206309286696235	 Gradient Norm = 124.8658603693529 Tiempo : 3.203 segundos
  Logit model iteration(23) 	 LogLikelyhood = -1.#INF	 maxAbsDif = 0.2206330098066635	 Gradient Norm = 250.0362181234874 Tiempo : 3.187 segundos
  Logit model iteration(24) 	 LogLikelyhood = -1.#INF	 maxAbsDif = 0.2206338047973039	 Gradient Norm = 124.8677463415578 Tiempo : 3.203 segundos
  Logit model iteration(25) 	 LogLikelyhood = -1.#INF	 maxAbsDif = 0.2206330339733627	 Gradient Norm = 250.0385679920904 Tiempo : 3.188 segundos
  Logit model iteration(26) 	 LogLikelyhood = -1.#INF	 maxAbsDif = 0.2206327392986489	 Gradient Norm = 124.8670472946448 Tiempo : 3.187 segundos
  Logit model iteration(27) 	 LogLikelyhood = -1.#INF	 maxAbsDif = 0.2206330253111616	 Gradient Norm = 250.0376969327074 Tiempo : 3.188 segundos
  Logit model iteration(28) 	 LogLikelyhood = -1.#INF	 maxAbsDif = 0.2206331345978415	 Gradient Norm = 124.8673065550081 Tiempo : 3.172 segundos
  Logit model iteration(29) 	 LogLikelyhood = -1.#INF	 maxAbsDif = 0.2206330285926491	 Gradient Norm = 250.0380199739106 Tiempo : 3.187 segundos
  Logit model iteration(30) 	 LogLikelyhood = -1.#INF	 maxAbsDif = 0.2206329880755525	 Gradient Norm = 124.8672104371507 Tiempo : 3.188 segundos
  Logit model iteration(31) 	 LogLikelyhood = -1.#INF	 maxAbsDif = 0.2206330273921058	 Gradient Norm = 250.0379002067471 Tiempo : 3.187 segundos
  Logit model iteration(32) 	 LogLikelyhood = -1.#INF	 maxAbsDif = 0.2206330424167947	 Gradient Norm = 124.8672460800733 Tiempo : 3.188 segundos
  Logit model iteration(33) 	 LogLikelyhood = -1.#INF	 maxAbsDif = 0.2206330278410212	 Gradient Norm = 250.0379446186832 Tiempo : 3.187 segundos
  Logit model iteration(34) 	 LogLikelyhood = -1.#INF	 maxAbsDif = 0.2206330222702808	 Gradient Norm = 124.8672328647088 Tiempo : 3.172 segundos
  Logit model iteration(35) 	 LogLikelyhood = -1.#INF	 maxAbsDif = 0.2206330276754356	 Gradient Norm = 250.0379281518504 Tiempo : 3.203 segundos
  Logit model iteration(36) 	 LogLikelyhood = -1.#INF	 maxAbsDif = 0.2206330297410974	 Gradient Norm = 124.8672377650314 Tiempo : 3.203 segundos
  Logit model iteration(37) 	 LogLikelyhood = -1.#INF	 maxAbsDif = 0.2206330277370313	 Gradient Norm = 250.037934257792 Tiempo : 3.204 segundos
  Logit model iteration(38) 	 LogLikelyhood = -1.#INF	 maxAbsDif = 0.2206330269711192	 Gradient Norm = 124.8672359480712 Tiempo : 3.187 segundos
  Logit model iteration(39) 	 LogLikelyhood = -1.#INF	 maxAbsDif = 0.2206330277142518	 Gradient Norm = 250.0379319938005 Tiempo : 3.172 segundos


Probability calculation for each case i.e:

Matrix p = Exp(X*)$/RSum(Exp(X*B),1);

where X is the input matrix of Logit regression and B is the result parameter matrix is quite different to the probability calculated in the results of Logit function.

I have a private example that I will send to you. "	César Pérez Álvarez
719	Function to query the Class of an instance	OOP	2.0.1	OOP Implementation	enhancement	Jorge	closed	2009-07-24T15:25:26Z	2009-07-24T16:40:18Z	"It would be useful function to ask for the Class of an instance.

I propose:

{{{
 Text GetClassOf( NameBlock obj )
}}}

Returns the name of the Class associated to obj if it an instance of any Class or empte string in other case.

"	Jorge
721	Using class name as a grammar	OOP	2.0.1	OOP Implementation	defect	Víctor de Buen Remiro	closed	2009-08-12T09:47:09Z	2009-08-12T10:10:33Z	"Error encontrado al usar el nombre de una clase como otra gramática cualquiera.
También se cuestiona la necesidad de tener que ponerle nombre (hacer una asignación con '=') a cada instancia de la clase.
Véase el archivo .tol adjunto."	pgea@…
722	Need to define class common members	OOP	2.0.1	OOP Implementation	enhancement	Víctor de Buen Remiro	closed	2009-08-12T09:52:05Z	2009-08-26T10:36:14Z	"Cada instancia de una clase crea una copia de cada uno de sus miembros. Sería conveniente evitar esto, ya que puede incrementar innecesariamente el tamaño en memoria y dificultar el tratamiento masivo de estas instancias.
Véase el archivo .tol adjunto."	pgea@…
723	Class constructors	OOP	2.0.1	OOP Implementation	enhancement	Víctor de Buen Remiro	closed	2009-08-12T09:56:00Z	2009-09-01T17:20:05Z	"Quizá sería conveniente poder incorporar a la definición de la clase los distintos constructores que definamos.
Véase el archivo .tol adjunto."	pgea@…
725	Fail creating class instances with functions taking just one argument of type NameBlock	OOP	2.0.1	OOP Implementation	defect	Víctor de Buen Remiro	closed	2009-08-18T17:34:49Z	2009-08-24T08:26:26Z	"When we try to create an instance of a class by means of a function taking just one argument of type NameBlock TOL shows an stupid error and doesn't creates it.

{{{
  Class ClassA 
  {
    Text _.name;
    Real _.length
  };

  ClassA ClassA.New(NameBlock args)
  {
    ClassA a = [[
      Text _.name   = args::name,
      Real _.length = TextLength(args::name)
    ]]
  };

  ClassA a = 
  {
    NameBlock args = [[Text name=""lkshfli""]];
    ClassA.New(aux)
  };

  ClassA b = ClassA.New({args=[[Text name=""lkshfli""]]});

  ClassA c = ClassA.New([[Text name=""lkshfli""]]);

}}}

Instances {{{ClassA a}}} and {{{ClassA b}}} are created but {{{ClassA c}}} is not created.

"	Víctor de Buen Remiro
726	Error including a BDT	Various	head		defect	Víctor de Buen Remiro	closed	2009-08-18T17:57:25Z	2009-08-18T22:14:14Z	"El siguiente código da un error que la versión justamente anterior de la ActiveTOL no daba.

{{{
Set Include(""c:/veh_mat_es.bdt"");
}}}

ERROR: [18] Inesperado fin de línea 235 leyendo el fichero BDT c:/veh_mat_es.bdt"	Javier Portugal
728	Attributes type-Code causes TOLBase Inspector instability	Interface	head	OOP Implementation	defect	Jorge	closed	2009-08-19T07:33:04Z	2009-10-07T20:04:34Z	"La declaración (quizá poco usual) de atributos de una clase de tipo Code provoca errores en el inspector de gramáticas de TOLBase.
Esto no ocurre si los Code son declarados como métodos.
"	pgea@…
729	Error in Methods/Code-Attributes inheritance	OOP	2.0.1	OOP Implementation	doubt	Víctor de Buen Remiro	closed	2009-08-19T07:51:11Z	2009-08-21T10:04:17Z	"La herencia entre clases de métodos virtuales (métodos que serán particularizados en clases derivadas) no funciona correctamente.
Más detalles en el archivo adjunto."	pgea@…
730	Derived Class Instances as Main Class Instances	OOP		OOP Implementation	doubt	Víctor de Buen Remiro	closed	2009-08-19T07:59:13Z	2009-08-21T17:16:20Z	"Al crear clases derivadas como particularizaciones de una clase principal nos encotramos con referencias a objetos de la clase principal que apuntan a instancias de la derivada.

En estos casos, el objeto apuntado (de la clase derivada) pierde los métodos (atributos tipo Code) que le son propios, aunque conserva el resto de atributos de la clase derivada."	pgea@…
731	Error in Class Decompilation after a Instantiation Error	OOP		OOP Implementation	defect	Víctor de Buen Remiro	closed	2009-08-19T08:03:55Z	2009-09-01T15:56:23Z	"Si al editar nuestro código cometemos un error al crear la instancia de una clase, ya no podremos decompilar la clase, y debemos reiniciar TOLBase. 

Parece ser que al errar en la instanciación se deja parte del objeto en memoria, lo que impide la ""decompilación"" de la clase."	pgea@…
734	Class forward declaration	OOP	2.0.1	OOP Implementation	enhancement	Víctor de Buen Remiro	closed	2009-08-27T08:12:58Z	2009-08-27T08:25:24Z	Como se comentó en #723 será necesario poder predeclarar clases para que dos clases puedan usarse entre sí.	Víctor de Buen Remiro
735	Class static members and methods	OOP	2.0.1	OOP Implementation	enhancement	Víctor de Buen Remiro	closed	2009-08-27T08:55:13Z	2009-09-01T08:51:49Z	"Propiedades de los métodos y miembros estáticos

 * Se definen anteponiendo la nueva palabra reservada Static dentro de una definición de Class

 * Desde fuera de la propia definición de la clase, lo cual excluye a las clases heredadas, sólo serán accesibles mediante la sintaxis [[BR]] {{{ <clase>::<identificador> }}} [[BR]]

 * No pueden admitir herencia y no se puede por tanto postponer su definición, sino que deben ser por tanto definidos obligatoriamente en la clase dónde se declaran. En las clases heredadas se pueden sobrecargar sin problemas, cambiando el tipo devuelto o los argumentos si se desea, porque no hay ningún conflicto ya que no se mezclan los ámbitos en ningún momento. De esta forma se puede llamar igual al constructor de cada clase en una jerarquía de clases heredadas.

 * Los miembros estáticos privados sólo serán accesibles por los métodos, estáticos o no, de la propia clase, nunca desde fuera de la clase ni tampoco desde sus clases heredadas.
"	Víctor de Buen Remiro
736	Global Parameters for Logit	Math			doubt	Víctor de Buen Remiro	closed	2009-09-01T09:47:39Z	2009-09-01T10:07:55Z	"La duda es que cuáles son los parámetros globales que utiliza el método de estimación Logit.

Para el método Estimate entiendo que son los 11 parámetros recogidos como ""Variables de Control"" en el documento ""brief_estimate.html""."	pgea@…
737	New bugs related to classes in new version b.0.12.alpha	OOP	2.0.1	OOP Implementation	defect	Víctor de Buen Remiro	closed	2009-09-03T07:45:44Z	2009-09-03T08:25:43Z	"Con la nueva versión se solucionan algunos errores y se incorporan mejoras pero aparecen nuevos errores que antes no ocurrían.
Quizá algunos se deban en parte al estilo o la manera de programar las clases.

Quizá sería conveniente crear unos ejemplos de referencia de cómo crear las clases y lo que serían buenas costumbres.

Adjunto un error que sí parece un bug."	pgea@…
738	New bug similar to #725	OOP		OOP Implementation	defect	Víctor de Buen Remiro	closed	2009-09-07T16:12:58Z	2009-09-22T15:11:52Z	"He conseguido compilar una versión de TOL desde el trunk
para poder seguir testeando los últimos cambios y encuentro
un error que recuerda al del tiquet 725.

Adjunto un ejemplo con el error."	pgea@…
739	TOL se cae sin dar pistas compilando una expresión incompleta	Kernel	2.0.1	Mantainance	defect	Víctor de Buen Remiro	closed	2009-09-08T10:55:37Z	2009-09-12T09:10:09Z	"TOL se cae sin dar pistas compilando una expresión incompleta tan sencilla como esta

{{{
  Real a = 1;
  Real b =  
}}}

"	Víctor de Buen Remiro
740	Classes and Objects in TOLBase Inspector	Interface	head	OOP Implementation	enhancement	Jorge	closed	2009-09-10T07:41:46Z	2012-02-28T18:31:53Z	"(1) Los métodos de una instancia de una clase no pueden
examinarse desde el inspector de objetos de TOLBase.

Éstos ahora pertenecen a la clase para evitar replicarlos
en cada instancia, pero sería conveniente poder visualizarlos
al inspeccionar los objetos.

(2) Las clases en el inspector tienen el aspecto de objetos 
Anything y poco podemos saber de ellas, quizá sería útil
poder ver los constructores (métodos Static) que tienen.


"	pgea@…
741	Working with Classes defined in NameBlocks	OOP		OOP Implementation	defect	Víctor de Buen Remiro	closed	2009-09-10T07:47:58Z	2009-09-22T13:17:36Z	"También en el uso de clases es conveniente definir el código dentro de un espacio de nombres para que éstos no entren en conflicto con otras variables y dándole modularidad.

Al usar las clases dentro de un NameBlock se encuentran algunos problemas:
* Las clases han de ser citadas con su nombre completo dentro del NameBlock que la contiene. Esto no debería ser necesario.
* Se encuentran errores al citar las clases dentro de bucles.

Véase el archivo adjunto."	pgea@…
742	Description of class members	OOP		OOP Implementation	defect	Víctor de Buen Remiro	closed	2009-09-10T08:09:12Z	2009-09-15T15:05:02Z	"¿Qué hacer con la descripción de los miembros (atributos y métodos) de una clase?

En la discusión del ticket 722 surge esta duda, pero no queda resuelta:
¿Qué hacer con los atributos que no deben copiarse en todas las instancias? El ejemplo más claro son las variables _.autodoc.member.XXX. ¿Existe o existiría la posibilidad de poner ""descripción"" con el PutDescription? ...

No sé si lo más conveniente sería que los atributos _.autodoc.member se traten de manera especial o recurrir a llamadas PutDescription.

Es este último caso, para los métodos de la clase sería bastante adecuado porque no se replican en cada instancia, pero para los atributos quizá no tanto, no sé si la descripción aumentaría el peso en memoria de la instancia.
"	pgea@…
744	HIerarchical structure over ARIMA parameters of BSR	Math	2.0.1	BSR hierarchy and priors	task	Víctor de Buen Remiro	closed	2009-09-14T16:32:45Z	2011-06-16T16:17:24Z	BSR should be able to handle with hierarchical structure over ARIMA parameters of BSR.	Víctor de Buen Remiro
745	BSR: Sintaxis modular de la API ASCII	Math	2.0.1	BSR Interface	task	Víctor de Buen Remiro	closed	2009-09-14T16:35:26Z	2010-04-21T08:19:29Z	"Es preciso hacer que el lenguaje ASCII-BSR sea más modular y eficiente y resolver tres problemas fundamentales:

 1. Por una parte, escribir explícitamente las ecuaciones de nodos observacionales densos y grandes es demasiado lento. (Ver ticket #634)
 1. Por otra parte, los modelos masivos con multitud de nodos requieren demasiados recursos si se intentan cargar monolíticamente. (Ver ticket #628)
 1. Además, la sintaxis actual no incorpora los filtros no lineales por loque los medelos están inclompletos y no pueden ser ejecutados en sesiones TOL ulteriores.

Para resolver estos problemas se plantea un nuevo esquema en el que la idea inicial sería tener tres tipos de módulos o archivos ASCII-BSR:

   1. '''primary''': los módulos primarios son capaces de leer un sólo segmento de regresión (nodo en el argot jerárquico) basándose en código TOL para la construcción de la matriz. Normalmente lo usaremos para nodos densos observacionales pero eso a BSR no le importa en absoluto, pues no sabe qué cosa es observacional ni latente ni nada. En esos módulos sólo cabe pues un nodo, con su declaración de variables lineales y missing, estructura de la varianza (sigma-ARIMA), sus filtros no lineales y sus restricciones de desigualdad internas, es decir, todo aquello que no afecta a ningún otro. Un módulo primario puede funcionar de forma autónoma, por ejemplo cuando queremos simular un nodo observacional por sí mismo, sin tener en cuenta estructuras jerárquicas, a priori, ni nada por el estilo, aunque eso no creo que se dé muy a menudo, pues lo normal es que la menos haya información a priori.
   2. '''joint''': los módulos de mezcla serían los actualmente permitidos, llamados así por su capacidad de mezclar variables de varios segmentos de regresión. Pueden funcionar autónomamente como hasta ahora, definiendo todas las variables y ecuaciones de forma explícita, o bien integrarse dentro de un módulo máster que se encargue de cargar previamente las variables de las que depende.
   3. '''master''': los módulos maestros  simplemente incluyen a otros módulos de cualquier tipo, incluidos otros maestros, si se desea tener los modelos estructurados en varios niveles, de forma que en cada nivel cada uno de los sub-master podría ser ejecutado autónomamente.

Con este esquema, o algo por el estilo, además de ganar en claridad y potencia, estaríamos a un paso de poder paralelizar modelos jerárquicos basándose en la estructura de niveles del módulo master. Más adelante sería también muy útil a la hora de añadir nuevos tipos de módulos, como las estructuras jerárquicas y a priori sobre parámetros fuera del bloque lineal principal de la regresión: [#744 ARIMA], [#628 Missing] o [#628 no lineales].

Un ejemplo típico de estructura BSR modular para el caso jerárquico sería la siguiente:

 * ./master.bsr: módulo raíz
  * ./obs/master: nodos observacionales y sus relaciones internas. Para cada nodo tiene un submódulo
   * ./node_name/master.bsr:
    * ./primary.bsr: segmento estrictamente observacional. Contiene los bloques lineal, de omitidos, varianza, ARIMA y filtros no lineales, siendo todos ellos opcionales, aunque al menos debe haber uno.
    * ./joint.bsr: componentes no observacionales internas, es decir, prioris, lantentes y restricciones que relacionan exclusivamente a variables del mismo nodo observacional.

  * ./mix/joint.bsr: componentes no observacionales mixtas, es decir, prioris, lantentes y restricciones que relacionan a variables de distintos nodos observacionales.


=== Estructura del módulo primario === 

Un módulos primario se definirá del siguiente modo:

 1. En primer lugar se incluye una cláusula que indique el tipo de módulo que se va a definir
{{{
Module.Type = primary;
}}}
 1. El orden de definición de las variables del bloque lineal, con la misma sintaxis que rige actualmente para el módulo joint, debe coincidir con el orden de las columnas en la matriz de inputs.
 1. El segmento de regresión es único pero se define con la misma sintaxis que en el módulo joint. En ambos casos hay una novedad: la posibilidad de introducir los filtros no lineales si los hay en la propia definición del ruido. La estructura del campo {{{NoiseDistrib}}} será distinta a la actual {{{BSR.NoiseDistrib}}} para que pueda incluir un nuevo campo en el que almacenar los filtros no lineales.
 1. Luego se introducirán la matriz de output y la de input.
 1. Después se introducirán si las hay, las variables de omitidos con una sintaxis simular a la de los módulos joint pero añadiéndoles la información de su ubicación en las matrices de input u output, las cuales deberían tener un valor omitido en la celda correspondiente, cosa que debe por tanto comprobarse.
 1. Por último se añadirán si las hay, las restricciones de desigualdad sobre las variables del bloque lineal.

Obviamente el Import deberá saber que está escribiendo un módulo primario y pedir las matrices en lugar de los coeficientes así como la ubicación de los omitidos.

A continuación se presenta una plantilla de cómo podría quedar el fichero ASCII de un módulo primario.
{{{ 
/////////////////////////////////////////////////////////////////////////////
// Bayesian Sparse Regression
/////////////////////////////////////////////////////////////////////////////

$BEGIN

Module.Type = primary;

Model.Name = ""..."";
Model.Description = ""..."";
Session.Name = ""..."";
Session.Description = ""..."";
Session.Authors = ""..."";

/////////////////////////////////////////////////////////////////////////////
// Defining header of Regression Variables
/////////////////////////////////////////////////////////////////////////////

LinearBlk::<node_name>::<variable-name>::Coef <- {+ or -}<initial value or ?>;
...
LinearBlk::<node_name>::<variable-name>::Coef <- {+ or -}<initial value or ?>;

/////////////////////////////////////////////////////////////////////////////
// Defining header of Noise Distribution
/////////////////////////////////////////////////////////////////////////////
<node_name>::Noise [length and optional time info] 
  ~ <distribution>
// Optional defininition of Non Linear Filters
  with non linear flters {'Set of NameBlock's expresion'};
 
/////////////////////////////////////////////////////////////////////////////
// Defining Regression Equations
/////////////////////////////////////////////////////////////////////////////

Output = {'Matrix or VMatrix expresion'};

Input = {'Matrix or VMatrix expresion'};


/////////////////////////////////////////////////////////////////////////////
// Optional defininition of Ouput Missing Variables
/////////////////////////////////////////////////////////////////////////////

MissingBlk::<MIXTURE or node name>::<missing_name> ? at row <row or date index> for output ~ <distribution>;
...
MissingBlk::<MIXTURE or node name>::<missing_name> ? at row <row or date index> for output ~ <distribution>;


/////////////////////////////////////////////////////////////////////////////
// Defining Parameter Constraints
/////////////////////////////////////////////////////////////////////////////
{+|-}<number> {<=|>=} <number>*LinearBlk::<node_name>::<variable-name>::Coef + ... + <number>*LinearBlk::<node_name>::<variable-name>::Coef;
...
{+|-}<number> {<=|>=} <number>*LinearBlk::<node_name>::<variable-name>::Coef + ... + <number>*LinearBlk::<node_name>::<variable-name>::Coef;


/////////////////////////////////////////////////////////////////////////////
// Defining defininition of Input Missing Variables
/////////////////////////////////////////////////////////////////////////////

MissingBlk::<MIXTURE or node name>::<missing_name> ? at row <row_index> for input <variable_name> ~ <distribution>;
...
MissingBlk::<MIXTURE or node name>::<missing_name> ? at row <row_index> for input <variable_name> ~ <distribution>;

$END
}}}

=== Cambios en la estructura del módulo joint === 

El módulo joint se queda prácticamente como está con estas salvedades:

 1. Es posible, aunque no obligatorio por compatibilidad hacia atrás, especificar el tipo de módulo en la cabecera del archivo:[[BR]]
{{{
Module.Type = joint;
}}}
 1. En un módulo joint puede aparecer una referencia a una variable que ha sido definida en otro módulo previo. El reconocedor sintáctico permitirá pues que aparezcan en las ecuaciones e inecuaciones variables no definidas. En la estructura {{{BSR.LinearBlock}}} se añade un campo {{{Real Extern}}} cuyo valor será puesto a {{{TRUE}}} en estos casos para que puedan resolverse más tarde las referencias.

=== Mezcla de módulos en el master ===

El master debe ocuparse de mezclar los modelos o submodelos resultantes de de los módulos en un solo modelo BSR.
El modo de hacerlo depende del mecanismo de generación que se vaya a seguir, que puede ser de dos formas

==== Mecanismo de generación monofase ==== 
Es el único mecanismo de generación implementado actualmente, en el que todos los segmentos y variables lineales se aúnan en un solo sistema lineal de ecuaciones sparse.

Se indicará al principio del módulo máster mediante la sintaxis
{{{
Modular.Schema = monophasic;
}}}

En este caso los {{{BSR.ModelDef}}} que resultan de cada módulo se deben agregar en un sólo {{{BSR.ModelDef}}} que defina el modelo completo siguiendo los isguientes pasos con sumo cuidado:

 1. La información documental (campo {{{DocInfo}}}) que prevalece es la del módulo master mientras que la de los sub-módulos simplemente se olvida.
 1. Se obtiene la lista conjunta de variables (campo {{{LinearBlock}}}) del bloque lineal de cada uno de los módulos sin repeticiones.
 1. Se reubican las posiciones de las variables en cada uno de los módulos
  1. Se modifica el número de columnas y las posiciones de las columnas de la matriz X de inputs para hacerlas coincidir con la posición de las variables en la lista global.
  1. Se modifica el número de columnas y las posiciones de las columnas de la matriz A de las inecuaciones para hacerlas coincidir con la posición de las variables en la lista global.
  1. Se modifica el campo Col de los registros {{{BSR.MissingBlock}}} de definición de omitidos del input en cada módulo
  1. Se modifica el número de filas y columnas de las matrices Cov, L y Li de cada registro {{{BSR.NoiseDistrib}}} correspondiente a cada segmento, así como el conjunto de índices {{{EquIdx}}} de las filas a las que correponde.
 1. Se concatenan las filas de las matrices Y[k], X[k], a[k], A[k] de todos los módulos en las correspondientes Y, X, a, A conjuntas.
 1. Se concatenan los conjuntos de omitidos del input (campo {{{InputMissingBlock}}}) y el output (campo {{{OutputMissingBlock}}})
 1. Se concatenan los conjuntos de segmentos de regresión (campo {{{NoiseDistrib}}})

Intentar hacer todas estas operaciones mientras se está leyendo un BSR actual es algo extremadamente complicado de implementar, pues algunas cosas aún no existen y otras están a medias, no se conocen algunas dimensiones, etc. Precisamente por esta razón propongo todo este tema de la modularización de la sintaxis de los ficheros ASCII-BSR.

==== Mecanismo de generación multifase ====
En este caso cada módulo se generará condicionalmente al resto de módulos, bien secuencialmente, bien en paralelo cuando tal cosa sea posible. Esto no es necesario que se implemente en una primera versión pero se puede ir adelantando algo del diseño. Se indicará al principio del módulo máster mediante la sintaxis

{{{
Modular.Schema = sequential;
}}}

ó bien

{{{
Modular.Schema = parallel;
}}}

según sea el caso.

En ambos casos la mezcla de módulos es distinta al caso de generación monofase, pues en realildad no se hace agregación física de los módulos sino que simplemente se enlazarán las dependencias de variables entre ellos para que luego BSR pueda actualizar sus valores en las sucesivas simulaciones condicionadas, de forma similar a como lo ahcía el antiguo HLM, del cual se podrán tomar bastantes ideas.

==== Plantilla de un módulo master ====

Aunque cada módulo internamente especifica con la cláusula {{{Module.Type}}} de que tipo de módulo se trata es conveniente repetir esa información en la sentencia de inclusión del módulo hijo en el módulo master para llamar directamente al parser adecuado, ya que en realidad lo que habrá es 3 parsers distintos, el de módulos primarios, el de los joint, que es básicamente el actual y el de los masters. La cláusula {{{Module.Type}}} puede usarse como mecanismo de control para evitar posibles errores de diseño del modelo. Así podría quedar la sintaxis de los módulos master

{{{
/////////////////////////////////////////////////////////////////////////////
// Bayesian Sparse Regression
/////////////////////////////////////////////////////////////////////////////

$BEGIN

Module.Type = master;

Model.Name = ""..."";
Model.Description = ""..."";
Session.Name = ""..."";
Session.Description = ""..."";
Session.Authors = ""..."";

Modular.Schema = { monophasic, sequential or parallel } ;

Include { primary, joint or master } module ""file_relative_path.bsr"" ;
...
Include { primary, joint or master } module ""file_relative_path.bsr"" ;

$END

}}}"	Víctor de Buen Remiro
747	Error in Compilation/Decompilation of Class-Structures	OOP			defect	Víctor de Buen Remiro	closed	2009-09-21T08:40:11Z	2009-09-22T10:06:14Z	"Extraños errores al decompilar y volver a compilar clases sin métodos (clases-estructura):

Compilar, decompilar y volver a compilar esto:
{{{
Class CEjemplo { Real valor };
}}}
Da los siguientes errores:
{{{
//ERROR: Sintaxis incorrecta en declaración de miembro valorde Class CEjemplo
//ERROR: Sintaxis errónea en el área de de miembros de declaración de ClassClass CEjemplo {Real valor}
//ERROR: No se pudo crear Class CEjemplo {Real valor}
}}}
"	pgea@…
748	Name of Classes are reserved words	OOP		OOP Implementation	defect	Víctor de Buen Remiro	closed	2009-09-21T08:53:00Z	2009-10-05T11:27:26Z	"Se comenta de paso en el ticket #741, pero creo que merece una atención especial:

¿Se pueden crear clases y otras variables (o funciones) TOL en ámbitos distintos pero con el mismo nombre?

Ahora mismo no se pueden hacer cosas del tipo:

{{{
NameBlock Projecto = [[
  Class Concepto {
    Real name;
    Real GetName(Real void) { name }
  }
]];

NameBlock Projecto2 = [[
  Text Concepto = ""Nombre""
]];
}}}

Si evitar esto es complejo, quizá sería conveniente o recomendable
comenzar todos los nombres de clases con alguna letra o prefijo para prevenir que ocurra.

"	pgea@…
749	Error pre-declaring classes without attributes	OOP	2.0.1	OOP Implementation	defect	Víctor de Buen Remiro	closed	2009-09-22T08:52:09Z	2009-09-22T14:15:53Z	"Este error puede que tenga un origen común con #747.

Si predeclaramos una clase que no tiene atributos, luego, la declaración falla.

{{{
Class CEjemplo;

Class CEjemplo { Real Metodo(Real void) { 0 } };
}}}

{{{
ERROR: [150] Sintaxis incorrecta en declaración de miembro {0}de Class CEjemplo

ERROR: [151] Sintaxis errónea en el área de de miembros de declaración de ClassClass CEjemplo {Real Metodo(Real void)
{
  {0}
}}

ERROR: [152] No se pudo crear Class CEjemplo {Real Metodo(Real void)
{
  {0}
}}
}}}"	pgea@…
750	Loading .oza files in v2 generated by v1	Kernel	2.0.1		defect	Víctor de Buen Remiro	closed	2009-09-23T16:05:03Z	2009-09-23T17:04:40Z	"Hi,
TOL gets closed when I try to load an OZA file in version 2 generated in version 1.1.7... and It doesn't give any error message!

Is there any incompatibility between these versions handling OZA files?

Please, help!"	Alfredo Torre
751	Loading .oza files in v2 generated by v1	OIS	2.0.1	Mantainance	doubt	Víctor de Buen Remiro	closed	2009-09-23T16:06:04Z	2015-05-11T09:41:25Z	"Hi,
TOL gets closed when I try to load an OZA file in version 2 generated in version 1.1.7... and It doesn't give any error message!

Is there any incompatibility between these versions handling OZA files?

Please, try to load the file attached in v2.

Thanks in advance!
"	Alfredo Torre
752	crash when loading oza containing instances without Class definition	OOP	head	OOP Implementation	defect	Víctor de Buen Remiro	closed	2009-10-02T12:57:55Z	2009-10-06T09:19:38Z	"Evaluate file1.tol in one tol session then in other session evaluate file2.tol, the session 2 will fail with a segmentation fault because Class A is not defined.

file1.tol
============================
{{{
Class A {
  Real v = 1
};

A objA;

Real Ois.Store( [[ objA ]], ""/tmp/objA.oza"" );
}}}
file2.tol, to be executed in other sesion
===========================================
{{{
Set Include( ""/tmp/objA.oza"" );
}}}"	Jorge
753	pure virtual function call (ticket 728)	OOP	head	OOP Implementation	defect	Víctor de Buen Remiro	closed	2009-10-03T21:10:36Z	2009-10-05T09:55:39Z	"This bugs is related to #728, if the following code is executed then a ""pure virtual function"" is called and tol ends unexpectly.

{{{
Class CEjemplo {
  Code AtributoTipoCode
};
	
CEjemplo ej = [[
  Code AtributoTipoCode = ( Real(Real x) { x } )
]];

Set GetGlobalFunctions( ""Real"" );
}}}
"	Jorge
754	Error in MinimumResidualsSolve() function	Database			defect	Jorge	closed	2009-10-06T12:25:54Z	2010-01-19T14:27:46Z	"// In this example:

Matrix H = Row(1.4);
Matrix G = Row(1.2);
Matrix dif = MinimumResidualsSolve(H, G);

// the matrix dif is null instead of [[ 1.16666 ]]"	Javier Gallardo
755	The _this is lost	OOP		OOP Implementation	defect	Víctor de Buen Remiro	closed	2009-10-07T11:58:23Z	2009-10-07T16:08:51Z	"Hola, 
adjunto un archivo con un error que nos ha estado trayendo de cabeza.
Aunque parezca una tontería ha costado muchas horas de localizar y aislar, pero ya lo hemos conseguido.

Según me da la impresión el ""puntero"" _this hace referencia a la última referencia que se haga de un objeto y cuando esta se destruye vuelve a la última referencia viva.
Pero algo debe ocurrir cuando se crean los objetos en espacios locales, luego se referencian y esta referencia se destruye...

No sé si es éste exactamente el problema, pero el caso es que en MMS y los proyectos relacionados, que tienen un buen número de clases e instancias, unas instancias creían ser otras y el lío era un buen lío de verdad.

Personalmente me gustaría entender un poco mejor qué estaba ocurriendo con estas referencias. Un saludo
"	pgea@…
756	BSR cannot handle with models without linear inputs	OIS	2.0.1	BSR API	defect	Víctor de Buen Remiro	closed	2009-10-07T16:32:16Z	2009-10-07T16:32:40Z	"The main target of BSR is to generate fast simulations over sparse linear inputs, but it must work with the special case of no linear inputs.
BSR kernel seems to work fine in this case but ASCII parsers doesn't accept models without linear variables."	Víctor de Buen Remiro
757	Allowing arbitrary covariance matrix on BSR Ascii and Import API's	Math	2.0.1	BSR API	enhancement	Víctor de Buen Remiro	closed	2009-10-12T09:46:43Z	2009-10-12T17:30:15Z	"Kernel of BSR can handle with arbitrary covariance matrices but Ascii nor Import API's does it.

Internally, they are needed three matrices:
 1. [[LatexEquation( \Sigma )]]: Simmetric positive define covariance matrix
 1. [[LatexEquation( L )]]: Choleski decomposition of covariance, [[LatexEquation( \Sigma=L\cdot L^{T} )]]
 1. [[LatexEquation( L^{-T} )]]: Choleski decomposition of inverse of covariance [[LatexEquation( \Sigma^{-1}=L^{-T}\cdot L^{-1} )]]

In real problems it's posible that we have precalculated some of these matrices. So, in order to be efficient, specially for large cases, it could be a good feature to admit at least one of these representations:

 1. {{{Cov}}}: When we have only the covariance. For example in prior nodes.
 1. {{{CovInv}}} : When we have the inverse of the covariance. For example, when it results from a previous linear regression.
 1. {{{CovChol}}} : When we have precalculate the Choleski decomposition
 1. {{{CovInvChol}}} : When we have precalculate the Choleski decomposition of inverse of covariance matrix.

In ASCII .bsr files these are all alternative ways to define covariance matrices and the corresponding method of NameBlock argument of Import API

 1. '''Fixed diagonal'''. 
{{{
   ASCII: (<sigma2_name> | <sigma2_constant>)
   Import: No method 
}}}
 1. '''ARIMA covariance'''. 
{{{
ASCII: 
  (<sigma2_name> | <sigma2_constant>) * Cov =
    ArimaCovariance([[ARIMAStruct(...), ..., ARIMAStruct(...) ]])

Import: 
  Text Get.ARIMA.Size  (Real unused);
  Set  Get.ARIMA.Factor(Real f);
}}}
 1. '''Explicit covariance'''. 
{{{
ASCII:
  (<sigma2_name> | <sigma2_constant>) * Cov =
    {$ <TOL simmetric positive definite VMatrix expression> $}

Import: 
  Text Get.Cov(Real unused);
}}}
 1. '''Inverse of covariance'''. 
{{{
ASCII: 
  (<sigma2_name> | <sigma2_constant>) * CovInv =
    {$ <TOL simmetric positive definite VMatrix expression> $}

Import: 
  Text Get.CovInv(Real unused);
}}}
 1. '''Choleski decomposition of covariance'''
{{{
ASCII:
  (<sigma2_name> | <sigma2_constant>) * CovChol =
    {$ <TOL regular triangular VMatrix expression> $}

Import: 
  Text Get.CovChol(Real unused)
}}}
 1. '''Choleski decomposition of inverse of covariance'''. 
{{{
ASCII:
  (<sigma2_name> | <sigma2_constant>) * CovInvChol =
    {$ <TOL regular triangular VMatrix expression> $}

Import: 
  Text Get.CovInvChol(Real unused);
}}}








"	Víctor de Buen Remiro
758	Cannot express a truncated uniform prior over missing values in BSR	Math	2.0.1	BSR hierarchy and priors	enhancement	Víctor de Buen Remiro	closed	2009-10-13T10:08:18Z	2009-10-13T14:45:08Z	"Now missing values accept prior with scalar distribution normal, truncated normal and pure non informative (no prior).
Adding truncated uniform prior we could use it to simulate censored data.
This feature should be used carefully over input missing due it could give a non regular regression matrix if there are simultaneous input missing without normal or truncated normal prior."	Víctor de Buen Remiro
759	An input missing cannot act as output missing in BSR	Math	2.0.1	Numerical methods	enhancement	Víctor de Buen Remiro	closed	2009-10-13T15:34:10Z	2009-10-26T12:20:40Z	"Now, input missing and output missing are handling in BSR as separated blocks that are simulated conditionally one from the other, so, they cannot share parameters.

However, this would be a great feature due it could allow to define observational and/or prior nodes of regression where the missing input of other nodes would be treated as missing output.

Actually the solution is very simple on the theoretical because we can simulate missing input and output all together in just one linear regression.
"	Víctor de Buen Remiro
760	Problemas en el parser con la combinación de parentesis y llaves	Kernel	2.0.1		defect	Víctor de Buen Remiro	closed	2009-10-16T16:25:33Z	2009-10-19T16:32:20Z	"Al ejecutar lo siguiente:
{{{
NameBlock Fun(Set s){
  NameBlock k = SetToNameBlock(s)
};

NameBlock KK = [[
  NameBlock Eco = Fun({[[Text cod = ""Eco""]]});
  NameBlock Cli = Fun({[[Text cod = ""Cli""]]});
  NameBlock kk = Fun({[[Text cod = ""kk""]]})
]];
}}}
obtenemos el siguiente error:

{{{
ERROR: [1] Variable 'cod' ya definida como ""k::cod ""
}}}
"	Liván Ramírez Dorta
762	BSR: Convert ARMA factors to polynomials along the Markov Chain	Math	2.0.1	BSR Interface	enhancement	Víctor de Buen Remiro	closed	2009-10-27T09:28:31Z	2010-03-31T16:08:24Z	"Current ARMA simulator can only handle with AR and MA polynomials of degrees 1 or 2. So, polynomials with higher degrees must be factorized. If you want to simulate this structure
{{{
[[
  ARIMAStruct(1,1-0.01*B-0.01*B^2-0.01*B^3,1,1)
]]
}}}
you must to convert it in this one
{{{
[[
  ARIMAStruct(1,1-0.01*B-0.01*B^2, 1,1),
  ARIMAStruct(1,1-0.01*B,          1,1)
]]
}}}
Even, if you know that all roots must be real, then you can suplly this other one
{{{
[[
  ARIMAStruct(1,1-0.01*B, 1,1),
  ARIMAStruct(1,1-0.01*B, 1,1),
  ARIMAStruct(1,1-0.01*B, 1,1)
]]
}}}
If you want to simulate this structure
{{{
[[
  ARIMAStruct(1,1-0.01*B-0.01*B^2-0.01*B^3-0.01*B^4,1,1)
]]
}}}
you must to convert it in this one
{{{
[[
  ARIMAStruct(1,1-0.01*B-0.01*B^2, 1,1),
  ARIMAStruct(1,1-0.01*B-0.01*B^2, 1,1)
]]
}}}
The problem appairs when you try to make inference over the Markov chain of simulated parameters, due to there are no constraint to avoid that the simulations cross their identitities.

The solution is very simple: we only need to rebuilt the full polinomial of each simulation to get a Markov Chain of unmistakable coefficients.
"	Víctor de Buen Remiro
763	BSR: Saving BSR configuration with .bsr files	Math	2.0.1	BSR API	enhancement	Víctor de Buen Remiro	closed	2009-10-28T09:03:00Z	2009-11-04T19:11:28Z	BSR-ASCII API should save BSR configuration in order be able to reproduce estimations.	Víctor de Buen Remiro
764	Failed recursive master modules in API modular ASCII	Kernel	2.0.1		defect	Víctor de Buen Remiro	closed	2009-10-28T10:25:04Z	2009-10-28T14:00:19Z	"A recursive master modules scheme it seems doesn´t work, failed at
MasterToJoint method

BysMcmc::Bsr::ModularSchema::Monophasic::MasterToJoint
"	mafernandez
765	Función AIA con fechados no globales.	Math	2.0.1		defect	Víctor de Buen Remiro	closed	2009-10-28T15:49:59Z	2009-10-28T22:24:01Z	"Buenas tardes,

  La función AIA recibe un argumentos que es la serie de residuos. Si el TimeSet en el que se recibe la serie de residuos es un TimeSet no conocido, Tol da avisos de que no se conoce el TimeSet, y despues se cae. 

El siguiente ejemplo crea una serie de residuos, que despues la transformamos en una función con un fechado que es local a la función, por lo que al salir de la función, el fechado es desconocido. Cuando despues se ejecuta la funcion AIA es cuando sucede lo comentado.

Codigo:

{{{

Serie residuos = SubSer(Gaussian(0,0.15),y2000,y2008);

Serie transformaTimeSet(Serie residuos){

  TimeSet nuevoTimeSet = Diario;
  Serie DatCh(residuos,nuevoTimeSet,FirstS)
  

};

Serie residuosNuevos = transformaTimeSet(residuos);
Set AIA(residuosNuevos,Ratio (1-0.1*B)/(1-0.1*B));

}}}

Gracias,
Un cordial saludo"	Iván Robles
766	Parse error in API modular ASCII when no regression equations are defined.	Math	2.0.1	BSR API	defect	Víctor de Buen Remiro	closed	2009-10-30T15:37:25Z	2009-11-04T09:36:10Z	"A module defined as ""joint"" in a modular API scheme gives a BSR parse error when no regressions equations appears, i.e. when the section named as ""Defining regression equations"" in the ascii file is empty.

  "	mafernandez
767	Parse error in API modular ASCII involving parameter constraints.	Math	2.0.1	BSR API	defect	Víctor de Buen Remiro	closed	2009-10-30T15:54:00Z	2009-11-03T17:31:25Z	"A module defined as ""joint"" in a modular API scheme gives a BSR parse error when a defined parameter constraint involve a parameter which is not present in any of the regressions equations of that module (priors or hierarchies)."	mafernandez
768	ActiveTOL. BinGroup con conjuntos estructurados	SetAlgebra	head	Mantainance	defect	Víctor de Buen Remiro	closed	2009-11-03T16:22:21Z	2009-11-04T18:46:48Z	"Los conjuntos setPrueba01 y setPrueba02 son iguales, excepto por el hecho de que el segundo es estructurado. Al hacer un BinGroup sobre el primero va bien mientras que al hacerlo sobre el segundo da el siguiente error:

ERROR: [13] No se puede aplicar la estructura @TclArgSt que tiene 2 campos a un conjunto con 4 elementos

ERROR: [14] No se puede aplicar la estructura @TclArgSt

{{{
Set setPrueba01 = SetOfSet(
  SetOfText(""-uno"", ""1""),
  SetOfText(""-dos"", ""2""),
  SetOfText(""-tre"", ""3""),
  SetOfText(""-cua"", ""4"")
);
Set res01 = BinGroup(""+"",setPrueba01);


Set setPrueba02 = SetOfSet(
  TclArgSt(""-uno"", ""1""),
  TclArgSt(""-dos"", ""2""),
  TclArgSt(""-tre"", ""3""),
  TclArgSt(""-cua"", ""4"")
);
Set res02 = BinGroup(""+"",setPrueba02);
}}}"	Javier Portugal
769	SetCol & SetRow for VMatrix	Math		Mantainance	task	Víctor de Buen Remiro	closed	2009-11-04T11:34:10Z	2009-11-04T18:45:10Z	Could we have a SetCol & SetRow functions in VMatrix the same way as Matrix?	Jorge
771	Función Range de TimeSet	TimeAlgebra	2.0.1	Mantainance	defect	Víctor de Buen Remiro	closed	2009-11-04T15:07:48Z	2009-11-04T18:41:59Z	"Buenas tardes,

 estamos intendando generar el timeSet de las semanas en los que una serie tiene datos:

Para ello hacemos una serie que tiene datos en 2007 y 2009, 2008 omitido.
Nos hacemos el timeSet de una serie donde no es omitido con la función SerTms ""timesetDatos "".
Después nos calculamos los lunes de las semanas que tienen algun dato ""lunesSemanasConDato "". 

Por ultimo creamos un timeSet con Range todos los dias de la semana de las semanas que tienen dato.

Esta última instrucción nos rellena correctamente las semanas de 2007 y 2009, pero los años anteriores y posteriores solo nos deja los lunes, no semanas completas


{{{  
  Serie seriesOrig = Log(SetSumC(SetOfSerie(
    SubSer(2*CalInd(Y(2007),Diario),y2007m01d01,y2007m12d31),
   SubSer(2*CalInd(Y(2009),Diario),y2009m01d01,y2009m12d31))));

  TimeSet timesetDatos = SerTms(Not(SerIsUnknown(seriesOrig)));

  TimeSet lunesSemanasConDato = Range(timesetDatos, -6, 0)*WD(1);

  TimeSet   semanasConDatos = Range(lunesSemanasConDato, 0, 6);

}}}

Gracias,
Un cordial saludo"	Iván Robles
772	New function TextToReal	Kernel	2.0.1	Mantainance	task	Víctor de Buen Remiro	closed	2009-11-04T16:00:59Z	2009-11-04T18:38:53Z	"It could be a good feature to have a fast function that convert, with a format given by the user, a text in a real number or unknown value if it's not a valid string. This function would be the inverse of {{{FormatReal}}}.

Since there is a function {{{TextToDate}}} that does the same for dates the name should be {{{TextToReal}}}"	Víctor de Buen Remiro
773	Incremental index by name in Append	SetAlgebra	2.0.1	Mantainance	defect	Víctor de Buen Remiro	closed	2009-11-04T16:19:56Z	2009-11-04T17:42:55Z	It would be desirable if after doing SetIndexByName on a Set the following invocation to does not invalidate the index Append and keep the Set indexed.	Jorge
774	Estimate con Omitidos	Math	2.0.1	Mantainance	doubt	Víctor de Buen Remiro	closed	2009-11-04T16:52:14Z	2010-06-10T09:42:54Z	Estamos estimando un modelo de una serie con muchos omitidos con el estimador Estimate. Adjuntamos el Ois.ArimaIsolate del modelo. Cuando vemos los resultados de esta estimación, nos encontramos con que los residuos son bastante significativos en algunas fechas en las que hay interrupciones. Esperaríamos que dichos residuos tendieran a cero en todas las fechas de omitidos del output. ¿Esta suposición es correcta?. ¿Los residuos en los omitidos deberían ser cero?. Muchas gracias.	mlocubiche2
775	Fail reloading from OIS a NameBlock without valid name	OIS		Mantainance	defect	Víctor de Buen Remiro	closed	2009-11-05T10:58:55Z	2009-11-05T10:59:28Z	"OIS returns an error message like 
{{{
ERROR: [1] Un NameBlock no puede tener miembros sin un nombre válido ''
}}}
running this code
{{{

Real { 
  NameBlock a = 
  [[
    Set b =
    {[[
      NameBlock [[ Real unused = 0 ]]
    ]]}
  ]];
  
  Real Ois.Store([[a]], ""a.oza"")
};

Set
{ 
  Include(""a.oza"")
};

}}}"	Víctor de Buen Remiro
776	Fail using PutName	Kernel		Mantainance	defect	Víctor de Buen Remiro	closed	2009-11-06T09:31:57Z	2011-02-24T09:14:00Z	"Function {{{ PutName }}} does nothing in this code
{{{
Set _.names = Copy(Empty);
Set _.data.cols = Copy(Empty);

Real _AppendVariable( Matrix P, Text name ) 
{
  Real ii = FindIndexByName( _.data.cols, name );
  Real If( ii == 0, 
  {
    Set Append( _.names, [[ name ]] );
    Set Append( _.data.cols, [[ P ]] );
    Real n = Card(_.data.cols);
    Matrix PutName( name, _.data.cols[n] );
    WriteLn(""name='""<<name+""'"");
    WriteLn(""Name( _.data.cols[""<<n+""])='""<<
             Name( _.data.cols[n] )+""'"");
    Real SetIndexByName( _.data.cols )
  });
  ii
};
Real { _AppendVariable( Matrix a = Rand(1,1,1,1), ""x1"" ) };

}}}"	Víctor de Buen Remiro
777	Fail storing instance of Class in oza	OIS	2.0.1	OOP Implementation	defect	Víctor de Buen Remiro	closed	2009-11-07T09:52:01Z	2009-11-07T16:24:26Z	"If you execute the following code, an error ( Segmentation fault ) is produced in the last instruction when loading back the oza stored:

{{{
Class @B {
  Text name = ""B"";
  //Real a = 1;
  Text Print(Real void) { WriteLn( ""Hola"" ) }
};

Class @C {
  @B aB
};

Class @A
{
  @B aBinA;
  @C aCinA
};

@B instB;

@A instA =
  [[
    @B aBinA = instB;
    @C aCinA = [[ @B aB = instB ]]
  ]];

Real Ois.Store( [[ instA ]], ""./test.oza"" );

Set kk = Ois.Load( ""./test.oza"" );
}}}

if member 'Real a' is uncommented then the 'Segmentation fault' does not appear but another error is generated, like this:

{{{
<E>
ERROR: [1] OIS: 
Cannot load from OIS NameBlock aCinAdue to ascent Class a doesn't exist</E>
<E>
ERROR: [2] OIS: 
BOisLoader::ReadNextObject: NULL element of set </E>
<E>
ERROR: [3] OIS: 
BOisLoader::ReadNextObject: NULL element of set </E>
}}}

"	Jorge
778	Create a new VMatrix functionTripletUnique wich removes all repeated cells	Math	2.0.1	Mantainance	task	Víctor de Buen Remiro	closed	2009-11-09T10:19:21Z	2009-11-09T10:19:42Z	"When you converts from Cholmod.R.Triplet to Cholmod.R.Sparse with Convert, it sums all repeated cells due it's is using CHOLMOD cholmod_triplet_to_sparse.

Some times we don't want sum but take just the first cell.

Then we need a new VMatrix function TripletUnique wich removes all repeated cells."	Víctor de Buen Remiro
779	New built-in function to replace values of cells in a matrix	Various		Mantainance	task	Víctor de Buen Remiro	closed	2009-11-09T17:31:52Z	2009-11-09T18:10:05Z	"In some circumstances it's needed a fast way to code and decode contens of matrices.

{{{
Matrix MatReplace(Matrix data, Matrix old, Matrix new)
}}}

This function sholud replace in arbitrary matrix 'data' all occurrences of cell given in column matrix 'old' by corresponding cell in column matrix 'new', having obviously the same dimensions that 'old'.

CAUTION!: 'old' cannot have repeated cells
"	Víctor de Buen Remiro
780	Classes and homonymes methods	OOP	2.0.1	OOP Implementation	defect	Víctor de Buen Remiro	closed	2009-11-10T16:00:45Z	2009-11-12T14:39:06Z	"Ocurren cosas inesperadas cuando hay llamadas entre clases anidadas.
Parece ser que algunas llamadas (las más últimas) pueden tomar como suyos métodos de otras anteriores.

Creo que el ejemplo es bastante ilustrativo.

He encontrado otros errores (que aún no he aislado) que pueden
que tengan mucho que ver con esto. Ocurren al concatenar métodos
de clases anidadas. Por ejemplo, si en lugar de crear un método que me diera el nombre de un elemento de la clase, hago una llamada del tipo: 
{{{
GetElement(?)::GetName(?)
}}}"	pgea@…
782	Struct con elementos Anything	SetAlgebra	2.0.1	Mantainance	defect	Víctor de Buen Remiro	closed	2009-11-11T00:43:06Z	2009-11-11T15:05:02Z	"Buenos días,

Si se define una estructura con un elemento de tipo Anything. Luego al rellenarlo, da el siguiente error:
{{{
ERROR: [1] Se esperaba campo de estructura Anything ejemplo->b  cuando se encontro el objeto de tipo Real en el el elemento número 2

ERROR: [2] No se puede aplicar la estructura ejemplo
}}}
Por ejemplo:
{{{
Struct ejemplo{
  Text a,
  Anything b,
  Text c

};


Set ejemplo("""","""","""");

}}}

En otras versiones de TOL, como la 1.1.7 no da  problemas este código"	Iván Robles
783	Upgrading new kewords in syntax highlight of TOLBase editors	Interface	2.0.1	TOLBase Revitalization	enhancement	Jorge	closed	2009-11-12T11:35:32Z	2009-12-10T14:25:03Z	"There are some new keywords in TOL that are not handling by syntax highlight of TOLBase editors which should write them with bold characters.

 * {{{#Embed}}}
 * {{{#Require}}}
 * {{{Static}}}

There are also a new case of identifiers for user Struct and Class types that have an special feature: all them starts with @. It would be posible to apply an special color or some enphasys on these identifiers?"	Víctor de Buen Remiro
784	Range: Inadecuate result	Kernel			defect	Víctor de Buen Remiro	closed	2009-11-16T17:28:35Z	2009-11-16T18:27:52Z	"La función Range(a,b,d) que devuelve un conjunto de números en un intervalo (a,b) separados por una distancia d, tiene un comportamiento inesperado cuando a>b.

El error surge cuando hacemos una llamada del tipo:
{{{
Set Range(1,0,1);
>> [[ 1, 0 ]]
}}}
que nos devuelve dos números cuando no esperaríamos ninguno.

Al parecer Range hace algo parecido a invertir los extremos del intervalo cuando el primero es mayor que el segundo, e invertir el orden de la lista de números resultantes:
{{{
Set Range(1,-3,1);
>> [[1, 0, -1, -2, -3]]
}}}
aunque así también presenta un comportamiento extraño:
{{{
Set Range(1,-6,2);
>> [[1, -1, -3]]
}}}

Creo que debería corregirse y que devuelva el conjunto vacío cuando el primer extremo del intervalo sea mayor que el segundo.



"	pgea@…
786	Input's error in estimate function.	Math	2.0.1		defect	Víctor de Buen Remiro	closed	2009-11-17T18:05:19Z	2010-02-09T10:29:17Z	"Consider the following code:

{{{
Set mod = ModelDef(
  Serie SubSer(Gaussian(10,1,C),y2009m01d01,y2010m01d01),
  1,
  0,
  0,
  0,
  Polyn 1, 
  [[Polyn 1]],
  [[Polyn 1]], 
  [[
    InputDef(Polyn 0.1-0.1*B, Serie input1 = SubSer(Gaussian(10,1,C),y2008m12d31,y2010m01d01)),
    InputDef(Polyn 0.1,       Serie input2 = SubSer(Gaussian(10,1,C),y2009m01d01,y2010m01d01))
  ]], 
  Empty);


Set Estimate(mod);
}}}

It returns the following error:


{{{
ERROR: [1] input2 tiene valores desconocidos en 0  
}}}



It seems that input2 is also retarded as input1 was. Any reason for that?"	mafernandez
787	Automated conversion between diferent sub-types of VMatrix	Math		Mantainance	task	Víctor de Buen Remiro	closed	2009-11-18T10:58:40Z	2009-11-25T20:02:48Z	"Almost all functions of VMatrix can work with different internal storing main sub-types: dense, sparse or triplet
The optimal sub-types can be different depending on the operations we want to apply.
Some methods returns the best sub-type according with internal or parametric criterium but it's needed a generic way to convert a given virtual matrix to the optimal storing.
"	Víctor de Buen Remiro
788	Residuals in ARIMA Models	Math			doubt	Víctor de Buen Remiro	closed	2009-11-18T13:08:15Z	2011-01-14T18:13:24Z	"En el desarrollo de la herramienta MMS para gestionar los modelos nos encontramos con unas dudas relativas a los residuos de los modelos ARIMA.

Tal y como estamos desarrollando el tratamiento de las estimaciones, toda la información de los resultados las recogemos como parámetros de modo que la evaluación de alguna serie resultante como son los residuos, se obtenga únicamente a partir de la definición del modelo y de los parámetros resultantes.

Para reconstruir los residuos, necesitamos un número de parámetros igual al grado de la parte de medias móviles (MA), así que introducimos ese número de parámetros en el modelo y tras capturarlos desde los resultados podemos obtener los residuos.

Pero nos surgen algunas dudas y dificultades:
¿Cuantos residuos debería devolver un modelo ARIMA?
A mi entender el primero de los residuos debería estar en:
 First(output)+Degree(ARI)-Degree(MA)
sin embargo para Estimate está en:
 Min( First(output), First(output)+Degree(ARI)-Degree(MA) )
y para BSR en:
 First(output)+Degree(Dif)
¿Cual debería ser el criterio correcto?
¿A qué se deben estas diferencias?

Entiendo que conocidos el ""noise"", los parámetros del ARIMA y un número de residuos (de acuerdo a la parte MA) deberíamos poder encontrar todos los residuos.
Sin embargo, para BSR tendría que hacer como un ""!DifEq"" completando hacia atrás, pues devuelve menos residuos de lo esperado.
¿Tiene sentido querer hace esto?

Finalmente otra cuestión relativa a estos parámetros de los residuos si es que se los puede considerar como tal (pues BSR no los considera como parámetros) ¿sabemos algo de la distribución que siguen?

"	pgea@…
789	Multiple-try Metropolis	Math		Numerical methods	task	Víctor de Buen Remiro	closed	2009-11-19T18:14:47Z	2010-06-10T09:56:14Z	"Habría que explorar las posibles ventajas del método MCMC descrito en http://en.wikipedia.org/wiki/Multiple-try_Metropolis

Es una generalización del Metropolis-hastings que consiste básicamente en que en cada simulación se mezclan muchos candidatos, que es lo rápido de calcular, para conseguir candidatos mejores y que el ratio de aceptación sea mayor y así hacer menos simulaciones.

'''Definición de las funciones usadas en la simulación de ensayo múltiple de Metropolis-Hastings'''
 * [[LatexEquation( \pi\left(x\right) )]]: la función de densidad objetivo 
 * [[LatexEquation( Q\left(x,y\right) )]]: la función de densidad del generador de candidatos que debe cumplir [[LatexEquation( Q\left(x,y\right)>0\Longleftrightarrow Q\left(y,x\right)>0 )]]
 * [[LatexEquation( \lambda\left(x,y\right) )]]: una función simétrica no negativa, esto es, [[LatexEquation( \lambda\left(x,y\right) = \lambda\left(y,x\right) >0 )]]
 * [[LatexEquation( w\left(x,y\right) = \pi\left(x\right) * Q\left(x,y\right) * \lambda\left(x,y\right) )]]: la función de pesos

'''Algoritmo'''

 * Sea [[LatexEquation( x \in\mathbb{R}^{n} )]] el punto actual de la cadena de Markov
 * Se toman [[LatexEquation( k )]] muestras independientes 

 [[LatexEquation( \left\{ y_{j}\right\} _{j=1\ldots k}  )]] generadas con densidad [[LatexEquation( Q\left(x,y_j\right) )]]
 * Se selecciona aleatoriamente una de ellas de forma proporcional a sus pesos [[LatexEquation( w\left(x,y_j\right) )]], a la que llamaremos [[LatexEquation( y )]]
 * Se genera el conjunto de referencia como [[LatexEquation( k-1 )]] muestras independientes

 [[LatexEquation( \left\{ x_{j}\right\} _{j=1\ldots k-1}  )]] generadas con densidad [[LatexEquation( Q\left(y,x_j\right) )]] y se toma [[LatexEquation( x_k = x )]]
 * Finalmente se acepta el candidato [[LatexEquation( y )]] con probabilidad 
 
 [[LatexEquation( r= \min \left( 1, \frac{\overset{k}{\underset{j=1}{\sum}}w\left(x,y_{j}\right)}{\overset{k}{\underset{j=1}{\sum}}w\left(x_{j},y\right)} \right) )]]
 
Quizás habría que programarlo en C++ para que sea más eficiente, pero con una API centrada en efectuar una simulación aislada de un solo bloque, pasándole todos los argumentos necesarios cada vez, pues de esta manera es trivial enmarcarlo dentro de un proceso de simulación por bloques de MH o de Gibbs como BSR o cualquier otro posible. En esas tareas logísticas no es donde se gasta el tiempo de los simuladores y pueden estar perfectamente escritos en TOL como el propio BSR.
"	Víctor de Buen Remiro
790	Integration of AlgLib bidimensional splines	Math	2.0.1	Multivariate interpolation methods	task	Víctor de Buen Remiro	closed	2009-11-19T18:18:26Z	2013-02-27T21:34:53Z	"Sería muy conveniente dar una API tol a los métodos de interpolación por splines bidimensionales descritos en http://www.alglib.net/interpolation/spline2d.php
"	Víctor de Buen Remiro
791	Integration of MeshFree++ library for meshless multivariate interpolation	Math	2.0.1	Multivariate interpolation methods	task	Víctor de Buen Remiro	closed	2009-11-19T18:23:13Z	2010-06-10T09:58:10Z	"Sería muy conveniente dar una API tol a los métodos de interpolación multivariantes sin malla de la librería MeshFree++ disponible en

 http://www.computationalmechanics.org/~aortizb/codes.htm "	Víctor de Buen Remiro
792	Options and optional arguments	Various			doubt	Víctor de Buen Remiro	closed	2009-11-30T09:04:55Z	2011-01-14T18:11:15Z	"En el desarrollo de los proyectos, pero aún más ahora con el uso de clases y la creación de métodos surge la duda de cuál es la manera más recomendable de tratar las opciones y los argumentos opcionales.

En el documento adjunto repaso algunas situaciones en las que esto ocurre y algunas maneras de afrontarlo.

Creo que sería conveniente encontrar la manera más recomendada de hacer esto en TOL y apoyarlo con un conjunto de funciones que facilite su uso y quizá algunos ejemplos."	pgea@…
794	Bug related to GetCyclerFromParsed	Math	2.0.1	BSR API	defect	Víctor de Buen Remiro	closed	2009-12-07T17:23:51Z	2009-12-07T18:29:54Z	"Se ha subido un tiquet a MMS que parece que procede de algún cambio en TOLBase.

Parece ser que !GetCyclerFromParsed no crea correctamente un conjunto con estructura @BSR.!ModelDef para enviárselo a @MasterSamplerBasic::New.

Dejo a coninuación algunas líneas del tiquet como fue enviado al trac de MMS:

----

Buenos días,

Si nos actualizamos al nuevo Tol, la versión v2.0.1 b.0.33.alpha 2009-12-04 17:43:04 i686-win, y ejecutamos el ejemplo de matriculación de vehículos, nos da el siguiente error.

{{{
ERROR: [1] parsed no es un Set con estructura @BSR.ModelDef

[Call stack]
  [7] NameBlock StdLib::BysMcmc::Bsr::Gibbs::@MasterSamplerBasic::New (Set modelDef, NameBlock mcmcPartialHandler, Real numBlock, Real firstCol, NameBlock config)
  [6] NameBlock StdLib::BysMcmc::Bsr::Gibbs::GetCyclerFromParsed (Set parsed_, NameBlock mcmcPartialHandler, NameBlock config, NameBlock notifier)
  [5] NameBlock StdLib::BysMcmc::Bsr::Gibbs::GetCyclerFromAscii (Text ascii_, Text moduleType, NameBlock mcmcPartialHandler, NameBlock config, NameBlock notifier)
  [4] NameBlock StdLib::BysMcmc::Bsr::Gibbs::GetCycler (Anything modelDef, NameBlock mcmcPartialHandler, NameBlock config, NameBlock notifier)
  [3] Anything estBSR::_.strategy::_DoEstimation (NameBlock bsr.import, NameBlock hdPartial, NameBlock bsr.config, NameBlock bsr.notifier)
  [2] NameBlock estBSR::_.strategy::Execute (Real void)
  [1] Real estBSR::Execute (Real void)

}}}"	pgea@…
795	Uso de miembros de tipo Code	OOP	2.0.1	OOP Implementation	defect	Víctor de Buen Remiro	closed	2009-12-10T10:59:21Z	2009-12-10T14:14:40Z	"En OOP no se recomienda el uso de miembros que apunten a funciones asignables como pueden ser los punteros de funciones en C++ o los objetos de tipo Code en TOL. Una función asignable pretende recoger comportamientos polimórficos impredecibles y eso en OOP se trata mediante herencia de métodos virtuales.

TOL debería dar un un mensaje de aviso cuando esto ocurra, aunque se permitirá su uso por si fuera necesario en casos extremos.

En tales casos las funciones así utilizadas no tendrán acceso al ámbito de la clase pues no se trata de verdaderos métodos.

Aún más peligroso resulta usar estos miembros de tipo Code dentro de un !NameBlock genérico, no instancia de clase, puesto que en ellos es imposible distinguir si fue creado como método o como objeto, por lo que tendrá acceso al ámbito del !NameBlock y sólo debería ser asignado a verdaderos métodos del mismo, nunca a objetos externos. 

Especialmente dañino resultaría que una misma función externa fuera asignada a miembros de tipo Code de diferentes !NameBlock's no globales, o bien que esa función se usara además fuera de ellos, pues ello podría incluso ocasionar una caída de TOL.
"	Víctor de Buen Remiro
796	get_desktop_workarea	Interface	2.0.1	TOLBase Revitalization	enhancement	Jorge	closed	2009-12-10T14:19:40Z	2009-12-10T14:21:38Z	"Some times when packing widgets, and depending on the geometry of the widgets, a part of it can be hidden by the taskbar. In this cases it is needed a way to determine the free area on the desktop. On windows platform this can be query through twapi using the method get_dektop_workarea.

This ticket request the inclusion of the tcl extension [http://twapi.magicsplat.com/packages.html twapi] in lib directory.

"	Jorge
800	Identical missings labels in primary module type.	Kernel	2.0.1		defect	Víctor de Buen Remiro	closed	2009-12-10T18:28:12Z	2009-12-11T08:39:02Z	"BSR.Parse is unable to recognize identical missing labels in the definition of a primary modular ascii file.

This situation is present when the same missing belongs to several inputs, as in the expression: (1-B)*Input. 

An example is attached in a rar file."	mafernandez
801	RMTPS_SERVER	Various	2.0.1		task	Jorge	closed	2009-12-11T10:51:10Z	2009-12-11T12:39:18Z	"RMTPS_SERVER should reside in tol repository.

- upload rmtps_server to svn

- create component rmtps_server in trac"	Jorge
802	configuration file for RMTPS	RMTPS	2.0.1		task	Jorge	closed	2009-12-11T11:57:31Z	2011-10-14T15:38:26Z	"RMPTS should have a configuration file with:

- feature of the machine

- location of TOL installed

- projects configurations sections

From that create an specific remote TOL execution event that does not require the path of TOL."	Jorge
803	RMTPS automatic start on Linux/Debian	RMTPS	2.0.1		task	Jorge	closed	2009-12-11T12:00:31Z	2009-12-11T12:39:18Z	On recent debian distributions the daemon is configured on /etc/init.d instead of /etc/rc.local. So a final step shoud be added to install.sh in order to install the boot script in /etc/rc.local and the corresponding links in rc<n>.d.	Jorge
804	include tkplot in tolbase/lib	Interface	2.0.1	TOLBase Revitalization	task	Jorge	closed	2009-12-11T12:53:18Z	2009-12-14T12:32:52Z	In order to provide 3D graph capabilities it is requested to include tkplot from tklib in tolbase/lib.	Jorge
806	Tabulate functions does not work	Interface	2.0.1	Métodos de presentación gráfica ejecutables desde TOL	defect	Jorge	closed	2009-12-11T18:54:16Z	2012-02-13T18:01:30Z	The examples in stdlib/gui/tcl/_tabulatetest.tcl does not work.	Jorge
807	package tlogger	RMTPS	2.0.1		task	Jorge	closed	2009-12-13T01:24:38Z	2009-12-14T12:32:52Z	the package tlogger must be included in tolbase/lib directory because rmtps_client requires it. This package is in tolsh repository.	Jorge
810	Duplicate parameter at some primary blocks	Math		BSR API	defect	Víctor de Buen Remiro	closed	2009-12-14T08:37:42Z	2009-12-16T08:51:58Z	"En MMS se consideró la posibilidad de que un mismo término
explicativo (un parámetro por un input) participase en más
de un nodo observacional con el mismo parámetro.

Este tipo de parámetros que podríamos denominar ''parámetro internodal'' 
(en analogía con internacional) se intenta utilizar en BSR como 
otro parámetro cualquiera simplemente especificando el mismo  identificador 
en todos los nodos de tipo ""primary"" que lo usan.

Imaginemos que hay dos ouptuts con el mismo parámetro:
{{{ Common__Input.Coef }}}
así pues en los archivos primary.bsr de cada submodelo aparecerá:

{{{
...
/////////////////////////////////////////////////////////////////////////////
// Defining header of Regression Variables
/////////////////////////////////////////////////////////////////////////////
...
Common__Input.Coef <- +0.1;
...
}}}

Al utilizar esto en BSR encontramos errores del tipo:
{{{
ERROR: [1] Nombre de índice duplicado Common__Input.Coef
[Call stack]
 [7] Set StdLib::BysMcmc::Bsr::ModularSchema::Monophasic::MasterToJoint (Set master)
 [6] NameBlock StdLib::BysMcmc::Bsr::Gibbs::GetCyclerFromParsed (Set parsed_, NameBlock mcmcPartialHandler, NameBlock config, NameBlock notifier)
 [5] NameBlock StdLib::BysMcmc::Bsr::Gibbs::GetCyclerFromAscii (Text ascii_, Text moduleType, NameBlock mcmcPartialHandler, NameBlock config, NameBlock notifier)
 [4] NameBlock StdLib::BysMcmc::Bsr::Gibbs::GetCycler (Anything modelDef, NameBlock mcmcPartialHandler, NameBlock config, NameBlock notifier)
 ...
}}}
y termina con un:
{{{
ERROR: [8] No es posible aplicar CholeskiFactor a una matriz virtual no definida positiva  Cholmod.R.Sparse(839x58)
}}}

No sé si se trata de un error en BSR o de un problema de diseño o definición del modelo. Adjunto un ejemplo.
"	pgea@…
811	tolbase on windows server 2003 fails	Toltcl	2.0.1	Mantainance	defect	Jorge	closed	2009-12-14T11:23:23Z	2009-12-14T12:32:52Z	tolbase and tolsh fails on windows server 2003 because toltcl is incompatible. Al least, while loading it complains about an invalid argument.	Jorge
812	RemoteTOL API for RMTPS	RMTPS	2.0.1	Mantainance	task	Jorge	closed	2009-12-14T14:06:12Z	2011-02-11T08:44:15Z	"Implement a RemoteTOL function.

This ticket is related to #802

As rmtps knows (from configuration) where tol is installed the user should not need to pass the path to tolsh.

The user should be able to pass the expression to TOL with the same syntax as if it would be evaluated in local instance without worrying about extra escape caracters needed as in RemoteExec. The same applies to path  and file names.

"	Jorge
813	Bugs in _partialSampler.tol	Math		BSR API	defect	Víctor de Buen Remiro	closed	2009-12-14T16:22:36Z	2009-12-15T17:37:35Z	"Intentando hacer una estimación con parámetros fijos con BSR, obtenía errores y mirando el código de [source:tolp/trunk/tol/stdlib/math/stat/models/bayesian/bysMcmc/_partialSampler.tol _partialSampler.tol] me ha parecido encontrar tres errores:

(1) En el bloque para filtrar los parámetros fijos, se hace erróneamente para el caso en el que no haya: línea 196.
Sobre la admiración (el NOT), se ve claro al comprarlo con la línea 209.

(2) En ese mismo bloque sería necesario redefinir el atributo _.fixedValues para su uso posterior, ya que no se redefine en ningún sitio.
Haría falta algo como:
{{{ 
VMatrix _.fixedValues := SubRow(_.mcmcPartialHandler::_.fixedValues, fixedParamAux);
}}} 
entre las líneas 201 y 202.

(3) Tras solucionar estos dos, se encuentra un error del tipo:
{{{
ERROR: [1] No es posible aplicar MergeRows Number of columns (1) is not equal to previous one (0) for item number 2
}}}
en el método mergeWithFreeSample (línea 284).
Parece cosa de los argumentos que enviamos a !MergeRows.
En mi caso las matrices _.reloadValues y _.reloadParamIdx deberían estar vacías, pero una es una 0x0 y la otra una 0x1, probablemente el error se deba a eso, pero no entiendo bien qué hace !MergeRows y por tanto no entiendo bien sus mensajes de error.




"	pgea@…
814	Unexpected results estimating Probit with BSR	Math		BSR API	defect	Víctor de Buen Remiro	closed	2009-12-14T17:05:04Z	2009-12-17T15:05:08Z	"Da la impresión que al intentar estimar un modelo Probit con BSR no se hace otra cosa que estimarlo como si fuera una regresión lineal.

Es posible que no se esté definiendo bien el Probit, o que de algún modo, algo no esté funcionando como debe.

Adjunto un ejemplo donde se estima un modelo probit con un output aleatorio y con dos inputs: una costante y el mismo output.
En el ejemplo se soluciona mediante Probit, !LinReg y la construcción de los ASCII que devuelve MMS.

Al comparar los resultados de los parámetros, se ve qué BSR nos devuelve algo similar al caso de una regresión lineal.
¿Está mal definido el modelo en los ASCII de BSR?
"	pgea@…
815	Inadecuate response of submatrix functions in trivial cases	Math		Mantainance	defect	Víctor de Buen Remiro	closed	2009-12-15T08:34:13Z	2009-12-15T09:33:55Z	"Las funciones Sub, !SubRow y !SubCol para matrices (Matrix) devuelven un valor inadecuado cuando se les pide que construyan una submatriz sin filas o columnas.

Ejemplo:
{{{ Matrix SubRow(matriz_3x4, Empty) }}}
devuelve una {{{matriz_0x0}}} cuando esperaría una {{{matriz_0x4}}}

Ejemplos análogos se pueden construir con Sub y !SubCol.

Este comportamiento sin embargo __sí__ es el adecuado con las VMatrix.

Los problemas relacionados con éstos ""bugs"" ocurren normalmente cuando se usan matrices para seleccionar subconjuntos de valores.
Especialmente son ""traumáticos"" cuando luego se concatenan las submatrices: imagínese que de una matriz se extraen filas de acuerdo a distintos grupos de filas (en las que un grupo es vacío) y luego se desea construir una matriz concatenado esas filas.

Aprovecho para comentar alguna otra cosa:
 * Sería util tener una función Zeros(rows, columns) también para
   la gramática Matrix. Al menos sería más elegante que convertir
   a Matrix la salida del Zeros de VMatrix o generar una matriz aleatoria con media y varianza cero.
 * Creo que la matriz desconocida !UnknownMatrix debería ser una matriz 0x0 y no una matriz de 1x1 con un omitido.

"	pgea@…
816	RMTS fails in install.sh on lenny platforma	RMTPS	2.0.1	Mantainance	defect	Jorge	closed	2009-12-15T19:33:42Z	2009-12-15T23:48:44Z	On debian/lenny, the event.d directory does not exist and this makes the instal.sh fail. It is required to provide a solution based on init.d.	Jorge
817	several versions of TOL in RMTPS	RMTPS		Mantainance	enhancement	Jorge	closed	2009-12-16T09:09:03Z	2009-12-16T22:48:34Z	RemoteTOL should deal with differents versions of TOL, this means changing the API of RemoteTOL and include in rmtps.conf more than one tolsh sections.	Jorge
819	Error message in BSR estimate	BSR	2.0.1	Mantainance	doubt	Jorge	closed	2009-12-17T16:33:02Z	2009-12-18T12:04:04Z	"Hi, BSR returns this error message:

{{{
[BSR.Parse] Parsing BSR file C:/users/imendez/bsd/entity/PrjBysForMeMoPr/data/output/Modelo_CEN02.ModeloEMU20091217_AllInputs_BSRHLM_y2009m12d17h16i44s03.00.bsr with 1625578 bytes
<E>
ERROR: [24] [BSR.Parse] Unexpected symbol not matching none of BSR (Bayesian Sparse Regression) declaration syntax options: 
Linear block variable declaration with initial values:
  my_linear_block_name <- number; 
Missing block variable declaration with initial values:
  my_linear_block_name ? <- number; 
Missing block variable declaration with prior info:
  my_linear_block_name ? ~ {Normal(nu,sigma^2)|TruncatedNormal(nu,sigma^2,minBound,maxBound)}; 
White noise distribution declaration with known homocedastic diagonal covariance:
  my_noise_block_name[length] ~ Normal(0,sigma^2);
White noise distribution declaration with known heterocedastic diagonal covariance:
  my_noise_block_name[length] ~ Normal(0,SetDiag([[sigma_1^2, sigma_2^2, ...]]));
White noise distribution declaration with unknown variance:
  my_noise_block_name[length] ~ Normal(0,my_sigma_block_name);
ARMA noise distribution declaration with unknown variance:
  my_noise_block_name[length] ~ Normal(0,my_sigma_block_name * ARMA.COV([[ARIMAStruct(period,ar,ma,dif),...]]));
Linear regressing equation:
  {number|?} == my_noise_block_name[index] {+|-}{{number|missing_block_name}*}my_linear_block_name {+|-}{{number|missing_block_name}*}my_linear_block_name  ... ;
Linear constraining inequation
  number {<=|>=} {+|-}{{number}*}my_linear_block_name {+|-}{{number}*}my_linear_block_name ... ;

 File:'C:/users/imendez/bsd/entity/PrjBysForMeMoPr/data/output/Modelo_CEN02.ModeloEMU20091217_AllInputs_BSRHLM_y2009m12d17h16i44s03.00.bsr' Line:113 Col:83
Puede ver un ejemplo de la sintaxis de BSR en http://cvs.tol-project.org/viewcvs.cgi/*checkout*/tol/stdlib/math/stat/models/bayesian/bysMcmc/test_01/parse.bsr</E>

[Call stack]
  [3] Set StdLib::BysMcmc::Bsr::Gibbs::EstimAscii (Text ascii_, Set nonLinFilter, NameBlock config, NameBlock notifier)
  [2] Set StdLib::BysMcmc::Bsr::Gibbs::EstimAndNotify (Anything modelDef, NameBlock config, NameBlock notifier)
  [1] Set StdLib::BysMcmc::Bsr::DynHlm::DBApi::Estim (Text dbName, Text model, Text session, Text resultRootPath, NameBlock seriesHandler, NameBlock config_)
<E>
}}}

However, the file seems to be correct at the indicated point (Line:113 Col:83). I attach .log and .bsr files.

Regards."	imendez
822	why dwmapi.dll is installed?	Various	2.0.1	Mantainance	doubt	Víctor de Buen Remiro	closed	2009-12-20T16:39:59Z	2011-01-14T18:10:25Z	"The lib dwmapi.dll is installed with TOL. This lib is reported as problematic, since some programs generate this messages when trying to load at runtime some dll:

“The procedure entry point IsThreadDesktopComposited could not be located in the dynamic link library USER32.dll”

This happens when the bin folder of tol is located on PATH env variable.

Why is this lib needed?

if removed on t-calc07 tol works OK, I'm wondering if we can remove it.

"	Jorge
823	KDTree data structure	Math	2.0.1	TOL Extensions	task	Jorge	closed	2009-12-21T21:58:37Z	2009-12-23T16:32:11Z	"Implement an API for [http://www.cs.umd.edu/~mount/ANN/ ANN ]

the kd-tree implemented there is an efficient data structure to perform nearest neighbourhood searches."	Jorge
824	Destructor de instancias de clases	OOP	2.0.1	OOP Implementation	task	Víctor de Buen Remiro	closed	2009-12-22T09:11:23Z	2009-12-23T11:23:52Z	"En TOL la memoria no la maneja el usuario sino que el propio lenguaje se encarga de liberar la memoria al salir del ámbito local en la que se alojó. 

Pero esa no es la única tarea de un destructor de instancias. Hay cosas como cerrar ficheros o conexiones a bases de datos o liberar recursos manejados por terceras partes, como es el caso de ANN en #823

Se podría reservar un nombre de método especial para ser ejecutado cuando una instancia de clase va a ser destruida. Debería ser un método con la siguiente API, ta lque si está implementado será llamado justo antes de ser destruida la instancia

{{{
Real __destroy (Real void)
}}}"	Víctor de Buen Remiro
825	How to access global objects	Kernel	head	OOP Implementation	task	Víctor de Buen Remiro	closed	2009-12-22T17:16:35Z	2012-02-08T19:03:53Z	"Aunque dentro de la filosofía de programación usando !NameBlocks, esto no es una cosa que debería ocurrir, nos encontramos en ocasiones con la necesidad de acceder a un objeto que está en el ""espacio de nombres"" global.

Por ejemplo, nos encontramos con esa dificultad cuando ya hay un objeto con el mismo nombre en el espacio local de la llamada.

{{{
Real A = 1;
Real {
  Real A = 2;
  Eval(""A"") // ó Find(""A"")
};
}}}

Esto suele ocurrir debido a la costumbre de referirse a un objeto mediante una expresión TOL con la llamada al objeto. El objeto luego se obtiene mediante un Eval de dicha expresión. Esta forma de referirse a un objeto es muy común en el almacenamiento en base de datos.

El problema surge cuando esa evaluación se hace dentro de un contexto (de llamadas a funciones) donde existe una objeto con el mismo nombre que uno de la expresión que se espera global.
Y claro no es fácil evitar usar cualquier nombre que a otro usuario se le haya ocurrido utilizar.

Este problema se puede eliminar ubicando cada cosa en su espacio de nombres correspondiente:

{{{
NameBlock MiProjecto = [[
  Real A = 1
]];
Real {
  Real A = 2;
  Eval(""MiProjecto::A"")
};
}}}

Sin embargo no siempre se hace así.

Mi pregunta es si existe o podría existir alguna manera de obtener un objeto global. Algo como {{{GlobalEval(""A"")}}} o {{{Eval(""::A"")}}} u otra alternativa.


"	pgea@…
828	The _this is lost (Revisited)	BSR		OOP Implementation	defect	Víctor de Buen Remiro	closed	2010-01-04T09:40:36Z	2010-01-04T14:48:49Z	"Parece que el puntero _this sigue perdiéndose.
No estoy seguro de si es el mismo problema que el del tique #755, pero las consecuencias son similares.

Adjunto un archivo con el ejemplo.
"	pgea@…
829	New API for triangle++	Math	2.0.1	Multivariate interpolation methods	enhancement	Víctor de Buen Remiro	closed	2010-01-04T14:56:04Z	2010-06-10T09:58:33Z	It's needed to add to TOL some features related to Delaunay triangulation in order to enhance multivariate interpolation methods implemented in package [source:/tolp/trunk/tol_pkg/MulVarFunAprox MulVarFunAprox]	Víctor de Buen Remiro
830	rmtps.conf location	RMTPS		Mantainance	enhancement	Jorge	closed	2010-01-05T11:19:52Z	2011-02-11T08:24:52Z	It is requested that the location of rmtps.conf be configurable and not restricted to /etc	Jorge
831	Error fixing values for delta parameters	BSR	2.0.1	BSR API	defect	Víctor de Buen Remiro	closed	2010-01-05T15:52:45Z	2010-02-11T14:07:12Z	"Se encuentra un error al intentar fijar los valores de los parámetros no lineales de un término tipo delta.

El error parece similar al solucionado en el tique #813:
Al fijarse tanto uno de los parámetros delta como uno de los valores iniciales del ""input integrado"" nos encontramos con:
{{{
ERROR: [] No es posible aplicar MergeRows Number of rows (1) is not equal to card of row indexes (2) at item number 3
}}}

Adjunto un ejemplo junto con un archivo runDelta.tol para probar.
"	pgea@…
832	Omitidos con la función Group	Various			doubt	Víctor de Buen Remiro	closed	2010-01-07T09:44:35Z	2011-01-14T18:09:15Z	"En el ejemplo 

{{{
Set cto = SetOfReal(5, 3, ?, -1, 1);
Real min = Group(""Min"", cto);
}}}

El valor de min es {{{-1}}}, sin embargo esperaría {{{?}}}."	Javier Gallardo
833	Sometimes DBExecQuery doesn't  show error messages when database engine is PostGreSQL	Database	2.0.1	Mantainance	defect	Jorge	closed	2010-01-07T17:18:08Z	2010-01-07T17:18:54Z	"This query doesn't works due to an invalid encoding but TOL doesn't shows any error message:

{{{
INSERT INTO general.object_d_declare VALUES
(1,'Ine.Emp.Emp.Nac.TotGruCNA.Tot','Área temática: Datos de empresas;[[BR]] Concepto: Empresas;[[BR]] Comunidades_Autónomas: Nacional[[BR]] Actividad_principal: Total grupos CNAE93[[BR]] Estrato_de_asalariados: Total[[BR]] Unidades: Número de empresas;[[BR]] Notas: ( .. ) Dato no disponible;[[BR]] URL: http://www.ine.es/inebase/fic/px/l0/DIR_es_5.px;[[BR]] Origen: Instituto Nacional de Estadística;[[BR]] ')
}}}

It should answer
{{{
ERROR:  invalid byte sequence for encoding ""UTF8"": 0xc172
HINT:  This error can also happen if the byte sequence does not match the encoding expected by the server, which is controlled by ""client_encoding"".
}}}
"	Víctor de Buen Remiro
834	bug in RemoteTOL / Tolbase	RMTPS		Mantainance	defect	Jorge	closed	2010-01-08T12:18:05Z	2010-01-08T13:14:18Z	"When running the following code from Tolbase and error is raised. If executed in tolsh then the result is as expected.

Text host = ""192.168.191.252"";
Real port = 6668;
Text project = """";

Set tolargs = [[ [[ Text expr = ""WriteLn(\""Hola mundo\"")"" ]] ]];

Set remote_args = [[ project, tolargs ]];

Real pid = RemoteTOL( host, port, remote_args );

WriteLn( ""RemoteTOL = "" << FormatReal( pid, ""%.0f"" ) );



ERROR: [1] RemoteTOL: wrong # args: should be ""::tlogger::log l msg""


[Call stack]
  [1] Real RemoteTOL (Text Host, Real Port, Set Args)
RemoteTOL = 0
"	Jorge
836	IsInstanceOf no funciona con clases dentro de un NameBlock	OOP	2.0.1	Mantainance	defect	Víctor de Buen Remiro	closed	2010-01-11T19:16:52Z	2011-01-14T17:39:52Z	"En el siguiente código se puede ver cómo no se reconoce el nombre completo de una clase dentro de un NameBlock. 
{{{
NameBlock A1 =
[[
  Class @B { Real _.C1 }
]];

NameBlock A2 =
[[
  Class @B { Real _.C2 }
]];

A1::@B D1 = [[ Real _.C1 = 1 ]];
A2::@B D2 = [[ Real _.C2 = 1 ]];

Real ok.A1.1 =  IsInstanceOf(D1,""A1::@B"");
Real ok.A1.2 = !IsInstanceOf(D1,""@B"");

Real ok.A2.1 =  IsInstanceOf(D2,""A2::@B"");
Real ok.A2.2 = !IsInstanceOf(D2,""@B"");

}}}

"	Víctor de Buen Remiro
837	No se puede heredar una clase creada dentro de un NameBlock desde fuera de éste	OOP	2.0.1	Mantainance	defect	Víctor de Buen Remiro	closed	2010-01-11T21:50:48Z	2010-09-06T10:02:22Z	"El siguiente código no funciona. No se ha realizado la herencia porque no se encuentra _.C pero sí _.E dentro de la instancia

{{{
NameBlock A =
[[
  Class @B { Real _.C = 1 }
]];

Class @D : A::@B
{
  Real _.E
};

@D F = 
[[
  Real _.E = 3
]];

Real F::_.E;
Real F::_.C;

}}}"	Víctor de Buen Remiro
839	pathvar should include / at the end	RMTPS		Mantainance	defect	Jorge	closed	2010-01-12T10:06:08Z	2010-01-12T10:27:48Z	in order to make compatible the path variables created for rmtpsd with the behaviour in sadd.ini it is requested that every pathvar making reference to a directory be ended at /	Jorge
840	add tablelist widget	Interface	2.0.1	Mantainance	task	Jorge	closed	2010-01-12T16:20:41Z	2010-01-12T16:28:05Z	include tablelist from http://www.nemethi.de/	Jorge
841	Error en RemoteExec	RMTPS	2.0.1		defect	Jorge	closed	2010-01-12T18:29:28Z	2012-02-13T10:01:43Z	"En la versión tolbase-v2.0.1_20081204 y anteriores.
Cuando lanzamos a los t-calc llega un punto en que en algunos casos no hace bien el RemotePing dando el Pid = 0 cuando
hace el RemoteExec. El error es el siguiente;
--------------------------------------------------------------------ERROR: [1] RemoteExec: couldn't open socket: address already in use
</E>

[Call stack]
 [1] Real RemoteExec (Text Host, Real Port, Text CmdLine)
 Num2PC: 36 - PCName: t-calc16.localbayes.es ...... 2010/01/12 00:46:41
 PID: 0. 2010/01/12 00:46:41
--------------------------------------------------------------------"	mlocubiche2
842	DirExist dont find directories ending with a slash	System			defect	Víctor de Buen Remiro	closed	2010-01-14T11:39:01Z	2010-01-18T19:55:05Z	"Al parecer DirExist (al menos en windows) no encuentra un directorio si éste se le indica con una barra al final.

Por ejemplo:
{{{
Real DirExist(""C:/windows/"");
> 0
Real DirExist(""C:/windows"");
> 1
}}}

Realmente no sé si éste es un error, porque está la cuestión de si una ruta indicada así, es lo ortodoxo para indicar un directorio.
Sin embargo, creo que es comúnmente aceptada, tanto en web, como en windows y supongo que también en otros sistemas.

Entiendo que podría modificarse la función para que acepte esto sin problemas.

El problema surgió al usar la función de StdLib OSDirRemove que se apoya en OSDirExist que a su vez usa DirExist.
Al no encontrar el directorio, no intenta borrarlo.

Otras funciones como OSDirMake, sin embargo sí que funcionan.







"	pgea@…
843	Accessing local classes defined in a NameBlock	OOP		OOP Implementation	defect	Víctor de Buen Remiro	closed	2010-01-15T08:45:25Z	2011-02-24T16:38:57Z	"Al intentar utilizar las clases definidas dentro de un NameBlock,
como por ejemplo son las clases de BysMcmc de la StdLib,
se encuentran algunos errores:

 * No se pueden crear clases derivadas de ellas.
 * Fallan los métodos de otras clases que devuelven explícitamente una instancia de ellas.

Adjunto un archivo .tol con un ejemplo."	pgea@…
844	A new subclass of BysMcmc:@Reloader	BSR		BSR reestimation	enhancement	Víctor de Buen Remiro	closed	2010-01-15T12:27:57Z	2011-01-14T17:49:28Z	"En MMS nos encontramos con la necesidad de realizar una estimación en BSR a partir de los resultados obtenidos de otra estimación BSR. El ejemplo más típico es una previsión.

Para ello necesitamos las cadenas simuladas en la primera estimación que las obtenemos a partir de la información del objeto @Estimation y construimos un objeto @Recover con su constructor ::Load que lee de las cadenas (archivo .bbm) guardadas en una carpeta temporal.

El problema surge cuando estos archivos no están, pues por motivos de almacenamiento en disco, se permite una configuración que los borra después de estimar.

Sin embargo el objeto @Estimation contiene en su report esas cadenas ya cargadas en memoria.
Mi propuesta es crear una clase derivada de @Reloader que permita construir una instancia a partir de una matriz y unos nombres que se pasan como argumento.

Adjunto un ejemplo de cómo podría ser esa clase.
Por motivos de recursos de memoria, me he inclinado por el uso de la matriz como referencia, pero he dejado las dos opciones indicadas.


"	pgea@…
845	Finite series with missing values at the first or last date	Kernel			doubt	Víctor de Buen Remiro	closed	2010-01-15T15:36:16Z	2011-01-14T17:48:24Z	"Habitualmente una variable de tipo Serie se utiliza no sólo para albergar los valores de la serie temporal sino también las fechas inicio y fin que serán utilizadas por otros métodos.

Sin embargo nos encontramos con la imposibilidad de definir una serie en un intervalo cuando el primer o último dato es omitido.

Esto parece que es algo interno de TOL, pues salvo el caso en el que todos sean omitidos, el sistema 'colapsa' automáticamente la serie a un nuevo intervalo donde la fecha inicial y final tenga un dato conocido.

{{{
Serie s1 = SubSer(Log(CalInd(W,C)),y2009,y2011);

Date First(s1);
//> y2009
Date Last(s1);
//> y2011
Real CountS(s1);
//> 731

Real PutSerDat(s1, y2010, 1);

Date First(s1);
//> y2009
Date Last(s1);
//> y2011
Real CountS(s1);
//> 731

Serie s1;

Date First(s1);
//> y2010
Date Last(s1);
//> y2010
Real CountS(s1);
//> 1
}}}

¿Hay alguna forma de evitar esto? Me refiero a que ocurra automáticamente.

Entiendo que el comportamiento de {{{SubSer}}} quizá se está utilizando con este criterio, de este modo y si hiciera:
{{{
Serie s2 = SubSer(Log(Pulse(y2010,C)),y2009,y2011);
}}}
esperaría una serie en el intervalo [y2010,y2010].
Pero, ¿podría existir una función {{{SubSer}}} estricta que devolviese la serie en el intervalo solicitado?
"	pgea@…
846	Errors in MinimumResidualsSolve working with Matrix	BSR		Mantainance	defect	Víctor de Buen Remiro	closed	2010-01-15T16:29:05Z	2010-01-19T14:27:46Z	"La función {{{MinimumResidualsSolve}}} fracasa en su implementación para matrices (no virtuales).

{{{
Matrix mB = Diag(3, 1);
Matrix mC = Col(1,2,3);
Matrix mX1 = VMat2Mat(MinimumResidualsSolve(Mat2VMat(mB), Mat2VMat(mC)));
//> (1, 2, 3)
Matrix mX2 = MinimumResidualsSolve(mB, mC);
//> (?, ?, ?)

Matrix mB2 = SetMat([[ 
  [[2500, 1264, 1231]], 
  [[1264, 1264, 1623]],
  [[1231, 1623, 1231]] 
]]);
Matrix mC2 = Col(2021,1922,546);
Matrix mX3 = VMat2Mat(MinimumResidualsSolve(Mat2VMat(mB2), Mat2VMat(mC2)));
//> (0.69, -1.66, 1.93)
Matrix mX4 = MinimumResidualsSolve(mB2, mC2);
//> (222448.05, -390853.09, 111433.23)
}}}
"	pgea@…
849	Muestrear una normal con restriciones de igualdad	Math	2.0.1	Mantainance	defect	Víctor de Buen Remiro	closed	2010-01-19T16:10:14Z	2011-01-14T17:44:41Z	"Hola Victor estoy intentando muestrear dos variables aleatorias cuya suma sea igual a uno {{{ x1+x2=1 }}} y {{{ x1>0, x2>0 }}}
 
Si embargo con la función RandConstrainedMNormal no lo consigo
{{{ 
Matrix mu = Col(0.2,0.8);
Matrix Cov =((1,0),(0,1));
Matrix B = (
 (1,1),
(-1,-1),
(-1,0),
(0,-1)
);
Matrix b = Col(1,1,0,0);
Matrix sample = RandConstrainedMNormal(mu, Cov, B, b);
}}}
"	jlaybar
851	Lectura de ficheros EXCEL desde TOL	Excel API	head	TOL Extensions	task	Jorge	closed	2010-01-19T17:53:15Z	2010-08-18T13:17:09Z	"Es necesario disponer de una API de funciones de acceso a hojas EXCEL, al menos de lectura, que permita automatizar procesos de captura de datos desde archivos con formatos conocidos.

Sé que existe algo llamado VBTol pero no sé si es utilizable para esto.

La API de llamada podría ser algo así

{{{
//Abre un archivo excel y devuelve un identificador único
Real id = excel.open(Text filePath)

//Devuelve el número de hojas del archivo
Real excel.get.sheet.number(Real id)

//Devuelve el nombre de la n-ésima hoja o la cadena vacía si no
//existe
Text excel.get.sheet.name(Real id, Real n)

//Devuelve la posición de la hoja con el nombre indicado o 0 si no
//existe
Real excel.get.sheet.position(Real id, Text name)

//Devuelve el número de la última fila no vacía de una hoja
Real excel.get.last.row(Real id, Real sheetNumber)

//Devuelve el número de la última columna no vacía de una hoja
Real excel.get.last.col(Real id, Real sheetNumber)

//Devuelve el contenido de la celda indicada
Anything excel.get.cell(
  Real id, Real sheetNumber, 
  Real row, Real col)

//Devuelve el contenido de un rango de celdas en un conjunto
//tabular de conjuntos correspondientes a cada fila del rango
Set excel.get.rectangle(
  Real id, Real sheetNumber, 
  Real row.ini, Real col.ini, 
  Real row.end, Real col.end)

//Devuelve el contenido completo de una hoja en un conjunto tabular
//de conjuntos correspondientes a cada fila de la misma
Set excel.get.all(Real id, Real sheetNumber)

Real excel.close(Real id)
}}}
"	Víctor de Buen Remiro
852	Implementar Clase para encapsular acceso a archivos Excel	Excel API	2.0.1	Mantainance	task	Jorge	closed	2010-01-24T22:20:36Z	2012-02-13T17:47:11Z	Para asegurar una correcta construccion y destruccion de identificadores de acceso a archivos excel se hace necesario la implementacion de una clase que encapsule la funcionalidad implementada en el ticket #851.	Jorge
854	Crear archivos Excel	Excel API	2.0.1	Mantainance	task	Jorge	closed	2010-01-24T22:23:49Z	2012-02-13T17:51:09Z	Se solicita la implementacion de funciones para crear y guardar archivos excel.	Jorge
855	Probit Multivariante con correlación en los residuos	BSR			defect	Víctor de Buen Remiro	closed	2010-01-26T15:01:18Z	2011-01-14T17:42:50Z	"En la actualidad el modelo probit asume que la matríz de correlaciones de los residuos es la unidad 

y*1 = b1*x1 +e1
y*2 = b2*x2 +e2

E[e1]=E[e2]=0  Var[e1]=Var[e2]=1  y Cov(e1,e2)=0

Me gustaría que el modelo pudiera contemplar la posibilidad de correlacion entre los residuos.
Cov(e1,e2) = Rho

Este tipo de modelo lo necesitamos para la estimación de Credit Scoring en el cliente AMEX ( American Express) en el cual tenemos que montar Probit Bivariante con información censurada.

Un saludo
Jaime





"	jlaybar
856	DBMatrix solo retorna enteros	Database	2.0.1		defect	Jorge	closed	2010-01-27T20:07:18Z	2012-02-13T10:01:18Z	" DBMatrix contra una base de datos de Oracle 11 solo nos devuelve numeros enteros.


{{{
Matrix DBMatrix (""SELECT VL_VALUE FROM CUS_D_CENTROIDS""+ NL +
                        "" WHERE ID_CLUSTER = 1 "" + NL +
                        "" ORDER BY ID_VARIABLE""));
}}}


 Workaround: la solucion es que usamos ahora multiplicar por 100000 en al query y dividir por 100000 en la Matrix de Tol.

"	Francisco Muñoz
857	Error en BST al cargar datos con separador numérico no estándar	ASCII data files		Mantainance	defect	Víctor de Buen Remiro	closed	2010-01-28T10:39:08Z	2010-02-12T11:02:28Z	"La funcion includebst se comporta de forma extraña cuando intentamos cargar una bst donde tenemos números reales con parte decimal. Si estos decimales los escribimos con punto lo hace perfecto, pero si lo hacemos con coma (mal hecho por nuestra parte), carga sólo la parte decimal y la parte entera la omite.
Por ejemplo: 0,99 lo carga como 99 cuando el esperaría ver 990 porque la "","" marca el mil, entiendo. ¿No debería dar un error en este caso?



Pongo un ejemplo:

Struct str(
  Text name,
  Real value
);

/*
Creal un fichero c:/prueba.bst que contenga lo siguiente;

str;name;value;
;"""";0.99;
;"""";0,99;

*/

Set s = IncludeBST(""c:/prueba.bst"");

Real r1 = s[1]->value;
Real r2 = s[2]->value;"	lmperez@…
858	About the Non Standard Struct Handling Report	Kernel			defect	Víctor de Buen Remiro	closed	2010-01-29T09:16:38Z	2010-02-12T14:49:26Z	"Según la nueva nomenclatura para las estructuras, éstas han de usarse con el prefijo ""@"".
Para facilitar la detección del uso antiguo se crean unos informes en la carpeta de logs del tipo ""_non_standard_struct_<Now>.log"".

Encuentro que hay dos situaciones en las que no puedo evitar que
esos logs se creen, probablemente debido a llamadas internas:

1. Al usar la función {{{Estimate}}} se generan muchos mensajes del tipo:
{{{
CALLING STRUCT '@ModelDef' WITHOUT @ IN FILE '...'
}}}
no sólo con {{{@ModelDef}}} sino con todos las estructuras relacionadas: {{{@InputDef}}}, {{{@ParameterInf}}}, {{{@NonLinearInputDef}}} y {{{@TestResult}}}.

2. Al editar código encontramos que la interfaz de TOLBase nos ofrece como ayuda la definición de la estructura:
{{{
@ModelDef(
          |ModelDef:
          |Valor: Struct StdLib::@ModelDef = {Serie Output ...
          |Definición: @ModelDef;Output;FstTransfor;SndTransfor ...
}}}
Esto crea mensajes en el log como éste:
{{{
CALLING STRUCT '@ModelDef' WITHOUT @
}}}"	pgea@…
860	El servicio RMTPS_W_SERVER se detiene después de iniciar.	RMTPS			trick	apalonso	closed	2010-02-03T10:07:31Z	2010-02-03T10:09:36Z	"Al iniciar manualmente el servicio RMTPS_W_SERVER sale un mensaje con el siguiente error:
""The RMTPS_W_SERVER service on Local Computer started and then stopped. Some service stop automatically if they have no work to do, for example the  Performance logs and Alert Service.""
""El servicio RMTPS_W_SERVER se inició en el equipo local y después se detuvo. Algunos servicios se detienen automáticamente si no tienen nada que hacer, por ejemplo el servicio Alertas y registros de rendimiento""

El problema se debe a que el registro de sucesos de Windows está lleno.  Se resuelve borrando el registro de sucesos, aumentando el tamaño o permitiendo que se sobreescriban los sucesos más antiguos."	apalonso
862	Sigma constante en OneNode API	BSR	2.0.1	BSR API	defect	Víctor de Buen Remiro	closed	2010-02-08T14:15:16Z	2010-02-08T15:15:33Z	Parece ser que el API OneNode esta simulando la sigma independientemente de si se le ha dado constante. Seria deseable que si la sigma se especifica como constante no se cree un bloque en la MCMC resultante.	Jorge
863	Object decompilation, when a object contains a reference to itself	OOP		OOP Implementation	defect	Víctor de Buen Remiro	closed	2010-02-09T12:12:46Z	2010-02-17T13:59:33Z	"El problema surge a la hora de gestionar objetos que contienen otros objetos y se desea que un objeto contenido conozca al objeto que lo contiene.

Para motivar esto podemos considerar una situación interesante que surge cuando se almacenan estructuras similares a grafos. Veamos un ejemplo:

Imaginemos una clase grafo ({{{@Graph}}}) que contiene un conjunto de vértices ({{{@Vertex}}}) y otro de aristas ({{{@Edge}}}). Los objetos aristas, a su vez contienen referencias a los dos vértices que unen.

Imaginemos ahora pues, que queremos desde un objeto vértice conocer todas las aristas que le apuntan. O incluso más queremos eliminarlas todas.
Parece lógico que esta acción implica la colaboración del objeto grafo.
Así si se llamara a un método del vértice {{{GetEdges()}}} éste llamaría a su padre preguntándoselas: algo como {{{parent::GetEdgesWithVertex(él_mismo)}}}.
O incluso: {{{parent::RemoveEdgesWithVertex(él_mismo)}}}.

El problema al tratar este tipo de referencias, donde el objeto contiene objetos que lo referencian, es que los objetos no se decompilan adecuadamente.

Adjunto un ejemplo sencillo, donde si no se limpia el contenedor (método {{{Clear}}}) no puede decompilarse y compilarse nuevamente.

En MMS esta cuestión se ha tratado usando direcciones de memoria ({{{GetAddressFromObject y GetObjectFromAddress}}}) aunque este modo además de artificial y poco elegante dificulta la copia de los objetos y en ocasiones genera algún error debido a la desaparición de la referencia del objeto cuya dirección se apuntó."	pgea@…
864	TOL breakdown in erroneous defining class	OOP	2.0.1	OOP Implementation	defect	Víctor de Buen Remiro	closed	2010-02-10T20:22:20Z	2010-04-21T08:04:08Z	"If we run this code:

{{{
Class @Circle
{
//Definition members
  Real _.center.x_;
  Real _.center.y_;
  Real _.radius;

//Auxiliar members
  Real _.perimeter;
  Real _.area;
  
//Basic Constructor 
  Static @Circle New(
    Real x,  //First coordinate of center 
    Real y,  //Second coordinate of center 
    Real r)  //Radius
  {
    @Circle new =
    [[
      Real _.center.x_ = x;
      Real _.center.y_ = y;
      Real _.radius = r;
      //Auxiliuar members definition
      Real _.perimeter = 2*Pi*r;
      Real _.area = Pi*r^2
    ]]
  };
//Derivate constructor
  Static @Circle Random(
   Real min.x, Real max.x,
   Real min.y, Real max.y,
   Real min.r, Real max.r)
  {
    @Circle::New(Rand(min.x,max.x),
                 Rand(min.y,max.y),
                 Rand(min.r,max.r))
  };

//Returns true if the point (x,y) is inside the circle
Real includes(Real x, Real y)
{
  (x-_.center.x_)^2+(y-_.center.y_)^2<=_.radius^2
};
Real outsides(Real x, Real y){ Not(includes(x,y)) }
};

@Circle c1 = @Circle[[0,1,1]];
}}}

TOL break down. This a syntax error in the last line that makes TOL breaks down."	César Pérez Álvarez
865	Error in TOLDoc/OOP code example	Web		OOP Implementation	defect	Víctor de Buen Remiro	closed	2010-02-10T20:25:42Z	2010-02-11T08:38:09Z	"In the section of the documentation TOLDOC/OOP, there is an example that has some errors. Is the code in the section [TolOop#Constructoresdeinstancias ""Constructores de instancias""]. The following code is right (I hope:) :

{{{
Class @Circle
{
//Definition members
  Real _.center.x_;
  Real _.center.y_;
  Real _.radius;

//Auxiliar members
  Real _.perimeter;
  Real _.area;
  
//Basic Constructor 
  Static @Circle New(
    Real x,  //First coordinate of center 
    Real y,  //Second coordinate of center 
    Real r)  //Radius
  {
    @Circle new =
    [[
      Real _.center.x_ = x;
      Real _.center.y_ = y;
      Real _.radius = r;
      //Auxiliuar members definition
      Real _.perimeter = 2*Pi*r;
      Real _.area = Pi*r^2
    ]]
  };
//Derivate constructor
  Static @Circle Random(
   Real min.x, Real max.x,
   Real min.y, Real max.y,
   Real min.r, Real max.r)
  {
    @Circle::New(Rand(min.x,max.x),
                 Rand(min.y,max.y),
                 Rand(min.r,max.r))
  };

//Returns true if the point (x,y) is inside the circle
Real includes(Real x, Real y)
{
  (x-_.center.x_)^2+(y-_.center.y_)^2<=_.radius^2
};
Real outsides(Real x, Real y){ Not(includes(x,y)) }
};
}}}"	César Pérez Álvarez
866	error en menu contextual asociado a NameBlock	Interface		TOLBase Revitalization	defect	Jorge	closed	2010-02-11T07:49:54Z	2010-03-23T19:18:27Z	"Si intentamos desplegar el menu contextual sobre una seleccion multiple de {{{NameBlock}}} se produce el siguiente error:

{{{
can't read ""data_menu(NameBlock,File)"": no such element in array
can't read ""data_menu(NameBlock,File)"": no such element in array
    while executing
""$data_menu(main) add cascade -label [mc ""View %1\$s's definition"" $grammar]  -menu $data_menu($grammar,File)""
    (procedure ""::TolInspector::PostVariable"" line 251)
    invoked from within
""::TolInspector::PostVariable 642 350""
    (command bound to event)
}}}"	Jorge
867	BSR: Definición de la sigma y de los residuos cuando la matriz de covarianzas del ruido no es proporcional a la identidad.	BSR		Numerical methods	defect	Víctor de Buen Remiro	closed	2010-02-11T09:23:50Z	2010-02-11T09:24:18Z	"Cuando la matriz de covarianzas del ruido no es proporcional a la identidad y ha venido fijada por el usuario se debe actuar de modo análogo a cuando la define como la de un proceso ARIMA.

Si se ha definido una sigma, libre con prior o fija, el valor devuelto por el evaluador en la media del informe de BSR debe ser el estimado o fijado. Si no se ha especificado entonces es 1.

Con respecto a los residuos ahora mismo se está devolviendo el ruido covariante (Z) cuando no hay ARIMA, pero sería más coherente devolver el ruido blanco (E) del proceso

[[LatexEquation(E = L^{-1} Z )]]
"	Víctor de Buen Remiro
868	fallo en triplet	Math	2.0.1	Mantainance	defect	Víctor de Buen Remiro	closed	2010-02-11T18:21:48Z	2010-02-12T10:36:29Z	"Parece que hay un fallo en triplet.

Hay una celda que en el Set triplet es > 0 y en la vmatriz es 0. El conjunto triplet no tiene repeticiones.

Se adjunta un codigo test y datos."	Jorge
869	Error working with Object References and Decompilation	OOP	2.0.1	OOP Implementation	defect	Víctor de Buen Remiro	closed	2010-02-12T07:48:22Z	2010-03-01T14:20:23Z	"He encontrado un error al trabajar con objetos.
Hasta donde he conseguido aislarlo parece que se trata de algo relacionado con la creación de nuevas referencias de un objeto, la decompilación y el _this.

El error que queda en el log es el siguiente:
{{{
ERROR: [1] SIGNAL: Abnormal termination, such as instigated by the abort function. (Abort.)

ERROR: [2] Un error inesperado ha hecho TOL inestable y la sesión debe ser cerrada
}}}

El ejercicio para reproducir esto consiste en:
 1. Crear una referencia de un objeto pidiéndoselo al método de un objeto contenedor.
 2. Decompilar esta referenca
 3. Volver a llamar a éste objeto accediendo a un método que use la referencia interna _this.

Adjunto un archivo de ejemplo.

"	pgea@…
871	Segfault in Excel API	Excel API	2.0.1	Mantainance	defect	Jorge	closed	2010-02-15T17:25:54Z	2010-08-17T20:15:47Z	"The following code with the attached data file generate a segfault

{{{
Real id = Excel.Open( ""data.xls"" );

Real Excel.ActivateWS( id, 1 );

Real row = 1;
Text cell = """";
While(cell=="""",
{
 Text cell := Excel.ReadText( id, row, 3 );
 Real row := row+1
});
}}}"	Jorge
872	Lost instances when the use of the :: operator is concatenated	OOP	2.0.1	Mantainance	defect	Víctor de Buen Remiro	closed	2010-02-16T16:18:03Z	2010-02-16T17:46:23Z	"Al comenzar a utilizar MMS con modelos masivos nos encontramos con problemas de memoria RAM, en lo que parece un excesivo despilfarro de la misma.

Parece ser que una de las causas es la existencia de instancias perdidas por el uso concatenado del operador ""::"".
Es decir cuando concatenamos a la llamada de un método que devuelve un objeto otra llamada a un método del objeto devuelto:
{{{
Anything anything = Object::GetObject2(?)::Method(?)
}}}

Adjunto un ejemplo hecho a propósito para mostrar este problema."	pgea@…
873	Improve TolServer process structure	TolServer	2.0.1	Mantainance	task	lramirez	closed	2010-02-17T17:06:04Z	2010-03-23T19:21:22Z	TolServer is s monolitic process that does not answer when it's calculating a long task. It is required that TolServer be splitted in two processes or thread on attending requests from clients an other dedicated to computation.	Jorge
875	Tol2.0 no corre bajo windows server 2003	Toltcl	2.0.1		defect	Jorge	closed	2010-02-18T20:38:34Z	2012-02-13T10:02:36Z	"La última versión oficial de tol (v2.0.1) no puede ejecutarse bajo el sistema operativo windows server 2003. No puede cargar la librería tolbase_v2.0.1\lib\toltcl\toltcl.dll y nos vemos bloqueados al no poder lanzar procesos en remoto a los berwicks (que corren todos bajo windows server 2003). No podemos tampoco usar una versión anterior de tol ya que usamos mms y como mínimo hemos de utilizar la 2.0.

gracias de antemano"	lmperez@…
876	Problemas en la generación de los ozas con Windows 7	OIS			defect	Víctor de Buen Remiro	closed	2010-02-24T15:58:30Z	2011-02-24T09:11:05Z	"Buenas tardes, con la versión de Windows 7 el tolbase no consigue generar los ozas con las funciones del proyecto que quiero ejecutar desde la aplicación.

La caída de TolBase se produce en este momento:
""OIS: Cargando el módulo stdlib::defDimComHea.tol""

Tengo permiso de escritura sobre  la carpeta de C:\Users\Administrador\AppData\Roaming\tol y se generan diversos subdirectorios y ficheros, pero no se genera todo lo necesario."	Lander Ibarra Iriondo
877	segfault in parser	Kernel	2.0.1	Mantainance	defect	Jorge	closed	2010-02-26T10:10:31Z	2012-03-14T18:43:53Z	"If we evaluate nucleos.tarifa.tol a segmentation fault in parser is generated.

Only tested on Linux"	Jorge
879	Reassigning NameBlocks	OOP			defect	Víctor de Buen Remiro	closed	2010-03-17T15:00:16Z	2011-02-24T09:09:22Z	"Al usar BSR con ""modelDefs"" de tipo NameBlock que contienen series infinitas, nos encontramos con mensajes del tipo:
{{{
Warning: [] No se puede copiar una serie no acotada

Warning: [] No se puede aplicar PutValue (:=) a una serie temporal con otra que no tiene fechas acotadas, por lo que será truncada por las fechas por defecto en curso: [,]
}}}

Según parece el truncamiento de las series, se debe a la reasignación de un NameBlock.
(Véase stdlib/math/stat/models/bayesian/bysMcmc/_cycler.tol línea 61)

Podemos ver lo que ocurre con el ejemplo sencillo: 
{{{
NameBlock nb1 = [[ Serie serie = CalInd(C,C) ]];
NameBlock nb2 = [[ Real void = ? ]];
NameBlock nb2 := nb1;
}}}

Este comportamiento puede resultar un tanto inesperado ya que una asignación del tipo:
{{{
NameBlock nb1 = nb2;
}}}
se entiende como ""crea un nuevo NameBlock nb1 que apunte al mismo NameBlock que nb2"": Ref(nb1) = Ref(nb2);

Mientras que la reasignación:
{{{
NameBlock nb1 := nb2;
}}}
se entiende como ""modifica el NameBlock al que apunta nb1 copiando el contenido de nb2"": nb1 := Copy(nb2)

Este comportamiento es distinto al de los Set donde tanto la asignación como la reasignación actúan sobre la referencia:
{{{
Set st1 = st2;
Set st1 := st2;
}}}
Entendiéndose: Ref(st1) = Ref(st2) y Ref(st1) := Ref(st2) respectivamente.

Realmente no estoy en contra del criterio escogido, pues de hecho acostumbro a aprovechar esta circunstancia para ""destruir"" objetos haciendo:
{{{
NameBlock a := [[ Real NULL=? ]]
}}}

La alternativa es no utilizar NameBlock´s como referencias para ser resignadas sino conjuntos (Set) destinados a contener el NameBlock. Algo como:
{{{
Set nb1_ = [[ NameBlock nb1 = [[ Serie serie = CalInd(C,C) ]] ]];
Set nb2_ = [[ NameBlock nb2 = [[Real void = ? ]] ]];
Set nb2_ := nb1_;
}}}
Y según el criterio actual parece que es la StdLib la que tendría que cambiar eso.

Creo que quizá podría aprovecharse para revisar los criterios usados en la asignación y reasignación. Quizá podría abrirse un tique dedicado a eso. Yo sigo echando mucho de menos que no existan dos operadores distintos para ello.

Otra cosa que no entiendo, y quizá debería abrir un nuevo tique es, porqué no se pueden copiar las series infinitas. Supongo que el asunto éste de las series tiene algunas complicaciones que no 
adivino a imaginar. 
Quizá hubiera sido bueno tener dos tipos de objetos ""series finitas"" y ""series infinitas"" de manera similar a como existen Matrix y VMatrix, de modo que fuese fácil distinguir unas de otras.
"	pgea@…
880	Understanding NObject	Kernel			doubt	Víctor de Buen Remiro	closed	2010-03-17T16:18:16Z	2011-02-24T09:07:27Z	"En el tique #872 se recomendaba usar NObject para comprobar de alguna manera cómo aumenta el número de objetos y poder así controlar que los objetos se destruyen correctamente.

Según he podido ir comprobando el aumento de NObject varía del siguiente modo:

'''Gramáticas por Valor'''
Para los objetos de TOL que se asignan por valor, la definición aumenta NObject en '''1'''.
Estas gramáticas son: Complex, Date, Matrix, Polyn, Ratio, Real, Text y VMatrix.

'''Gramáticas por Referencia'''
Para los objetos de TOL que se asignan por referencia, la definición aumenta NObject en '''1''', si el objeto se asigna con uno existente y en '''2''' si el objeto se asigna con una nueva definición.
Las gramáticas que cumplen esto son: Code, NameBlock y Set.
Al aumento de NObject por la creación de un NameBlock o un Set hay que añadirle el aumento por los objetos contenidos en ellos.
Ejemplos:
{{{
Code code1 = ASCII;          //> +1
Real code2 (Real x) { x };   //> +2
Set set01 = Empty;           //> +1
Set set02 = Copy(Empty);     //> +2
Set set03 = [[ Real 1 ]];    //> +3
Set set05 = set04;           //> +1
}}}

'''Gramáticas Especiales'''
Quedan dos gramáticas que se comportan distinto a las demás: TimeSet y Serie.

__TimeSet__
Según parece los TimeSet almacenan su definición de modo que cuanto más compleja sea su definición más aumentará NObject.
Por ejemplo:
{{{
TimeSet ts01 = C;             //> 1
TimeSet ts02 = D(1);          //> 3
TimeSet ts03 = D(1) * M(1);   //> 6
TimeSet ts04 = Succ(D(2), 1); //> 5
TimeSet ts05 = ts04 * M(1);   //> 4
}}}
Aunque no tengo claro como se cuenta esto.

__Serie__
Los objetos de tipo Serie son quizá los que más me confunden, podemos encontrar incluso que la copia de una serie ""ocupa"" menos que ella misma:

{{{
Real N0 = Copy(NObject);

Serie serie01 = Gaussian(10,1,C);

Real N1 = Copy(NObject);
WriteLn(""aumenta ""<<(Real N1-N0-1));
//> aumenta 5

Serie serie02 = SubSer(Gaussian(10,1,C),y2009,y2010);

Real N2 = Copy(NObject);
WriteLn(""aumenta ""<<(Real N2-N1-1));
//> aumenta 8

Serie serie03 = Copy(SubSer(Gaussian(10,1,C),y2009,y2010));

Real N3 = Copy(NObject);
WriteLn(""aumenta ""<<(Real N3-N2-1));
//> aumenta 3
}}}

"	pgea@…
881	Error decompiling a Copy of a NameBlock with a Code	OOP			defect	Víctor de Buen Remiro	closed	2010-03-17T16:21:39Z	2011-01-18T14:36:07Z	"Según parece el objeto creado como la copia de un NameBlock que contiene un objeto de tipo Code no se decompila adecuadamente, ya que tras cada compilación-decompilación NObject aumenta en 2.
Ejemplo:
{{{
NameBlock nb = Copy(NameBlock [[
  Real metodo(Real x) { x }
]]);
}}}"	pgea@…
883	Sólo se muestra el último título de menú definido en getMenuEntries	Interface	head	TOLBase Revitalization	defect	Jorge	closed	2010-03-23T09:30:01Z	2010-03-23T18:59:16Z	"Las clases con el método virtual getMenuEntries
por lo que veo sólo enseña una entrada de menú, la última que definas
Si pongo esto
{{{
Set getMenuEntries(Real void)
{
  Set [[ [[ ""Select"", ""select"" ]] ]],
  Set [[ [[ ""Explore"", ""explore"" ]] ]]
}
}}}
sólo muestra el {{{Explore}}}
Si pongo esto
{{{
Set getMenuEntries(Real void)
{
  Set [[ [[ ""Explore"", ""explore"" ]] ]],
  Set [[ [[ ""Select"", ""select"" ]] ]]
}
}}}
sólo muestra el {{{Select}}}
"	Víctor de Buen Remiro
885	aplicar metodos de @MenuDesc a seleccion multiple	Interface	head	TOLBase Revitalization	task	Jorge	closed	2010-03-23T19:29:03Z	2010-03-29T12:41:05Z	"Se requiere ampliar la especificacion de @MenuDesc de forma tal que el interfaz pueda determinar que opciones son aplicables a una selección múltiple o individual. El método que se aplique a una selección multiple debe tener el siguiente prototipo:

{{{
  Real MethodMultiple( Set Address );
}}}

Address es un Set que contiene las referencias (direcciones) de los objetos sobre los cuales aplicar la acción.
"	Jorge
886	Data change to HalfHourly dating seems to fail	TimeAlgebra	2.0.1	Mantainance	defect	Víctor de Buen Remiro	closed	2010-03-26T16:17:03Z	2010-03-29T09:58:56Z	"Hi,
please try to run this TOL Code. The series for hour 0 minute 0 works fine but for hour 0 minute 30 does not. Actually, none of any series for 30 minutes works.

TimeSet HalfHourly = Mi(0)+Mi(30);
Serie Gauss_HH = SubSer(Gaussian(1000, 10, HalfHourly), y2009, y2010);
Serie Gauss_HH_0000 = DatCh(CalInd(H(0)*Mi(0), HalfHourly) * Gauss_MH, Diario, SumS);
Serie Gauss_GH_0030 = DatCh(CalInd(H(0)*Mi(30), HalfHourly) * Gauss_MH, Diario, SumS);
Serie Gauss_GH_0130 = DatCh(CalInd(H(1)*Mi(30), HalfHourly) * Gauss_MH, Diario, SumS);


¿Am I doing something wrong?
"	Alfredo Torre
887	Error decompiling an OZA	Kernel			defect	Víctor de Buen Remiro	closed	2010-03-26T16:46:56Z	2011-02-09T09:39:18Z	"Según parece al decompilar el conjunto rescatado a través de un OZA se deja en memoria un número de objetos (NObject) equivalente al tamaño del conjunto rescatado, ya que tras cada compilación-decompilación NObject aumenta.

En el siguiente ejemplo se puede ver como aumenta en 2:
{{{
Real Copy(NObject);
Real Ois.Create(""C:/Temp/oza1.oza"", Empty, [[Real 1]]); 
Real Copy(NObject);
Set Ois.Load(""C:/Temp/oza1.oza"");
Real Copy(NObject);
}}}"	Pedro Gea
888	La función SliceSampler1D falla con dominios inconexos	BSR	2.0.1	Numerical methods	defect	Víctor de Buen Remiro	closed	2010-03-30T13:43:12Z	2011-02-24T09:02:44Z	"Tal y como se puede ver en el siguiente código TOL, la función SliceSampler1D falla a veces con dominios inconexos, es decir, cuando en parte del intervalo la densidad vale 0, o lo que es lo mismo su logaritmo es {{{-Inf}}}. 

Como no sucede de forma determinista hay que usar una semilla de geración distinta para reproducir cada caso posible. 

Por lo que he podido ver, devuelve el último valor generado, por lo que si éste tiene densidad 0 el valor devuelto está fuera del dominio.

El ejemplo reproduce la simulación del coeficiente de grado 1 de un modelos AR puro de grado 6, tal y como lo hace internamente BSR.

{{{
//////////////////////////////////////////////////////////////////////////////
// Semilla de generación aleatoria fijada para reproducir el comportamiento
// exacto
// 
// 3 de 8 no estacionarias incluida la última: devuelve el valor inicial
// Real PutRandomSeed(1836343167);
// 
// ninguna no estacionaria: devuelve una simulación válida
// Real PutRandomSeed(1664310743);
// 
// 2 de 8 no estacionarias, pero no la última: devuelve una simulación válida
// Real PutRandomSeed(440791623);
//////////////////////////////////////////////////////////////////////////////
Real PutRandomSeed(440791623);
Real rndSeed = GetRandomSeed(0);

WriteLn(""TRACE  rndSeed:""<<rndSeed);

//Se define un modelo AR con un polinomio que tiene un dominio
//inconexo de estacionariedad para el coeficiente de grado 1
Polyn ar = 1-0.09944049062890037*B
            +0.4208976407813203*B^2
            -0.07979027150930651*B^3
            -0.524509273364506*B^4
            +0.1794384784972413*B^5
            +0.01042162544590616*B^6;
Polyn ma = 1;

//Se copia el polinomio ma para evitar efectos secundarios en la evaluación
Polyn p = Copy(ar);
Real d = 1;

//Esta función evalúa la estacionariedad de un polinomio pol con respecto al 
//coeficiente de grado d en el intervalo [-d,d] con longitud de paso h
Matrix get.stationary.map(Polyn pol, Real d, Real h)
{
  SetMat(EvalSet(Range(-d,d,h), Set(Real c)
  {
    Polyn p = Copy(pol);
    Real c_ = If(c, c, 1.E-10);
    Real PutCoef(p,d,c_);
    [[c,IsStationary(p)]]
  }))
};
Matrix map = get.stationary.map(p,d,0.001);

//Se debe comenzar por un polinomio que sea estacionario
Real isStationary = IsStationary(ar);

//Se generan aleatoriamente los residuos
VMatrix res = Gaussian(1000,1,0,1);

//Para ilustrar mejor como el dominio de estacioanriedad no es conexo
//construimos series de ruidos en tres valores

Real c1 = -0.5; VMatrix z1 = { Real PutCoef(p,d,c1); DifEq(ma/p,res) };
Real c2 = +0.3; VMatrix z2 = { Real PutCoef(p,d,c2); DifEq(ma/p,res) };
Real c3 = +0.7; VMatrix z3 = { Real PutCoef(p,d,c3); DifEq(ma/p,res) };

//Para las pruebas nos sirve cualquiera estacionario: tomamos el original
//Retomamos el valor inicial
VMatrix z = DifEq(ma/ar,res);
Polyn p := Copy(ar);

//Se genera el evaluador de la verosimilitud ARMA
NameBlock almagro = ARMAProcess::Eval.Almagro(ar,ma,z,1);
//Se calculan los valores iniciales condicionados
VMatrix u0 = almagro::Draw.U_cond_Z(0);
VMatrix z0 = almagro::Get.Z0(u0);
VMatrix a0 = almagro::Get.A0(u0);

//Se toma el coeficiente de grado 1
Real x0 = Coef(ar,d);
Real L = -1;    //Mínimo valor para el que se da estacionariedad
Real U = 0.807; //Máximo valor para el que se da estacionariedad

//Función de actualización del polinomio AR que devuelve cierto si es 
//estacionario con el nuevo coeficiente
Real SetValue(Real x0)
{
  //Se asegura de que no pone coeficiete 0 porque destruye la forma del 
  //polinomio como vector de monomios. Es algo que habría que arreglar.
  Real x = If(1+x==1, 0.000001, x);
  Real PutCoef(p, d, x);
  Real isStationary = IsStationary(p);
  WriteLn(""TRACE  SetValue(""<<x+"") isStationary:""<<isStationary);
  isStationary
};
//Función de evaluación del logaritmo de la densidad
Real LogDens.Almagro.Z_cond_U(Real x)
{
  Real llh =  If(!SetValue(x), -1/0, {
    Copy(almagro::LogLH.Z_cond_U(p,ma,z0,a0))
  }) ;
  WriteLn(""TRACE  LogDens.Almagro.Z_cond_U(""<<x+"") :""<<llh);
  llh
};
//Llamada al método de simulación escalar slice
Real x = MatDat(SliceSampler1D(LogDens.Almagro.Z_cond_U, L, U, x0),1,1);

WriteLn(""TRACE x=""<<x);
}}}

Estas son las salidas que da el programa anterior para cada una de las semillas elegidas:

{{{
// 3 de 8 no estacionarias incluida la última: devuelve el valor inicial
TRACE  rndSeed:1836343167
TRACE  SetValue(-0.09944049062890037) isStationary:1
TRACE  LogDens.Almagro.Z_cond_U(-0.09944049062890037) :-1387.086986834382
TRACE  SetValue(-0.9900840071843289) isStationary:1
TRACE  LogDens.Almagro.Z_cond_U(-0.9900840071843289) :-23313.37238721964
TRACE  SetValue(0.009915992815671126) isStationary:0
TRACE  LogDens.Almagro.Z_cond_U(0.009915992815671126) :-1.#INF
TRACE  SetValue(-0.9900840071843289) isStationary:1
TRACE  LogDens.Almagro.Z_cond_U(-0.9900840071843289) :-23313.37238721964
TRACE  SetValue(0.009915992815671126) isStationary:0
TRACE  LogDens.Almagro.Z_cond_U(0.009915992815671126) :-1.#INF
TRACE  SetValue(-0.8559963063218914) isStationary:1
TRACE  LogDens.Almagro.Z_cond_U(-0.8559963063218914) :-17243.20337303151
TRACE  SetValue(-0.6656894964087795) isStationary:1
TRACE  LogDens.Almagro.Z_cond_U(-0.6656894964087795) :-10313.15043543136
TRACE  SetValue(-0.02358345558353336) isStationary:0
TRACE  LogDens.Almagro.Z_cond_U(-0.02358345558353336) :-1.#INF
TRACE x=-0.09944049062890037
}}}

{{{
//ninguna no estacionaria: devuelve una simulación válida
TRACE  rndSeed:1664310743
TRACE  SetValue(-0.09944049062890037) isStationary:1
TRACE  LogDens.Almagro.Z_cond_U(-0.09944049062890037) :-1400.100045170432
TRACE  SetValue(-0.09271461170849427) isStationary:1
TRACE  LogDens.Almagro.Z_cond_U(-0.09271461170849427) :-1400.667034074515
TRACE  SetValue(-0.09271461170849427) isStationary:1
TRACE  LogDens.Almagro.Z_cond_U(-0.09271461170849427) :-1400.667034074515
TRACE  SetValue(-0.2891919542795427) isStationary:1
TRACE  LogDens.Almagro.Z_cond_U(-0.2891919542795427) :-2378.702930021611
TRACE  SetValue(-0.2776974464241599) isStationary:1
TRACE  LogDens.Almagro.Z_cond_U(-0.2776974464241599) :-2264.760232978221
TRACE  SetValue(-0.1911206362276727) isStationary:1
TRACE  LogDens.Almagro.Z_cond_U(-0.1911206362276727) :-1633.055504809866
TRACE  SetValue(-0.1249158202167721) isStationary:1
TRACE  LogDens.Almagro.Z_cond_U(-0.1249158202167721) :-1419.837272288265
TRACE  SetValue(-0.1183620014027887) isStationary:1
TRACE  LogDens.Almagro.Z_cond_U(-0.1183620014027887) :-1411.451378464228
TRACE  SetValue(-0.1146000550613002) isStationary:1
TRACE  LogDens.Almagro.Z_cond_U(-0.1146000550613002) :-1407.673101525984
TRACE  SetValue(-0.1112400614714343) isStationary:1
TRACE  LogDens.Almagro.Z_cond_U(-0.1112400614714343) :-1404.936913722732
TRACE  SetValue(-0.1101893541977121) isStationary:1
TRACE  LogDens.Almagro.Z_cond_U(-0.1101893541977121) :-1404.204911943004
TRACE  SetValue(-0.1040738663446942) isStationary:1
TRACE  LogDens.Almagro.Z_cond_U(-0.1040738663446942) :-1401.113552350067
TRACE  SetValue(-0.09290987134805526) isStationary:1
TRACE  LogDens.Almagro.Z_cond_U(-0.09290987134805526) :-1400.616555105531
TRACE  SetValue(-0.09519783142933348) isStationary:1
TRACE  LogDens.Almagro.Z_cond_U(-0.09519783142933348) :-1400.176636667713
TRACE  SetValue(-0.09717720524250692) isStationary:1
TRACE  LogDens.Almagro.Z_cond_U(-0.09717720524250692) :-1400.021389962531
TRACE x=-0.09717720524250692
}}}

{{{
//2 de 8 no estacionarias, pero no la última: devuelve una simulación válida
TRACE  rndSeed:440791623
TRACE  SetValue(-0.09944049062890037) isStationary:1
TRACE  LogDens.Almagro.Z_cond_U(-0.09944049062890037) :-1414.620951115607
TRACE  SetValue(-0.8534963953190766) isStationary:1
TRACE  LogDens.Almagro.Z_cond_U(-0.8534963953190766) :-15809.41847702517
TRACE  SetValue(0.1465036046809234) isStationary:0
TRACE  LogDens.Almagro.Z_cond_U(0.1465036046809234) :-1.#INF
TRACE  SetValue(-0.8534963953190766) isStationary:1
TRACE  LogDens.Almagro.Z_cond_U(-0.8534963953190766) :-15809.41847702517
TRACE  SetValue(0.1465036046809234) isStationary:0
TRACE  LogDens.Almagro.Z_cond_U(0.1465036046809234) :-1.#INF
TRACE  SetValue(-0.407688048935803) isStationary:1
TRACE  LogDens.Almagro.Z_cond_U(-0.407688048935803) :-3840.162568990362
TRACE  SetValue(-0.2629580672722903) isStationary:1
TRACE  LogDens.Almagro.Z_cond_U(-0.2629580672722903) :-2105.638034846308
TRACE  SetValue(-0.09840860067143334) isStationary:1
TRACE  LogDens.Almagro.Z_cond_U(-0.09840860067143334) :-1414.534033071261
TRACE x=-0.09840860067143334
}}}"	Víctor de Buen Remiro
889	BSR: Los módulos primarios no admiten coeficientes en las inecuaciones	BSR	head	BSR API	defect	Víctor de Buen Remiro	closed	2010-04-05T07:24:02Z	2010-04-05T07:25:41Z	En los nodos primarios no es posible escribir inecuaciones con coeficientes {{{coef*variable}}}	Víctor de Buen Remiro
890	El método Multiple-try Metropolis de simulación de cadenas de Markov sobre densidades unimodales con dominios acotados arbitrariamente	BSR	head	Numerical methods	task	Víctor de Buen Remiro	closed	2010-04-06T16:21:37Z	2011-02-24T09:02:01Z	"El método de simulación de cadenas de Markov [http://en.wikipedia.org/wiki/Multiple-try_Metropolis Multiple-try Metropolis] ofrece muchas posibilidades de aceleración de la convergencia cuando se tiene una forma rápida de evaluar la función de densidad conjunta. 

En el ticket #789 se propone el método general pero aquí nos ocuparemos de su aplicación en el caso de dominios acotados arbitrariamente, pues podría ser muy útil en el sistema BSR, especialmente para mejorar la eficiencia de la simulación del bloque ARMA o los bloques no lineales que actualmente se simulan escalarmente (con SLICE ó ARMS) con una gran sobrecarga de trabajo.

Concretamente, cuando se sabe que la función de densidad es unimodal, y se tiene una forma rápida de evaluar la pertenencia al dominio de un punto candidato arbitrario, es posible implementar una función de generación de candidatos independiente del punto de partida y multinormal, eventualmente truncada, que la aproxime. Para mayor eficiencia consideraremos incorrelada y más adelante nos ocuparemos de proponer el cálculo de sus parámetros

[[LatexEquation( Q\left(x,y\right) = Q'\left(y\right) \propto \exp\left(-\frac{1}{2}\overset{n}{\underset{i=1}{\sum}}\left(\frac{y_{i}-\mu_{i}}{\sigma_{i}}\right)^{2}\right) )]]

Cuando el dominio es acotado, la función generadora de candidatos está truncada en una región cuya expresión algebraica no es conocida, y aunque lo fuera, sería muy costoso calcular su integral de forma exacta. Por ello se debe calcular de forma aproximada, y la forma más sencilla de hacerlo es generar [[LatexEquation( k' )]] precandidatos hasta obtener [[LatexEquation( k )]] que estén dentro del dominio y podamos llamar candidatos. La función de densidad generadora de candidatos se podría aproximar como sigue:

[[LatexEquation(Q'\left(y\right)\propto \frac{k}{k'} \exp\left(-\frac{1}{2}\overset{n}{\underset{i=1}{\sum}}\left(\frac{y_{i}-\mu_{i}}{\sigma_{i}}\right)^{2}\right) )]]

Tomando la función simétrica y positiva

[[LatexEquation( \lambda\left(x,y\right)=\frac{1}{\sqrt{Q'\left(y\right) Q'\left(x\right) }} )]]

se obtiene la función de pesos

[[LatexEquation( w\left(x,y\right)=\pi\left(x\right)Q'\left(y\right)\lambda\left(x,y\right)=\pi\left(x\right)\sqrt{\frac{Q'\left(y\right)}{Q'\left(x\right)}} )]]

que resulta ser independiente del factor [[LatexEquation( k/k' )]] por lo que no tiene ninguna importancia si aproxima mejor o peor la integral de la densidad multinormal de precandidatos en el dominio. Esta es precisamente la razón por la que se toma una función de generación de candidatos independiente del punto de origen, en lugar de una simétrica que resulta más sencilla en el caso de dominio no acotado, pero que es inviable en el caso acotado cuando la moda se encuentra demasiado cerca de la frontera.

Para poder aplicar el método se comenzará tomando una media arbitraria [[LatexEquation( \mu )]] interior al dominio que puede ser perfectamente el propio punto inicial de la cadena y desviaciones unitarias [[LatexEquation( \sigma_{i}=1 )]]. Durante un número de iteraciones preliminares (burn-in) se irá desplazando la media al punto de mayor densidad objetivo de los [[LatexEquation( N )]] candidatos evaluados por el camino y las desviaciones se aproximarán como

[[LatexEquation( \sigma_{i}^2=\frac{1}{N} \overset{N}{\underset{j=1}{\sum}}\left(y_{j,i}-\mu_{i} \right)^2 \pi \left(y_{j,i}\right) )]]

Durante la fase de simulación propiamente dicha se podría estudiar la revisión de estos parámetros si se observa un aumento excesivo de los rechazos.
"	Víctor de Buen Remiro
891	ODBC con ordenadores 64 bits	Database	2.0.1		trick	Jorge	closed	2010-04-06T17:00:21Z	2012-02-01T13:16:56Z	"Buenas tardes,

  se ha necesitado conectar tol por odbc a una maquina de 64 bits con un sistema operativo de 64 bits.

Se genera el odbc, pero luego tol no puede conectarse a ella.

Parece que el problema, es que el odbc es generado con la versión de 64 bits de la herramienta Administrador de ODBC. 

Al generarlo con la herramienta Administrador de ODBC de 32 bits, ya no da problemas.

Dejo un link de ayuda de como hacer esto

http://support.microsoft.com/kb/942976

Aprovecho para preguntar una duda

¿Tol se puede usar con una maquina de 64 bits?¿Da igual usarlo con 32 bits o con 64 bits?

"	Iván Robles
892	Using a SigmaWeight = 0	BSR			doubt	Víctor de Buen Remiro	closed	2010-04-15T14:46:38Z	2011-02-24T09:00:42Z	"En algunos ejemplos al utilizar un sigmaWeight igual a 0, se encuentran errores inesperados.

Observando el código en: [source:trunk/tol/stdlib/math/stat/models/bayesian/bysMcmc/bsr/gibbs/_sigmaBlock.tol _sigmaBlock.tol] (líneas 167 en adelante) se observa que el comportamiento límite cuando {{{w->0}}} no coincide con {{{w==0}}} ya que {{{m0->1}}} en lugar de {{{m0->0}}} por el uso de la función {{{Max(1,...)}}} (línea 181).

La duda está en si hay algo mal en esto, o si por el contrario hay una razón para ello. También surge la duda si esto explica los errores encontrados cuando se pide que la sigma2 inicial no tenga ninguna influencia (sigmaWeight=0).

¿Hay algún sitio donde se detalle cómo es el proceso de muestreo de la sigma2 y la influlencia y el significado de este sigmaWeight?




"	Pedro Gea
894	Using Ois.UseModule with embeded files	OIS		Mantainance	defect	Víctor de Buen Remiro	closed	2010-04-21T13:58:53Z	2010-04-26T15:40:05Z	Según parece el método {{{Ois.UseModule}}} no es consciente de los cambios en archivos embebidos dentro de otros con la directiva {{{#Embed}}} y por lo tanto no se reconstruye el módulo.	Pedro Gea
895	Storing objects of grammar Serie	OIS			defect	Víctor de Buen Remiro	closed	2010-04-21T14:17:31Z	2011-02-24T08:58:22Z	"En MMS permitimos almacenar las variables involucradas en la definición de un modelo para que puedan ser utilizadas por otro usuario sin necesidad de cargar el proyecto donde se definieron.

Resulta, sin embargo que en algunas circunstancias, no sé bien aislar cuales, el almacenamiento de series infinitas en OZA's se hace correctamente, mientras que en otras, las series se truncan usando las fechas DefFirst y DefLast por defecto.

¿Hay alguna consciencia de que esto ocurra?
¿Sería conveniente conseguir aislar un ejemplo en el que esto ocurra?
¿Se es consciente de otras limitaciones en el almacenamiento de objetos en OZA's?
"	Pedro Gea
896	Using secondary click on class instances	Interface	head	TOLBase Revitalization	defect	Jorge	closed	2010-04-22T15:52:22Z	2010-04-28T13:19:50Z	"En el inspector de TOLBase, al hacer click con el derecho sobre las instancias de clases se encuentra un error Tcl.

Se puede comprobar simplemente creando la instancia siguiente:
{{{
Class @Ejemplo { Real a };
@Ejemplo ej = [[ Real a = 1 ]];
}}}

El error sin embargo es distinto dependiendo de si se han solicitado las `GuiTools` ({{{#Require GuiTools;}}}) o no.

Si no se solicitaron se obtiene:
{{{
ERROR: [] Argumento __aux_menu__ fuera de lugar. Símbolo fuera de lugar.  en el carácter 28, línea 2:

Línea de código 
   1 : 
   2 >       @MenuDesc __aux_menu__ = GetObjectFromAddress(""B106FEC:0:375B338:0:3679C50:0:2:4:6"");
                                  ^
   3 :       Set __gui_menu_entries__ = __aux_menu__::getMenuEntries(?)
   4 :     
}}}

Si el paquete de las `GuiTools` estaba cargado el error es:
{{{
Warning: [] La función :: ha fallado en : 
__aux_menu__::getMenuEntries(?)

ERROR: [] __gui_menu_entries__ no se pudo crear.
}}}"	Pedro Gea
897	Control de versiones de paquetes	Kernel	head	TOL Packages	task	Víctor de Buen Remiro	closed	2010-04-22T18:49:33Z	2010-10-19T14:11:06Z	"No es posible controlar qué versión del paquete se precisa en un proyecto. Esto último podría resolverse permitiendo la sintaxis opcional

{{{
//Carga exactamente la versión 1.1 del repositorio local
  #Require MyPkg.1.1
}}}

{{{
//Carga la última versión que haya en el repositorio local
  #Require MyPkg
}}}

Esto permitirá distinguir entre distintos archivos locales. El nombre del paquete será la parte anterior al primer punto, por lo que sólo se podrá cargar una versión del mismo paquete en una sesión, ya que una vez cargado un NameBlock, las posteriores llamadas al {{{#Require}}} no hacen nada.
"	Víctor de Buen Remiro
899	Numeric errors using Estimate with outputs with missing values	Math	head		defect	Víctor de Buen Remiro	closed	2010-04-26T07:57:10Z	2010-05-24T17:37:35Z	"Parece que algo ha cambiado últimamente en torno al método Estimate pues la estimación de outputs con omitidos devuelve errores del tipo:
{{{
ERROR: [] No se pudieron calcular los valores de las interrupciones debido a un error de tipo numérico resolviendo el problema de programación lineal correspondiente mediante el método de descomposición de valor singular.
  Max(|PIW'(PIW*CI+A_)|)=0.212837490276996
}}}
que antes no devolvía.
Además, supongo que consecuencia de estos errores, los parámetros estimados ahora difieren de los que estimaba cuando no había errores.

Para comprobarlo se puede usar el código siguiente:
{{{
Serie omitido = Log((1-Pulse(y2000m03, C))*Exp(1));
Serie output = SubSer(Gaussian(10,1,C), y2000, y2001)* omitido;

Set Estimate(ModelDef(
  Serie output, 1, 0, 1, 0,  
  Polyn 1, SetOfPolyn(1-0.1*B), SetOfPolyn(1),
  Copy(Empty), Copy(Empty)
), y2000, y2001);
}}}
"	Pedro Gea
901	Definición del número epsilon de la aritmética finita	Math		Mantainance	enhancement	Víctor de Buen Remiro	closed	2010-04-29T08:42:13Z	2011-01-14T16:07:33Z	"El número epsilon de la aritmética finita se define como el menor número positivo tal que

{{{ 1+epsilon==1}}}

En la mayoría de las máquinas el tipo numérico de coma flotante de doble precisión tiene 

{{{ epsilon = 2.220446049250313081e-16 / 2 }}}

Debería añadirse una variable global pues es un número muy útil en muchos algoritmos numéricos.

"	Víctor de Buen Remiro
902	Simulador bayesiano de regresión lineal multivariante	Math	2.0.1	Numerical methods	task	Víctor de Buen Remiro	closed	2010-05-10T09:24:45Z	2010-06-10T09:41:35Z	"La regresión lineal multivariante es un caso particular de regresión lineal en el que la matriz de covarianzas tiene una estructura especial que puede ser tratada de forma muy eficiente si se tienes en cuenta sus especiales características.

Por ello es muy conveniente contar con un paquete TOL que sea capaz de simular bayesianamente este tipo de modelos, el cual deberá ser extendido a clases de modelos relacionados, como el VAR o el VECM.

Debería programarse como un módulo independiente para poder ser utilizado de forma autónoma en cualquier tipo de simulador y que más adelante pueda imbricarse dentro de BSR de la forma más natural que sea posible.

"	Víctor de Buen Remiro
903	Implementación del producto de Kronecker para matrices sparse	Math	2.0.1	Numerical methods	task	Víctor de Buen Remiro	closed	2010-05-10T09:30:21Z	2010-05-10T12:33:41Z	La función !KroneckerProduct de Matrix debe extenderse a VMatrix pues en el caso sparse el ahorro de tiempo y espacio en este tipo de operación puede ser dramático.	Víctor de Buen Remiro
904	Informe de memoria en el profiler	Kernel	head	Mantainance	enhancement	Víctor de Buen Remiro	closed	2010-05-10T09:34:01Z	2010-05-10T09:34:45Z	El profiler de TOL debería incorporar también cierta información sobre el consumo de memoria en cada función	Víctor de Buen Remiro
905	No se encuentra el nombre de estructuras dentro de un NameBlock	Kernel	head	OOP Implementation	defect	Víctor de Buen Remiro	closed	2010-05-10T09:40:23Z	2010-05-10T09:43:44Z	"El siguiente código TOL
{{{
NameBlock A =
[[
  Struct S { Text name }
]];

Set B = [[""juan""]];
Set PutStructure(""A::S"",B);
}}}

produce este error

{{{
ERROR: [4] A::S1 no es una estructura
}}}
"	Víctor de Buen Remiro
906	Conversión de BysMcmc a paquete TOL	BSR	2.0.1	TOL Packages	task	Víctor de Buen Remiro	closed	2010-05-10T09:48:15Z	2010-06-25T14:19:24Z	Dentro del proceso de reducción de la StdLib a paquetes TOL el módulo BysMcmc que incluye a BSR es uno de los principales y más prioritarios, para que se pueda usar un sistema de versionado que facilite las tareas de análisis y mantenimiento de modelos.	Víctor de Buen Remiro
907	Error en el parser de BSR para prior en omitidos con límites truncados	BSR	2.0.1	BSR hierarchy and priors	defect	Víctor de Buen Remiro	closed	2010-05-11T15:26:30Z	2012-02-08T19:07:58Z	"Cuando se le pide a BSR que un omitido tenga un prior con dominio truncado donde uno de los límites es 1/0 o -1/0 el parser no sabe leerlo. 

BSR construye la información del prior a partir de la estructura @Bsr.Missing.Info, los dos últimos argumentos de esta estructura son el límite inferior (Prior.LowerBound) y superior (Prior.UpperBound) del dominio. 

Cuando uno de ellos es 1/0 p -1/0 en el fichero ascii asociado aparece escrita la expresión:

{{{
Uniform(-1.#INF,+0);
}}}

El parser de BSR no sabe interpretar -1.#INF.

Se adjunta como ejemplo una carpeta con los archivos .bsr generados por un modelo que posee información prior sobre omitidos como la descrita anteriormente.
 "	mafernandez
908	Rutina de inicializacion en un paquete	Kernel	head	TOL Extensions	defect	Víctor de Buen Remiro	closed	2010-05-12T14:31:08Z	2010-12-27T09:22:31Z	"Seria deseable contar con una rutina de inicializacion en un paquete. En esta rutina se pueden hacer:

 - establecer conexiones con bases de datos

 - inicializacion del interfaz del paquete

 - ...

En concreto esta solicitud proviene del empaquetado de MMS."	Jorge
910	Fallo en la fnción MMtSqr de VMatrix en el caso sparse	ASCII data files			defect	Víctor de Buen Remiro	closed	2010-05-14T07:25:12Z	2010-05-14T07:47:32Z	"Si se ejecuta este código TOL
{{{
VMatrix Xs = Rand(10,16,-1,1,""Cholmod.R.Sparse"",0.20*10*16);
VMatrix Xd = Convert(Xs,""Blas.R.Dense"");
VMatrix XsXst = MMtSqr(Xs);
VMatrix XdXdt = MMtSqr(Xd);
VMatrix XXt = MtMSqr(Tra(Xs));
Real q1 = Max(0,1 - VMatMax(Abs(XsXst-XXt)));
Real q2 = Max(0,1 - VMatMax(Abs(XdXdt-XXt)));
}}}

Se puede ver como la versión densa de MMtSqr es congruente con la MtMSqr de la traspuesta mientras que la versión sparse no lo es"	Víctor de Buen Remiro
912	Fallo en sobreescritura de ficheros OZA	OIS	head	Mantainance	defect	Víctor de Buen Remiro	closed	2010-05-28T11:43:16Z	2010-05-28T11:44:33Z	Aunque no es fácil de aislar y reproducir a veces se producen errores al intentar sobreescribir un fichero OZA preexistente, provocando incluso la caída de TOL en ciertas ocasiones	Víctor de Buen Remiro
914	Caracteres de escape en Tokenizer	ASCII data files	2.0.1	Mantainance	enhancement	Víctor de Buen Remiro	closed	2010-05-31T16:50:10Z	2010-05-31T16:59:29Z	"Ahora mismo Tokenizer no es capaz de parsear registros con campos en los que hay caracteres de escape.

Por ejemplo, este código
{{{
Set aux = Tokenizer(""1,\""Par (\""Producto\"",\""Dirección\"")\"",3"","","");
//Set aux = Tokenizer(""1,\""Par (\""Producto\"",\""Dirección\"")\"",3"","","",""\"""",""\\"");
Set View(aux,"""");
}}}

Produce un conjunto de 4 elementos
{{{
$tmp$=""1""
$tmp$=""""Par (""Producto""""
$tmp$=""""Dirección"")""""
$tmp$=""3""
}}}

cuando está claro que se pretendía definir uno de tres elementos.

{{{
$tmp$=""1""
$tmp$=""""Par (""Producto"",""Dirección"")""""
$tmp$=""3""
}}}
"	Víctor de Buen Remiro
915	ImageManager in GuiTools	GuiTools	head	TOLBase Revitalization	defect	Jorge	closed	2010-06-08T08:29:52Z	2011-05-16T07:55:25Z	Implement an ImageManager within GuiTools in order to provide a way to associate names to images either from encoded text data or file. Let tolbase be aware of this.	Jorge
916	Utilidades para el manejo de paquetes	Kernel		TOL Packages	task	Víctor de Buen Remiro	closed	2010-06-08T08:55:33Z	2012-04-27T17:27:37Z	"Jorge escribió: 
""It would be useful to have  a tol function for installing the last available version of a TolPkg.""

Creo que esto se enmarcaría mejor en un {{{NameBlock TolPackage}}} dentro de la {{{StdLib}}} que incluyera no sólo la instalación sino todas las funciones relacionadas con los paquetes, como el borrado, consulta de la existencia de nuevas versiones, actualización automática, etc.

"	Jorge
917	BSR ASCII Primary Import does not place parameter constraints properly	BSR			defect	Víctor de Buen Remiro	closed	2010-06-08T09:42:01Z	2010-06-10T09:37:13Z	"Según parece el import de segmentos primarios de BSR no trata adecuadamente las restricciones suministradas mediante el método obligatorio {{{Set Get.Param(Real iP)}}} que devuelve un conjunto de estructuras {{{@Bsr.Param.Info}}} para cada parámetro.
El tercer y cuarto argumento de esta estructura son los valores inferior y superior para el parámetro.

Sin embargo el ASCII no se crea adecuadamente y el ""parser"" no es capaz de interpretarlo.
A diferencia de los segmentos ""joint"" no se crea un bloque ""Defining Parameter Constraints"" y las restricciones se funden con los omitidos (bloque ""Defining header of Regression Missing Values"").

Una parte del ASCII encontrado es:
{{{
(...)
/////////////////////////////////////////////////////////////////////////////
// Defining header of Regression Missing Values
/////////////////////////////////////////////////////////////////////////////

PriProRetCan1_CokLig.Ger.All__Missing.y2007m01d01 ? 
 at row 1 for input 20
 ~ TruncatedNormal(-0.4325343168769437,+0.05526265763225656,-1e+100,+1e+100);
(...)
PriProRetOwn_CokLig.Ger.All__Missing.y2007m01d01 ? 
 at row 1 for input 25
 ~ TruncatedNormal(-0.3993681995573155,+0.05589353169878052,-1e+100,+1e+100);
+0<=+CokLig.Ger.All__AdvCopy_BreakLLL_CokLig.Ger.All__Linear.0;
+100>=+CokLig.Ger.All__AdvCopy_BreakLLL_CokLig.Ger.All__Linear.0;
+0<=+CokLig.Ger.All__AdvCopy_Nordic_CokLig.Ger.All__Linear.0;
+100>=+CokLig.Ger.All__AdvCopy_Nordic_CokLig.Ger.All__Linear.0;
(...)
}}}
donde, como se puede ver, las restricciones aparecen inmediatamente después de la información de los omitidos sin ningún separador de bloque."	Pedro Gea
920	Detección de acciones no declarativas en Ois.UseModule	OIS	2.0.1	Mantainance	enhancement	Víctor de Buen Remiro	closed	2010-06-18T10:01:11Z	2010-10-19T14:04:56Z	"La primera vez que se ejecuta {{{Ois.UseModule}}} sobre un archivo .tol lo compila y crea a partir de él un archivo OIS con extensión .oza de forma que en sucesivas ejecuciones se cargue directamente una foto de los objetos que fueron creados la primera vez sin necesidad de volver a compilar.

Supongamos que durante la compilación del fichero .tol se ejecuta algún tipo de acción no declarativa, como por ejemplo:

 * Modificar variables con :=, PutValue, Append, ... .
 * Llamar al sistema operativo para crear, borrar ni modificar nada.
 * Abrir conexiones a la base de datos o a cualquier otro mecanismo de consulta.

Evidentemente, este tipo de acciones no se reproducirán cuando se vuelva a llamar a {{{Ois.UseModule}}} pues éste se limitará a darnos una foto del resultado.

{{{Ois.UseModule}}} debería quejarse si se intenta ejecutar alguna acción no declarativa durante su ejecución pues puede llevar a engaño al usuario que cree estar haciéndolo bien, pues no le reporta mensaje alguno, y se puede encontrar luego con errores muy complicados de detectar.
"	Víctor de Buen Remiro
921	Ois.UseModule falla a veces con paths absolutos y relativos hacia atrás	OIS	2.0.1	Mantainance	defect	Víctor de Buen Remiro	closed	2010-06-18T10:03:37Z	2011-01-14T11:55:53Z	A veces pasa que Ois.UseModule crea mal el archivo de módulo y luego no lo encuentra. Parece que tiene que ver con que el path del archivo TOL que se le pase sea más o menos complejo.	Víctor de Buen Remiro
922	Utilidades TOL de compresión y archivado de ficheros y directorios	System	head	TOL Extensions	task	Víctor de Buen Remiro	closed	2010-06-21T08:22:37Z	2011-03-17T18:00:16Z	"Es cada vez más necesario tener un mecanismo de compresión y archivado de ficheros y directorios que permitan leer y escribir directamente desde TOL archivos .zip, .7z, .gz, .tgz, tar, ...

Cada tipo de archivo tiene un motor y una SDK completamente distinto y podría ser muy lioso crear funciones built-in en TOL para el manejo de cada uno de ellos.

Lo más cómodo de utilizar para un usuario sería una jerarquía de clases con una clase básica abstracta con los métodos comunes que en un principio podrían ser estos

{{{
Class @Store
{
  //Identificador del motor de compresión 
  Text _.engine;
  //Extensión por defecto para los archivos
  Text _.ext;
  //Ubicación física del archivo en el disco local
  Text _.path = """";
  //Indica si el archivo está correctamente abierto
  Real _.isOpen = False;
  //Abre el archivo para lectura o escritura
  Real Open(Text path, Text readOrWrite);
  //Cierra el archivo
  Real Close(Real void);
  //Añade un fichero al archivo
  Real File.Add(Set originalFilePath);
  //Extrae un fichero del archivo
  Real File.Extract(Text originalFilePath, Text destinationDirPath);
  //Determina si existe o no un fichero dentro del archivo
  Real File.Exists(Text originalFilePath)
  //Añade un directorio completo recursivamente
  Real Dir.Add(Text originalDirPath);
  //Extrae un directorio completo recursivamente
  Real Dir.Extract(Text originalDirPat, Text destinationDirPath);
  //Determina si existe o no un directorio dentro del archivo
  Real Dir.Exists(Text originalFilePath);

  Real __destroy (Real void)  
  {
    If(_.isOpen, Close(void))
  }

};
}}}

El destructor se encargaría de cerrar el archivo si no lo ha hecho el usuario previamente. Luego se podrían añadir otros métodos conforme se hicieran necesarios. De esta clase básica se podría luego heredar una clase para cada motor que se quiera manejar:

{{{
Class @ZipArchive: @Store 
{ 
  Text _.engine = ""ZLib"";
  Text _.engine = "".zip"";
  ... 
};
Class @SevenZip: @Store { ... };
{ 
  Text _.engine = ""LZMA"";
  Text _.ext = "".7z"";
  ... 
};
Class @Rar: @Store { ... };
{ 
  Text _.engine = ""Rar"";
  Text _.ext = "".rar"";
  ... 
};
Class @Tar: @Store { ... };
{ 
  Text _.engine = ""Tar"";
  Text _.ext = "".tar"";
  ... 
};

}}}

Toda esta jerarquía de clases sería conveniente distribuirla como un paquete oficial que podría llamarse {{{PackArchive}}}. Cada na de ellas podría añadir miembros opcionales de configuración pero siempre con valores por defecto. Finalmente se podría hacer un método constructor que creara una instancia con la clase adecuada al motor de forma que el usuario no tuviera que conocer los intríngulis  para hacer las tareas normales, sino que le bastara con entender la API de la clase base {{{PackArchive::@Store}}}

{{{
@Store Create(Text engine, Text path, Text readOrWrite)
}}}

Evidentemente haría falta implementar alguna función TOL built-in en C++ que facultara la conexión con los distintos SDK, pero ya no haría falta más que una función para cada método que tomara como primer argumento la propia instancia de clase. 

{{{
  //Abre el archivo para lectura o escritura
  Real PackArchive.Open(NameBlock archive, Text path, Text readOrWrite);
  //Cierra el archivo
  Real PackArchive.Close(NameBlock archive);
  //Añade un fichero al archivo
  Real PackArchive.File.Add(NameBlock archive, Set originalFilePath);
  //Extrae un fichero del archivo
  Real PackArchive.File.Extract(NameBlock archive, Text originalFilePath, Text destinationDirPath);
  //Determina si existe o no un fichero dentro del archivo
  Real PackArchive.File.Exists(NameBlock archive, Text originalFilePath)
  //Añade un directorio completo recursivamente
  Real PackArchive.Dir.Add(NameBlock archive, Text originalDirPath);
  //Extrae un directorio completo recursivamente
  Real PackArchive.Dir.Extract(NameBlock archive, Text originalDirPat, Text destinationDirPath);
  //Determina si existe o no un directorio dentro del archivo
  Real PackArchive.Dir.Exists(NameBlock archive, Text originalFilePath)
}}}

Lo ideal sería que estas funciones se crearan como una DLL aparte de TOL que se cargara dinámicamente y de forma local, para que fuera un paquete completamente opcional. Si no es posible esto, de momento se puede enlazar internamente con tol.dll y distribuirse el paquete como parte de la StdLib.
"	Víctor de Buen Remiro
923	Error loading the package GuiTools	Kernel		TOL Packages	defect	Víctor de Buen Remiro	closed	2010-06-21T08:55:39Z	2010-06-21T10:30:38Z	"Con la nueva versión de TOLBase descargable desde la web, no soy capaz de utilizar el paquete GuiTools.

No soy capaz de explicar qué es lo que pasa, pues no me entero de lo que se supone que ocurre con el asunto de los paquetes.

En el primer arranque tras la instalación se abrireron muchas ventanas negras (de la consola) y no sé qué se bajó ni sé qué hacer para eliminarlo y volver a reproducir ese comportamiento inicial, ni sé si eso tiene algo que ver con el problema o serviría para algo, pero sin duda me gustaría saber qué ocurre, qué está haciendo, dónde se están escribiendo cosas, etc. 

Ahora si arranco TOLBase y solicito {{{#Require GuiTools}}} encuentro:

{{{
ERROR: [1] [ZipArchive]Error while processing archive C:/Users/pgea/AppData/Roaming/tol/OIS/TolPackage/Client/GuiTools.oza: The central directory was not found in the archive (or you were trying to open not the last volume of a segmented archive).

ERROR: [2] El paquete corrupto GuiTools ha sido eliminado localmente y no serÃ¡ reinstalado de nuevo.
No ha sido cargado el paquete GuiTools
Lea informaciÃ³n acerca de los paquetes TOL en https://www.tol-project.org/wiki/TolPkg
}}}

Si insisto sobre ese mismo TolBase y vuelvo a ejecutar {{{#Require GuiTools}}} entonces encuentro:
{{{
[TolPackage::Client::@Repository::Connect] Trying to conect to repository http://packages.tol-project.org/OfficialTolArchiveNetwork/ ...
Downloading from ""http://packages.tol-project.org/OfficialTolArchiveNetwork/index.tol"" ...
Downloading from ""http://packages.tol-project.org/OfficialTolArchiveNetwork/index.csv"" ...
 ... Connected!
[TolPackage::Client::@Repository::Connect] Trying to conect to repository http://packages.tol-project.org/tol_pkg/ ...
Downloading from ""http://packages.tol-project.org/tol_pkg/index.tol"" ...

ERROR: [3] Símbolo binario < fuera de lugar.  en el carácter 1, línea 1:

Línea de código 
   1 > <!DOCTYPE HTML PUBLIC ""-//IETF//DTD HTML 2.0//EN"">
       ^
   2 : <html><head>
   3 : <title>404 Not Found</title>
   4 : </head><body>
   5 : <h1>Not Found</h1>
   6 : <p>The requested URL /tol_pkg/index.tol was not found on this server.</p>
   7 : </body></html>
   8 : 


[Call stack]
  [5] Real new::Connect (Real void)
  [4] NameBlock StdLib::TolPackage::Client::@Repository::Open (Text url, Real connect)
  [3] NameBlock StdLib::TolPackage::Client::@Repository::Get (Text url, Real connect)
  [2] Real StdLib::TolPackage::Client::@Repository::FindAndInstall (Text package.version, Real showError)
  [1] Real StdLib::TolPackage::Client::FindAndInstall (Text repository, Real showError)

ERROR: [4] No se ha encontrado elemento con nombre name

[Call stack]
  [5] Real new::Connect (Real void)
  [4] NameBlock StdLib::TolPackage::Client::@Repository::Open (Text url, Real connect)
  [3] NameBlock StdLib::TolPackage::Client::@Repository::Get (Text url, Real connect)
  [2] Real StdLib::TolPackage::Client::@Repository::FindAndInstall (Text package.version, Real showError)
  [1] Real StdLib::TolPackage::Client::FindAndInstall (Text repository, Real showError)

Warning: [1] La función :: ha fallado en : 
repInf::name

ERROR: [5] No se ha encontrado elemento con nombre type

[Call stack]
  [5] Real new::Connect (Real void)
  [4] NameBlock StdLib::TolPackage::Client::@Repository::Open (Text url, Real connect)
  [3] NameBlock StdLib::TolPackage::Client::@Repository::Get (Text url, Real connect)
  [2] Real StdLib::TolPackage::Client::@Repository::FindAndInstall (Text package.version, Real showError)
  [1] Real StdLib::TolPackage::Client::FindAndInstall (Text repository, Real showError)

Warning: [2] La función :: ha fallado en : 
repInf::type

ERROR: [6] No se ha encontrado elemento con nombre description

[Call stack]
  [5] Real new::Connect (Real void)
  [4] NameBlock StdLib::TolPackage::Client::@Repository::Open (Text url, Real connect)
  [3] NameBlock StdLib::TolPackage::Client::@Repository::Get (Text url, Real connect)
  [2] Real StdLib::TolPackage::Client::@Repository::FindAndInstall (Text package.version, Real showError)
  [1] Real StdLib::TolPackage::Client::FindAndInstall (Text repository, Real showError)

Warning: [3] La función :: ha fallado en : 
repInf::description
Downloading from ""http://packages.tol-project.org/tol_pkg/index.csv"" ...

ERROR: [7] No se puede indexar por nombre un conjunto vacï¿½o.

[Call stack]
  [5] Real new::Connect (Real void)
  [4] NameBlock StdLib::TolPackage::Client::@Repository::Open (Text url, Real connect)
  [3] NameBlock StdLib::TolPackage::Client::@Repository::Get (Text url, Real connect)
  [2] Real StdLib::TolPackage::Client::@Repository::FindAndInstall (Text package.version, Real showError)
  [1] Real StdLib::TolPackage::Client::FindAndInstall (Text repository, Real showError)

Warning: [4]  ... NOT Connected!

[TolPackage::Client::@Repository::DownloadPackage] 
wget -O""C:/Users/pgea/AppData/Roaming/tol/OIS/TolPackage/Client/GuiTools.oza"" ""http://packages.tol-project.org/tol_pkg/packages/GuiTools.oza""
[TolPackage::Client::@Repository::Install] Installed package GuiTools

ERROR: [8] [ZipArchive]Error while processing archive C:/Users/pgea/AppData/Roaming/tol/OIS/TolPackage/Client/GuiTools.oza: The central directory was not found in the archive (or you were trying to open not the last volume of a segmented archive).

ERROR: [9] El paquete desconocido GuiTools debe ser instalado manualmente.
No ha sido cargado el paquete GuiTools
Lea informaciÃ³n acerca de los paquetes TOL en https://www.tol-project.org/wiki/TolPkg
}}}


}}}"	Pedro Gea
924	Uso del operador de acceso por nombre ::	OOP	2.0.1	OOP Implementation	defect	Víctor de Buen Remiro	closed	2010-06-21T11:05:05Z	2010-10-19T14:27:37Z	"Buenos diás

El siguiente ejemplo hace que se caiga tol

{{{

NameBlock a = [[
  Set fun(Real void) { [[ Real b = 1 ]] }
]];
Real a::fun(?)::b;

}}}

Sin embargo con este otro no nos sucede

{{{
NameBlock a = [[
  Set fun(Real void) { [[ Real b = 1 ]] }
]];
Real a::fun(?)[""b""];

}}}

Un cordial saludo"	Iván Robles
925	wrong package for trunk release at 06/16/2010	Various	2.0.1	Mantainance	defect	Víctor de Buen Remiro	closed	2010-06-22T06:25:23Z	2010-06-24T06:45:44Z	"Tolbase release corresponding to
{{{
v2.0.1 b.0.39.alpha 2010-06-17 08:45:58 i686-win
}}}

seems to include a wrong copy of lib/toltk/tolinspe.tcl. This file should cointains changeset r2120 which is the fix #896"	Jorge
926	Lectura o escritura del fichero BBM	BSR	2.0.1		doubt	Víctor de Buen Remiro	closed	2010-06-22T08:10:28Z	2010-06-22T15:45:45Z	"Buenos días,

  este ticket es para pediros ayuda con unos errores que me estan apareciendo ultimamente al estimar en BSR. No soy capaz de aislarlo y no encuentro un patron en el que esto suceda. Sobre todo escribo el ticket para saber si alguien le ha ocurrido, o sabe lo que puede estar pasando.

Lo que me pasa es que ultimamente al estimar un modelo con BSR, la primera vez que lo estimo me da los siguientes errores.

{{{
ERROR: [1] No se pudo abrir (modo de insercion) el fichero BBM C:/Users/irobles/AppData/Roaming/tol/tmp/MMS/BSR/DRe_S_Loc_RNE_Fix_Fix_Dia__1.0/y2010m06d22h10i31s26.00/master.bsr.mcmc.bbm

ERROR: [2] [BysMcmc E0010] [@Cycler::generate] Cannot continue with simulation due to there are 1 non controlled errors
El sistema BysMcmc intentará continuar.

}}}

No me da siempre que genero un nuevo modelo, solo con algunos, y la segunda vez que lo estimo me suele funcionar. Si no es a la segunda, a la 3 vez o la 4 que le digo que lo estime me lo consigue estimar.

Voy a adjuntar el modelo, pero seguramente cuando lo probeis os vaya, pues lo he probado con el ordenador de otra persona y va.

Me han comentado que este error sucedia la primera vez que se estimaba un modelo en un ordenador nuevo, pero solo esa. A mi me esta pasando mas de esa vez.

Se me ocurre que puede ser algo de que se intenta leer el archivo bbm antes de que este escrito, pero la verdad es que no tengo ni idea.

Pues eso, si a alguien se le ocurre que puede estar pasando, que lo comente, please
"	Iván Robles
927	file transfer API	Various	2.0.1	TOL Packages	task	Jorge	closed	2010-06-22T09:32:50Z	2011-05-26T10:40:24Z	Implement a TOL API in order to perform file transfer operations. Consider an implementation based on http://personal1.iddeo.es/andresgarci/tclcurl/english/	Jorge
928	WinSystem en Windows 7	Various	2.0.1		defect	Víctor de Buen Remiro	closed	2010-06-22T11:03:46Z	2010-06-22T11:34:15Z	"Buenos días,

  en un sistema operativo Windows 7 cuando ejecutamos la siguiente orden, para que no nos muestre la pantalla de MSDOS, nos sigue apareciendo la pantalla de MSDOS

{{{
  WinSystem(""Sleep 1"",0,1);
}}}"	Iván Robles
929	error in Submenu options	Interface	2.0.1	TOLBase Revitalization	defect	Jorge	closed	2010-06-24T21:43:36Z	2010-06-29T20:22:45Z	The file attached does not behave as expected. When posting the contextual menu for instance ej1, it should show only one Submenu.	Jorge
930	order of options in contextual menu	Interface	2.0.1	TOLBase Revitalization	task	Jorge	closed	2010-06-24T22:04:38Z	2012-03-26T16:30:12Z	Implement a way of sorting the options shown within the contextual menu.	Jorge
931	Lista de paquetes cargados en el inspector de objetos.	Interface		TOL Packages	enhancement	Jorge	closed	2010-06-28T13:30:18Z	2010-07-03T20:58:15Z	"Debería haber en el inspector de objetos de TolBase una forma directa de acceder a la lista de paquetes cargados para poder explorarla, ya que estos con constan en ningún archivo incluido.

Después de ""Gramáticas"" y antes de ""Archivos Incluidos"" debería haber una rama llamada ""Paquetes"""	Víctor de Buen Remiro
932	Comando Copy	Kernel	2.0.1		defect	Víctor de Buen Remiro	closed	2010-06-29T14:27:29Z	2010-06-29T14:45:56Z	"Buenas,

  cuando hago una copia de un conjunto y modifico el copiado tambien se modifica el original

{{{
 Set a = [[""Antes""]];
 Set b = Copy(a);
 Text b[1]:=""Despues"";

}}} 

Despues a contiene ""Despues"""	Iván Robles
934	Hierarchical modularity	OOP		OOP Implementation	doubt	Víctor de Buen Remiro	closed	2010-07-01T14:18:56Z	2011-01-27T16:50:30Z	"Al intentar crear paquetes y usar una programación modular me encuentro ante una situación que no funciona y no estoy seguro si debería funcionar o no.

La situación surge cuando un submódulo (N2) intenta usar alguna función (F1) definida en su mismo ámbito:

{{{
NameBlock N0A = [[
  Real F1(Real void) { 1 };
  NameBlock N2 = [[
    Real F2(Real void) { F1(?) }
  ]]
]];

// F2 no es capaz de localizar a F1
Real N0A::N2::F2(?);
}}}

Entiendo que este comportamiento puede ser un poco comprometido, pues el comportamiento de los NameBlock's (como espacios de nombres) es el mismo que el de las instancias y de permitirlo podría ocurrir que una instancia de una clase pudiera acceder a miembros de otra instancia que la contiene.

Lo único que me ocurre es crear todo a nivel de submódulos, pero eso no es cómodo en las circunstancias que me encuentro, pero funciona:

{{{
NameBlock N0B = [[
  NameBlock N1 = [[
    Real F1(Real void) { 1 }
  ]];
  NameBlock N2 = [[
    NameBlock N1;
    Real F2(Real void) { N1::F1(?) }
  ]]
]];

// F2 ya es capaz de localizar a F1
Real N0B::N2::F2(?);
}}}

¿Hay alguna forma natural de comunicarle al módulo N2 el acceso a todos los elementos de N0?

También se me ocurre crear el NameBlock como un singletón (ya que la clase se define en N0 y tiene acceso a sus elementos) aunque parece un poco retorcido:

{{{
NameBlock N0C = [[
  Real F1(Real void) { 1 };
  Class @N2 {
    Real F2(Real void) { F1(?) }
  };
  @N2 N2
]];

// F2 es capaz de localizar a F0
Real N0C::N2::F2(?);
}}}

¿No podría declararse de alguna manera que N2 tenga la visibilidad del espacio donde se define?
Quizá usando una palabra clave que se anteponga a la declaración  como ocurre con ""Static"":
{{{
NameBlock N0A = [[
  Real F1(Real void) { 1 };
  Friend NameBlock N2 = [[
    Real F2(Real void) { F1(?) }
  ]]
]];
}}}


"	Pedro Gea
935	"error sobre ""non declarative actions"" en la carga de tolbase"	Kernel		Mantainance	doubt	Víctor de Buen Remiro	closed	2010-07-01T16:13:03Z	2011-02-07T18:15:46Z	"En la carga de tolbase, usando la última versión -- 2.0.1 (b.0.40 alpha 2010-06-25 14:19:05 i686win) -- aparece el siguiente error 

{{{
ERROR: [1] OIS: Sorry, non declarative actions are forbidden 
while Ois.UseModule is running. Cannot use DBTable
}}}

Por favor, se puede explicar la naturaleza (que son ""non declarative actions"") de tal error? Tiene alguna consecuencia en el uso posterior de tolbase, es decir, que no pueda usar Ois.UseModule conlleva que las variables afectadas no son definidas?
"	Jorge Conde
936	Error working with homonymous classes in different modules	OOP			defect	Víctor de Buen Remiro	closed	2010-07-02T05:28:32Z	2010-07-02T09:01:52Z	"Al trabajar con clases homónimas en distintos módulos encontramos el siguiente error:
{{{
NameBlock M1 = [[
  Class @Test {
    Real value
  }
]];

M1::@Test t1 = [[ Real value = 1 ]];

NameBlock M2 = [[
  Class @Test {
    Real value2
  };
  Real fun(M1::@Test t) {
    t::value
  }
]];

Real M2::fun(t1);
//> ERROR: [] (t1) no es un NameBlock instancia de @Test
}}}

Parece que el módulo M2 entiende que el argumento {{{M1::@Test}}} corresponde a su propia clase @Test y no la del módulo M1 como se indica."	Pedro Gea
937	Error al usar un nombre de Struct como campo de otro Struct	Kernel		Mantainance	defect	Víctor de Buen Remiro	closed	2010-07-02T08:50:15Z	2010-07-02T08:53:51Z	"Se ha detectado que en ciertas ocasiones, difíciles de aislar porque no ocurre siempre, TOL devuelve un error al usar un nombre de Struct como campo de otro Struct

{{{
  Struct str1
  {
    Real a,
    Real b
  };
  Struct str2
  {
    Real str1,
    Real b
  };
}}}
"	Víctor de Buen Remiro
938	explore Set and NameBlock variables	Interface	2.0.1	TOLBase Revitalization	enhancement	Jorge	closed	2010-07-03T21:03:12Z	2012-02-14T12:55:32Z	"The variables shown at nodes Set and NameBlock can not be explored their contents. Implement this capability in the same way as it is done within node ""Package""."	Jorge
940	AIA returns series with ratio applied	Kernel	2.0.1		defect	Víctor de Buen Remiro	closed	2010-07-13T14:54:33Z	2010-07-27T08:07:01Z	"AIA returns series with ratio applied instead pulses when you ask it to find pulses.
The !InputDef's description is correct (i.e. {{{@InputDef(0.8000483238833983, RationExpand(y2009m11d14,C,PulseOut)))}}} but the compiled serie inside is the {{{difEq(Ratio,Pulse)}}}.

¿Is this correct?

i.e. code:
{{{
Set AIA(
  SubSer(Gaussian(0,0.5),y2007,y2010),
  Ration (1-0.8056076456602815*B^7)/(1-0.773530260494357*B+0.02932819395975552*B^2-B^7+0.773530260494357*B^8-0.02932819395975552*B^9),
  SetOfRation(PulseOut),
  4,
  20
);
}}}

Thank you."	cperales
941	Redondeo de los datos de Oracle a cero	Database	2.0.1	Mantainance	defect	Jorge	closed	2010-07-20T08:24:35Z	2010-10-04T21:55:17Z	"Buenos días, al ejecutar la siguiente orden en Tol con una BBDD Oracle, nos devuelve cero, nos redondea el numero.

{{{
DBTable(""select cast(0.04 as decimal(20,10)) from dual"");
DBTable(""select cast(0.04 as number(20,10)) from dual"");

}}}

La version del driver usado es:

Oracle en OraClient11g_home1 11.01.00.06

"	Iván Robles
942	Check if we are running within Tk	Kernel		Mantainance	task	Jorge	closed	2010-07-21T06:18:13Z	2011-05-16T07:48:22Z	In order to separate dependencies between Tcl/Tk and TOL it is required a function for checking if we are running inside Tk.	Jorge
943	order of entries in MenuManager	GuiTools	head	TOLBase Revitalization	enhancement	Jorge	closed	2010-07-21T13:18:32Z	2013-02-15T08:35:07Z	It is required a way to specify a relative order for the entries in MenuManager.	Jorge
944	InstallFromUrl fails with versioned package	ASCII data files	head	TOL Packages	defect	Víctor de Buen Remiro	closed	2010-07-22T08:34:34Z	2010-10-19T13:59:12Z	"If we try to install a package with a version number in the name using InstallFromUrl it fails, for instance:

{{{
Real TolPackage::Client::InstallFromUrl( ""file:///home/jsperez/.tol/TolPackage/Server/GuiToolsRepository/Linux-x86_32/GuiTools.2.2.zip"");
}}}

will output 
{{{
RACE [InstallFromUrl] url=file:///home/jsperez/.tol/TolPackage/Server/GuiToolsRepository/Linux-x86_32/GuiTools.2.2.zip
TRACE [InstallFromUrl] path=file:///home/jsperez/.tol/TolPackage/Server/GuiToolsRepository/Linux-x86_32
TRACE [InstallFromUrl] package=GuiTools

ERROR: [2] [ZipArchive] Error while extracting from archive /home/jsperez/.tol/TolPackage/Client/GuiTools.zip file * to /home/jsperez/.tol/TolPackage/Client/GuiTools: Permission denied.

[Call stack]
  [4] Real s::new::DirExtract (Text originalDirPath, Text destinationDirPath)
  [3] Real StdLib::PackArchive::UnpackFull (Text engine, Text originalDirPath)
  [2] Real StdLib::TolPackage::Client::@Repository::DownloadPackageFromUrl (Text url, Text packageName)
  [1] Real StdLib::TolPackage::Client::InstallFromUrl (Text url)
}}}

from that we can see that it is considered as GuiTools with out version number and not as GuiTools.2.2

If instead we invoke 

{{{
Real TolPackage::Client::@Repository::DownloadPackageFromUrl( ""file:///home/jsperez/.tol/TolPackage/Server/GuiToolsRepository/Linux-x86_32/"", ""GuiTools.2.2"");
}}}

then it works as expected."	Jorge
945	Dynamic icon for instance depending on the instance state	Interface	2.0.1	TOL Packages	enhancement	Jorge	closed	2010-07-23T17:28:12Z	2010-07-27T10:24:28Z	"In order to improve the flexibility when specifying icons for instances of the classes it is require that besides specifying a name of an image being able to provide a code that could determine the name of the image depending on the state of the instance. A possible prototype could be:

{{{
#!c
Text GetImageForIcon( NameBlock instance );
}}}

The prototype for {{{ImageManager::setIconForClass}}} should be now

{{{
Real ImageManager::setIconForClass( Text className, Anything imageName )
}}}

where imageName could be of type Text or Code."	Jorge
946	define packages as instance of a class	Kernel	2.0.1	TOL Packages	task	Víctor de Buen Remiro	closed	2010-07-26T15:43:17Z	2010-07-27T06:56:13Z	Consider the definition of Tol packages as instances of classes derived from a common base class which enforce the package requirements.	Jorge
947	Investigar la posibilidad de crear miembros locales de instancia aparte de los heredados.	Kernel		OOP Implementation	enhancement	Víctor de Buen Remiro	closed	2010-07-27T06:48:59Z	2010-07-27T17:38:20Z	"A veces puede ser interesante que una instancia cree sus propios métodos además de los de las clases a las que pertenece. 

En general se puede resolver creando una clase heredada que tenga esos métodos y de la que se cree la instancia pero si se sabe que sólo va a haber una instancia es mucho más cómodo hacerlo directamente en ésta y no se saca ninguna ventaja del mecanismo de clases.

Habría que investigar si es posible hacer este cambio de forma qe no afecte al rendimiento en el resto de ocasiones.
"	Víctor de Buen Remiro
948	Mecanismo sintáctico de restricción de paquetes	Kernel		TOL Packages	defect	Víctor de Buen Remiro	closed	2010-07-27T06:53:04Z	2010-07-29T14:49:52Z	"Los paquetes en TOL requieren que el NameBlock principal tenga una serie de miembros y métodos pero no hay actualmente ningún mecanismo que lo asegure antes de su publicación.

En función del resultado del ticket #947 hay que decidir si hacer los paquetes instancias de una clase base o de herencias ad-hoc o dejarlo como está, y que sea el TolPackage::Builder el que compruebe que está todo como debe ser."	Víctor de Buen Remiro
949	Migración de repositorios a bases de datos	Kernel		TOL Packages	task	Víctor de Buen Remiro	closed	2010-07-27T07:19:44Z	2010-10-19T13:57:40Z	"El actual sistema de repositorios de paquetes basados en directorios remotos con fichero de índice en ASCII no facilita la actualización, modificación, alta y baja de paquetes sueltos y no garantiza la integridad referencial, especialmente en caso de accesos simultáneos.

Para solucionar este tipo de problemas la forma más natural es utilizar una base de datos pues de seguir evolucionando el sistema actual casi habría que reinventarlas.

El nuevo sistema de repositorios deberá convivir un tiempo con el actual por lo que lo mejor será crearlo como un nuevo {{{ NameBlock TolPackagesDb }}} que replique los comportamientos de la parte cliente de forma que los cambios sean mínimos para los usuarios, pero que aporte una API del lado servidor más fácil de usar y mucho más robusta que incluiría al menos estas características:

{{{
//Crea el .oza + los recursos + el register y lo comprime en un zip
Real TolPackageDb::Server::CreateLocalPackage(Text sourcePath, Text destinPath);

Class TolPackageDb::Server::@Repository
{
  @DBConnection _.connection;

  //Extrae el register del .zip y ejecuta las queries de inserción
  Real Upload(Text packagePath);

  //Extrae el register del .zip y ejecuta las queries de borrado
  //Si no se pasa número de versión se borra todo.
  Real Remove(Text package);

  Static New(parámetros de conexión)

};
}}}

En principio no habría necesidad de eliminar la posibilidad de que un usuario externo siguiera creando y manteniendo sus propios repositorios basados en directorios y ficheros ASCII pues si estos no son muy grandes y no hay muchos desarrolladores es un sistema más que suficiente. Ambos tipos de repositorios pueden convivir sin problemas pero lo que no se va a hacer es tener replicado para siempre el repositorio oficial de tol-project, sino que pasado un corto periodo de adaptación se quedará únicamente el de base de datos.

Por motivos de seguridad la parte cliente no debe tener acceso directo a la base de datos del repositorio sino que se debe hacer de forma indirecta usando algún script tipo PHP que cree las consultas a partir de una URL con el formato adecuado.

Además de la información auxiliar del paquete (fecha, descripción, versión, etc.) la tabla principal deberá contener en cada registro el paquete propiamente dicho, es decir, el fichero .zip incrustado en un campo blob.


"	Víctor de Buen Remiro
950	Ois.UseCache	OIS	2.0.1	Mantainance	enhancement	Víctor de Buen Remiro	closed	2010-07-27T07:37:14Z	2011-02-09T09:40:10Z	"Intenté hacer una función para no usar {{{Ois.UseModule}}} cuando lo que se pretende es generar como caché el contenido final de un archivo en el que se efectúan acciones no declarativas

{{{ 
// Variable global
Real Alg.SPFRes.LoadFromOza = 1;
 
//////////////////////////////////////////////////////////////////////////////
Set Ois.UseCache(Text fileTOL, Text fileOza)
//////////////////////////////////////////////////////////////////////////////
{
  Set If( And( Alg.SPFRes.LoadFromOza, FileExist(fileOza) ),
    Set Ois.Load(fullFileOza)[1],
    {
      Real Ois.Store(Include(fileTOL), fileOza);
      Set Ois.Load(fileOza)[1]
    }
  )
};
}}}
 
El problema es que al cargar desde el oza las funciones y objetos no son globales como si se hubiese cargado con {{{Include}}} u {{{Ois.UseModule}}}
 
"	Javier Portugal
951	No se satisfacen restricciones de dominio  con parámetros fijos en BSR.	BSR	head		defect	Víctor de Buen Remiro	closed	2010-07-27T10:52:22Z	2012-02-08T19:08:16Z	"Expongo un modelo sencillo que consiste en un output y dos inputs. 

El modelo posee una restricción de dominio que obliga al parámetro lineal del segundo input a ser < 0. Hasta aquí todo bien, ese parámetro estimado resulta ser negativo. 

Sin embargo cuando se pide que el parámetro del primer input quede fijo a un valor dado entonces el parámetro del segundo input deja de satisfacer la restricción que se le pide. 

Dentro del ejemplo que adjunto, los parámetros son: 

{{{
OutputD__ExpTermD1__Deg0.Coef;
OutputD__ExpTermD2__Deg0.Coef;
}}}

La restricción es la siguiente:

{{{
-10<=+1*OutputD__ExpTermD2__Deg0.Coef;
+0>=+1*OutputD__ExpTermD2__Deg0.Coef;
}}}

El parámetro que se fija es {{{ OutputD__ExpTermD1__Deg0.Coef }}} a través de {{{ BysMcmc::@McmcPartialHandler }}}

Este es el código que uso para realizar la prueba:

{{{
Text ascii = ""C:/y2010m07d27h12i35s14.00/master.bsr"";
Text moduleType = ""master"";

Set parsed = BSR.Parse(ascii,moduleType);
Set fixedNames  = [[ ""OutputD__ExpTermD1__Deg0.Coef"" ]];

VMatrix  fixedValues = Mat2VMat(Col(0.12));

NameBlock _.hdPartial  = BysMcmc::@McmcPartialHandler::New(fixedNames, fixedValues, Set Empty, BysMcmc::@McmcReloader::Null(?)); 
NameBlock _.bsr.config   = BysMcmc::@Config::Default(?);
NameBlock _.bsr.notifier = BysMcmc::@Notifier::Null(?);

BysMcmc::@Cycler cycler = BysMcmc::Bsr::Gibbs::GetCyclerFromParsed(
parsed, 
_.hdPartial, 
_.bsr.config, 
_.bsr.notifier
);

BysMcmc::@Estimation estim := BysMcmc::@Estimation::New(cycler);
Real estim::Run(?);
}}}

  "	mafernandez
952	Mensaje de error del interfaz	Interface	head	Mantainance	defect	Jorge	closed	2010-07-27T17:00:49Z	2010-07-27T21:33:49Z	"Al darle con el botón izquierdo del ratón a cualquier archivo incluido en el inspector de objetos me sale este mensaje
{{{
Warning: [1] La función :: ha fallado en : 
GuiTools::ImageManager::getImageResourceId(imageName)

ERROR: [1] __getIconForInstance__ no se pudo crear.
}}}
que indica que se está utilizando el paquete GuiTools sin haber sido requerido previamente.

El interfaz no debería necesitar de un paquete opcional para mostrar el contenido de un archivo.

Debería comprobar si el paquete está cargado y si no lo está simplemente no usarlo y no dar las capacidades que dependan de ello.

Si eso no es posible entonces es que GuiTools no debe ser un paquete externo sino que debe estar incluido en la StdLib
"	Víctor de Buen Remiro
953	tcl bug in build 42	Interface	head	Mantainance	defect	Jorge	closed	2010-07-29T16:43:02Z	2010-07-29T17:22:12Z	"If you inspect NameBlock grammar you will get the following tcl error:

can't read ""iterSet"": no such variable
can't read ""iterSet"": no such variable
    while executing
""set objRef $iterSet"""	Jorge
954	"GuiTools: Instance argument has the name ""target"""	Interface			defect	Jorge	closed	2010-08-02T06:47:07Z	2010-08-03T11:55:48Z	"La instancia que el MenuManager traslada al método ""InvokeCmd"" para el caso de una sola instancia tiene siempre el nombre ""target"", sin embargo conocer ese nombre es importante de cara a los nombres y títulos de los mensajes, gráficas o tablas.

Adjunto un ejemplo donde se puede comprobar esto."	Pedro Gea
956	Nueva función de carga dinámica de librerías LoadDynLib	Kernel	2.0.1	TOL Extensions	task	Víctor de Buen Remiro	closed	2010-08-02T09:50:08Z	2010-11-29T08:56:48Z	"Es necesario una función que permita la carga de objetos y funciones creados en C++ para implementar tareas específicas que resulten demasiado lentas en TOL y no sean lo suficientemente generalizables como para formar parte de las utilidades globales del núcleo de TOL.

En la página LoadDynLib se explicará detalladamente la forma de creación y uso de este tipo de librerías.

"	Víctor de Buen Remiro
957	librería libtool	Kernel	2.0.1	TOL Extensions	task	Víctor de Buen Remiro	closed	2010-08-02T09:53:23Z	2010-09-03T16:09:54Z	En relación con el ticket #956 en necesario incluir en tol la librería libtool que consiste en un API de carga de dll portable ue ya ha sido usado en gbla	Víctor de Buen Remiro
958	Macros para la creación de métodos y miembros built-in locales	ASCII data files			defect	Víctor de Buen Remiro	closed	2010-08-02T10:40:25Z	2010-09-03T16:09:28Z	"En relación con el ticket #956, y tal como se puede ver en la [wiki:LoadDynLib?version=3#CreacióndelibreríasCbuilt-inTOL documentación] es necesario modificar las macros {{{DefExtOpr}}} y {{{DefIntOpr}}} para la creación de métodos locales y crear una nueva {{{DeclareLocalMember}}} para los miembros locales.

"	Víctor de Buen Remiro
959	Error in methods returning instances from other modules	OOP		OOP Implementation	defect	Víctor de Buen Remiro	closed	2010-08-03T07:33:32Z	2011-02-24T16:39:26Z	"Se encuentra un error inesperado al crear clases con métodos que devuelven instancias de clases pertenecientes a otro módulo.
Concretamente el error ocurre cuando existe más de un método que devuelve el mismo tipo de instancias.

El error indica que el método se está redeclarando, por lo que probablemente es un error en la identificación del método.

Ejemplo:
{{{
NameBlock ModuloA = [[
  Class @ClaseA {
    Real valueA
  }
]];

NameBlock ModuloB = [[
  Class @ClaseB {
    Real valueB;
    ModuloA::@ClaseA Fun1(Real void) {
      ModuloA::@ClaseA instA = [[ 
        Real valueA = valueB
      ]]
    };
    ModuloA::@ClaseA Fun2(Real void) {
      ModuloA::@ClaseA instA = [[ 
        Real valueA = valueB * 2
      ]]
    }
  }
]];
}}}

Error:
{{{
ERROR: [] El miembro ModuloA::@ClaseA Fun2(Real void){ModuloA::@ClaseA instA=SetOfAnything[[Real valueA=valueB*2]]} ya está definido por la declaración previa 
ModuloA::@ClaseA Fun1(Real void){ModuloA::@ClaseA instA=SetOfAnything[[Real valueA=valueB]]}
...
}}}"	Pedro Gea
960	Inconsistent behaviour of functions MatMin, MatMax, VMatMin, VMatMax with matrices containing unknown values	Kernel	2.0.1	Mantainance	defect	Víctor de Buen Remiro	closed	2010-08-03T16:20:28Z	2011-03-16T16:11:08Z	"When dealing with matrices containing unknown values, the behaviour of the functions MatMin, MatMax, VMatMin, VMatMax is inconsistent.

For

{{{
Matrix a = Col( 1, ?, 2 );
Real a.min = MatMin(a);
Real a.max = MatMax(a);
VMatrix va = Mat2VMat(a);
Real va.min = VMatMin(va);
Real va.max = VMatMax(va);
}}}

we obtain real numbers, while for

{{{
Matrix b = Col( ?, 1, 2 );
Real b.min = MatMin(b);
Real b.max = MatMax(b);
VMatrix vb = Mat2VMat(b);
Real vb.min = VMatMin(vb);
Real vb.max = VMatMax(vb);
}}}

we obtain unknowns."	lcereceda
961	BDTFile não funciona	ASCII data files		Mantainance	defect	Víctor de Buen Remiro	closed	2010-08-03T22:57:51Z	2010-09-03T15:43:13Z	"Estou com o seguinte problema, tento gravar um Set de 700.000 linhas (um exemplo pode ser gerado pelo código abaixo):
{{{
Set segmentos = [[ [[""co_cliente"";""id_cluster"";""dt_inicio"";""dt_fim""]] ]]<<
   For(1, 700000, Set(Real x){
     [[IntText(x), IntText(x), IntText(x), IntText(x)]]
   })
}}}
Se eu tento gravar usando BDTFile, um set com a mesma quantidade de linhas me é retornado, mas nenhum arquivo é gravado.

Se eu tento com o código abaixo, após um tempo o tol cai.
{{{
Text tempFile = ""C:/TempFileCluster.txt"";
Text WriteFile(tempFile, ""co_cliente;id_cluster;dt_inicio;dt_fim""+NL);
Set EvalSet (Segmentos.T, Text (Set line){
  AppendFile(tempFile, TxtListItem(line, "";"")+NL)
});
}}}
"	efujimoto
962	eliminar dependencias de GSL en los .h	Kernel	head	TOL Extensions	task	Jorge	closed	2010-08-05T11:04:48Z	2012-02-14T11:45:06Z	"Para desarrollar extensiones binarias de TOL no hacen falta los headers de gsl pero algunos .h de tol que hacen referencia a .h de gsl:

{{{
tol_bdat.h:#include <gsl/gsl_math.h>
tol_bprdist.h:#include <gsl/gsl_nan.h>
tol_bprdist.h:#include <gsl/gsl_rng.h>
tol_brealfun.h:#include <gsl/gsl_vector.h>
tol_brealfun.h:#include <gsl/gsl_matrix.h>
tol_gslmat.h:#include <gsl/gsl_matrix.h>
tol_ieee.h:#include <gsl/gsl_math.h>
}}}

esto implica que el sdk debe incluir los headers de gsl.

Vamos a eliminar esa dependencia de forma que no haya que distribuir la gsl en el sdk de tol.


"	Jorge
964	ReadRange excel function error	Excel API	2.0.1	TOL Packages	defect	Jorge	closed	2010-08-17T09:36:39Z	2010-08-18T12:10:26Z	"ReadRange function return an error if data in selected range has a DIV!0 value.

{{{
Set Tcl_Eval(""source [file join ""+PathSADD+""/common/gui/tcl/excel.tcl]"");

Text path = ""C:\\"";
Text file = ""Div0.xls"";
Text fileXls = path+file;
Text XLSOpenExcel(fileXls, 0); 
Text XLSSelectWorksheetIndex(1);    

Set sOk = XLSReadRange(""A1"", ""B1"");
Set sError = XLSReadRange(""A2"", ""B2"");
}}}

"	jgarcia
965	implement ReadRange in C++	Excel API	2.0.1	Mantainance	defect	Jorge	closed	2010-08-18T12:06:16Z	2010-08-18T12:32:02Z	Based on {{{BasicExcel}}}, implement {{{Excel.ReadRange}}}. This API should replace the one based on Tcl.	Jorge
966	cell reference in Excel.ReadCell	Excel API	2.0.1	Mantainance	task	Jorge	closed	2010-08-18T12:22:27Z	2010-08-18T13:10:15Z	"{{{Excel.ReadCell}}} should reference cells the same way as {{{Excel.ReadRange}}}:

{{{
Text : A1
Set : [[ 1, 1 ]]
}}}"	Jorge
967	Mensaje impertinente de tablas con texto en TOLBase	Interface		TOLBase Revitalization	defect	Jorge	closed	2010-08-19T11:47:27Z	2010-08-26T13:33:26Z	"A veces TOLBAse lanza un mensaje impertinente de tablas con texto en TOLBase que puede repetirse infinidad de veces hasta el punto de tener que tirar la aplicación. 

{{{
  Algunas celdas no son números reales.
  El tipo sera cambiado a texto 
}}}

El mensaje no aporta nada y molesta mucho así que debería desaparecer.

En linux pasa algo más raro y grave aún pues si salen estos mensajes entonces luego no se ve ninguna celda rellenada en la tabla"	Víctor de Buen Remiro
968	move MenuManager.tcl to GuiTools	Interface	2.0.1	TOLBase Revitalization	task	Jorge	closed	2010-08-20T20:17:32Z	2010-08-26T14:22:39Z	{{{MenuManager.tcl}}} should be part of {{{GuiTools}}}.	Jorge
969	strange error in windows	Kernel	head	Mantainance	defect	Víctor de Buen Remiro	closed	2010-09-01T09:35:39Z	2011-01-14T11:26:37Z	"We are facing a strange error in TOL for windows:

 - tol crash in a random way 
 - compiled in windows and only release
 - must of the times creating or loading stdlib, but could appear in other parts
 - valgrind (linux) & purify (windows) emmitt messages about use of uninitialized variables in zlib used from ZipArchive.
 - purify version used is limited"	Jorge
970	cygwin/mingw support	Kernel	head	Mantainance	task	Jorge	closed	2010-09-01T09:39:16Z	2012-02-13T18:02:23Z	Compile TOL for Cygwin or MinGW. Related to ticket #969, we do not discard a bug in VC++ compiler and we expect that bug be solved if TOL is compiled with gcc on Windows.	Jorge
971	Función SetMat	Various	2.0.1		defect	Víctor de Buen Remiro	closed	2010-09-03T08:35:14Z	2010-09-03T09:35:54Z	"Buenos días,

  al intentar hacer una matriz con el siguiente código da error:

{{{
  Matrix A1 =SetMat([[ [[ 1,1,-1]] ]]);


ERROR: [1] 1 no es un objeto valido para el tipo Matrix.
}}}

Si no la asignamos a un objeto da un warning:

{{{

SetMat([[ [[ 1,1,-1]] ]]);

Warning: [1] El símbolo de función  -  es ambiguo.
Real  - (Real x)
; ha sido elegido pero había estas otras 6 opciones:
  Ratio  - (Ratio r);
  Complex  - (Complex x);
  VMatrix  - (VMatrix mat);
  Polyn  - (Polyn p);
  Matrix  - (Matrix mat);
  Serie  - (Serie S);

}}}

Si ejecutamos el siguiente código (poniendo Real delante de los numeros) ya no da error:

{{{

  Matrix A2 =SetMat([[ [[Real 1,Real 1,Real (-1)]] ]]);

}}}

Si se pudiera evitar tipar todos los numeros genial

"	Iván Robles
972	[Package BysMcmc] Método de condicionamiento genérico	BSR	2.0.1	BSR extensions	defect	Víctor de Buen Remiro	closed	2010-09-16T18:01:44Z	2010-09-16T18:06:04Z	"El método de condicionamiento usado en BSR ({{{@MasterSamplerBasic}}}) está programado de una forma bastante ad-hoc, en parte por eficiencia y en parte porque no se pensó en su día que debería haber una forma genérica de hacerlo.

En BSR, que en realidad sólo es un caso de modelo de {{{BysMcmc}}}, se usan las implementaciones especializadas del método filter de {{{@BlockSampler}}}, que en un modelo en el que no hay un bloque lineal o no sea el dominante puede no tener sentido. La clase {{{@MasterSamplerBasic}}} es la que realmente lleva el peso del condicionamiento de una forma no generalizable."	Víctor de Buen Remiro
974	group argument is redundant	GuiTools	head	TOL Packages	defect	Jorge	closed	2010-09-19T00:16:33Z	2010-09-20T08:29:00Z	"The argument {{{group}}} in the functions 

{{{
proc ::MenuManager::checkEntryState { name objSelection group }
proc ::MenuManager::invokeCommand { name objSelection group }
}}}

is redundant because the {{{group}}} value is implied from the {{{name}}} value."	Jorge
975	Error in DistPoissonInv	Math	2.0.1	Numerical methods	defect	Víctor de Buen Remiro	closed	2010-09-27T08:33:58Z	2011-01-13T20:21:59Z	"Hi,

I think the function DistPoissonInv does not work right.
If X is a variable following a Poisson distribution with lambda parameter equal to, for example, 1.1, we have that:

{{{
Real lambda = 1.1;
Real prob0 = DistPoisson(0, lambda); // prob0 = 0.332871
Real prob1 = DistPoisson(1, lambda); // prob1 = 0.699030
Real prob2 = DistPoisson(2, lambda); // prob2 = 0.900416
}}}

where probZ is the probability of X = z.
Then, using the inverse probability distribution:

{{{
Real pois0.1 = DistPoissonInv(0.1, lambda); // prob0.1 = 0
Real pois0.4 = DistPoissonInv(0.4, lambda); // prob0.4 = 0 ¡¡¡!!!
Real pois0.8 = DistPoissonInv(0.8, lambda); // prob0.8 = 1 ¡¡¡!!!
}}}

Note that pois0.1 takes the right value, but pois0.4 and pois0.8 should be, respectively, 1 and 2.

In fact, when simulating a Poisson distribution by the inverse transform sample method, the average of the simulated sample is not equal to the lambda parameter used:

{{{
// Real lambda = 1.1;
Set poisson_sim = For(1, 1000, Real(Real k){
  Real rnd = Rand(0, 1);
  DistPoissonInv(rnd, lambda)
});
Real poisson_avg = SetAvr(poisson_sim);
}}}

In this case, poisson_avg is approximately equal to 0.72, when it should be equal to 1.1 (lambda)

Regards
"	imendez
976	incluir paquete uri en tclsh	TolServer		Mantainance	defect	Jorge	closed	2010-09-29T10:07:06Z	2010-09-29T10:18:54Z	"El paquete uri de tcl debe incluirse en tclsh pues de lo contrario falla el #Require

{{{
12:00:39 TOL> #Require BysMcmc
[TolPackage::Client::@Repository::Connect] Trying to connect to repository http://packages.tol-project.org/OfficialTolArchiveNetwork/ ...
Downloading from ""http://packages.tol-project.org/OfficialTolArchiveNetwork/index.tol"" ...
<W>
Warning: [1] can't find package uri
</W>
<W>
Warning: [2] [TolPackage::Client::@Repository::Connect] Cannot connect to repository http://packages.tol-project.org/OfficialTolArchiveNetwork/
</W>
<E>
ERROR: [1] Unknown package  must be manually installed.</E>
NOT loaded package 
}}}"	Jorge
977	error en #Require con TolPackages vacio	Kernel	head	TOL Packages	defect	Víctor de Buen Remiro	closed	2010-09-29T10:37:09Z	2010-09-29T15:06:11Z	"Al hacer un {{{#Require}}}, si {{{TolPackage}}} esta vacío se produce el siguiente error:

{{{
#Require BysMcmc
[TolPackage::Client::@Repository::Connect] Trying to connect to repository http://packages.tol-project.org/OfficialTolArchiveNetwork/ ...
Downloading from ""http://packages.tol-project.org/OfficialTolArchiveNetwork/index.tol"" ...
Downloading from ""http://packages.tol-project.org/OfficialTolArchiveNetwork/index.csv"" ...
[TolPackage::Client::@Repository::SaveInstances]
List of available repositories and packages have been saved to local store 
  /home/toldevel/.tol/TolPackage/Client/
... Connected!
<E>
ERROR: [1] Unknown package  must be manually installed.</E>
NOT loaded package 
Lea información acerca de los paquetes TOL en https://www.tol-project.org/wiki/TolPkg
}}}"	Jorge
978	Ficheros non_standard_struct	Various	2.0.1		enhancement	Víctor de Buen Remiro	closed	2010-09-30T09:47:48Z	2010-10-19T14:25:10Z	"Buenos días,

  tol deja en la carpeta de log de tol, aparte de los archivos ""start.log"" unos archivos ""non_standard_struct"". 

Estos ficheros nos indican cuando tenemos estructuras en el codigo sin una @ delante, pues va a ser obligatoria ponerlas. Estos archivos pueden llegar a ser bastante grandes, y en ocasiones, cuando tenemos por ejemplo un lanzador de modelos, dejan un log por cada tol que se abre, y pueden llegar a ser muchos archivos y llenar el espacio del disco duro. En nuestro caso nos generan gigabytes de espacio cada mes que lanzamos estimaciones.

Las estructuras de cada proyecto se pueden controlar, pero hay codigo común a los proyectos, por ejemplo el algebra de Sadd.

Para solucionar esto hay varias opciones.

  - Borrar los logs generados cada cierto tiempo. Se puede realizar una tarea programada

  - Cambiar las estructuras de sadd cada proyecto en local

  - Que el log sea opcional. Es decir, que log permita dejar estos archivos o no

  - Que los archivos non_standar_struct sean mas pequeños, que solo deje un mensaje por cada tipo de error (ahora mismo si llamamos a una estrucutura varias veces deja varios warning)


Seguro que hay mas opciones que no se me ocurren. Si se puede dar una solución a esto que nos valga para todos genial.

De momento dejamos una función que borra de una carpeta los archivos y carpetas anteriores a una fecha.

{{{

//////////////////////////////////////////////////////////////////////////////
Set RemoveFileRec(Text path, Date dataUlt)
//////////////////////////////////////////////////////////////////////////////
{
  Set listDir = GetDir(path);
  Set files = Tokenizer(GetDirPaths(path),NL);
  Set directories = listDir[2];
  Set EvalSet(files,Real (Text pathFile){

    If(FileTime(pathFile)<dataUlt,
      {
         WriteLn(""Eliminando archivo ""+pathFile);
         OSFilRemove(pathFile)
       },
      0)
  });
  Real If((Card(listDir[1])+Card(directories))>0,
    Real 1,
    {
       WriteLn(""Eliminando directorio ""+path);
       OSDirRemove(path)
    }
  );
  If(Card(directories)>0,
  {
    Set EvalSet(directories,Set (Text pathDir){
      RemoveFileRec(path+""/""+pathDir,dataUlt)
    })
  },
  Empty
  )

};
//////////////////////////////////////////////////////////////////////////////
PutDescription(""Borra recursivamente todos los ficheros y carpetas anteriores a una fecha desde una direccion dada"",RemoveFileRec);
//////////////////////////////////////////////////////////////////////////////


}}}"	Iván Robles
980	Documentation: Using OOP in TOL	OOP			task	Víctor de Buen Remiro	closed	2010-10-01T10:14:56Z	2011-04-12T09:33:22Z	Parece conveniente generar documentación algo más detallada de cómo TOL implementa la programación orientada a objetos, introduciendo qué es, como se usa en TOL y algunos ejemplos.	Pedro Gea
981	Use of  TOL-Packages and TOL-Repositories	Various			enhancement	Víctor de Buen Remiro	closed	2010-10-01T10:25:18Z	2010-12-27T18:10:02Z	"La utilización de los paquetes y los repositorios en TOL es algo oscura y necesita ser mejorada y documentada.

En mi opinión debería separarse en cierta medida la creación de paquetes con su ubicación en un repositorio.

A continuación enumero algunas cuestiones que quizá podrían tratarse:
 * Creación de paquetes, características.
 * Necesidad de contemplar distintos paquetes para distintos sistemas operativos
 * Necesidad de crear los paquetes sin versión
 * Caracteríticas de los repositorios TOL
 * Repositorios en carpeta y/o en BBDD
 * Definir el repositorio local por defecto
 * Controlar la actualización automática de paquetes desde TOL, poder pasarla a mnual para evitar errores en ordenadores sin conexión.
 * Actualizar paquetes manualmente a partir de los zip sin necesidad de disponer de conexión a internet.
 * Crear un repositorio TOL
 * Definir las conexiones a los repositorios, añadir o eliminar repositorios

"	Pedro Gea
984	directorios windows y linux en los repositorios	System	head	TOL Packages	task	Jorge	closed	2010-10-05T11:29:29Z	2012-02-14T08:26:29Z	Verficar que un paquete .zip creado en linux puede ser cargado en windows y viceversa. Si esto es posible, no haría falta tener dos copias de cada paquete en el repositorio en los directorios Windows y Linux.	Jorge
985	install RMTPS in CentOS	RMTPS		Mantainance	task	Jorge	closed	2010-10-05T13:52:33Z	2011-10-27T09:21:21Z	It is necessary to install RMTPS in CentOS and check if the installation instructions are right.	Jorge
986	Bases de Datos para repositorios de paquetes	Web			task	apalonso	closed	2010-10-05T15:49:11Z	2010-10-05T15:51:34Z	"Crear dos bases de datos para los repositorios de paquetes de TOL
que se accederán luego desde el sitio web mediante una interfase escrita en PHP.
Uno será de acceso público y el otro privado (red de Bayes y VPN)
bysforofitol    (official_tol_archive_network)
bysforpritol        (bayes_private_tol_packages)"	apalonso
987	Abandono del sistema de repositorios de paquetes basados en archivos	Database		TOL Packages	task	Víctor de Buen Remiro	closed	2010-10-08T10:53:44Z	2010-10-19T13:52:55Z	"Los cambios necesarios para el almacenamiento en bases de datos unidos a otros relacionados, como el hecho de que los repositorios no tengan un paquete por plataforma sino que sea el paquete el que tenga lo necesario para funcionar en todas, unido a las facilidades que añade la gestión de las descargas y el mantenimiento vía SQL+PHP, hacen más que aconsejable romper con el sistema anterior de almacenamiento en ficheros, no sólo a nivel de servidor, sino también en el lado cliente.

"	Víctor de Buen Remiro
989	log file for tol process executed from rmpts	RMTPS	head	Mantainance	task	Jorge	closed	2010-10-08T14:23:28Z	2011-10-14T15:38:26Z	Every tol process started from  rmtps will create by default the log file as start.log. Consider the creation of a parameter in the configuration section of the project within rmtps.conf in order to parameterize the name of the log file.	apalonso
992	Mantenimiento de las opciones de usuario	User config	2.0.1	Mantainance	defect	Víctor de Buen Remiro	closed	2010-10-15T14:24:28Z	2012-02-01T19:00:00Z	"El {{{NameBlock TolConfigManager}}} contiene todos los parámetros de configuración de usuario de TOL y TOLBase, los cuales se definen por defecto en un {{{NameBlock TolConfigManager::Default}}} con estrutura jerárquica, mientras que los valores asignados por el usuario se cargan en {{{TolConfigManager::Config}}}, el cual se guarda de una sesión para otra en un archivo .tol en el directorio personal del usuario destinado a TOL:

{{{
  TolAppDataPath + .tolConfig.vX.Y.Z.tol
}}}

El problema es que en ulteriores releases de TOL pueden aparecer nuevos parámetros o incluso secciones para configurar nuevas capacidades de TOL.

Tal y como está montado ahora mismo el sistema no reconocerá los nuevos parámetros, pues estas nuevas capacidades aparecerán en el nuevo {{{NameBlock TolConfigManager::Default}}} pero no en el {{{TolConfigManager::Config}}} que corresponderá a la antigua estructura jerárquica de opciones y que es realmente el panel de opciones que se tiene en cuenta.

Es preciso por lo tanto llevar a cabo un proceso de mezclado que incorpore los nuevos parámetros de configuración {{{NameBlock TolConfigManager::Default}}} y respete los valores preexistentes en {{{TolConfigManager::Config}}}

Como la estructura de la configuración es jerárquica debe recorrerse de forma recursiva entrando en los elementos de tipo {{{NameBlock}}} y tomando los elementos viejos de {{{TolConfigManager::Config}}} y los nuevos de {{{TolConfigManager::Default}}}

Lo que sí habrá que asegurar al modificar la configuración es que sólo se puede añadir nuevos elementos, nunca quitar, renombrar ni reordenar los ya existentes, pues eso ya sería imposible de compatibilizar hacia atrás.
"	Víctor de Buen Remiro
994	error in check syntax with #Embed	Interface	2.0.1	Mantainance	defect	Jorge	closed	2010-10-21T13:47:28Z	2012-02-13T19:46:29Z	If we check the syntax of error_embed.tol in tolbase tol crash.	Jorge
995	Classifying the Empty Set	Various			defect	Víctor de Buen Remiro	closed	2010-10-27T11:43:36Z	2011-02-24T17:19:29Z	"Al clasificar un conjunto sin elementos:
{{{
Set Classify(Empty, Compare);
}}}
se obtiene como resultado una ""clase"" sin elementos, cuando se esperaría obtener un conjunto vacío, sin clases.

Esta salida sería especialmente útil así, sobre todo cuando se agrupan elementos por clases sobre las que se espera realizar alguna acción.
Pues se supone que toda clase que devuelve la clasificación siempre tiene algún elemento.
"	Pedro Gea
996	degree of delta polyn in DeltTransfer filter	BSR	2.0.1	BSR API	defect	Víctor de Buen Remiro	closed	2010-10-27T17:01:02Z	2010-10-27T23:31:04Z	"When degree of delta polyn is greater than 2 DeltaTransfer filter complains about it regardless the periodicity of the polyn. For instance:

{{{
period = 7
polyn = 1-0.1*B^7
}}}

"	Jorge
997	[BysMcmc] El filtro no lineal DeltaTransfer no tiene en cuenta los valores iniciales del numerador	Math	head	BSR extensions	defect	Víctor de Buen Remiro	closed	2010-10-27T23:48:27Z	2011-03-31T09:08:54Z	"El argumento {{{Matrix x0}}} de {{{BysMcmc::Bsr::Gibbs::DeltaTransfer}}} se almacena en el miembro {{{Matrix _.x0}}} y sólo se usa en el método {{{eval}}} en la línea 
{{{
    Matrix _.y := DifEq(1/_.delta, _.x, _.x0, _.y0q);
}}}
en la que en realidad no es tenido en cuenta para nada por ser 1 el numerador de la ecuación en diferencias.

De hecho no se crean en ningún caso parámetros en el bloque correspondientes a dichos valores iniciales, lo cual es al menos consecuente con el hecho de que no se usen en absoluto."	Víctor de Buen Remiro
999	error in package explorer	Interface	2.0.1	TOLBase Revitalization	defect	Jorge	closed	2010-11-02T20:05:47Z	2010-11-03T14:59:07Z	"The package explorer is not showing the correct info. For instance if we execute

{{{
#Require MMS;
}}}

then all package but MMS show the same info as {{{GuiTools}}}."	Jorge
1001	crash in Ois.Load	Kernel	2.0.1	Mantainance	defect	Víctor de Buen Remiro	closed	2010-11-03T16:15:24Z	2010-11-03T16:20:27Z	"The following code make {{{TOL}}} crash:

 - In one session
{{{
Real Ois.Store( [[ StdLib ]], ""c:/StdLib.oza"" );
}}}

 - In other sesion
{{{
  Set kk = { Ois.Load( ""c:/StdLib.oza"" ) };
}}}"	Jorge
1003	Doubt in BysMcmc::@BlockPartialSampler	BysMCMC			doubt	Víctor de Buen Remiro	closed	2010-11-08T10:28:53Z	2010-11-08T16:12:26Z	"En MMS para la estimación condicionada a unos parámetros muestreados se deriva una clase de BysMcmc::@McmcReloader que permite utilizar las muestras en memoria sin necesidad de acudir a un archivo.

El problema surge porque su método {{{reloadSimulation}}} es llamado con el argumento {{{numSim=0}}}.
¿Qué significado tiene esta llamada con número de simulación 0?

Véase el archivo: [browser:tolp/OfficialTolArchiveNetwork/BysMcmc/_partialSampler.tol _partialSampler.tol]
En el método {{{build}}} de @BlockPartialSampler (línea 168) se llama a {{{getMergedFixedAndReloadedSample}}} (línea 232) con el valor del argumento {{{numSim=0}}} y éste llama al método {{{reloadSimulation}}} (líneas 261-262) de la instancia del ""reloader""."	Pedro Gea
1004	inf is a number in TOL on linux	Kernel		Mantainance	defect	Jorge	closed	2010-11-09T09:22:50Z	2011-07-10T12:39:31Z	"{{{inf}}} is considered a number in TOL when running on linux but not when running on windows.

The following code:

{{{
Real {
  WriteLn(""inf=""<<inf);
  Real inf = 2;
  Real b = 3;
  If(inf<b, WriteLn(""2 < 3""),WriteLn(""2 > 3"") );
  inf
};
}}}

will output:

 - on linux: {{{2>3}}}
 - on windows: {{{2<3}}}
"	Jorge
1006	El enlace paquetes públicos oficiales existentes esta vacio	ASCII data files			defect	Víctor de Buen Remiro	closed	2010-11-11T14:34:32Z	2011-01-13T10:32:33Z	"El enlace con los  paquetes públicos oficiales existentes esta vacio

https://www.tol-project.org/wiki/OfficialTolArchiveNetwork


sl2

"	jlaybar
1007	TOL se cae si se intenta abrir y cerrar un archivo excel que está abierto por una aplicación externa	Excel API	head	Mantainance	defect	Jorge	closed	2010-11-15T16:08:55Z	2010-12-09T16:56:52Z	"Si se abre un archivo excel, por ejemplo desde el explorador de windows, y luego se intenta hacer esto desde TOL

{{{
Real xls = Excel.Open(filePath);
Real Excel.Destroy(xls);
}}}

entonces TOL se cae sin más."	Víctor de Buen Remiro
1008	Nueva función Excel.SheetNames	Excel API		Mantainance	defect	Jorge	closed	2010-11-15T16:26:06Z	2012-02-13T17:42:34Z	"Se necesita una nueva función que devuelva todas las hojas existentes en un archivo para poder navegar por ellas.

{{{
//Returns a set of texts with the names of each available sheet of an
//open Excel archive
Set Excel.SheetNames(Real ExcelHandler)
}}}"	Víctor de Buen Remiro
1009	TOL se cae si Excel.ReadRange intenta leer fuera de rango	Excel API		Mantainance	defect	Jorge	closed	2010-11-15T16:37:08Z	2011-02-16T16:27:12Z	"TOL se cae si Excel.ReadRange intenta leer fuera del rango de las celdas asignadas en la hoja abierta.
"	Víctor de Buen Remiro
1010	Nueva función Excel.MaxRange	Excel API		Mantainance	defect	Jorge	closed	2010-11-15T16:41:09Z	2011-04-11T10:19:13Z	"Es necessaria una nueva función de la API Excel para poder acceder a hojas con formato y contenido desconocidos previamente

{{{
//Returns a set with two numbers: the maximum column index and the 
//maximum row index that is accesibble in current sheet.
  Set Excel.MaxRange(Real ExcelHandler)
}}}"	Víctor de Buen Remiro
1011	Nuevas funciones de modificación y borrado de elementos de un conjunto	SetAlgebra	head	Mantainance	enhancement	Víctor de Buen Remiro	closed	2010-11-17T15:16:34Z	2010-11-18T15:32:16Z	"Al igual que existe una función para añadir elementos a un conjunto ya creado de forma eficiente
{{{
Set Append(Set set1, Set set2, [Real incrementalIndexByName=False])
/*
Concatena los elementos del conjunto set1 al final de set2 sin 
eliminar elementos repetidos y conservando el orden.
Si incrementalIndexByName es cierto entonces el índice de nombres, 
se mantendrá incrementalmente, siempre y cuando ya existiera 
previamente y los nuevos elementos sean compatibles, o bien se 
creará un índice nuevo si se parte del conjunto vacío.
*/
}}} 
deberían existir las correspondientes funciones para eliminar y reemplazar un elemento ya existente.
"	Víctor de Buen Remiro
1012	TOL se cae ejecutando ciertas operaciones de VMatrix entre tipos no permitidos	Math	head	Mantainance	defect	Víctor de Buen Remiro	closed	2010-11-17T15:19:23Z	2010-11-17T15:19:46Z	TOL se cae ejecutando ciertas operaciones de VMatrix entre tipos no permitidos. Concretamente se tarta de operaciones definidas internamente mediante el método genérico {{{ApplyFunR2R}}}	Víctor de Buen Remiro
1013	Tratamiento de eventos en GuiTools	GuiTools	2.0.1	TOL Packages	task	Jorge	closed	2010-11-19T09:53:13Z	2011-05-16T07:20:08Z	"Por exigencias de MMS, con el objetivo de redireccionar la salida de Tol hacia la ventana de salida de la interfaz de MMS, se debe dotar a GuiTools de la posibilidad de tener para los eventos Before o After de una opción varios scripts registrados que se llamarían en orden.
"	Liván Ramírez Dorta
1014	Extensión de UsingNameBlock a miembros no públicos	OOP		Mantainance	enhancement	Víctor de Buen Remiro	closed	2010-11-19T11:52:22Z	2010-11-19T14:33:20Z	"UsingNameBlock sólo permite usar los miembros públicos pero a veces puede ser útil exportar los de sólo lectura y los privados. 

Por ejemplo en la depuración de código puede ser muy útil para poder correr trozos de código en el ámbito global."	Víctor de Buen Remiro
1015	remote CVS in rmtps	RMTPS	2.0.1	Mantainance	task	Jorge	closed	2010-11-19T11:52:43Z	2011-02-11T08:23:37Z	Implement, in RMPTS, an API in order to invoke checkout/update in remote server.	Jorge
1016	"problema con la función ""Unique"""	System			defect	Víctor de Buen Remiro	closed	2010-11-19T16:15:29Z	2011-01-13T10:30:06Z	"La función Unique recibe un set como argumento, y comprueba si estos son iguales, en cuyo caso solo devuelve una vez el elemento ""repetido"". Seguramente la implementación de la función no consideraba la posibilidad de que los elementos de la comparación fueran Sets, aunque generalmente funciona para tal tipo de objetos, y casi más seguro no contemplaba la posibilidad de que sean NameBlocks. Si se usa con Nameblocks aparece un ""problema"", que se ve con el siguiente ejemplo: 

si se compila

{{{
NameBlock A1 = [[
  Real a = 1,
  Real b = 2
]];
NameBlock A2 = [[
  Real a = 1,
  Real b = 2
]];
Set AB = [[A1, A2]];
Set C = Unique(AB); 
}}}

la función Unique funciona sin problemas, el set C contiene un elemento y se entiende que la comparación funciona con NameBlocks. Sin embargo si diferenciamos los NameBlocks...

{{{
NameBlock A1 = [[
  Real a = 1,
  Real b = 2,
  Real c = 3
]];
NameBlock A2 = [[
  Real a = 1,
  Real b = 2
]];
Set AB = [[A1, A2]];
Set C = Unique(AB); 
}}}

... tol tiene un error fatal y se cierra!

Seguramente el ticket es una curiosidad, pero seria deseable que si la operación no es correcta aparezca un error y que tol no se cierre.
"	Jorge Conde
1017	rmtps_client as a TolPackage	RMTPS	2.0.1	TOL Packages	task	Jorge	closed	2010-11-19T20:27:46Z	2011-02-11T08:23:00Z	rmtps_client must be a TolPackage	Jorge
1018	Memory leak combining operations and methods	OOP	2.0.1	Mantainance	defect	Víctor de Buen Remiro	closed	2010-11-22T13:19:59Z	2011-02-23T08:51:12Z	"En el marco de evitar problemas en el uso de la memoria RAM con TOL se ha encontrado un error un tanto inesperado.

El problema está bastante profundo dentro del código de MMS, así que he intentado extraer o aislar en un pequeño ejemplo de qué se trata, o al menos por donde van los problemas.

En el ejemplo siguiente, los métodos {{{GetValue1}}}, {{{GetValue2}}} y {{{GetValue3}}} no actúan del mismo modo de cara a {{{NObject}}}. Sólo el segundo se ajusta a lo esperado.

{{{
NameBlock parent = [[
  Matrix m = Rand(1,1,1,1);
  Set instancias = [[
    NameBlock instancia = [[
      Real GetValue(Real void) { 1 }
    ]]
  ]];
  NameBlock GetInstancia(Real void) { instancias[1] };
  Matrix GetValue1(Real void) {
    NameBlock ins = parent::GetInstancia(?); 
    Anything data = m * ins::GetValue(?)
  };
  Matrix GetValue2(Real void) {
    NameBlock ins = parent::GetInstancia(?); 
    Real e = ins::GetValue(?);
    Anything data = m * e
  };
  Matrix GetValue3(Real void) {
    NameBlock ins = parent::GetInstancia(?); 
    Anything data = m * {Real ins::GetValue(?)}
  }
]];

Set For(1, 10, Anything (Real i) {
  WriteLn(""""<<NObject);
  //Matrix parent::GetValue1(?);
  Matrix parent::GetValue2(?);
  //Matrix parent::GetValue3(?);
Empty});
}}}

El primer método sigue el uso habitual en mucha parte del código.

El segundo método es una forma de solucionarlo.

El tercer método se incluye porque esa forma sí sirvió para solucionar el problema en MMS aunque no parece que valga en este ejemplo.

"	Pedro Gea
1019	location of rmtps.conf	RMTPS	2.0.1	Mantainance	defect	Jorge	closed	2010-11-22T14:50:12Z	2011-02-10T23:53:31Z	In order to make flexible the sharing of rmtps.conf it is needed a way to load rmtps.conf from a specific location and this be specified via command line.	Jorge
1025	API para NLopt	Math		Numerical methods	task	Víctor de Buen Remiro	closed	2010-11-27T10:32:47Z	2011-09-06T18:21:56Z	"[http://ab-initio.mit.edu/wiki/index.php/NLopt NLopt] es un paquete bastante completo de código abierto para la optimización no lineal que integra una batería de métodos de búsqueda global y local con restricciones no lineales de igualdad y desigualdad mediante métodos deterministas y estocásticos y que pueden usar o no derivadas de la función.
"	Víctor de Buen Remiro
1027	Wrong type conversion with Teradata	Database			defect	Jorge	closed	2010-11-30T21:39:37Z	2010-12-03T11:07:30Z	"Hi,

We are using Teradata as database and TOL/tolbase with ODBC on Linux 64.
The following code should return a variable of type Date:
{{{
Date today = (Set DBTable(""select current_date as today""))[1][1];
}}}
But it results on the following errors:
{{{
Warning: [201] (Funcion DBTable) La consulta debería devolver un texto, una fecha o un número en el campo 1
ERROR: [93] Tipos incompatibles en Element (ó [ ] ): today es de tipo Text, pero no de tipo Date.
ERROR: [94] today no se pudo crear.
}}}
The same code on TOL/tolbase on Windows connected on the same Teradata database doesn't causes any errors.

Best regards,
Sergio
"	Sergio Oshiro
1028	tolserver fails with multiples instances	TolServer	2.0.1	Mantainance	defect	Jorge	closed	2010-12-06T15:01:44Z	2010-12-07T11:48:00Z	"tolserver fails when multiples instances are started on the same host:

{{{
runmode=server
::tolsh::clone
runmode=shared
::tolshared::start
Tequila server on port 20458 started.
couldn't open socket: address already in use
    while executing
""socket -server tqsAccept $port""
    (procedure ""tqsStart"" line 11)
    invoked from within
""tqsStart $port""
    (procedure ""tqsRun"" line 8)
    invoked from within
""tqsRun 20458                ""
}}}"	Jorge
1029	API para CINT, el intérprete de C y C++	Kernel	head	TOL Extensions	task	Víctor de Buen Remiro	closed	2010-12-08T15:29:15Z	2011-01-13T09:46:36Z	"[http://root.cern.ch/drupal/content/cint CINT] es un intérprete de C y C++ open source que permite ejecutar código sin tener que compilar ni crear un fichero ejecutable. El resultado es más lento que el código compilado pero aún así es mucho más rápido que TOL y que la mayoría de los intérpretes de lenguajes de alto nivel.

Mediante la [http://root.cern.ch/viewvc/trunk/cint/doc/cintapi.txt API  de CINT con C] sería posible desde TOL cargar y descargar ficheros  con funciones C y C++ y ejecutar sentencias que las usaran. Esta API sería especialmente útil a la hora de programar ciclos de cálculo largos que en TOL resultan demasiado lentos y que no precisan el uso de los tipos abstractos, sino que pueden expresarse mediante los tipos más simples Real, Text, Date y Matrix

Existen dos funciones para la carga y descarga de funciones en el ámbito global.
{{{
#!cpp
 int G__loadfile(const char *file);
/*
        G__loadfile() incrementally loads source file.
*/

 int G__unloadfile(const char *file);
/*
        G__unloadfile()  unloads source file. If any of the func-
       tions  included  in  the  file  is  busy,  G__unloadfile()
       returns error code (-1) and won't unload it.
*/
}}}

Existen otras dos funciones para la llamada a código interpretado desde C/C++.
{{{
#!cpp
 [anytype] G__calc(char *expression);
/*
        G__calc() evaluates C expression.  It returns the type of
       object  the  argument  expression  returns.  Variables and
       function calls can be used in  the  expression.   Declara-
       tion,  loop  and  conditional statement can not be used in
       the expression.
*/
            int i;
            double a;
            i = G__calc(""1+2+3"");  // returns int
            a = G__calc(""3.14*i"");  // returns double

 [anytype] G__exec_tempfile(char *file);
/*
        G__exec_tempfile() opens temporal source file and execute
       it  in  the  current  context.   The tempfile can contain,
       variable   declaration,   struct,union,enum    definition.
       expression,  loop and control statement and cannot contain
       function definition.  G__exec_tempfile() executes a state-
       ment or statement list surrounded by '{' , '}' and returns
       the last evaluated value.
*/
            {    // example of tempfile
                 int i;
                 double ary[100];
                 for(i=0;i<100;i++) ary[i] = i;
            }
/*
       Then in the main program, you can execute above  statement
       by G__exec_tempfile.
*/
}}}


"	Víctor de Buen Remiro
1030	TolPackage upgrade sentence	Kernel			defect	Víctor de Buen Remiro	closed	2010-12-13T10:59:36Z	2011-01-18T14:56:46Z	"Se recibió el siguiente correo en el trac de MMS:

----

Hello,
when a tol-package is not up to date, it appears a warning message like this:
{{{
You can upgrade all them running this TOL sentence:
  Set TolPackage::Client::RemoteUpgradeAll(0)
}}}
The method {{{RemoteUpgradeAll}}} returns a Real, so if you copy and paste the warning code, TOL retunrs an Error.
{{{
Warning message should be Real TolPackage::Client::RemoteUpgradeAll(0).
}}}
Thanks"	Pedro Gea
1031	función IsTolName & Replace	Text		Mantainance	defect	Víctor de Buen Remiro	closed	2010-12-13T12:25:22Z	2010-12-13T13:34:49Z	"La función ""IsTolName"", definida en bin\stdlib\general\grammars\_real.tol, usa la función ""Replace"" sin indicar su gramática. La reciente inclusión de la función Replace con gramática Set genera ahora una ambigüedad y por tanto un warning, que se podría eliminar simplemente cambiando la única línea de la función por 

Text Replace(ToName(name), ""'"", ""_"") == name

Parece posible que esta casuística se repita en alguna otra función definida en la stdlib, se podría pasar un chequeo sobre el conjunto de funciones para detectar tales casos."	Jorge Conde
1033	Uso de funciones CINT nativas en el paquete NonLinGloOpt	Math		TOL Packages	enhancement	Víctor de Buen Remiro	closed	2010-12-14T13:43:38Z	2011-01-13T09:45:22Z	Cuando se pueden expresar las funciones objetivo y de restricción mediante funciones C++, es posible acelerar el proceso de optimización haciendo que NLopt utilice directamente el intérprete CINT de C/C++ sin pasar por evaluaciones TOL mucho más lentas.	Víctor de Buen Remiro
1036	Nuevo diseño del sistema de optimización NonLinGloOpt	Math		TOL Packages	task	Víctor de Buen Remiro	closed	2010-12-17T08:48:45Z	2011-01-04T13:58:16Z	"Es necesario un diseño del sistema de optimización planteado en el ticket #1025 que sea independiente del motor de cálculo, que pueda extenderse con otros distintos de NLopt en el futuro, que sea sencillo de manejar por un usuario inexperto y que permita la definición de planes de optimización multietápica, es decir, una sucesión de métodos iterativos tales que cada uno comienza en el óptimo alcanzado por el anterior en un proceso de refinamiento de la solución (pipe-line)

"	Víctor de Buen Remiro
1037	Qualitative Response Model	Math	2.0.1	TOL Packages	task	Víctor de Buen Remiro	closed	2010-12-18T17:11:56Z	2011-01-13T09:44:54Z	Implement a package to deal with regression models when the dependent variable is qualitative. This package will be called QltvRespModel.	Jorge
1038	[NonLinGloOpt] Es necesario comprobar si la solución inicial es factible	Math		TOL Packages	enhancement	Víctor de Buen Remiro	closed	2010-12-19T08:28:31Z	2010-12-20T00:35:27Z	"NLopt no da mucha información cuando alguno de los argumentos no es válido o no es compatible con el resto.

En particular, cuando la solución inicial no es factible, algunos métodos emiten un error de argumentos inválidos que no ayuda en nada al usuario.

El paquete NonLinGloOpt debe ocuparse de comprobar si la solución es factible y si no lo es debe emitir un mensaje de aviso.

Este ticket está relacionado con los tickets #1025 y #1036
"	Víctor de Buen Remiro
1039	Error de nomenclatura en las dll's de los paquetes	Various		TOL Packages	defect	Víctor de Buen Remiro	closed	2010-12-20T09:49:18Z	2011-01-13T09:44:35Z	"Actualmente todos los paquetes que utilizan recursos C++ crean una dll llamada CppTools, lo cual impide cargar más de un paquete de estos en la misma sesión pues no es posible cargar en memoria dos dll con el mismo nombre aunque estén en distinto camino. Simplemente el segundo enlace dinámico no hace nada ni dice nada, por lo que el usuairo se entera cuando va a emplear alguno de los métodos de la segunda dll que no ha sido cargada y no lo puede encontrar por ese motivo.

Por este motivo hay que renombrarlas utilizando el propio nombre del paquete para asegurar la unicidad de nombres.
"	Víctor de Buen Remiro
1040	[QltvRespModel] Introducción de información a priori en @WgtBoolReg	Math		TOL Packages	task	Víctor de Buen Remiro	closed	2010-12-20T16:46:35Z	2011-11-17T11:01:43Z	"La clase @WgtBoolReg (ver ticket #1037) debe permitir la introducción de información a priori de tipo normal truncada o uniforme definida mediante la estructura BysMcmc::@Bsr.TruncatedNormal empleada en BSR

La información de dominio o truncamiento servirá internamente para definir los vectores de intervalo _.lb y _.ub, para todos aquellos en los que se definan no omitidos ni infinitos. Es recomendable establecer un intervalo finito para cada variable.

En aquellos registros que haya sigma no omitida ni infinita se establecerá un prior normal con la media establecida, cuyo logaritmo de la verosimilitud se sumará a la de los datos.

"	Víctor de Buen Remiro
1041	Error al actualizar TolPackage	ASCII data files	2.0.1	TOLBase Revitalization	defect	Víctor de Buen Remiro	closed	2010-12-21T10:31:31Z	2010-12-27T18:08:01Z	"Buenas,

 Cuando se ejecuta la sentencia que aparece cuando hay un nuevo paquete en tol da error porque se pone como de tipo Set cuando el metodo RemoteUpdateAll es de tipo Real.

Warning: [1] TolPackage::Client::[RemoteUpdatePackSyncInfo] There are 1 packages that you could update from remote repositories to new patches of the same version.
You can view them at:
   Set TolPackage::Client::_.packForUpdate
You could update all them running this TOL sentence: 
  Set TolPackage::Client::RemoteUpdateAll(0)

Se que es una tontería, pero llevo tiempo encontrándomelo y es de los pequeños detalles que creo no son buenos dejar pasar durante demasiado tiempo. Gracias.

   Un saludo,

     Manuel Locubiche Malaxechevarria"	Manuel Locubiche Malaxechevarria
1042	EvalMat	Math	2.0.1	Mantainance	task	Víctor de Buen Remiro	closed	2010-12-21T15:00:45Z	2012-08-03T09:15:49Z	"In order to implement matrix algorithm efficiently it is required the implementation of cell by cell function evaluation {{{MatEval}}} with the following semantic:

[[LatexEquation( f(A)=B|(B)_{ij}=f((A)_{ij}))]]


"	Jorge
1043	Using the command Eval in NameBlocks	Kernel			defect	Víctor de Buen Remiro	closed	2010-12-21T18:49:06Z	2010-12-27T15:38:02Z	"Se encuentra un comportamiento inesperado al utilizar el comando {{{Eval}}} dentro del método de un nameblock.

El objetivo de este tique es manifestar este problema e intentar entender qué está ocurriendo.

A continuación se indica un ejemplo en el que se reproduce un error similar al encontrado en un proyecto y en el que se encuentran las consecuencias más catastróficas:

{{{
Text expression = TxtListItem(For(1, 200, Text (Real i) {
  ""Serie ExtendSerie(
     SubSer(Pulse(Succ(y2001,C,""<<i<<""),C),y2000, y2005), 
     y1999, y2006)""
}), ""+"");

NameBlock space = [[
  Anything Evalua(Text e) { Eval(e) }
]];

Serie space::Evalua(expression);
}}}

La ejecuación de este código emplea algo más de 2 minutos y medio en acabar con toda la RAM libre y comenzar a enviar errores como:
{{{
ERROR: [14978] FATAL: No se pudo alojar un arreglo de 2558 items x 8 bytes
}}}
sin poder detenerse de ninguna forma más que matando el proceso asociado a TOLBase.

El mismo ejemplo utilizando simplemente {{{Serie Eval(expression);}}} llega al resultado adecuado en algo más de 2 segundos y sin problema alguno.

¿Qué está ocurriendo?

En un ejemplo menos catástrófico se observa que el tiempo para evaluar la misma expresión es bastante distinto (sin llegar a dar errores) al usar {{{Eval}}} o {{{space::Evalua}}}.
"	Pedro Gea
1045	Bug in QltvRespModel::@WgtBoolReg	Math			defect	Víctor de Buen Remiro	closed	2010-12-23T10:26:50Z	2010-12-23T18:03:20Z	"Se ha encontrado un bug en la clase {{{@WgtBoolReg}}} del paquete {{{QltvRespModel}}}: [source:/tolp/OfficialTolArchiveNetwork/QltvRespModel/WgtBoolReg.tol].

Se encuentran errores si ningún parámetro tiene prior. Es decir, si el conjunto {{{prior.info}}} (líneas 135 y 154) se queda vacío. El error se produce en las líneas 161 a 163.

En la línea 163 se extrae la tercera columna para las sigmas cuando debería ser la cuarta.

"	Pedro Gea
1046	Force symmetry when you are sure it is	Math	2.0.1	Mantainance	trick	Víctor de Buen Remiro	closed	2010-12-27T11:09:41Z	2010-12-27T14:40:54Z	"There are situations in which the symmetry of a computed matrix is assumed to be symmetruc but for rounding errors the result is not. In those cases it is advisable to force the matrix to be symmetric:

{{{
  Matrix symMat = (Tra(nearSymMat) + nearSymMat)*0.5;
}}}

In [2952] this trick is used."	Jorge
1047	Implement simulation from asymptotic dtstribution in QltvRespModel	Math	2.0.1	Mantainance	task	Víctor de Buen Remiro	closed	2010-12-27T11:42:26Z	2010-12-27T14:42:11Z	In order to unify the output from MLE and BYS it is required the implementation of a simulation step from the asymptotic distribution in QltvRespModel.	Jorge
1051	add extra argument to Tol_HciWriter	Kernel	head	Mantainance	enhancement	Jorge	closed	2011-01-04T15:07:34Z	2011-01-05T14:19:25Z	"The ""Hci Writer"" in TOL is a global function of type:

{{{
typedef void (*BHciWriter)(const BText&);
}}}

In order to provide a context information to a global function of this type it is proposed to be:

{{{
#!C
typedef void (*BHciWriter)(const BText&, void *context);
}}}

the extra argument context must be provided in the invocation to {{{PutHciWriter}}}

{{{
#!C
void   PutHciWriter(BHciWriter h, void *context = NULL);
}}}

When the HciWriter is invoked it will receive the context argument it was registered with.
 "	Jorge
1052	initial values in wlogit/wprobit	Math	2.0.1	Mantainance	task	Víctor de Buen Remiro	closed	2011-01-05T10:56:26Z	2011-02-23T19:14:20Z	"Sometimes the user knows initial values for the parameter in a wlogit/wprobit model but there is no way to specify it in the model constructor. Although there es way of doing it:

{{{
Matrix wProbit::_.param::initial := ...
}}}

it is desirable to provide the initial value at model construction:

{{{
QltvRespModel::@WgtProbit wProbit = [[
 Text output.name = name;
 Set input.name = parameterIdentifiers;
 VMatrix y = Mat2VMat(outputData);
 VMatrix X = Mat2VMat(inputData);
 VMatrix w = Mat2VMat(weightData);
 Set prior = priorInfo;
 Matrix initial = ...
]]
}}}
"	Jorge
1053	Warning de conversión de sparse a dense en operaciones (VMatrix,Real) -> VMatrix	Math		Mantainance	defect	Víctor de Buen Remiro	closed	2011-01-05T11:22:00Z	2012-02-13T00:03:02Z	"Cuando una operación del tipo (VMatrix,Real) -> VMatrix no es neutra en 0, el resultado de operar sobre una matriz sparse no tiene porqué ser sparse y en cualqueir caso no tendrá la misma estructura interna por lo cual se convierte internamente a densa y si es lo bastante grande para ello se da un warning de conversión de sparse a dense.

Lo que ocurre es que hay operaciones que son neutras casi siempre como la división que lo es salvo en el caso 0/0 que da desconocido y no parece sensato hacer la conversión siempre sino sólo si el denominador es 0.

El producto sin embargo está declarado como neutro cuando tiene el mismo problema con 0/Inf"	Víctor de Buen Remiro
1054	Declaración automática de dependencias de un paquete	Kernel		TOL Packages	defect	Víctor de Buen Remiro	closed	2011-01-05T12:36:54Z	2011-01-11T10:05:22Z	"En la vorágine del trabajo es muy habitual que al incorporar una dependencia pongamos el #Require correspondiente pero no recordemos añadirla a _.autodoc.dependencies.

Sería conveniente que esto se pudiera hacer o al menos supervisar de forma automática y dar un error para que se corrija."	Víctor de Buen Remiro
1055	La transformación BoxCox es diferente en Tol y MMS	ASCII data files			defect	Víctor de Buen Remiro	closed	2011-01-10T10:53:11Z	2011-01-13T09:28:10Z	"Las funciones BoxCoxTransform y BoxCoxInverseTransform ""C:\Program Files\Bayes\tolbase-v2.0.1\bin\stdlib\general\grammars\_.serie.tol"" son distintas a las análogas en mms ""\PRE-1.0\MMS\definition\02_model\def_transformation.tol"" y ""\PRE-1.0\MMS\definition\02_model\def_transformation_boxcox.tol"". He subido el ticket en ambos sitios
 no se cual debería tomar la responsabilidad de cambiar y de avisar a todos los projectos de Bayes que puedan estar usándolas.

Tol:
{{{
//////////////////////////////////////////////////////////////////////////////
  Serie  BoxCoxTransform(Serie s, Real bct)
//////////////////////////////////////////////////////////////////////////////
{
  If(bct==1, s+0, If(bct==0, Log(s), s^bct))
};


//////////////////////////////////////////////////////////////////////////////
  Serie  BoxCoxInverseTransform(Serie s, Real bct)
//////////////////////////////////////////////////////////////////////////////
{
  Real invExp = 1/bct;
  If(bct==1, s+0, If(bct==0, Exp(s), s^invExp))
};
}}}

MMS
{{{
//////////////////////////////////////////////////////////////////////////////
@MMS.Transformation BoxCox(Real first, Real second) 
//////////////////////////////////////////////////////////////////////////////
{
  @MMS.Transformation::Block(NameBlock { NameBlock args = [[
    Text _.name              = ""BoxCox_""<<first<<""_""<<second;
    Text _.grammar           = ""Serie"";
    Text _.contextExpression = ""
      Real _.first = ""<<first<<"";
      Real _.second = ""<<second<<"";
    "";
    Text _.directExpression  = If(first==0, 
      ""Serie (Serie s) { Log(s + _.second) }"",
      ""Serie (Serie s) { ((s + _.second)**_.first - 1)/_.first }""
    );
    Text _.inverseExpression = If(first==0, 
      ""Serie (Serie t) { Exp(t) - _.second }"",
      ""Serie (Serie t) { (_.first * t + 1)**(1/_.first) - _.second }""
    )
  ]] })
};

}}}"	lmperez@…
1056	Tolsh.exe no funciona en remoto bajo el sistema operativo windows server 2003	Tolsh	2.0.1	Mantainance	defect	Jorge	closed	2011-01-12T14:53:44Z	2011-01-19T15:27:38Z	"Hola, os paso este log de lo que me devuelve windows server 2003 cuando mando ejecutar tolsh.exe en máquinas en remoto a través del servicio rmtps_w_server:

{{{
couldn't load library ""//berwick07/C$/Archivos de programa/Bayes/tolbase-v2.0.1/
lib/toltcl/toltcl.dll"": invalid argument
    while executing
""load [file join $dir $name] Toltcl""
    (procedure ""LoadToltcl"" line 10)
    invoked from within
""LoadToltcl 2.0.1 {//berwick07/C$/Archivos de programa/Bayes/tolbase-v2.0.1/lib/
toltcl}""
    (""package ifneeded Toltcl 2.0.1"" script)
    invoked from within
""package require -exact Toltcl 2.0.1""
    (procedure ""::tolsh::run"" line 25)
    invoked from within
""::tolsh::run $argv""
    (file ""//berwick07/C$/Archivos de programa/Bayes/tolbase-v2.0.1/bin/tolsh_Pr
jFolha.exe/lib/app-tolsh/tolsh.tcl"" line 570)
    invoked from within
""source {//berwick07/C$/Archivos de programa/Bayes/tolbase-v2.0.1/bin/tolsh_PrjF
olha.exe/lib/app-tolsh/tolsh.tcl}""
    (""package ifneeded tolsh 1.0"" script)
    invoked from within
""package require tolsh""
    (file ""//berwick07/C$/Archivos de programa/Bayes/tolbase-v2.0.1/bin/tolsh_Pr
jFolha.exe/main.tcl"" line 4)

}}}

Es el mismo error que nos hemos encontrado ya otras veces, el de la toltcl.dll. Mientras salga este error no puedo lanzar ningún proceso remoto y estoy totalmente bloqueado.

Gracias de antemano."	lmperez@…
1057	[NonLinGloOpt] Fallo no identificado en la primera iteración	Math		TOL Packages	enhancement	Víctor de Buen Remiro	closed	2011-01-12T18:06:12Z	2011-01-12T18:45:58Z	"A veces algún método de NonLinGloOpt falla en la primera iteración pero no da ningún mensaje de error.

Al no poder depurar es difícil saber qué está pasando con los métodos como SLSQP y LBFGS pero hay una cosa que está clara, ningún método iterativo puede pararse en la primera evaluación, pues debe hacer al menos dos para determinar que se han cumplido los criterios de parada.

Por tanto debería darse un error si el método ha hecho menos de dos evaluaciones.
"	Víctor de Buen Remiro
1058	Ensuring once run in StartActions	Various		TOL Packages	defect	Víctor de Buen Remiro	closed	2011-01-12T18:13:21Z	2011-01-13T09:42:24Z	"Method StartActions of packages must ensure run just the first time is called in this way

{{{
#!cpp
...

Real _is_started = False;

////////////////////////////////////////////////////////////////////////////
Real StartActions(Real void)
////////////////////////////////////////////////////////////////////////////
{
  If(_is_started, False, {
  Real _is_started := True;
...
}
}}}
"	Víctor de Buen Remiro
1059	[QltvRespModel] Chequeo de pesos nulos y negativos	Math		TOL Packages	enhancement	Víctor de Buen Remiro	closed	2011-01-12T18:22:36Z	2011-01-12T18:41:54Z	"Hay que chequear que todos los pesos sean positivos.
Si hay pesos negativos hay que dar un mensaje de error y parar.
Si sólo hay nulos hay que dar un warning y eliminarlos de la matriz X a la hora de calcular la descomposición de Choleski de X'X"	Víctor de Buen Remiro
1060	[QltvRespModel] Chequeo de matrices regulares	Math		TOL Packages	defect	Víctor de Buen Remiro	closed	2011-01-12T18:38:33Z	2011-01-12T18:41:54Z	"En la [wiki:OfficialTolArchiveNetworkQltvRespModel#WeightedBooleanRegresions página del paquete QltvRespModel] se puede ver cómo el hessiano de un modelo booleano cualquiera es siempre de la forma

  [[LatexEquation( H = X' D X)]]

  [[LatexEquation( D_{i,i} = w_i \delta_i)]]

  [[LatexEquation( D_{i,j} = 0 \forall i \neq j)]]

siendo [[LatexEquation( w_i )]] el peso de la [[LatexEquation( i )]]-esima fila y [[LatexEquation( \delta_i )]] una cantidad dependiente del problema, del punto óptimo y de la fila.

Así pues hay que chequear que la matriz de input sea regular, es decir, que X'X sea definida positiva una vez eliminadas las filas en las que haya peso nulo.

También se debe lanzar un mensaje de error si algún [[LatexEquation( \delta_i = 0)]] pues en principio no debería ocurrir.

En lugar de haber un método virtual que calcule el hessiano debería haber uno llamado {{{non_weighted_hessian_diagonal}}} que devuelva los [[LatexEquation( \delta_i = 0)]] 
"	Víctor de Buen Remiro
1063	QltvRespModel::@WgtBoolReg falla si hay límites sólo en un sentido y no en el otro	Math		Numerical methods	defect	Víctor de Buen Remiro	closed	2011-01-14T15:00:18Z	2011-01-14T15:10:41Z	"Si tenemos algún límite inferior pero no superior, o al revés, pero no de ambos tipos, aunque no fuera para misma variable, entonces sale un mensaje como éste

{{{
ERROR: [50] [NonLinGloOpt::CppTools::optimize] Invalid arguments.
dimension mismatch
}}}"	Víctor de Buen Remiro
1064	[QltvRespModel:@WgtBoolReg] Métodos para la importación y exportación de modelos	Math		TOL Packages	enhancement	Víctor de Buen Remiro	closed	2011-01-14T15:05:04Z	2011-01-14T15:11:18Z	Es necesario poder guardar y cargar la información de un modelo booleano que sea independiente de la versión del paquete con la que se haya creado, para poder depurar, almacenar en OIS, etc.	Víctor de Buen Remiro
1065	Estimación WLogit con Priors	Math	2.0.1	Numerical methods	doubt	Víctor de Buen Remiro	closed	2011-01-17T10:26:32Z	2011-01-17T15:52:46Z	"Buenos días,

  una duda sobre las estimaciones con Wlogit.

Antes, en las estimaciones con BSR, si teníamos una combinación lineal, pero metíamos un prior en los inputs problematicos, se eliminaban las combinaciones lineales. Por ejemplo, si se metía un input que fuera todo cero con un prior no había problema.

Con WLogit, al hacer lo mismo, nos da un error de cholesky. ¿En esta nueva tecnología se eliminan las combinaciones lineales al introducir un prior?¿Hay alguna forma de eliminar las comnbinaciones lineales (que no implique el no meterlas)?

Si necesitais algún ejemplo os lo intentamos aislar.

Un cordial saludo"	Iván Robles
1066	Tolbase.exe se cae al abrir en la última version cargando el paquete TolClint.1.1 de mms	ASCII data files			defect	Víctor de Buen Remiro	closed	2011-01-18T14:02:24Z	2011-01-19T15:27:38Z	"Al intentar abrir tolbase.exe (versión 2011-01-18 10:52:52) totalmete limpio, sin cargar nada más que la stdlib, éste arranca perfectamente.Pero si cargamos mms con el comado #Require MMS; tol da un mensaje de error y se queda colgado.
Os paso adjunto dos pantallazos, uno en windows 7 y otro en windows server 2003.
He subido este tique a mms porque el error es la cargar mms, pero no se si el error es de tol, así que lo subiré también aquí.

Gracias de antemano"	lmperez@…
1067	Inputs no lineales	Math		Técnicas de modelación	task	Víctor de Buen Remiro	closed	2011-01-20T10:57:22Z	2012-02-13T10:16:26Z	"Sería necesario tratar desde un punto de vista formal y práctico el problema de las relaciones no lineales entre el output [[LatexEquation(y)]] y alguno de los inputs [[LatexEquation(x)]] de una regresión.

Existen varias formas de tratar este tema

 * ''Componentes transformadas'': se trata de introducir varias transformaciones del input cuya combinación lineal dé el efecto deseado. 
  * ''Aproximación ad-hoc'': Si se conoce la forma que debe tener la función se tratará de linealizarla al máximo mediante transformaciones ad-hoc. Esto sirve mayormente para fenómenos físicos, químicos o de otra naturaleza similar cuyas ecuaciones son bien conocidas de antemano.
  * ''Aproximación polinómica'': Si se sospecha que se trata de una relación polinómica se puede ir introduciendo términos [[LatexEquation(x,x^2,x^3,...)]] mientras el avance sea significativo. Cuando el grado es alto esto da problemas de escalado y de alta correlación, por lo que es preferible tomar una base ortogonal como los polinomios de Chebyshev.
  * ''Aproximación trigonométrica'': Si se trata de un fenómeno cíclico resulta mucho mejor utilizar otras familias ortogonales como las de la transformada de Fourier.
 * ''Componentes segmentadas'': se trata de dividir la variable en tramos de forma que la relación no lineal sea aproximada por una poligonal. [http://www.icesi.edu.co/ocw/economia/econometria/econometria-071/unidad-3/pdf Aquí se puede ver un ejemplo sencillo]
"	Víctor de Buen Remiro
1068	[NonLinGloOpt] Valores iniciales	Math		Numerical methods	enhancement	Víctor de Buen Remiro	closed	2011-01-20T16:13:08Z	2011-03-28T15:32:53Z	"Los valores iniciales son un apartado vital en los métodos iterativos de optimización. Algunos métodos requieren partir de un punto factible, a otros les basta con cumplir las restricciones de dominio y otros son globalmente convergentes, pero incluso en este caso la velocidad de convergencia puede variar mucho en función del punto inicial que se tome.

Si el usuario tiene información auxiliar acerca de un buen punto de partida es vital que pueda especificarlo.

Cuando no se tenga un punto inicial hay que buscar un punto factible, lo cual se hará minimizando un problema sin más restricciones que las de dominio y mucho más simple, en el que la función objetivo será la norma euclídea penalizada muy fuertemente en los puntos no factibles pero de forma que se garantice la continuidad de la función."	Víctor de Buen Remiro
1069	Error al guardar un archivo muy pesado	OIS	2.0.1	Mantainance	enhancement	Víctor de Buen Remiro	closed	2011-01-21T08:47:13Z	2011-02-23T17:49:24Z	"Hola, al intentar guardar en un fichero .oza un objeto muy pesado, ocurren dos cosas nada deseables:
* Da un error por falta de memoria (""not enough memory"").
* Crea el archivo con 0 KB.
Respecto a lo primero: ¿no es posible liberar memoria conforme se va realizando el volcado?
En cuanto a lo segundo, si el archivo ya existía lo borra y por tanto se pierden ambos, tanto el antiguo como el nuevo (que crea con 0 KB). ¿Se puede hacer que, si da error, mantenga el archivo anterior?

No tengo ahora mismo ningún ejemplo que permita reproducirlo rápidamente, pero es tan sencillo como crear un objeto TOL muy pesado (pero que TOL ""soporte"") e intentar guardarlo con Ois.Store

Muchas gracias.
"	imendez
1071	compilation of init.cpp fails if svn is not found	ASCII data files	2.0.1	Mantainance	defect	Jorge	closed	2011-01-23T23:01:35Z	2011-01-23T23:09:29Z	"If svn is not found the compilation of init.cpp fails. This happens on Linux.

{{{
init.cpp: In function ‘unsigned char InitGrammars()’:
init.cpp:871: error: ‘__TOL_BUILD_SVN_INFO__’ was not declared in this scope
}}}
"	Jorge
1072	Conexión nativa con Sqlite	Database		TOL Extensions	task	Jorge	closed	2011-01-24T08:40:23Z	2016-04-28T14:19:14Z	"Sería muy interesante contar con una conexión nativa a Sqlite embebido en el propio TOL de forma que el usuario siempre tuviera una base de datos local sin depender de servidores externos.

La forma de usarla sería la misma que con cualquier otra ODBC o nativa.

También se podría usar internamente para otras muchas utilidades:

 * Repositorio local de paquetes
 * Ficheros de configuración de TOL, TOLBase, ...
 * Tipos de datos persistentes (ver #1072)"	Víctor de Buen Remiro
1073	Handling Matrix and Real objets	Kernel	2.0.1	Mantainance	enhancement	Víctor de Buen Remiro	closed	2011-01-25T09:12:53Z	2011-05-19T09:50:11Z	"Hi,
It would be really helpful if Boolean functions (such as LT, GE, EQ...) would allow Matrix and Real objects together as it is allowed to mix Series and Real objects. 

Thanks in advance."	Alfredo Torre
1074	Función gsl_interp	Math	2.0.1	Numerical methods	defect	Víctor de Buen Remiro	closed	2011-01-25T11:26:41Z	2011-01-25T11:57:18Z	"Buenos días, tol se cae al realizar la siguiente sentencia.

{{{

Code b = gsl_interp(""cspline"",Matrix SetMat([[ [[0]],[[1]] ]]),Matrix SetMat([[ [[0]],[[1]] ]]));
}}}

Estamos intentando interpolar dos datos, el 0,0, y el 1,1, con cspline y hemos llegado a que esta sentencia hace caerse tol.

No tiene ningún sentido interpolar eso, pero esta dentro de un metodo automático que interpola puntos x, y , y en uno de los casos nos sale que interpole los puntos 0,0 y 1,1"	Iván Robles
1075	Error en la rama Grammars del inspector de objetos	Interface		Mantainance	defect	Jorge	closed	2011-01-28T10:24:21Z	2011-05-16T08:01:03Z	"No sé cómo reproducirlo pero TOLBase me da a veces un error como éste cuando intento ver los objetos de un determinado tipo, en este caso Real, en la rama Grammars del inspector de objetos

{{{
""DBConnection::BsrHlm::dbc::Activate"" isn't a function in grammar Real
""DBConnection::BsrHlm::dbc::Activate"" isn't a function in grammar Real
    while executing
""::tol::info functions $grammar $fun""
    (procedure ""SelectGrammar"" line 50)
    invoked from within
""SelectGrammar""
    (""grammar"" arm line 2)
    invoked from within
""switch -regexp $node_type  {
    root {
      switch $node_name {
        root -
        grammars {
          ClearHiertables
          #$w_tabset tab...""
    (procedure ""::TolInspector::SelectObject"" line 41)
    invoked from within
""::TolInspector::SelectObject""
}}}"	Víctor de Buen Remiro
1076	Tol da error al arrancar si no tenemos acceso a internet	System	2.0.1	Mantainance	defect	Víctor de Buen Remiro	closed	2011-01-28T13:00:49Z	2011-02-23T15:56:30Z	"El cliente Folha no nos ha dado acceso a internet desde sus servidores. Cuando arranco por primera vez tol da el siguiente error al intentar actualizarse:
{{{
Ha sido incluido el fichero C:/Arquivos de programas (x86)/Tol-Project/tolbase-v2.0.1/bin/stdlib/_packages.tol [130.828 sec.]
OIS: Creando el módulo stdlib::_packages.tol
Ha sido incluido el fichero C:/Arquivos de programas (x86)/Tol-Project/tolbase-v2.0.1/bin/stdlib/general/various/_tools.tol [0.000 sec.]
Downloading from ""http://packages.tol-project.org/OfficialTolArchiveNetwork/repository.php?action=packages&min_tol_version=v2.0.1%20b.0.52.alpha"" ...

Warning: [5] couldn't open socket: invalid argument


ERROR: [1] No se puede indexar por nombre un conjunto vacï¿½o.

[Call stack]
  [2] Real StdLib::TolPackage::Client::RemoteUpdatePackSyncInfo (Real showWarnings)
  [1] Real StdLib::CheckTOLRelease (Real maxDaysOfDelay)

ERROR: [2] Intento de acceso al elemento 1-esimo de un conjunto de 0 elementos

[Call stack]
  [2] Real StdLib::TolPackage::Client::RemoteUpdatePackSyncInfo (Real showWarnings)
  [1] Real StdLib::CheckTOLRelease (Real maxDaysOfDelay)

ERROR: [3] Argumentos erróneos para Set Tokenizer (Text string, Text separator [, Text quote="""", Text scape=""""])

[Call stack]
  [2] Real StdLib::TolPackage::Client::RemoteUpdatePackSyncInfo (Real showWarnings)
  [1] Real StdLib::CheckTOLRelease (Real maxDaysOfDelay)

ERROR: [4] pkg no se pudo crear.

[Call stack]
  [2] Real StdLib::TolPackage::Client::RemoteUpdatePackSyncInfo (Real showWarnings)
  [1] Real StdLib::CheckTOLRelease (Real maxDaysOfDelay)

ERROR: [5] pkg no es un objeto valido para el tipo Text.

[Call stack]
  [2] Real StdLib::TolPackage::Client::RemoteUpdatePackSyncInfo (Real showWarnings)
  [1] Real StdLib::CheckTOLRelease (Real maxDaysOfDelay)

ERROR: [6] Argumentos erróneos para Real FindIndexByName (Set set, Text name)

[Call stack]
  [2] Real StdLib::TolPackage::Client::RemoteUpdatePackSyncInfo (Real showWarnings)
  [1] Real StdLib::CheckTOLRelease (Real maxDaysOfDelay)

ERROR: [7] found no se pudo crear.

[Call stack]
  [2] Real StdLib::TolPackage::Client::RemoteUpdatePackSyncInfo (Real showWarnings)
  [1] Real StdLib::CheckTOLRelease (Real maxDaysOfDelay)

ERROR: [8] found no es un objeto valido para el tipo Real.

[Call stack]
  [2] Real StdLib::TolPackage::Client::RemoteUpdatePackSyncInfo (Real showWarnings)
  [1] Real StdLib::CheckTOLRelease (Real maxDaysOfDelay)

ERROR: [9] Argumentos erróneos para Real Not (Real x)

[Call stack]
  [2] Real StdLib::TolPackage::Client::RemoteUpdatePackSyncInfo (Real showWarnings)
  [1] Real StdLib::CheckTOLRelease (Real maxDaysOfDelay)
Comprobando si TOL está actualizado.

Warning: [6] couldn't open socket: invalid argument


Warning: [7] couldn't open socket: invalid argument


Warning: [8] couldn't open socket: invalid argument


Warning: [9] No se pudo chequear la versión de TOL.

Ha sido incluido el fichero C:/Arquivos de programas (x86)/Tol-Project/tolbase-v2.0.1/bin/stdlib/_init_stdlib.tol [288.672 sec.]
}}}

Después de esto, al arrancar tol otras veces, parece hacerlo normalmente, pero me gustaría saber si esto puede ser un problema más adelante"	lmperez@…
1079	¿Podría usarse un Garbage collector en TOL?	Kernel		Mantainance	defect	Víctor de Buen Remiro	closed	2011-02-03T08:59:16Z	2012-02-13T10:14:29Z	"El sistema de conteo de referencias de TOL es muy complicado y tiene errores y situaciones inesperadas que producen a veces pérdidas de memoria (''memory leaks'') y otros errores peores aunque con menor frecuencia.

Si existiera un sistema de recolección de basura (GC: ''Garbage Collector'') que se ocupara de ese problema de forma externa podríamos ahorrarnos mucho esfuerzo en la persecución de este tipo de errores, que son tremendamente difíciles de aislar y aún más de arreglar.

Tal sistema debería integrarse en el código C++ de TOL de forma opcional mediante compilación condicional, al menos durante un largo periodo de pruebas, pues no está claro que no vaya a afectar a la eficiencia de TOL o que pueda ocasionar otro tipo de problemas.

Hay que tener en cuenta que el actual sistema de gestión de memoria BFSMEM es incompatible con cualquier tipo de GC, pero no hay problema pues es sencillo de deshabilitar. De hecho podría ser la puerta para un uso parcial de un GC pues internamente sobrecarga los operadores new y delete que podrían derivarse a los del GC mediante opciones de configuración.

Estas son las posibilidades que se recomiendan a la hora de integrar un GC en una aplicación C/C++:

 * '''Conservative garbage collector''': Estos sistemas aportan funciones de asignación y reasignación que hay que llamar en lugar de malloc, realloc o new. En teoría es posible sustituir las funciones del sistema por las del GC para que no haya que tocar el código. [http://www.hpl.hp.com/personal/Hans_Boehm/gc/issues.html Aquí] se pueden ver ventajas e inconvenientes de este tipo de sistemas. Parece relativaente sencillo de incorporar la parte C (malloc, calloc, ...) pero no está tan claro qué pasa con new, y especialmente con new []
  * [http://www.hpl.hp.com/personal/Hans_Boehm/gc/ Boehm-Demers-Weiser GC]: de HP con licencia GPL
  * [http://developers.sun.com/solaris/articles/libgc.html libgc ]: Creo sólo funciona en el sistema Oracle Solaris y no estoy seguro del tipo de licencia.
  * [http://www.codeproject.com/KB/cpp/conservative_gc.aspx CGCC]: Proyecto unipersonal de Yasin HINISLIOGLU con licencia GPL
 * '''Template Smart Pointers''': Hay que heredar de una clase base y llamar a un template del tipo para el alojamiento de memoria. Sólo sirve en C++ por razones obvias. No parece fácil de incorporar a TOL pues lo que se propone es no usar los punteros directamente, sino instancias del template.
  * [http://blog.ilikeblues.com/2010/09/c-garbage-collection-usando-la-libreria-boost/ shared_ptr]: se distribuye dentro de BOOST
  * [http://www.codeproject.com/KB/cpp/automatic_gc_using_sp.aspx gcPtr]: Proyecto unipersonal sin licencia específica

Otra posibilidad es esperar a que salga el nuevo estándar [http://en.wikipedia.org/wiki/C%2B%2B0x C++0x] previsto para finales de 2011 y que contendrá un GC de serie.


"	Víctor de Buen Remiro
1080	TendLocPosTimeSet y los fechados que usa	ASCII data files	2.0.1		enhancement	Víctor de Buen Remiro	closed	2011-02-03T11:12:46Z	2011-02-23T19:18:59Z	"Las funciones TendLocPosTimeSet, TendLocNegTimeSet y Normaliza, situadas en tolbase-v2.0.1\bin\stdlib\general\grammars\_serie.tol (al menos estas que haya comprobado, tal vez haya más en el fichero), generan solamente series en fechado diario: en su interior se fija el timeset de salida a ""Diario"".

Esto, si bien no es un problema, no está indicado en ningún lado, se debería incluir tal hecho en la descripción de la función (y tal vez en el nombre, aunque esto puede ser demasiado engorroso).

Lo que parece más lógico, es generalizar tales funciones para que la serie de salida pueda salir en cualquier fechado, esto es, añadir un argumento más que indique tal propiedad. Esto provoca un nuevo problema, y es que al tener dos fechados hay que tener en cuenta que sean compatibles (es decir, que el fechado que genera la tendencia esté contenido en el que genera la serie), pero si esto no ocurre tal vez se pueda dejar una comprobación inicial que de un error si esto no ocurre."	Jorge Conde
1081	Memory Leak in special function Copy	Kernel		Mantainance	defect	Víctor de Buen Remiro	closed	2011-02-03T14:41:15Z	2011-02-03T18:11:50Z	"This simple code shows a memory leak in special function Copy
{{{
#!cpp
Real numObj0 = ?;
Real numObj1 = ?;

Real numObj0 := Copy(NObject);

Real {
  Real Copy(iter);
  Write("""")
};

Real numObj1 := Copy(NObject);
Real ok = EQ(numObj0,numObj1);
}}}"	Víctor de Buen Remiro
1083	Optimización con restricciones de desigualdad lineal sparse	Math		Numerical methods	task	Víctor de Buen Remiro	closed	2011-02-04T14:27:55Z	2012-02-12T23:57:38Z	"Es necesario contar con un sistema de optimización con restricciones de desigualdad lineal sparse.

  [[LatexEquation(\min f\left(x\right))]]

Sujeto a 

  [[LatexEquation(A x \ge a)]]

  [[LatexEquation( x\in\mathbb{R}^{n} )]]

  [[LatexEquation( a\in\mathbb{R}^{r} )]]

  [[LatexEquation( A\in\mathbb{R}^{r\times n} )]]

Concretamente es necesario resolver problemas de programación cuadrática 

  [[LatexEquation(\min x^T C x + c^T x )]]

Sujeto a 

  [[LatexEquation(A x \ge a)]]

y en particular el problema de mínimos residuos 

  [[LatexEquation(\min e^T e)]]

Sujeto a 

  [[LatexEquation(e = y - B x)]]

  [[LatexEquation(A x \ge a)]]


  [[LatexEquation( B\in\mathbb{R}^{m \times n} )]]

  [[LatexEquation( y\in\mathbb{R}^{m } )]]

El principal motivo es dar un punto inicial interior en la simulación de modelos bayesianos en general y de BSR en particular.

"	Víctor de Buen Remiro
1085	La orden Ois.UseModule crea ficheros binarios corruptos	Kernel	2.0.1	Mantainance	defect	Víctor de Buen Remiro	closed	2011-02-07T17:54:49Z	2011-02-09T11:18:50Z	"Cuando cargamos el código de un proyecto con la orden Ois.UseModule, ésta crea un fichero .oza corrupto. Al cargarlo de nuevo da el error:

{{{
ERROR: [1] OIS: c:/users/lmperez/bsd/entity/PrjFolha/_inisadd/
Fichero binario corrupto: .tolref
}}}"	lmperez@…
1086	Funciones de conjuntos con NameBlock	Kernel		Mantainance	defect	Víctor de Buen Remiro	closed	2011-02-08T11:38:23Z	2011-02-23T16:01:55Z	"Buenos días,

  el siguiente código hace que se caiga tol

{{{

Set a = Ois.Load(""C:/ejemploNameBlock.oza"");

Real (setNameBlock[1]<:setNameBlock);
}}}

Con el Unique también pasa.

Creo que el problema viene de que no esta muy claro como se comparan nameblock, o incluso no se deberian comparar. No se.

Lo subo para evitar que se caiga Tol"	Iván Robles
1089	GetFilePrefix does not work properly	Text			defect	Víctor de Buen Remiro	closed	2011-02-09T15:48:00Z	2011-02-10T14:00:47Z	"La función {{{GetFilePrefix}}} que permite obtener el nombre (libre de extensión de un archivo) no funciona adecuadamente si aparecen puntos en el nombre.

En el siguiente ejemplo podemos ver cómo la presencia de estos puntos afecta al resultado:
{{{
Text GetFilePrefix(""c:/temp/archivo.con.puntos.txt"");
//-> ""archivo""
}}}
El nombre (''prefix'') esperado es ""archivo.con.puntos"" ya que la extensión es el texto detrás del último punto.
"	Pedro Gea
1090	Error en el instalador del paquete Tol	ASCII data files			defect	Víctor de Buen Remiro	closed	2011-02-09T18:44:22Z	2011-02-10T17:22:52Z	"Hola TOL, cuando instalamos TOL y se crea la carpeta con los paquetes, tenemos un problema con el fichero :tol\TolPackage\Client\TolCint.2.1\add_paths.hpp
Cuando queremos instalar mms SIN conexión a internet. Si seguimos la documentación del trac [https://www.tol-project.org/wiki/TolPackageRulesAndComments#Actualizaci%C3%B3nautom%C3%A1ticaymanual]

Para más detalle ver el tique #535 de mms: [https://trac.localbayes.es/mms/ticket/535]"	lmperez@…
1091	Maximum filename length and OisStore	Various			defect	Víctor de Buen Remiro	closed	2011-02-10T09:19:37Z	2011-02-10T15:35:57Z	"La función para la creación de archivos OZA está limitada a nombres (completos) de archivo (en Windows al menos) de menos de 255 caracteres. Sin embargo para nombres de 260 caracteres o más no se muestran mensajes de error aunque el guardado fracasa.

Esto puede comprobarse jugando con:
{{{
Real Ois.Store([[Real void = 1]], ""C:/Temp/Long/""
  <<Text SetSum(For(1, 234, Text (Real i) { ""A"" }))<<""/ej.oza"");
// La longitud de este archivo será 254 (234+20)
}}}

Sería conveniente, si esta limitación no es evitable, avisar con un mensaje de error y con la respuesta de la función (a False) de que la creación del archivo no ha tenido éxito."	Pedro Gea
1092	Show instance information in TOLBase	Interface		TOLBase Revitalization	enhancement	Pedro Gea	closed	2011-02-10T09:45:47Z	2011-02-10T09:53:32Z	Se solicita la incorporación en TOLBase de mecanismos que faciliten mostrar la información específica de ls instancias.	Pedro Gea
1093	location of .tol	Kernel	2.0.1	Mantainance	enhancement	Víctor de Buen Remiro	closed	2011-02-11T10:13:56Z	2011-02-11T10:18:03Z	It is requested a way to control where directory {{{.tol}}} is created. Now tol create this folder relative to the user's home directory. The proposal is to use an evironment variable TOLHOME to override the current behaviour.	Jorge
1094	Función RegressionCoef	ASCII data files	2.0.1		defect	Víctor de Buen Remiro	closed	2011-02-11T13:41:55Z	2011-02-23T14:10:15Z	"Buenos días,

  hemos visto dos problemas con esta función:

El primero, al ejecutar el siguiente código:

{{{
  Matrix a = Rand(3,100,1,1)<< Rand(3,100,0,1);
  Matrix b = RegressionCoef(a);
}}}

Nos da solo valores en la diagonal. Hemos comprobado que es por tener una constante.

El segundo, al ejecutar este código:

{{{
  Matrix a = Rand(100,3,0,1);
  Matrix b = RegressionCoef(a);
}}}

se cae TOL"	Iván Robles
1095	Dudas función AIA	Math	2.0.1		doubt	Víctor de Buen Remiro	closed	2011-02-15T10:39:42Z	2011-02-23T09:51:25Z	"Buenos días,

  lo primero decir que no sabemos si estamos cometiendo un fallo en el planteamiento, pero bueno, si no nos corregis.
  
Estamos intentando utilizar la función AIA para intentar apróximar una serie en función de pulsos, escalones y tendencias. Lo estamos haciendo asi, porque pensamos que poniendo los términos ARIMA como 1, la función AIA nos debería dar esta aproximación. Sabemos que el AIA está pensado para analizar los residuos de un modelo ARIMA, pero pensamos que se la puede dar también esta aplicación. Quizás estemos equivocados. (Todo esto lo estamos haciendo porque nos podría ayudar a elegir la forma de meter ciertas variables continuas en modelos logisticos, si quereis mas detalles os podemos contar mas cosas).

Al usarla de esta manera, e introducir la serie del OZA, ejecutamos el siguiente código, nos devuelve un escalon. Parece que al final de la serie, hay un cambio de tendencia y nos devuelve un escalón, pero sobre todo lo que esperaríamos es que nos devolviera una tendencia de toda la serie. Nos ha chocado mucho esto. ¿No debería dar la tendencia?

{{{
Set Ois.Load(""C:/ejemplo.oza"");
Set AIA(serEjemplo,1/1,[[PulseOut,StepOut,TrendOut]])
}}}

Otra duda que nos surge es si la función AIA es recursiva, es decir, si quitamos a la serie lo que nos dice la función AIA, el escalón, y volvemos a aplicar AIA, nos devuelve mas parámetros. Pensábamos que era recursiva. ¿Hay alguna manera de hacerla recursiva?

{{{
Set Ois.Load(""C:/ejemplo.oza"");

Set setAIA = AIA(serEjemplo,1/1,[[PulseOut,StepOut,TrendOut]]);

Serie input = ApplyPolyn(setAIA[1]);

Set setAIA2 = AIA(serEjemplo-input,1/1,[[PulseOut,StepOut,TrendOut]]);
}}}

Puede que tengamos que calibrar los parámetros opcionales, o que estemos utilizandola mal ¿nos podeis ayudar con esto?


Si no se puede utilizar la función AIA para descomponer una serie en pulsos, escalones y tendencias, ¿conocéis alguna manera de hacer esto?"	Iván Robles
1096	Error en los operadores de comparación con múltiples argumentos	Kernel		Mantainance	defect	Víctor de Buen Remiro	closed	2011-02-16T10:40:28Z	2011-02-22T10:28:13Z	"Los operadores de comparación con múltiples argumentos, es decir {{{EQ, NE, LT, GT, LE, GE}}}, no funcionan correctamente en la lógica trivaluada con omitidos.

Por ejemplo, el operador EQ resulta no ser conmutativo

{{{
#!cpp
Real ?==1;    //devuelve ?
Real 1==1;    //devuelve ?
Real EQ(?,1); //devuelve ?
Real EQ(1,?); //devuelve 1 y tendría que devolver ?
}}}

Los operadores de comparación multi-argumentos deben cumplir la regla general
{{{
#!cpp
 CMP(a, b, c, d, ...) = CMP(a,b) & CMP(b,c) & CMP(c,d) & ...
}}}

Sin embargo, esta expresión
{{{
#!cpp
Real EQ(?, 0, 1)
}}}
devuelve ? cuando tiene que devolver 0, pues 0 no es igual a 1 nunca, sea cual sea el resultado de comparar ? contra 0.

"	Víctor de Buen Remiro
1097	La función SubBand de VMatrix no funciona con triplet ni dense	Math		Mantainance	enhancement	Víctor de Buen Remiro	closed	2011-02-16T11:09:34Z	2011-02-16T11:09:59Z	La función SubBand de VMatrix sólo va con el subtipo sparse pero hay que ampliarla a triplet ni dense, pues es relativamente sencillo y se puede ahorrar mucho tiempo, ya que ahora mismo hay hacer dos conversiones de tipo, a desde sparse, para obtener el resultado.	Víctor de Buen Remiro
1098	[GrzLinModel] Generalized Linear Model	Math		TOL Packages	task	Víctor de Buen Remiro	closed	2011-02-16T15:42:59Z	2011-04-12T09:28:15Z	Hay que generalizar el paquete QltvRespModel que son casos particulares de la regresión lineal generalizad	Víctor de Buen Remiro
1100	New function Excel.ReadSeries	Excel API	2.0.1	Mantainance	task	Jorge	closed	2011-02-16T22:26:44Z	2011-03-18T15:21:11Z	"It is requested the implementation of a function to read a set of series from a worksheet:

{{{
  Set Excel.ReadSeries( Real handle, Anything cornerLeftTop, Anything cornerRightBottom [, TimeSet dating ]  );
}}}

The range defined by {{{[cornerLeftTop,cornerRightBottom]}}} is such as the first column is considered as the dates supporting the series data which are specified from the second column on."	Jorge
1101	Excessive and strange RAM usage	Kernel		Mantainance	doubt	Víctor de Buen Remiro	closed	2011-02-17T13:46:45Z	2015-08-20T08:53:25Z	"Intentando solucionar problemas debidos al excesivo consumo de memoria RAM me encuentro con una circunstancia que no soy capaz de explicarme.

Resulta que al utilizar dos funciones que aparentemente deberían funcionar igual se obtienen comportamientos distintos en el consumo de RAM. Esto también se aprecia en el incremento de NObjects.

Aunque merece la pena insistir que no se trata de un problema de perdida de memoria, sino de un aparente consumo excesivo de memoria.

1. En primer lugar creamos un conjunto de matrices grandes para aprenciar bien los cambios en RAM.

{{{
Set matrices = For(1, 500, Matrix (Real i) {
  Rand(50000, 1, 0, 1)
});
}}}

Si comprobamos el incremento de NObject obtenemos 2507:
{{{
Real no1 = Copy(NObject);
Set matrices = For(1, 500, Matrix (Real i) {
  Rand(50000, 1, 0, 1)
});
Real no2 = Copy(NObject);
Real no2 - no1;
//-> 2507 
}}}

Mientras que si asignamos un nombre a las matrices recién creadas obtenemos 507:
{{{
Real no1 = Copy(NObject);
Set matrices = For(1, 500, Matrix (Real i) {
  Matrix a = Rand(50000, 1, 0, 1)
});
Real no2 = Copy(NObject);
Real no2 - no1;
//-> 507 
}}}

Sin embargo esto no parece afectar al consumo de RAM siendo en ambos casos de unos 288 MB aproximadamente.

2. En segundo lugar definimos dos funciones que devuelven la matriz pasada como argumento con el nombre ""nombre"":

{{{
Matrix Use1(Matrix object) {
  Matrix nombre = Copy(object)
};
Matrix Use2(Matrix object) {
  Matrix nombre = object
};
}}}

La primera asigna una copia del objeto, mientras que la segunda no hace la copia.
Aunque como son asignaciones por valor se espera que esto sea lo mismo.

Las consecuencias sin embargo no son para nada similares:

Si hacemos uso de {{{Use1}}} (la que hace copia) tanto el valor de NObject como la RAM aumentan lo esperado. La RAM crece otros 288 MB hasta los 576 MB comparada con el comienzo.
{{{
Real no3 = Copy(NObject);

Set matrices2 = EvalSet(matrices, Anything (Matrix m) {
  Matrix data = m;
  Use1(data) 
});

Real no4 = Copy(NObject);
Real no4 - no3;
//-> 505
}}}

Mientras que si hacemos uso de {{{Use2}}} tanto el valor de NObject como la RAM aumentan excesivamente. La RAM crece 576 MB (en lugar de la mitad) llegando hasta los 864 MB comparada con el comienzo:

{{{
Real no3 = Copy(NObject);

Set matrices2 = EvalSet(matrices, Anything (Matrix m) {
  Matrix data = m;
  Use2(data) 
});

Real no4 = Copy(NObject);
Real no4 - no3;
//-> 2505
}}}

El problema está en el consumo de RAM, y no en que aparezcan más o menos NObjects, aunque sin duda sería interesante comprender lo que está ocurriendo.

"	Pedro Gea
1104	Error typing returned instances with the class name	OOP		OOP Implementation	defect	Víctor de Buen Remiro	closed	2011-02-22T12:11:55Z	2011-03-24T15:48:35Z	"Se encuentra un error al intentar tipar la instancia que devuelve una función con el nombre de la clase:

{{{
Class @ClaseA {
  Real valueA
};

NameBlock nb = [[
  Set instance. = [[ @ClaseA instance = [[ Real valueA = 1 ]] ]];
  @ClaseA GetInstance(Real void) { instance.[1] }
]];

//@ClassA nb::GetInstance(?); //<- esto falla
NameBlock nb::GetInstance(?); //<- esto no falla
}}}"	Pedro Gea
1105	Error tolbase - tol.dll	ASCII data files			defect	Víctor de Buen Remiro	closed	2011-02-22T15:33:25Z	2011-02-23T08:53:49Z	"Hola tol, ayer estaba usando tol tan feliz y hoy al llegar al trabajo no puedo ni siquiera abrirlo, da el error que os envio adjunto.

La cosa es un poco rara porque esta máquina no tiene acceso a internet y no se ha actualizado ni tol, ni mms, ni el projecto, ni actualizaciones automáticas ni nada que pueda imaginar porque además sólo la uso yo.

¿Hay cosas en el sistema operativo que pueden provocar esto? ¿es el mismo error de dll que tantas veces hemos visto antes?

Por favor, necesito resolver este problema ya porque la semana que viene o la siguiente me voy a meter en un paralelo de dos meses y me está dando bastante miedo la fiabilidad de tol"	lmperez@…
1106	Duda sobre el comportamiento de la función Select	Math	2.0.1		doubt	Víctor de Buen Remiro	closed	2011-02-22T17:47:09Z	2011-02-23T09:03:00Z	"Hola, cuando la evaluación de la función Select para un elemento devuelve omitido, dicho elemento es seleccionado. ¿Debería ser así?

Se puede comprobar con el siguiente código:
{{{
Set Cjto = Select(Range(1, 28, 1), Real(Real n) { ? });
}}}

La duda me ha surgido porque dentro de la función Select comparaba dos reales, uno de los cuales valía ?, y la función Eq devolvía 1 en unos casos y ? en otros, como se ha dicho en el ticket 1096 (https://www.tol-project.org/ticket/1096)

Un saludo.
"	imendez
1107	Duda sobre la fecha TheEnd	TimeAlgebra	2.0.1		doubt	Víctor de Buen Remiro	closed	2011-02-22T17:56:02Z	2011-02-23T17:37:06Z	"Hola, cuando hago operaciones con series y las restrinjo con SubSer, si supero el año 2500 d.C. la serie resultante no parece tener como fecha fin la que yo le pongo, sino TheEnd:

{{{
Serie srVie = EQ(CalVar(WD(5), Mensual)*CalInd(M(7), Mensual), 5);
Serie srSab = EQ(CalVar(WD(6), Mensual)*CalInd(M(7), Mensual), 5);
Serie srDom = EQ(CalVar(WD(7), Mensual)*CalInd(M(7), Mensual), 5);
Serie srAll = SubSer(And(srVie, srSab, srDom), y1600, y2499);
Serie srAuto = AutoDating(srAll);
Date d1 = Last(srAuto);

Serie srAll2 = SubSer(And(srVie, srSab, srDom), y1600, y2500);
Serie srAuto2 = AutoDating(srAll2);
Date d2 = Last(srAuto2);
}}}

Se puede ver que la fecha fin de srAuto (d1) es y2495m07d01, mientras que la de srAuto2 (d2) es TheEnd.

Si se tabula srAuto2, llega hasta la última fecha anterior a la fecha fin por defecto (DefLast) que cumpla las condiciones señaladas. Sin embargo, si se tabulan de forma conjunto srAuto y srAuto2, ambas llegan hasta la misma fecha, y2495m07d01.

¿A qué se debe?

Un saludo.
"	imendez
1109	Calling #Require with only the integer version.high	Kernel		TOL Packages	enhancement	Víctor de Buen Remiro	closed	2011-02-23T10:00:07Z	2011-12-19T09:12:19Z	"Se solicita ampliar el mecanismo de incorporación de paquetes {{{#Require}}} para funcionar solamente con el primer entero de la versión y así disponer de tres comportamientos:
 * {{{#Require [Package]}}}: Se carga la versión más actual de un paquete.
 * {{{#Require [Pacakge].X}}}}: Se carga la versión más actual del paquete en la que el primer entero de la versión coincide con {{{X}}}.
 * {{{#Require [Pacakge].X.Y}}}: Se carga específicamente dicha versión.

Esto puede ser muy útil cuando se cree una nueva versión de un paquete no estable o beta, de modo que los usuarios y proyectos que desean usar la versión estable puedan hacerlo y seguir incorporando mejoras y correcciones del paquete a versiones en las que sólo crece el segundo entero.
"	Pedro Gea
1110	Comprobacion automática de software externo a tol	ASCII data files	2.0.1		defect	Víctor de Buen Remiro	closed	2011-02-23T20:48:42Z	2011-02-24T11:34:49Z	"Hola TOL, ¿sería posible que TOL hiciese la comprobación pertinente de si existe software externo a él mismo que precise para alguna tarea?
Por ejemplo, ¿existe la variable de entorno de R? algo así:
{{{
Real Exist.R.Path(Real void)
{
  Text path   = GetEnv(""path"");
  Set  tknz   = Tokenizer(path;"";"");
  Set select1 = Select(tknz,Real (Text var){ TextFind(var,""\R\\"") });
  Set select2 = Select(tknz,Real (Text var){ TextFind(var,""\bin"") });
  Set select  = select1*select2;

  Real exist.path = If(Card(select),True,{
    WriteLn(""La variable de entorno path no contiene el bin de R.exe"",""E"")
  })
});
}}}

No se que os parece la idea"	lmperez@…
1111	Objetos no borrados tras usar DatesOfSet y MatSerSet	Kernel		Mantainance	defect	Víctor de Buen Remiro	closed	2011-02-25T16:10:54Z	2011-03-16T15:05:18Z	"El siguiente código TOL produce una pérdida de 7 objetos en cada iteración

{{{
#!cpp
Real maxIter = 10;
Real iter = 1;
Real nObj1 = ?;
Real nObj2 = ?;
Real lostObjects = ?;

Real nObj1 := Copy(NObject);
WriteLn(""nObj1=""<<nObj1);

Real While(iter<=maxIter, {
  Set dates = [[y2010m01d01,y2010m01d02,y2010m01d03]];
  Matrix data = Row(1,2,3);
  TimeSet tms = DatesOfSet(dates);
  Set serSet = MatSerSet(data,tms,dates[1]);
  iter := iter+1
});

Real nObj2 := Copy(NObject);
WriteLn(""nObj2=""<<nObj2);

Real lostObjects := (nObj2-nObj1)/(maxIter);
WriteLn(""lost objects by iteration = ""<<lostObjects);

}}}

Sin embargo, si eliminamos la línea que llama a {{{MatSerSet}}} ya no se pierde ni uno solo. Tampoco se pierden si usamos {{{MatSerSet}}} pero no {{{DatesOfSet}}}

{{{
#!cpp
  Set serSet = MatSerSet(data,C,dates[1]);
}}}"	Víctor de Buen Remiro
1112	Inspector de objetos. Indice	Interface	2.0.1	Mantainance	defect	Pedro Gea	closed	2011-03-01T09:52:42Z	2011-03-01T10:54:58Z	"Buenos días,

  en el inspector de objetos de tol, en la pestaña de variables ha dejado de aparecer índice (al lado de nombre, contenido,..). En la pestaña de funciones si aparece.

Un cordial saludo."	Iván Robles
1113	Argument deleteOld in Remove and Replace	Kernel	head	Mantainance	doubt	Víctor de Buen Remiro	closed	2011-03-03T10:54:46Z	2011-03-04T17:14:22Z	"¿Qué sentido tiene el argumento {{{deleteOld}}} en las funciones {{{Remove}}} y {{{Replace}}} para conjuntos? ¿En que caso debería usarse como cierto o falso?

Por unos errores que he encontrado en mi código creo que no he interpretado bien su significado.
En la descripción de las funciones se indica: ""se intenta borrar de la memoria"". ¿no debería siempre intentarse borrar el objeto si nadie lo referencia?

¿Qué opción de {{{deleteOld}}} actúa de manera parecida a este método?
{{{
Set RemoveByIndex(Set set, Real index) {
  Real size = Card(set);
  Real If(And(1<=index<=size, IsInteger(index)), {
    Real hasIndex = HasIndexByName(set);
    Set set := ExtractByIndex(set, Range(1, index-1, 1)
      << Range(index+1, size, 1));
    Real If(Card(set) & hasIndex, SetIndexByName(set), 0)
  });
  set
};
}}}

¿Podría dejarse este último argumento como opcional y establecer el valor {{{deleteOld=True}}} por defecto?"	Pedro Gea
1114	Determine whether two objects are the same	Kernel	head	Mantainance	enhancement	Víctor de Buen Remiro	closed	2011-03-03T11:14:40Z	2011-03-07T14:29:10Z	"Se solicita una función que permita determinar si dos objetos son el mismo o no.

Concretamente este método tiene significado como tal sólo para los objetos que se asignan por referencia como son los NameBlock o los Set.

Hasta ahora para esto utilizo algo tan poco general y elegante como comparar la dirección de memoria de uno de sus atributos:
{{{
//////////////////////////////////////////////////////////////////////////////
Real SameObject(NameBlock obj1, NameBlock obj2)
//////////////////////////////////////////////////////////////////////////////
{
  Text add1 = GetAddressFromObject(obj1::_.name);
  Text add2 = GetAddressFromObject(obj2::_.name);
  add1==add2
};
}}}

Se busca saber si los dos objetos son el mismo o no (si uno cambia, el otro también), y no si son iguales o equivalentes.

Se espera que el método sólo pueda devolver dos respuestas: {{{True}}} o {{{False}}}
"	Pedro Gea
1115	Inefficient behavior using references to objects	Kernel	head	Mantainance	defect	Víctor de Buen Remiro	closed	2011-03-03T17:12:24Z	2011-03-04T17:15:33Z	"Se ha encontrado un comportamiento ineficiente al utilizar las referencias a objetos. Con referencias me refiero al uso de nameblocks definidos (o asignados) como otro nameblock ya existente.

El problema es incómodo de aislar con un ejemplo coherente, pero en el documento adjunto se muestra el problema con un ejercicio un tanto insensato en el que una referencia se dedica a contener un sinfín de referencias a ella misma.

Si para ello se usa el método:
{{{
Append(references, [[reference]], 0)
}}} 
el problema de ineficiencia aparece, mientras que si se usa:
{{{
Append(references, [[ [[reference]] ]], 0)
}}} 
el problema no ocurre.

En el ejemplo se ''cronometra'' esta ineficiencia y se puede apreciar al graficar el conjunto {{{grafico12}}}."	Pedro Gea
1116	Fatal error working with references	Kernel	head	Mantainance	defect	Víctor de Buen Remiro	closed	2011-03-04T10:18:36Z	2012-05-07T06:47:21Z	"Algún cambio realizado en la reciente versión 57 (v2.0.1 b.0.57.alpha del 23/02/2011) hace que un mecanismo que antes no daba problemas ahora fracase y haga que TOL caiga.

El problema ya no es tanto el error, porque puede evitarse, sino comprender qué está ocurriendo y por qué.

En el ejemplo adjunto se muestra un ejemplo simplificado en el que participan dos clases cuyas instancias están llamadas a ser objetos padre e hijo respectivamente. El error se produce al destruir uno de los objetos (a través de un PutValue). Sin embargo, el error no se produce si la acción se realiza con lo que parecen mínimas variaciones, compárense las dos alternativas: la ""alternativa1"" no provoca el error, mientras que la ""alternativa2"", sí."	Pedro Gea
1117	The Empty Set and the Set Index	Kernel	head	Mantainance	defect	Víctor de Buen Remiro	closed	2011-03-08T18:46:00Z	2011-03-09T09:40:55Z	"Se encuentra un error al usar la función {{{Copy}}} sobre un conjunto indexado que ya no tiene elementos:

{{{
Set a = [[ Real a1 = 1 ]];
Real SetIndexByName(a);
Set Remove(a, 1);
Set Copy(a);
}}}

El error es similar al que se encuentra al intentar indexar un conjunto vacío:
{{{
Set b = Copy(Empty);
Real SetIndexByName(b);
}}}

No sé bien la razón del primer error, si es que el indixado tiene algún problema cuando el conjunto se queda vacío o es que un conjunto vacío sí que admite un ''flag'' que indique que está indexado.

Se sugiere evitar ambos errores.
Sería cómodo evitar líneas del tipo:
{{{
Real If(Card(set), SetIndexByName(set), 0)
}}}
y simplemente (en caso de que se necesite) utilizar la salida del método para comprobar si tuvo algún efecto.
"	Pedro Gea
1120	Current version of the downloads	Various	head	Mantainance	defect	Víctor de Buen Remiro	closed	2011-03-09T12:53:26Z	2011-03-09T14:15:12Z	"Se solicita incluir la información completa de versión en la página de descargas: [wiki:DownloadTol].
Me refiero al contenido de la variable {{{Text Version}}}. Por ejemplo: {{{""v2.0.1 b.0.58.alpha 2011-03-08 09:13:40 i686-win""}}}.

Si esto no es fácil de hacer de manera automática como se hace por ejemplo con los paquetes: [wiki:OfficialTolArchiveNetwork], al menos sería interesante disponer de algún enlace a una archivo como {{{http://packages.tol-project.org/win32/tolbase-v2.0.1-setup.txt}}}  (o similar) con la versión de la descarga."	Pedro Gea
1121	Not deleted objects using a TimeSet as argument	Kernel	head	Mantainance	defect	Víctor de Buen Remiro	closed	2011-03-10T09:51:46Z	2011-03-16T15:03:50Z	"Se encuentran objetos no borrados cuando se utiliza un timeset como argumento de una función.

Véase el siguiente ejemplo que se deja un objeto cada vez:
{{{
Real N1 = Copy(NObject);

Real {
  Serie CalIndW(TimeSet dtn) { CalInd(W, dtn) };
  Serie CalIndW(C);
0};

Real N2 = Copy(NObject);
WriteLn(""""<<Real (N2-N1-2));
}}}"	Pedro Gea
1122	Use of CMsg::Phase	Kernel	head	Mantainance	doubt	Víctor de Buen Remiro	closed	2011-03-10T11:02:06Z	2011-03-31T09:10:44Z	"Revisando posibles fuentes de fugas de memoria u objetos que no se dejan borrar he encontrado una herramienta que usa BSR y que almacena un cierto histórico de objetos: es CMsg::Phase.

Concretamente se utiliza cuando la variable de configuración {{{do.report}}} es {{{True}}}.

Esta herramienta parece almacenar cierta información para facilitar tareas de depuración.
Realmente no sé bien en qué consiste y no sé si es necesaria al hacer el informe, pero quizá debería borrarse el contenido de este histórico:
{{{
Real CMsg::Phase::reset(?);
}}}
cuando se realiza sin errores, o bien que esto sea configurable en la llamada a BSR.
"	Pedro Gea
1123	Text to UTF8 and from UTF8	Text	head	Mantainance	enhancement	Víctor de Buen Remiro	closed	2011-03-11T09:42:11Z	2011-03-17T18:41:16Z	"Son muy comunes los errores de codificación al usar TOL junto a otras herramientas en los que los caracteres se muestran ilegibles. Es relativamente habitual ver escrito {{{""EspaÃ±a""}}}.

Adjunto un conjunto de funciones para introducir en la StdLib (o en el cuerpo de funciones compiladas si se ve conveniente) que permiten salir airoso de estas situaciones.

Las dos principales funciones propuestas son: {{{TextFromUTF8}}} y {{{TextToUTF8}}} que permiten codificar el texto desde o hacia la codificación [http://es.wikipedia.org/wiki/UTF-8 UTF8].
Véase más información en la documentación escrita en el propio código.

Acompaño dos ejemplos de uso:

 * '''TestToUTF8''' Convertir el texto hacia UTF8 es útil al comunicarse con herramientas que lo requiren así, como es el caso de las funciones que usan TclTk.
   {{{
Text TclTkMessageBox(SetOfSet(
  @TclArgSt(""-title"",   ""Dialogo TclYesNoQuestion""), 
  @TclArgSt(""-message"", TextToUTF8(""¿Desea seguir con el test?"")),
  @TclArgSt(""-type"",    ""yesno""),
  @TclArgSt(""-icon"",    ""question"")
));
}}}
   Con la llamada a TextToUTF8 se evita que el primer caracter {{{¿}}} se vea como un cuadradito.

 * '''TextFromUTF8''': Esta función nos permite hacer legible el código que recibimos con estos caracteres irreconocibles:
  {{{
Text TextFromUTF8(""EspaÃ±a""); //-> ""España""
}}}
  Estos textos en ocasiones pueden aparecer así cuando proceden de otras sistemas o plataformas o de bases de datos, etc. Por ejemplo, en la información de sincronización del paquete PubDatIne que podemos encontrar en 
  {{{
Text TolPackage::Client::_.packSyncInfo::PubDatIne[3]
}}} 
  vemos un caso en el que este problema aparece con una segunda vuelta de tuerca: {{{""Datos pÃƒÂºblicos del INE""}}}
  {{{
Text TextFromUTF8(""Datos pÃƒÂºblicos del INE""); 
//-> ""Datos pÃºblicos del INE""
Text TextFromUTF8(TextFromUTF8(""Datos pÃƒÂºblicos del INE"")); 
//-> ""Datos públicos del INE""
}}}

"	Pedro Gea
1125	Compatibilidad de un paquete con una versión de TOL	Various	head	TOL Packages	defect	Víctor de Buen Remiro	closed	2011-03-15T10:38:39Z	2011-03-17T08:46:14Z	"Hasta ahora sólo se requería una versión mínima de TOL a partir de la cual un paquete se suponía que iba a funcionar para siempre, es decir, que la compatibilidad hacia atrás se da por hecha.

Sin embargo está claro que ese objetivo no es nada realista, especialmente en el caso de los paquetes que incorporan funciones built-in escritas en C++, ya que en caso de haber una cambio estructural como que se añada o se quite un miembro o una función virtual de cualquiera de las clases manejadas por TOL y usadas en el paquete, se produce una situación de incompatibilidad binaria en ambos sentidos temporales que requiere recompilar el paquete aún cuando no haya cambiado ni una línea de código en el mismo. 

Es decir, hay que crear una versión nueva del paquete que será  incompatible con la versión vieja de TOL, pero la versión vieja del paquete será también incompatible con la nueva de TOL.

Como ahora mismo el sistema gestor de paquetes lo que hace es traerse el último paquete supuestamente compatible con la versión actual, lo que ocurriría es que los usuarios que no se actualizaran a la nueva versión de TOL se acabarían bajándo paquetes incompatibles que les darían graves problemas que sólo podrían resolver bajando manualmente paquetes que habría que especificarles personalmente.

Se hace necesario un nuevo campo {{{te_max_tol_version}}} en cada paquete que nos diga cual es la versión máxima de TOL compatible con cada él, lo cual es a su vez incompatible con las actuales estructuras  TOL {{{TolPackage::@VersionSynchro}}} y {{{TolPackage::@PackageSynchro}}} usadas para la sincronización de paquetes.

En la base de datos sin embargo no hay ningún problema pues la incorporación de nuevos campos no supone ninguna traba importante, salvo que los nuevos campos aparecen al final para no interrumpir el servicio. Como luego las queries pueden establer el orden que se desee esto no tiene ninguna importancia. Mientras el paquete siga siendo compatible con la versión actual de TOL y con los cambios planeados para las siguientes se puede expresar la ausencia de versión máxima estableciéndola como {{{""v999999999999999999""}}}. 

Aprovechando que se introducen estos cambios se añade otro campo {{{te_extra_info}}} tanto en la base de datos como en las estructuras TOL, en el cual se podrá introducir información extra en un futuro si se hace necesario, sin tener que modificar las estructuras de sincronización. Llegado el caso habría que pensar en como codificar el contenido de dicho campo pero de momento permanecerá vacío por lo que o hace falta perder tiempo en pensar en ello.

Los script PHP que dan acceso remoto a los repositorios deberán ahora distinguir la versión de {{{TolPackage}}} que le está haciendo la consulta para incluir o no los nuevos campos, mediante un argumento añadido {{{tol_package_version}}} que la especifique o por la ausencia del mismo. Para que en un futuro se puedan incorporar otras mejoras de este calibre, el valor de dicho argumento debe ser el de un nuevo miembro {{{TolPackage::_.version}}}
"	Víctor de Buen Remiro
1126	Compatibilidad de los paquetes locales con la versión de TOL	Various	head	TOL Packages	defect	Víctor de Buen Remiro	closed	2011-03-15T10:52:34Z	2011-03-16T15:06:50Z	"Queda por resolver el chequeo de compatibilidad de los paquetes locales, que puede ser especialmente problemático cuando conviven en una misma máquina versiones de TOL incompatibles entre sí.

Ahora mismo si el paquete existe localmente se presupone que es compatible con la versión de TOL, pero eso no tiene porqué ser así. 

El paquete descargado contiene dicha información pero sólo dentro del OIS por lo que sólo se puede acceder a ella una vez cargado, lo cual es absurdo pues queremos saberlo antes precisamente para saber cuál cargar.

Una forma bastante sencilla de disponer de esta información localmente sería guardar un archivo de índice con el estado de sincronización, y que se actualizara automáticamente cada vez que se instale un nuevo paquete. Para ello bastaría llamar a la función {{{TolPackage::Client:RemoteUpdateVersSyncInfo}}} para que guardara {{{TolPackage::Client::_.versSyncInfo}}} en un archivo OIS en la raíz del repositorio local del cliente.
"	Víctor de Buen Remiro
1127	Chequeo del rango de versiones compatibles con un paquete	Various	head	TOL Packages	defect	Víctor de Buen Remiro	closed	2011-03-15T11:13:00Z	2011-03-16T15:06:50Z	"Cuando un desarrollador publica una versión de un paquete ha de especificar en la propia definición TOL cuál es la versión mínima de TOL con la que es compatible con la versión del paquete.

Ocasionalmente también deberá especificar la versión máxima con la que es compatible, aunque eso es algo que sucede a toro pasado, por lo que hay que hacerlo constar modificando directamente el campo {{{package_f_contents.te_max_tol_version}}} en la base de datos del repositorio.

Cuando el paquete requiere a su vez de otros paquetes lo que sucede es que la versión mínima de TOL con la que el paquete será compatible debería ser mayor o igual la máxima de entre las mínimas de sus paquetes requeridos directa o indirectamente. Análogamente, la versión máxima compatible debería ser menor o igual que la mínima de entre las máximas de sus requerimientos.

Sin embargo no siempre se cumplen estas restricciones de coherencia pues es algo tedioso de comprobar manualmente.

Es necesario por lo tanto crear un proceso que chequee estos campos de forma descendente en la base de datos e informe al desarrollador de cuáles son las versiones mínima y máxima coherentes con los requerimientos de un paquete.

Lo ideal es que salte un mensaje de error cuando se intenta publicar un paquete con información de compatibilidad incoherente.
"	Víctor de Buen Remiro
1128	tol crash when excel handler is invalid	Excel API	2.0.1	Mantainance	defect	Jorge	closed	2011-03-16T14:45:50Z	2011-03-24T11:53:43Z	If you try to use and invalid excel handler, for instance one that has being closed, then tol crash.	Jorge
1129	_.autodoc.member no funciona siempre como es debido	OOP	head	Mantainance	defect	Víctor de Buen Remiro	closed	2011-03-17T09:59:02Z	2011-03-17T13:52:18Z	"A pesar de que tanto en {{{TolConfigManager::Default}}} como en {{{TolConfigManager::Config}}} está definido el miembro especial de documentación
{{{
#!cpp
Text _.autodoc.member.ExternalTools = ""Paths to external tools"";
}}}
se observa que la descripción de {{{TolConfigManager::Default::ExternalTools}}} no aparece mientras que la de {{{TolConfigManager::Config::ExternalTools }}} sí lo hace:

{{{
#!cpp
Text Description(TolConfigManager::Config::ExternalTools);
Text Description(TolConfigManager::Default::ExternalTools);
}}}

"	Víctor de Buen Remiro
1131	Argumentos opcionales para SetMat con valores no reales	Kernel	head	Mantainance	defect	Víctor de Buen Remiro	closed	2011-03-18T12:16:58Z	2012-02-13T10:13:34Z	"Actualmente la función {{{SetMat}}} cuando se encuentra valores no reales muestra un error y devuelve la matriz vacía
{{{
#!cpp
Matrix SetMat([[ [[1,2]],[["""",y2005]] ]])
}}}
Sin embargo puede que esto no sea lo deseado siempre. Puede que no queramos dar ningún mensaje o que queramos dar un warning y puede que queramos dar la matriz vacía, o dar una matriz llena de ceros, o que los valores no numéricos se sustituyan por omitidos o por ceros.

Haría falta por tanto un par de argumentos opcionales

 * {{{Text atNoReal.message}}} con uno de estos valores {{{ [[""Error"",""Warning"",""None""]]}}} y valor por defecto {{{""Error""}}}
 * {{{ {Matrix|Real} atNoReal.default}}} con valor por defecto 
   {{{Matrix atNoReal.default = UnknownMatrix}}}. Si se quiere 
   rellenar con omitidos las celdas no numéricas se pasaría
   {{{Real atNoReal.default = ?}}}
   

"	Víctor de Buen Remiro
1132	Cyclic references in BysMcmc causes undecompilable objects	BSR	head	Mantainance	defect	Víctor de Buen Remiro	closed	2011-03-18T16:52:32Z	2012-02-13T10:10:49Z	"Se han encontrado objetos de BysMcmc que no pueden decompilarse o destruirse debido a las referencias cíclicas o mutuas entre ellos.

Este hecho se aprecia al utilizar bloques no lineales.
Se adjunta un ejemplo en el que se detecta este hecho en el incremento de {{{NObject}}} (descomprimir y ejecutar test.tol)."	Pedro Gea
1133	Structs cannot be adequately decompiled	Kernel	head	Mantainance	defect	Víctor de Buen Remiro	closed	2011-03-18T17:41:00Z	2011-03-23T09:34:08Z	"Las estructuras TOL no se decompilan adecuadamente (como sí hacen las clases, que se declaran de un modo similar):
{{{
#!java
Real N1 = Copy(NObject);
Real {
  Struct @Prueba { Real algo };
0};
Real N2 = Copy(NObject);
Real NDif = N2-N1-2; 
WriteLn(""NDif: ""<<NDif); 
//> NDif: 2
}}}"	Pedro Gea
1134	Cyclic references in QltvRespModel causes undecompilable objects	Kernel	head	Mantainance	defect	Víctor de Buen Remiro	closed	2011-03-21T10:24:08Z	2012-02-13T10:10:20Z	"Se encuentra en el paquete QltvRespModel (y GrzLinModel) una situación similar a la descrita en #1132: los objetos construidos no se dejan decompilar naturalmente.

Se adjunta un ejemplo similar al expuesto allí para comprobarlo.
"	Pedro Gea
1135	Handling .oza files in new version	OIS	head	Mantainance	defect	Víctor de Buen Remiro	closed	2011-03-24T08:44:21Z	2014-01-20T12:37:23Z	"Hi,
please try to create a .oza file {{{ Real Ois.Store([[Real a = 1]], ""C:/Temp/a.oza""); }}} in version ""v2.0.1 b.0.59.alpha 2011-03-09 17:22:36 i686-win"" and try to load it with ""v2.0.1 b.0.56.alpha 2011-02-16 16:50:10 i686-win"" version.


"	Alfredo Torre
1137	Excel.ReadRange fails with non expected cells	Excel API	head	Mantainance	defect	Jorge	closed	2011-03-24T11:52:08Z	2011-03-24T11:53:43Z	When there are empty cells or cells that are not valid for specified cells returns the last valid value instead of the specified value.	Víctor de Buen Remiro
1138	Memory leak in Excel.ReadCell	Excel API	head	Mantainance	defect	Jorge	closed	2011-03-24T12:17:22Z	2011-03-24T16:05:03Z	"Next code shows how function {{{ Excel.ReadCell }}} lost three objects in each iteration.
{{{
#!cpp
Real CheckMemoryLeakInCycle (4, Real(Real void)
{
  Real xls = Excel.Open(""../test_0001/data.xls"");
  Real Excel.ActivateWS(xls,1);
  Anything cell = Excel.ReadCell(xls,[[1, 1]]);
  Real Excel.Close(xls);
  True
});
}}}
'''ouput:'''
{{{
lost objects = 12 in 4 iterations
lost objects by iteration= 3
}}}

However {{{Excel.ReadText}}} doesn't lost any object
{{{
#!cpp
Real CheckMemoryLeakInCycle (4, Real(Real void)
{
  Real xls = Excel.Open(""../test_0001/data.xls"");
  Real Excel.ActivateWS(xls,1);
  Text cell = Excel.ReadText(xls,[[1, 1]]);
  Real Excel.Close(xls);
  True
});
}}}

'''ouput:'''
{{{
lost objects = 0 in 4 iterations
lost objects by iteration= 0
}}}
"	Víctor de Buen Remiro
1140	CentOS RPM	Kernel	3.1	Mantainance	defect	Jorge	closed	2011-03-24T13:32:39Z	2012-04-18T12:45:57Z	It is requested the implementation of a tol distribution for CentOS based on rpm.	Jorge
1141	Memory leak in #Require	Kernel	head	Mantainance	defect	Víctor de Buen Remiro	closed	2011-03-24T15:29:03Z	2011-03-24T15:39:17Z	Cada vez que se ejecuta un #Require, esté o no cargado el paquete, se pierden tres objetos.	Víctor de Buen Remiro
1142	Mover la parte CPP de la API Excel al paquete TolExcel	Excel API	head	TOL Packages	task	Víctor de Buen Remiro	closed	2011-03-24T17:32:05Z	2011-03-28T15:29:50Z	Es importante mover la parte CPP de la API Excel al paquete TolExcel que sustituiría a ImportExport que es un nombre demasiado ambicioso para un paquete, antes de que se empiece a usar de forma habitual para poder empezar a limpiar el kernel de TOL y evitar posibles futuros problemas de compatibilidad.	Víctor de Buen Remiro
1143	La función Show debería ser capaz opcionalmente de deshabilitar la salida de log y el conteo de errores y warnings	Kernel	head	Mantainance	enhancement	Víctor de Buen Remiro	closed	2011-03-25T12:05:00Z	2011-03-25T18:50:38Z	La función Show no elimina los mensajes del log ni el contador de errores o warnings	Víctor de Buen Remiro
1144	Función Wrap de BText	Kernel	head	Mantainance	defect	Víctor de Buen Remiro	closed	2011-03-25T15:34:10Z	2011-03-25T18:56:12Z	"En tareas como generación automática de documentación puede ser muy útil una función que corte las líneas a un ancho máximo para su visualización en entornos que no permitan hacerlo de forma virtual como es el caso de las cajas de texto con sintaxis resaltada de este TRAC.

La API podría ser algo así
{{{
#!java
/*
Breaks lines with more than maxLineLength characters.
Only when a character in wordSeparators it will insert a line break.
If prefix is not empty it will be insert after each new break line.
*/
Text Wrap(
  Text textToWrap, 
  Real maxLineLength [, 
  Text wordSeparators="" "",
  Text prefix=""""])
}}}"	Víctor de Buen Remiro
1147	Ocultación opcional de miembros privados en el inspector de objetos.	Interface	head	Mantainance	enhancement	Jorge	closed	2011-03-29T10:15:40Z	2011-03-30T11:12:41Z	"Está bien que el usuario normal no los vea, pero para el desarrollador puede ser útil explorarlos para facilitar la depuración de problemas. Yo acabo poniendo read-only a todo porque si no es una lata depurar.

Podría haber como una opcion de configuracion de tol que active/desactive la visualización de miembros privados que por defecto esté a falso y que se pueda mofificar cuando se quiera

{{{
#!java
Real TolConfigManager::Config::Various::View::PrivateMembers := True
}}}

 
"	Víctor de Buen Remiro
1149	tol::info var does not work as expected	Interface	2.0.1	TOLBase Revitalization	defect	Jorge	closed	2011-03-29T18:46:48Z	2012-02-14T11:48:39Z	"The following code fails:

{{{
tol::info var {Real StdLib::Cierto}
}}}

it complains with:

{{{
""StdLib::Cierto"" isn't a variable in grammar Real
}}}
"	Jorge
1150	Priors on nonlinear parameters in BSR	BSR	head	Mantainance	doubt	Víctor de Buen Remiro	closed	2011-03-30T09:16:18Z	2011-05-16T13:07:34Z	"Estoy buscando introducir información a priori en los parámetros no lineales.

Soy capaz de ponerles una restricción de dominio, pero no sé (ni siquiera si se puede o qué sentido tiene) ponerle una distribución a priori.

Intenté ponerle un prior normal (como si fuese un parámetro lineal o el de un omitido) definiéndo un bloque ""primary"" pero obtengo el error:
{{{
Nombre de índice duplicado Veh.XXX.Mat__Pib.es.Men__SDelta.7
}}}

Miré en el código de BysMcmc y encontré un método {{{get.priorLogDens}}} pero tampoco sé de qué se trata."	Pedro Gea
1151	Se pierde el foco de la ventana de eval y de output en favor de la vetana de info	Interface	2.0.1	Mantainance	defect	Jorge	closed	2011-03-30T11:03:33Z	2014-03-14T11:29:37Z	"Cada vez que se compila o descompila algo se pierde el foco de la ventana de eval y de output en favor de la vetana de info.

Esto resulta muy desconcertante y también hace perder el tiempo bastante."	Víctor de Buen Remiro
1152	Moving BysMcmc::Inference to BysInfDiag	Math	head	TOL Packages	enhancement	Víctor de Buen Remiro	closed	2011-03-31T14:49:52Z	2011-04-12T09:22:47Z	"It's needed a new package BysInfDiag for inference and diagnosis bayesian methods over MonteCarlo Markov Chain.

This package must be extrated from BysMcmc::Inference due to is a general feature that should be available for any bayesian simulator."	Víctor de Buen Remiro
1153	Chequeo de enlace en los paquetes con funciones built-in C++	Kernel	head	Mantainance	defect	Víctor de Buen Remiro	closed	2011-04-01T14:07:22Z	2011-04-02T11:05:59Z	"Es necesario realizar un chequeo que permita comprobar si se ha efectuado correctamente el enlace con la librería C++ en los paquetes con funciones built-in C++.

Una forma sencilla es comprobar si existe alguno de los métodos built-in, indicando que todo ha ido bien.

El chequeo se debe realizar durante el StartActions y podría hacerse una función en TolPackage::Client que hiciera la carga de CppTools y el chequeo para no tener que replicar demasiado código de paquete en paquete con el peligro de propagación de errores que supone.

"	Víctor de Buen Remiro
1154	Función graficar conjuntos pares contra impares	Interface	2.0.1	Mantainance	defect	Jorge	closed	2011-04-01T16:55:50Z	2011-11-04T16:26:57Z	"Buenas tardes,

  la función de graficar conjuntos pares contra impares, si graficamos más de 10 conjuntos no lo hace correctamente.

Mando un conjunto de ejemplo donde se puede ver:

{{{
Set graphSet = For(1,1000, Set (Real k){
  
  [[
   Real x1 = k,
   Real y1 = k,
   Real x2 = k,
   Real y2 = 2*k,
   Real x3 = k,
   Real y3 = 3*k,
   Real x4 = k,
   Real y4 = 4*k,
   Real x5 = k,
   Real y5 = 5*k,
   Real x6 = k,
   Real y6 = 6*k,
   Real x7 = k,
   Real y7 = 7*k,
   Real x8 = k,
   Real y8 = 8*k,
   Real x9 = k,
   Real y9 = 9*k,
   Real x10 = k,
   Real y10 = 10*k,
   Real x11 = k,
   Real y11 = 11*k/*,
   Real x12 = k,
   Real y12 = 12*k,
   Real x13 = k,
   Real y13 = 13*k*/
  ]]
});

}}}

Si se grafica este conjunto con pares contra impares, la ultima linea la pinta erroneamente. Hasta 10 funciona correctamente. Además el orden de la leyenda no es el correcto.

Gracias"	Iván Robles
1157	[#Require] Conflicto de variables al requerir un paquete	Kernel	head	TOL Packages	defect	Víctor de Buen Remiro	closed	2011-04-08T09:29:51Z	2011-04-11T13:28:56Z	Al cargar el OIS de un paquete aparecen como variables globales sus miembros, no sólo el propio paquete, lo cual puede ocasionar conflictos y va totalmente en contra de la filosofía de los paquetes.	Víctor de Buen Remiro
1158	[TolExcel] La segunda vez que se compila el ReadRange no devuelve omitidos para las celdas vacías	Excel API	head	TOL Packages	defect	Jorge	closed	2011-04-08T13:57:18Z	2011-04-26T17:42:35Z	"En [source:/tolp/OfficialTolArchiveNetwork/TolExcel/test/test_0007/check.tol TolExcel/test/test_0007/check.tol] se llama a CppTools::ReadRange dos veces y ambas devuelve omitidos para las celdas vacías. Pero si descompilamos y volvemos a compilar entonces devuelve el valor de la última celda no vacía en lugar del omitido esperado.
"	Víctor de Buen Remiro
1159	Error accessing TolConfigManager::...::PrivateMembers	Kernel	head	Mantainance	defect	Víctor de Buen Remiro	closed	2011-04-08T15:35:08Z	2011-04-12T09:21:46Z	"Redirijo un tique que está afectando al uso de instancias desde el inspector de TOLBase:

De algún modo la variable:
{{{
TolConfigManager::Config::Various::View::PrivateMembers
}}}
no está disponible y el inspector falla con un mensaje como éste:
{{{
Warning: [1] La función :: ha fallado en : 
TolConfigManager::Config::Various::View::PrivateMembers
ERROR: [1] __getViewPrivateMembers_tmp__ no se pudo crear.
}}}"	Pedro Gea
1160	[TolExcel] Identificación de celdas mediante coordenadas textuales	Excel API	head	TOL Packages	enhancement	Jorge	closed	2011-04-11T10:17:25Z	2011-04-12T09:20:51Z	"La API C++ nativa admite la identificación de celdas mediante cadenas de texto tipo {{{""A7""}}} ó {{{""BX216""}}} en las que el grupo de letras expresa la columna y el número posterior la fila. Las funciones built-in admiten alternativamente argumentos de tipo texto o bien un conjunto de coordenadas numéricas {{{[[Real row, Real col]]}}}

En la API TOL del paquete las funciones de lectura {{{TolExcel::@WorkBook::Read*}}} de celdas y rangos se dan como argumentos numéricos separados.

Para dar acceso al comportamiento interno se deberían incluir nuevas funciones en el paquete a las que llamaremos {{{TolExcel::@WorkBook::read*}}} para no entrar en conflicto con las anteriores.

"	Víctor de Buen Remiro
1161	Error with package QltvRespModel	Kernel	head	Mantainance	defect	Víctor de Buen Remiro	closed	2011-04-11T11:48:27Z	2011-04-11T13:44:43Z	"Utilizando la nueva versión de TOL (61) obtengo los siguientes errores al hacer:
{{{
#Require QltvRespModel
}}}

{{{
Ha sido cargado el paquete MatQuery.3.2
Ha sido cargado el paquete TolCint.2.1
[TolExcel] Loading library C:/Users/pgea/AppData/Roaming/tol/TolPackage/1.1/Client/TolExcel.1.1/CppTools/Windows_x86_32/TolExcel.dll -> OK
Ha sido cargado el paquete TolExcel.1.1
[NonLinGloOpt] Loading library C:/Users/pgea/AppData/Roaming/tol/TolPackage/1.1/Client/NonLinGloOpt.4.1/CppTools/Windows_x86_32/NonLinGloOpt.dll -> OK
Ha sido cargado el paquete NonLinGloOpt.4.1
Ha sido cargado el paquete BysPrior.1.1
Ha sido cargado el paquete BysInfDiag.1.1
[BysSampler] Loading library C:/Users/pgea/AppData/Roaming/tol/TolPackage/1.1/Client/BysSampler.3.1/CppTools/Windows_x86_32/BysSampler.dll -> OK
Ha sido cargado el paquete BysSampler.3.1
Ha sido cargado el paquete GrzLinModel.2.1

ERROR: [1] OIS: 
No se puede cargar del OIS Class @WgtBoolReg debido a que su ascendiente Class BysSampler::@Target no existe

ERROR: [2] OIS: 
BOisLoader::ReadNextObject: NULL element of set 

ERROR: [3] OIS: 
BOisLoader::ReadNextObject: NULL element of set 

ERROR: [4] El paquete corrupto QltvRespModel.3.1 ha sido eliminado localmente y no serÃ¡ reinstalado de nuevo.
No ha sido cargado el paquete QltvRespModel.3.1
}}}"	Pedro Gea
1162	Include()	Various	head	Mantainance	defect	Víctor de Buen Remiro	closed	2011-04-11T16:48:49Z	2011-04-12T09:13:01Z	"Me gustaría que Tol, en lugar de la traza
  Ha sido incluido el fichero ...
tuviera la traza 
  Va a ser incluido el fichero ... 

es decir, que diga qué fichero se va a incluir antes de que se lo incluya. La razón es que así se sabe que el error proviene de ese archivo; de la otra forma podría haber dudas.
"	Javier Gallardo
1163	Llamada de un elemento de un conjunto vacío por su nombre	Kernel	2.0.1	Mantainance	defect	Víctor de Buen Remiro	closed	2011-04-12T10:17:35Z	2011-04-12T10:46:36Z	"la sentanecia 
{{{
#!java
Set cjto = Empty;
Anything  cjto[""NombreObject""];
//No se produce ningun error pero tampoco ninguna salida
Anything  cjto[1];
//Si se produce error.
}}}"	Chakib Faghloumi
1164	A shortcut to tolbase.exe at the installation path	Kernel	head	Mantainance	enhancement	Jorge	closed	2011-04-13T15:54:58Z	2013-07-17T13:49:06Z	"Se sugiere la inclusión de un acceso directo en el directorio de instalación de tolbase (concretamente en el bin) ya que es útil para evitar las ''pantallas negras'' con el mecanismo de apertura de TOL basado en archivos .bat (en windows) (Véanse #923, #928)

Entiendo que no es lo más ortodoxo, pero ya que no se dispone de ninguna manera natural de cargar archivos ""project.ini"" e ""_iniproject.tol"" que colocándolos en el directorio de instalación.

La propuesta es sustituir la llamada a ""tolbase.exe"" por ""tolbase.lnk"" en los mecanismos basados en archivos "".bat"" del tipo:
{{{
copy project.ini  ""%PROGRAMFILES%\Tol-Project\tolbase-v2.0.1\lib\toltk\project.ini"" /Y
copy _iniproject.tol ""%PROGRAMFILES%\Tol-Project\tolbase-v2.0.1\_iniproject.tol"" /Y
start ""TOLBase"" ""%PROGRAMFILES%\Tol-Project\tolbase-v2.0.1\bin\tolbase.lnk""
exit
}}}

No estoy seguro pero quizá con una línea como:
{{{
CreateShortCut ""$INSTDIR\bin\tolbase.lnk"" ""$INSTDIR\bin\tolbase.exe""
}}}
en [source:trunk/windows/NSIS/Tolbase.nsi.template Tolbase.nsi.template] o donde corresponda, bastaría."	Pedro Gea
1165	::TolInspector --> Gramática Real	Toltcl	head	Mantainance	defect	Jorge	closed	2011-04-13T16:40:40Z	2011-04-14T10:02:31Z	"Al utilizar el método DBConnect::Create() da un error cuando el usuario intenta acceder a la gramática Real del Inspector de Objetos de TolBase.

//////////////////////////////////////////////////////////////////////////////
""Con.TeleSP.OtiCob::dbc::Activate"" isn't a function in grammar Real
""Con.TeleSP.OtiCob::dbc::Activate"" isn't a function in grammar Real
    while executing
""::tol::info functions $grammar $fun""
    (procedure ""SelectGrammar"" line 50)
    invoked from within
""SelectGrammar""
    (""grammar"" arm line 2)
    invoked from within
""switch -regexp $node_type  {
    root {
      switch $node_name {
        root -
        grammars {
          ClearHiertables
          #$w_tabset tab...""
    (procedure ""::TolInspector::SelectObject"" line 41)
    invoked from within
""::TolInspector::SelectObject""
//////////////////////////////////////////////////////////////////////////////

Al parecer, cuando se usa ese método, que está definido en 
  tolbase-v2.0.1\bin\stdlib\data\db\_db_connect.tol,
crea un NameBlock con el nombre 'dbc' que luego evalúa y lo cambia por el nombre del proyecto:
Eval(""NameBlock ""+alias+""=dbc"") // Línea 149 del código

Luego, ó bien el procedimiento de Tcl ::TolInspector::SelectObject ó el ::TolInspector::SelectGrammar hacen algo raro y no entienden en el árbol que 'dbc' ya no existe, que debería ser (en mi caso) 'Con.TeleSP.OtiCob' con lo cual debería llamar al método Con.TeleSP.OtiCob::Activate en lugar del que está intentando llamar, Con.TeleSP.OtiCob::dbc::Activate.

"	Javier Gallardo
1167	Función AutoRegInt.	Kernel	2.0.1	Mantainance	defect	Víctor de Buen Remiro	closed	2011-04-14T09:14:09Z	2011-04-15T10:02:13Z	"Buenos días,

 la función AutoRegInt no da resultados. No se si está en desuso, lo he visto porque se usa en HtmlLinReg, y queria ver la salida de esta función.

Pongo un código que se queda pensando pero no termina:
{{{
Set AutoRegInt(SubSer(DiasMes,y2000,y2009m12),12);

}}}

Con este se cae TOL

{{{
Set AutoRegInt(SubSer(DiasMes,y2000,y2009m12),1);
}}}

Un cordial saludo


"	Iván Robles
1168	Ctrl+U, Ctrl+I en la ventana Eval	Interface	head	Mantainance	trick	Jorge	closed	2011-04-14T10:14:54Z	2012-02-14T10:56:48Z	"De igual modo que se tiene en los ficheros el uso de Ctrl+U para indentar a la izquierda y Ctrl+I para indentar a la derecha se podría tener en la ventana Eval.

"	Javier Gallardo
1169	SqlEngine::SqlMicFormatReal	Kernel	head	Mantainance	defect	Víctor de Buen Remiro	closed	2011-04-14T10:47:48Z	2011-04-14T15:27:25Z	"A partir de los cambios de If(?, ..., ...) se produce el Warning: 
  [If] la función de condición no puede devolver valores desconocidos.

que por un lado no perjudica el resultado, pero por otro resulta molesto.

Propongo que la función sea:




//////////////////////////////////////////////////////////////////////////////
Text SqlMicFormatReal(Real rea)
//////////////////////////////////////////////////////////////////////////////
{
  Real isUnk = IsUnknown(rea);
  Real isInf = IsInfinite(rea);

  If(Or(isUnk, isInf), 
    ""convert(float, null)"", 
  {  
    Real filRea = If(LT(-SqlMicDefaultPrecision, rea, SqlMicDefaultPrecision),
      rea, 
      Sign(rea)*SqlMicDefaultPrecision
    );

    FormatReal(filRea,SqlMicFormatRealTol2Sql)
  })
};
//////////////////////////////////////////////////////////////////////////////


"	Javier Gallardo
1170	Alternativa a PutDumpFile	Various	head	Mantainance	defect	Víctor de Buen Remiro	closed	2011-04-14T11:06:34Z	2011-04-14T14:23:30Z	En ocasiones, por ejemplo cuando necesitamos hacer varias llamadas a tol.exe, queremos guardar todos los .log generados y para ello lo invocamos con el PutDumpFile, sin embargo deberíamos contar con un PutDumpFileX que no machaque el texto del .log, en su lugar que siga escribiendo a continuación del texto ya escrito. Esto nos permitiría guardar todos los .log de un mismo proceso en uno solo.	Javier Gallardo
1171	TableColumns()	Various	head	Mantainance	enhancement	Víctor de Buen Remiro	closed	2011-04-14T15:51:20Z	2011-04-15T10:57:58Z	"La función ahora permite más de tres campos por fila.


{{{
#!java
//////////////////////////////////////////////////////////////////////////////
Set TableColumns(Anything qry_OR_cto){
//////////////////////////////////////////////////////////////////////////////
  Real enOtroCaso = 1;

  Text qry_OR_cto.gram = Grammar(qry_OR_cto);

  Set ctoDatos = Case(
  // ------------
    qry_OR_cto.gram==""Text"", 
    DBTable(qry_OR_cto),
  // ------------
    qry_OR_cto.gram==""Set"", 
    qry_OR_cto,
  // ------------
    enOtroCaso,
  {
    WriteLn(""<E>ERROR TableColumns: gramática de qry_OR_cto, '""+
            qry_OR_cto.gram +
            ""' no contemplada</E>"");
    Empty
  });

  // ---------------------------
  Text toText(Anything algo){
  // ---------------------------
     """"<< algo
  };
  // ---------------------------

  // ---------------------------
  Real posicion(Set cto, Text elto){
  // ---------------------------
    Real card = Card(cto);
    Real cont = Copy(1);
    Text elto_i = Copy(cto[cont]);
    Real condicion = And(elto_i!=elto, LT(cont, card));

    Real While(condicion,
    {
      Real (cont := cont+1);
      Text (elto_i := Copy(cto[cont]));
      Real (condicion := And(elto_i!=elto, LT(cont, card)));
      1
    });
    If(elto_i==elto, Copy(cont), 0)
  };
  // ---------------------------

  Real card = Card(ctoDatos);

  Set indices = {
    Set c01 = Extract(ctoDatos, 2);
    Set c02 = For(1, card, Text(Real i){
       toText(c01[i][1])
    });
    Set c03 = Unique(c02);
    Sort(c03, Real(Text t1, Text t2){ Compare(t1, t2) })
  };

  Set prefijos = {
    Set c01 = Extract(ctoDatos, 1);
    Set c02 = For(1, card, Text(Real i){
       toText(c01[i][1])
    });
    Set c03 = Unique(c02);
    Sort(c03, Real(Text t1, Text t2){ Compare(t1, t2) })
  };

  Set prefijos_indices = For(1, Card(indices), Set(Real i){
    Set cto = For(1, Card(prefijos), Text(Real j){ Copy("""") });
    cto
  });

  Set EvalSet(ctoDatos, Real(Set reg){
    Text reg_pre = toText(reg[1]);
    Text reg_ind = toText(reg[2]);
    Text reg_dat = {
      Set subCto = ExtractByIndex(reg, Range(3, Card(reg), 1));
      If(Eq(Card(subCto), 1),
        toText(subCto[1]),
        toText(subCto)
      )
    };

    Real pos_i = posicion(indices, reg_ind);
    Real pos_j = posicion(prefijos, reg_pre);
    Text elto  = reg_dat;
    Text (prefijos_indices[pos_i][pos_j] := Copy(elto));

    1
  });

  Set ctoIndices = EvalSet(indices, Set(Text t){ SetOfText(t) });

  Set ctoPrefijos = SetOfSet(SetOfText(""indices / prefijos"") << prefijos);

   ctoPrefijos << (ctoIndices | prefijos_indices)
};
//////////////////////////////////////////////////////////////////////////////
PutDescription(""
Dada una consulta que devuelve al menos tres campos, crea un conjunto-tabla
donde las columnas serán el primer campo (prefijo), y las filas serán el 
segundo (índice).
La primera fila del Set resultante tendrá los nombres de los prefijos.
La primera columna del Set resultante tendrá los nombres de los índices.
¡¡¡ TODO lo que se devuelve dentro del conjunto es de tipo Text !!!, por lo 
tanto, el orden que se sigue tanto en los prefijos como en los índices es el 
lexicográfico.
Las máscaras utilizadas en FormatReal() y en FormatDate() son las que usa Tol 
por defecto.
"", TableColumns);
//////////////////////////////////////////////////////////////////////////////
}}}"	Javier Gallardo
1172	Cannot inspect variables beginning with underscore	Interface	head	Mantainance	defect	Jorge	closed	2011-04-15T09:04:13Z	2011-04-15T17:00:48Z	"Algunos cambios han debido provocar esta situación, pero ahora no se pueden inspeccionar las variables que comienzan por ""_"" y si lo hacen por ""_."" aparecen grises como si fuesen de solo lectura.

Esto pasa aun cuando no estén dentro de un nameblock. Antes no era así.

Basta con probar a hacer:
{{{
Real _a = 1;
Real _.b = 2;
}}}
en la ventana ''Eval''."	Pedro Gea
1173	The function Grammar and the classes	Kernel	head	Mantainance	defect	Víctor de Buen Remiro	closed	2011-04-15T15:06:33Z	2011-04-15T15:10:37Z	"La función Grammar devuelve ""Anything"" cuando actúa sobre una clase.

{{{
NameBlock modulo = [[
  Class @clase { Real miembro };
  Struct @estructura { Real elemento }
]];
Set EvalSet(NameBlockToSet(modulo), Grammar);
// => [[ ""Anything"", ""Struct"" ]]
}}}
"	Pedro Gea
1174	Converting a NameBlock in a Set	Kernel	head	Mantainance	defect	Víctor de Buen Remiro	closed	2011-04-15T15:29:03Z	2011-04-15T16:02:19Z	"Aunque un nameblock se puede convertir en un set, éste mantiene algunas características del nameblock:

{{{
Set set = NameBlockToSet(nameblock);
Anything set[1];
// ERROR: [] No se puede acceder a los miembros de un NameBlock con el operador [...]
}}}
"	Pedro Gea
1175	Accessing member information	Kernel	head	Mantainance	defect	Víctor de Buen Remiro	closed	2011-04-15T15:36:01Z	2011-04-20T08:00:05Z	"Sería muy interesante disponer de un método para obtener el conjunto de nombres de los atributos de un nameblock y no tener que recurrir al artificio:
{{{
Set EvalSet(NameBlockToSet(nameblock), Name);
}}}

Quizá podría ofrecerse el listado de miembros con alguna estructura informativa de modo que pudiera luego filtrarse si es atributo o método es público oprivado, heredado o propio, etc.
Pudiendo hacerse fácilmente cosas como:
{{{
Set selection = Select(Members(nameblock), Real (Set member) {
  member->Grammar==""Real"" & member->Access==""Public""
});
Set EvalSet(selection, Text (Set member) { member->Name });
}}}"	Pedro Gea
1176	GetArimaFromLabel and the trivial ARIMA	Kernel	head	Mantainance	defect	Víctor de Buen Remiro	closed	2011-04-18T12:10:11Z	2011-04-20T07:59:13Z	"Según el método {{{GetArimaFromLabel}}} el conjunto de factores ARIMA vacío (una estructura ARIMA trivial) tiene la etiqueta ""PDIFARMA"".
{{{
Text GetLabelFromArima(Empty);
// -> ""PDIFARMA""
}}}

Sin embargo el método inverso no es capaz de entender esta etiqueta:
{{{
Set GetArimaFromLabel(GetLabelFromArima(Empty));
//ERROR: [] Fin de la expresión inesperado.  en el carácter 4, línea 1:
// > Real ;
//       ^
// ...
}}}"	Pedro Gea
1178	PutDescription and non-static members	OOP	head	Mantainance	enhancement	Víctor de Buen Remiro	closed	2011-04-20T16:19:25Z	2011-05-30T18:10:06Z	"Aunque el mecanismo propuesto para poner una descripción a los miembros de una clase es mediante atributos del tipo: ""_.autodoc.member.[MemberName]"". Éste es insuficiente si se desean localizar (traducir o adaptar a un lugar) estas clases y sustituir estas descripciones según el idioma seleccionado.

Al intentar implementar unos mecanismos para cambiar la descripción de los miembros una vez ya creada la clase, nos encontramos que no hay manera de cambiar estas descripciones sin tener una instancia de dicha clase, ya que {{{@Clase::Member}}} no es accesible salvo para miembros estáticos.

Si pensamos en paquetes, el objetivo es poder crear un único paquete, independiente de la lengua seleccionada, y cambiar las descripciones a posteriori, en el {{{StartActions}}}.

Bastaría con una función del tipo: {{{ClassPutDescription(Text description, Text classMember)}}}.

También me pregunto si una clase admite descripción. En ese caso, quizá podría extenderse la función propuesta para que acepte el nombre de la clase: {{{ClassPutDescription(description, className)}}}

Podría implementarse también una función del tipo: {{{ClassDescription(Text classMember)}}} complementaria a la anterior, que permita obtener la descripción de un miembro de una clase o de la propia clase si fuera el caso."	Pedro Gea
1180	Avoiding function overloading warnings	Kernel	head	Mantainance	enhancement	Víctor de Buen Remiro	closed	2011-04-25T17:06:43Z	2011-04-27T13:20:24Z	"Bastante a menudo se encuentran advertencias (e incluso errores) si al utilizar una función no se le antepone adecuadamente el tipo de su salida.

Los casos pueden dividirse en dos situaciones, cuando la sobrecarga de la función se debe a la implementación del mismo concepto para distintos tipos, y cuando se trata de distintos conceptos.

El primer tipo de sobrecarga puede dividirse en tres tipos:
 (a) Distinto tipo de salida y distinto tipo de argumento.
 Un ejemplo de este tipo es la función {{{Cos}}} que devuelve un objeto del mismo tipo que el argumento.

 (b) Distinto tipo de salida, pero mismo tipo de argumento.
 Un ejemplo de este tipo es la función {{{SetRow}}} que devuelve un objeto Matrix o VMatrix, pero siempre recibe un conjunto de reales.

 (c) Mismo tipo de salida, pero distinto tipo de argumento. 
 Esta sobrecarga no es factible, ya que no se admiten dos funciones con el mismo nombre y el mismo tipo de salida. Véanse {{{Rows}}} y {{{VRows}}}. Quizá lo más parecido en este sentido son las funciones con argumentos de tipo Anything (como {{{Compare}}}) o con un tipo mixto (como el segundo argumento del método {{{Matrix Eq}}}).

La cuestión que se pretende tratar en el tique es la primera (a) y en parte también el caso de funciones homónimas que representan conceptos distintos.

Veamos algunos casos de la aparición de dicha advertencia:

{{{
#!java
// Produce la advertencia pero acierta en la elección:
Real If(Sub(""Texto"",1,1)==""T"", 1, 0);

// Alternativa:
Real If(Text Sub(""Texto"",1,1)==""T"", 1, 0);
// Esto tiene el aspecto de que el primer argumento es de 
// tipo Text aunque es Real. También se puede indicar así:
Real If(Real Text Sub(""Texto"",1,1)==""T"", 1, 0);
Real If(Real (Text Sub(""Texto"",1,1)==""T""), 1, 0);
}}}


{{{
#!java
Anything Cos2(Anything x) { Cos(x)**2 };
Real Cos2(3);
Serie Cos2(SubSer(Trend(y2011,C),y2011, y2012));
// La llamada produce una advertencia y en el segundo caso un error

// Alternativa basda en el tipo del argumento:
Anything Cos2b(Anything x) { 
  Code cos = FindCode(Grammar(x), ""Cos"");
  cos(x)**2 
};
Real Cos2b(3);
Serie Cos2b(SubSer(Trend(y2011,C),y2011, y2012));
}}}

Nótese que los operadores no sufren dicha advertencia:
{{{
#!java
Anything Pow2(Anything x) { x**2 };
Real Pow2(3);
Serie Pow2(SubSer(Trend(y2011,C),y2011, y2012));
}}}

La propuesta es crear para este grupo de funciones compiladas del tipo (a) una nueva función con salida {{{Anything}}} que sea llamada en caso de no citarse explícitamente el tipo de salida y que escoja adecuadamente la versión de la función de acuerdo al tipo del argumento. 
Se entiende que esta versión no tipada puede ser algo más lenta que su versión tipada, pero no le veo otro inconveniente. En caso de tipar la salida, se utilizará la versión adecuada de manera directa.

Las funciones de este tipo (a) son:
 * And, Or, Not
 * Eq, NE
 * GT, GE LT, LE: podrían tener una versión para Date
 * Max, Min
 * Abs, Sign
 * Round, Floor
 * IsUnknown, IsFinite
 * IsPosInf, IsNegInf: podrían tener una versión para VMatrix
 * Sqrt, SqRt: Sqrt no tiene versiones en Real y Complex y SqRt no tiene para VMatrix.
 * Exp, Log
 * Log10, LogBase: Log10 no tiene versión en Complex y LogBase no tiene en Serie, Matrix y VMatrix.
 * [|A][Sin|Cos|Tan][|H]: las trigonométricas e hiperbólicas directas e inversas.

También hay otras funciones como:
 * Sum, Prod, Concat: de argumento múltiple parecidas a operadores y normalmente sustituidas por éstos ""+"", ""*"", ""<<"" o sus versiones con funciones de conjunto: ""SetSum"", ""SetProd"", o ""SetConcat"" (ésta sólo funciona con conjuntos).
 * Concat[Rows|Columns], Sub[Row|Col|Diag], RPow (RSum y RProd no devuelven VMatrix), Tra y otras funciones para el manejo de matrices virtuales o no.
 * Otras funciones donde el significado, el número de argumentos o incluso el orden de los mismos varía, como: Gaussian, Rand, Succ, DifEq, Sub, Quantile, Reverse, Replace, Expand, Day, Range, entre otros.

Destacaría 
 * la función Quantile, cuya versión sobre matrices debería llamarse MatQuantile y probablemente recibir la probabilidad como primer argumento.
 * la función Succ que confunde el orden de sus argumentos:
   {{{TimeSet Succ(TimeSet, Real, TimeSet)}}} pero {{{Date Succ(Date, TimeSet, Real)}}}. Aunque entiendo que tiene difícil arreglo.
 * la función Day, en su variante con salida TimeSet optaría por {{{TimeSet TheDay(Date date)}}} que evitaría confusión y facilitaría la implementación de otras como {{{TheMonth(), TheYear(),...}}} en caso de ser necesario, o quizá por algun nombre del tipo {{{YMD(year, month, date)}}} en analogía a la llamada {{{Y(year)*M(month)*D(day)}}}.

Respecto a las funciones para el manejo de textos, propongo introducir las variantes con el prefijo Text, con el fin de evitar, la advertencia y localizar fácilmente todas las funciones para el manejo de textos:
 * Sub, Replace, Reverse -> TextSub, TextReplace, TextReverse
 * TextLength, TextFind, TextMatch, TextOccurrences, TextBeginWith, TextEndAt,...








"	Pedro Gea
1181	Joining texts without operator	Kernel	head	Mantainance	doubt	Víctor de Buen Remiro	closed	2011-04-25T17:16:36Z	2011-04-26T07:38:11Z	"Se trata sólo de una duda: si la posibilidad de concatenar o unir textos (explícitos) sin utilizar un operador, es algo premeditado o incluso recomendado. Ya que es útil al escribir textos en varias líneas, como por ejemplo:
{{{
Text texto = ""Se trata sólo de una duda: si la posibilidad de ""
  ""concatenar o unir textos (explícitos) sin utilizar ..."";
}}}
pero un tanto confuso al usarlo en una misma línea:
{{{
Text texto = ""Parece que hay comillas """" en el texto, pero no"";
//> ""Parece que hay comillas  en el texto, pero no""
}}}"	Pedro Gea
1182	Using pre-declared classes	OOP	head	Mantainance	defect	Víctor de Buen Remiro	closed	2011-04-26T07:25:03Z	2011-04-26T08:13:21Z	"Parece ser que desde la versión b.0.52 (puede verse [https://trac.localbayes.es/mms/ticket/597 MMS#597]) en adelante no es posible citar una clase antes de definirla (estando sólo predeclarada).

{{{
#!java
Class @Ejemplo;

@Ejemplo Funcion(Real valor) {
  @Ejemplo ejemplo = [[ Real _.valor = valor ]]
};

Class @Ejemplo {
  Real _.valor
};

// ERROR: [] Declaración errónea de función
// @Ejemplo Funcion(Real valor)
// <Funcion> no es un tipo de datos válido.
}}}"	Pedro Gea
1183	Error in a BSR estimate (package BysMcmc)	BysMCMC	head	Mantainance	defect	Víctor de Buen Remiro	closed	2011-04-26T08:39:48Z	2011-09-19T15:22:00Z	"Hi, 

TOL returns this error message when estimating with BSR:

{{{
ERROR: [103] Dimensiones no válidas para RandTruncatedIdMultiNormal A(25933x1) B(25933x1) nu(25933x0)
}}}

I'm using TOL version ""v2.0.1 b.0.63.alpha 2011-04-20 09:04:06 i686-win"" and BysMcmc version ""4.3"". It seems to work fine with BysMcmc version ""4.2"".

Please contact me to recieved the estimation file in order to reproduce this error.

Regards
"	imendez
1184	PutName and new objects	Kernel	head	Mantainance	defect	Víctor de Buen Remiro	closed	2011-04-26T08:56:16Z	2011-04-27T17:54:10Z	"La función {{{PutName}}} no puede utilizarse sobre objetos sin un nombre previo o definidos en el argumento. Por ejemplo:
{{{
#!java
Real PutName(""valor"", 2);
//ERROR: [] 2 no es un objeto valido para el tipo Real.
//Warning: [] La función PutName ha fallado en : 
//  PutName(""valor"", 2)
}}}

No sé si esta limitación tiene alguna intencionalidad o podría resolverse. 

Habitualmente para ello utilizo una función auxiliar con el siguiente código:
{{{
#!java
Anything PutName2(Text name, Anything object) {
  Anything object_ = object;
  PutName(name, object_)
};
}}}
de la que quizá podría prescindir.

También es bastante común, para asignar un nombre ver código como el siguiente:
{{{
#!java
Eval(Grammar(object)<<"" ""<<name<<"" = object"");
}}}

Aprovecho para comentar algunos otros detalles de esta función como que me confunden un poco.

Parece que la función asigna el nombre localmente pero lo comprueba globalmente.

Esto no da error cuando lo esperaría:
{{{
#!java
Real {
  Real a = 1;
  Real b = 2;
  Real PutName(""a"", b);
  Real a
};
//> 2
}}}

Sin embargo esto sí lo da y no lo esperaba:

{{{
#!java
Real a = 1;
Real {
  Real b = 2;
  Real PutName(""a"", b);
  Real a
};
//ERROR: [] No se puede hacer PutName : a existe todavía
}}}

Pero sin embargo la variable renombrada no es accesible globalmente:
{{{
#!java
Real a = 1;
Real {
  Real b = 2;
  Real PutName(""c"", b);
  Real c
};
Real c;
//ERROR: [] c no es un objeto valido para el tipo Real.
}}}
quizá porque ya no existe.

Para evitar esto suelo usar una función auxiliar 
{{{
#!java
Anything PutLocalName(Text name, Anything object) {
  Eval(Grammar(object)<<"" ""<<name<<"" = object"")
};
}}}
aunque quizá lo mejor es definir bien el comportamiento de {{{PutName}}}.

También sería necesario considerar qué nombres son aceptables, ya que ahora es admisible casi cualquier tipo de nombre, aunque vuelva al objeto inaccesible. Por ejemplo:
{{{
#!java
Real a = 1;
Real PutName(""$5./* @"", a);
}}}
Aunque solucionar esto último pueda ser delicado, porque creo que se está usando del siguiente modo:
{{{
#!java
Set conjunto = Copy(Empty);
Real a = 1;
Set Append(conjunto, [[ PutName(""$5./* @"", a) ]], True);
Real FindIndexByName(conjunto, ""$5./* @"");
//> 1
}}}"	Pedro Gea
1186	Description at read-only attributes	Kernel	head	Mantainance	defect	Víctor de Buen Remiro	closed	2011-04-28T08:30:03Z	2011-04-28T17:22:41Z	"La descripción de los atributos de sólo lectura no llega a aplicarse correctamente:
{{{
#!java
Class @Ejemplo {
  Text _.autodoc.member.a = ""Atributo a"";
  Text _.autodoc.member._.b = ""Atributo b"";
  Real a;
  Real _.b
};
@Ejemplo ejemplo = [[ 
  Real a = 1;
  Real _.b = 0
]];
Text Description(ejemplo::a);
//> ""Atributo a""
Text Description(ejemplo::_.b);
//> """" !!
}}}"	Pedro Gea
1188	Error con SerDat en series con fechado mensual.	Kernel	head	Mantainance	defect	Víctor de Buen Remiro	closed	2011-04-28T16:56:08Z	2011-04-28T17:17:11Z	"Hola Tol, por error he compilado el siguiente código: 
{{{
#!java
Date dia  = y2004m03d03;
Real dias = SerDat(DiasDelMes,dia);
}}}
Resulta que el número de días de marzo es 31, pero la función me daba 29. Entiendo que al pasarle una fecha distinta de dia 1 a una serie en mensual provoco el error, pero ¿no debería avisarlos que esa fecha no pertenece al fechado o similar? o al menos internamente usar el día 1.
Entiendo que es una trivialidad, pero no está de más controlar esas cosas."	lmperez@…
1189	check if Tcl interpreter available	Kernel	2.0.1	Mantainance	task	Víctor de Buen Remiro	closed	2011-04-29T18:53:52Z	2011-05-16T07:48:45Z	"Implemente a function that returns true if Tcl is available.

{{{
Real IsTclAvailable( Real void );
}}}"	Jorge
1190	Cambio de versión de desarrollo a 2.0.2	Interface	head	Mantainance	defect	Jorge	closed	2011-05-03T08:23:07Z	2011-12-07T21:23:07Z	"Al cambiar la versión de desarrollo a 

  {{{v2.0.2 b.0.1.alpha}}}

veo que en la ventana ""Acerca de TolBase"" ha cambiado el identificador de release {{{b.0.1.alpha}}} pero sigue poniendo {{{v2.0.1}}}"	Víctor de Buen Remiro
1191	A Graphical Interface for Managing Packages	Interface	head	TOLBase Revitalization	enhancement	Jorge	closed	2011-05-03T16:39:14Z	2012-03-01T19:01:52Z	"Se solicita una interfaz gráfica para la gestión de paquetes en TOL que permita:
 * Gestionar los repositorios definidos: añadir un nuevo repositorio o quitarlo, comprobar la disponibilidad o acceso a los repositorios definidos.
 * Explorar el árbol de paquetes disponibles para su instalación desde cada repositorio y facilitar la instalación de paquetes.
 * Explorar el conjunto de paquetes instalados, comprobar los distintos estados de un paquete: actualizado, actualizable (upgrade o update) y actualizarlos.
 * Instalación de un paquete desde un archivo ZIP.
 * Otras tareas de mantenimiento
"	Pedro Gea
1192	Segfault with NonLinGloOpt	Kernel	2.0.1	TOL Packages	defect	Jorge	closed	2011-05-04T10:24:09Z	2012-02-14T13:15:52Z	"NonLinGloOpt generate a Segfault while loading

{{{
Including /opt/web/applications/.tol/TolPackage/1.1/Client/VersSyncInfo.oza
Including /opt/web/applications/.tol/TolPackage/1.1/Client/VersSyncInfo.oza
Loaded package TolCint.2.1
Segmentation fault
}}}

The OS is:

{{{
Distributor ID:	CentOS
Description:	CentOS release 5.5 (Final)
Release:	5.5
Codename:	Final
}}}"	Jorge
1193	residuos altos	Math	head	Mantainance	defect	Víctor de Buen Remiro	closed	2011-05-04T17:43:16Z	2011-05-05T08:24:59Z	"Hola, la estimación adjunta genera unos residuos iniciales muy grandes y no se a que se debe.

"	Jorge
1194	Mostrar la traza de la pila de llamadas en los warning	Kernel	head	Mantainance	defect	Víctor de Buen Remiro	closed	2011-05-05T08:11:49Z	2011-05-05T12:30:44Z	"Cuando se muestra un mensaje de error se añade la traza de la pila de llamadas que puede ayudar a localizar la procedencia del error.

En los warning debería hacerse lo mismo y en ambos casos debería ser opcional, de forma que el usuario pueda decidir cuánta información quiere recibir.

Por defecto debería funcionar como hasta ahora."	Víctor de Buen Remiro
1195	download official release as first option	Web	2.0.1	Mantainance	task	apalonso	closed	2011-05-05T10:26:46Z	2012-02-14T08:37:30Z	"It is requested that the official release be the first option available in the download table shown in https://www.tol-project.org/wiki/DownloadTol.

In fact I propose that the trunk version be provided in other table below the ""official"" table"	Jorge
1196	Almacenamiento de todas las versiones de TOL subidas a la web	Web	head	Mantainance	defect	apalonso	closed	2011-05-05T12:53:36Z	2011-05-06T13:51:13Z	Es necesario almacenar todas las versiones de TOL subidas a la web para facilitar el retroceso a una versión vieja si sucede un desastre y para poder reproducir fácilmente errores que ocurren en versiones anteriores.	Víctor de Buen Remiro
1197	Cargar TolConfigManager sin cargar la StdLib	Kernel	head	Mantainance	defect	Víctor de Buen Remiro	closed	2011-05-06T12:54:06Z	2011-05-17T17:49:11Z	A veces puede ser necesario cargar TolConfigManager sin cargar la StdLib completa para cambiar alguna opción de configuración de usuairo sin la cual StdLib no carga correctamente. Por ejemplo, cuando no se tiene internet y se quiere deshabilitar la búsqueda de actualizaciones que puede ralentizar o incluso quedarse colgado.	Víctor de Buen Remiro
1198	Error en creación de toltcl en la release de desarrollo en windows	Various	head	Mantainance	defect	Víctor de Buen Remiro	closed	2011-05-06T14:06:24Z	2011-05-06T14:11:45Z	"Al crear la versión de desarrollo en windows con uptol  no me funciona tolsh pero tol sí. me dice esto
{{{
C:\users\vdebuen\prj\tolp\trunk\windows\build_tools>..\ActiveTOL\bin\tolsh -v -d
can't find package Toltcl exactly 2.0.2
while executing
""package require -exact Toltcl 2.0.2""
(procedure ""::tolsh::run"" line 25)
invoked from within
""::tolsh::run $argv""
(file ""C:/users/vdebuen/prj/tolp/trunk/windows/ActiveTOL/bin/tolsh.exe/lib/app-tolsh/tolsh.tcl"" line 570)
invoked from within
""source C:/users/vdebuen/prj/tolp/trunk/windows/ActiveTOL/bin/tolsh.exe/lib/app-tolsh/tolsh.tcl""
(""package ifneeded tolsh 1.0"" script)
invoked from within
""package require tolsh""
(file ""C:/users/vdebuen/prj/tolp/trunk/windows/ActiveTOL/bin/tolsh.exe/main.tcl"" line 4)
}}}"	Víctor de Buen Remiro
1199	CalInd( W, ...) corrupted	TimeAlgebra	2.0.1	Mantainance	defect	Víctor de Buen Remiro	closed	2011-05-07T21:34:45Z	2011-05-16T15:09:43Z	"Attached is an oza file that corrupt the behaviour of CalInd( W, Daily).

Also is attached a test.tol

{{{
Serie S1 = SubSer( CalInd( W, Daily ), y2010, y2011m12 );
Set Include( ""VC1.C56.22_data.oza"" );
Serie S2 = SubSer( CalInd( W, Daily ), y2010, y2011m12 );
Serie S3 = S2 - S1;
Real check = MaxS( S3 );
WriteLn( ""check must be 0 and it is "" << check );
}}}

S1 is 0 as expected but S2 is 1 on every 21 of each month.

"	Jorge
1200	Tcl function: TclList2SetOfText	Interface	head	Mantainance	defect	Jorge	closed	2011-05-10T09:05:33Z	2012-02-14T12:41:51Z	"La función Tcl {{{TclList2SetOfText}}} no funciona adecuadamente si los textos tienen comillas en su interior:
{{{
#!java
Set Eval(Tcl_Eval(""
TclList2SetOfText [list {un texto} {otro texto \""distinto\""}]
"")[1]);
// ERROR: [3] Argumento distinto fuera de lugar. Símbolo fuera de 
// lugar.  en el carácter 42, línea 1:
// > SetOfText(""un texto"",""otro texto ""distinto"""")
//                                            ^
}}}

Se propone una alternativa a la función implementada en: [source:tolp/trunk/tolbase/lib/toltk/tolinspe.tcl tolinspe.tcl] línea 2129:
{{{
#!tcl
proc TclList2SetOfText { lst } {
  set result [ list ]
  foreach i $lst {
    lappend result \""[string map {\"" \\\""} $i]\""
  }
  return ""SetOfText([join $result ,])""
}
}}}"	Pedro Gea
1201	Unexpected error using Ois.Load	Kernel	head	Mantainance	doubt	Víctor de Buen Remiro	closed	2011-05-10T17:42:13Z	2011-05-19T08:52:03Z	"Se ha encontrado un error inesperado al cargar un archivo OZA utilizando la última versión de TOLBase que no ocurría anteriormente.

Para repoducirlo basta hacer:
{{{
#!java
Set Ois.Load("".../dataset.oza"");
//> ERROR: [] set is not a valid object for type Set.
}}}

Adjunto el archivo oza."	Pedro Gea
1202	TolExcel test_0001 fails	Excel API	2.0.1	Mantainance	defect	Víctor de Buen Remiro	closed	2011-05-11T07:34:48Z	2011-05-11T07:48:44Z	"{{{
Including /tmp/check.tol
NObject=12985
[@WorkBook] Opening book data.xls ... 

Warning: [43] :: function failed at : 
TolExcel::CppTools::Open(_.path)

ERROR: [240] _id could not be created.

[Call stack]
  [1] NameBlock TolExcel::@WorkBook::Open (Text path)

Warning: [44] NameBlock new has been built with 1 errors.
}}}"	Jorge
1203	Language changes in Estimate	Kernel	head	Mantainance	doubt	Víctor de Buen Remiro	closed	2011-05-11T09:09:10Z	2016-04-08T10:48:06Z	"He encontrado un cambio de idioma en la salida de Estimate, que no sé si es un error o es algo a propósito y tampoco sé si involucra a más funciones o no.

Estando la variable {{{Language}}} como ""CASTELLANO"" encuentro que:
{{{
Set est = Estimate(@ModelDef(SubSer(Gaussian(0,1,C),y2001,y2002), 
  1, 0, 2, ?, Polyn 1-B^2, SetOfPolyn(1,1), SetOfPolyn(1,1-B^2), 
  Empty, Empty));
Text Name(est[4][1]);
//> ""Seasonal (1)MA""
}}}

Mientras que antes era: ""Estacional (1)MA"".

Es importante pues este nombre se utiliza como criterio para distinguir los parámetros en MMS.

Nota: el modelo estimado no tiene ningún interés es sólo para mostrar el cambio de idioma en el nombre del parámetro."	Pedro Gea
1205	TOL se queda colgado manejando una expresión de conjunto temporal vacío	TimeAlgebra	head	Mantainance	defect	Víctor de Buen Remiro	closed	2011-05-16T10:05:05Z	2011-05-19T08:51:23Z	"La siguiente expresión deja colgado a TOL durante horas aunque al final acaba dando un mensaje de warning:
{{{
#!java
TimeSet ConfUniversal        = D(1)*M(1) - WD(7);
TimeSet Tiradentes           = D(21)*M(4) - WD(7);
TimeSet DiaDoTrabalho        = D(1)*M(5) - WD(7);
TimeSet IndepBras            = D(7)*M(9) - WD(7);
TimeSet NossaSenApar         = D(12)*M(10) - WD(7);
TimeSet Finados              = D(2)*M(11) - WD(7);
TimeSet ProclamacaoRepublica = D(15)*M(11) - WD(7);
TimeSet Natal                = D(25)*M(12) - WD(7);
 
TimeSet TercaCarnaval = Succ(Easter,-47);
TimeSet Paixao                = Succ(Easter,-2);
TimeSet Corpus   = Succ(Easter,60);
 
TimeSet ConcienciaNegra      = D(20)*M(11) - WD(7); // Municipal SP
TimeSet CidadeSaoPaulo       = D(25)*M(1) - WD(7);  // Municipal SP
TimeSet RevolConst           = D(9)*M(7) - WD(7);   // Estadual SP
TimeSet FinA = D(31)*M(12) - WD(7);   //no es festivo, posiblemente la gente trabaja, pero tiene comportamiento similar al festivo.


TimeSet festivos = ConfUniversal  + FinA       +Tiradentes+DiaDoTrabalho 
       +IndepBras            +NossaSenApar         +Finados             
 +ProclamacaoRepublica +Natal                +TercaCarnaval +Paixao               
 +Corpus   +ConcienciaNegra      +CidadeSaoPaulo       +RevolConst + FinA;  
 
TimeSet festivodomingo = festivos * WD(7);
Serie Diafestivodomingo = CalInd(festivodomingo, Diario);
}}}

El problema es que {{{festivos}}} carece de domingos por construcción por lo que {{{festivodomingo}}} es el conjunto temporal vacío pero TOL no lo sabe ni hay forma de que lo sepa. Al intentar calcular el sucesor de una fecha en la intersección no hay otra forma que ver si el sucesor en el primero pertenece al segundo o viceversa y en caso contrario continuar sucesivamente, lo cual en este caso es para siempre jamás pues nunca encontrará un sucesor.

En cambio, esta otra expresión del mismo tipo 

{{{
#!java
TimeSet festivodomingo = WD(3) * WD(7);
Serie Diafestivodomingo = CalInd(festivodomingo, Diario);

}}}

da el mensaje de forma inmediata

''Warning: [1] BTmsIntersection::Successor ha sido abortado porque se ha salido del rango de cálculo 10000 veces para el TimeSet $tmp$ operando entre las fechas [y2011m01d01,y2203m09d07]
Se asumirá en los resultados el comportamiento de TimeSet acotado.''

Aunque TOL no puede asegurar que no vaya a existir un sucesor más adelante considera sospechoso haber sobrepasado los 10000 intentos sin conseguirlo.

Hay que ver porqué no ocurre en el primer caso o encontrar otro criterio de parada más eficaz."	Víctor de Buen Remiro
1206	TolPackage: sorting versions	Kernel	head	TOL Packages	defect	Víctor de Buen Remiro	closed	2011-05-16T15:56:50Z	2012-04-27T17:27:37Z	"TolPackage parece no ordenar adecuadamente la versión de los paquetes, siendo ""<PackageName>.1.9"" posterior a ""<PackageName>.1.10"".

Puede comprobarse con el paquete RandVar del repositorio privado de Bayes. 

No sólo se ordenan incorrectamente las filas en la web del repositorio sino que falla el método: {{{RemoteUpdatePackSyncInfo}}}."	Pedro Gea
1209	Lost messages when the use of the :: operator is concatenated	Kernel	head	Mantainance	defect	Víctor de Buen Remiro	closed	2011-05-18T10:30:30Z	2011-05-19T08:39:41Z	"Acabo de darme cuenta de que se están perdiendo mensajes cuando varias llamadas se concatenan mediante el uso del operador {{{::}}}.

Véase por ejemplo:
{{{
#!java
NameBlock modulo = [[
  NameBlock submodulo = [[
    Real Funcion(Real a) { 2*a }
  ]];
  NameBlock GetSubmodulo(Real void) {
    WriteLn(""Estás accediendo al submódulo."", ""W"");
    submodulo
  }
]];

Real modulo::GetSubmodulo(?)::Funcion(3);
}}}

La última llamada no muestra la advertencia:
{{{
Warning: [2] Estás accediendo al submódulo.
}}}
que sin embargo sí se muestra al hacer sólo:
{{{
#!java
NameBlock modulo::GetSubmodulo(?);
}}}"	Pedro Gea
1210	Textos muy largos en la ventana Salida de TolBase	Interface	head	Mantainance	defect	Jorge	closed	2011-05-18T16:17:17Z	2012-02-14T11:57:50Z	"Al mostrar un texto con una longitud muy larga por la ventana Salida de TolBase ocurre algo que podríamos definir como ""mágico"": La ventana de salida no muestra este texto, o mejor dicho, no es visible para el ojo humano. Pero obviamente hay truco...

Para reproducir el error compilar lo siguiente:
{{{
Text WriteLn(""Texto corto 1"");
Text WriteLn(Repeat(""EsteEsUnTextoNormalQueVoyARepetirMuchasVeces"", 1000));
Text WriteLn(""Texto corto 2"");
}}}

En la ventana de salida solo se ven los mensajes ""Texto corto 1"" y ""Texto corto 2""
{{{
Texto corto 1

Texto corto 2
}}}

Sin embargo si seleccionamos las 3 líneas y las pegamos en un editor de textos normal aparece la linea central.

También si seleccionamos algunos carácteres de la línea central con el ratón empieza a verse el texto ""oculto""."	Javier Portugal
1211	TolExcel 2.1 does not load in tol 2.0.2 in Linux	Excel API	head	Mantainance	defect	Jorge	closed	2011-05-18T17:34:12Z	2011-12-07T21:20:53Z	"#Require TolExcel;

works ok with tol 2.0.1 as it shown in the trace:

{{{
19:31:31 TOL> #Require TolExcel
Including /home/jsperez/.tol/TolPackage/1.1/Client/VersSyncInfo.oza
[TolExcel] Loading library /home/jsperez/.tol/TolPackage/1.1/Client/TolExcel.2.1/CppTools/Linux_x86_32/TolExcel.so -> OK
Loaded package TolExcel.2.1
}}}

but with the release 2.0.2 it fails:

{{{
19:32:19 TOL> #Require TolExcel
Including /home/jsperez/.tol/TolPackage/1.1/Client/VersSyncInfo.oza
<E>
ERROR: [1] [LoadDynLib(""/home/jsperez/.tol/TolPackage/1.1/Client/TolExcel.2.1/CppTools/Linux_x86_32/TolExcel.so"")] 
  lt_dlopen error:'file not found'</E>
[Call stack]
[1] Real TolExcel::StartActions (Real void)
<E>
ERROR: [2] [TolExcel] Loading library /home/jsperez/.tol/TolPackage/1.1/Client/TolExcel.2.1/CppTools/Linux_x86_32/TolExcel.so -> FAIL
</E>
[Call stack]
[2] Real StdLib::TolPackage::Client::CppTools.Check (NameBlock package, Text dllFile, Text chechMethod)
[1] Real TolExcel::StartActions (Real void)
Loaded package TolExcel.2.1
}}}

"	Jorge
1212	language.txt must be written in a user directory	Kernel	2.0.1	Mantainance	defect	Víctor de Buen Remiro	closed	2011-05-18T17:54:19Z	2016-04-08T10:48:06Z	"On linux I'm receiving this message

{{{
[3] Can not open for writing file /opt/ActiveTcl-8.4/bin/language.txt
}}}

it is because is trying to write the file language.txt in a write protected directory.

Beside this information should be user specific, so it is best stored in TOLHOME or the default value for .tol directory.
"	Jorge
1215	TolExcel Sheet selection functions behave imporperly	Excel API	head	TOL Packages	defect	Jorge	closed	2011-05-19T14:56:19Z	2011-05-20T17:32:07Z	"ActivateWS and ActivateNamedWS functions allways return 'True' value, even when the number or name of worksheet doesn't exist. If the worksheet doesn't exist, they print an error message like: 'ActivateNamedWS: no se ha posido establecer la hoja activa Alto Valor', but return 'True' instead of 'False'.
"	jmdedios
1217	NonLinGloOpt fail loading from source	Various	head	TOL Packages	defect	Víctor de Buen Remiro	closed	2011-05-22T20:33:49Z	2011-05-23T08:01:45Z	"When trying to load NonLinGloOpt from source code:

{{{
tolsh2.0.2 -d NonLinGloOpt/NonLinGloOpt.tol
}}}

it fails when invoking {{{xls::ActivateNamedWS(hoja, True, False)}}} 

{{{
[@WorkBook] Opening book /home/jsperez/TOL/FROM_SVN/tolp/OfficialTolArchiveNetwork/NonLinGloOpt/doc/NLopt_algorithms.xls ...
<E>
ERROR: [1] Too many arguments in call to Real ActivateNamedWS (Text workSheetName)</E>
[Call stack]
[2] Real NonLinGloOpt::xls::new::ActivateNamedWS (Text workSheetName)
[1] Set NonLinGloOpt::_load_algorithm_info (Real void)
<E>
ERROR: [2] Wrong arguments in call to Real ActivateNamedWS (Text workSheetName)</E>
[Call stack]
[2] Real NonLinGloOpt::xls::new::ActivateNamedWS (Text workSheetName)
[1] Set NonLinGloOpt::_load_algorithm_info (Real void)
<W>
Warning: [3] :: function failed at : 
xls::ActivateNamedWS(hoja, True, False)</W>
}}}"	Jorge
1218	TolRepositories: Misunderstanding p.m. times	Kernel	head	Mantainance	defect	Víctor de Buen Remiro	closed	2011-05-23T09:10:29Z	2011-05-31T11:16:37Z	"En el mecanismo de respuesta PHP de los repositorios TOL se confunde la hora p.m. devolviéndose siempre como a.m.

Puede verse como ejemplo la fecha del paquete BysMcmc.4.2 liberado a las 14h03 del 29 de marzo, haciendo clic aquí: 
[http://packages.tol-project.org/OfficialTolArchiveNetwork/repository.php?action=packages&package=BysMcmc.4.2]
"	Pedro Gea
1220	Managing Descriptions	Kernel	head	Mantainance	defect	Víctor de Buen Remiro	closed	2011-05-24T09:19:29Z	2011-09-21T13:51:09Z	"Se encuentran algunas dificultades en la gestión de las descripciones de los distintos ''objetos'' que se pueden generan con TOL.

Enumero las mejoras y correcciones que encuentro:
 * En {{{PutDescription}}} aceptaría el funcionamiento vía texto,
   también para objetos cualesquiera, de modo que incluso 
   funcionara:
   {{{
Anything PutDescription(""Elemento privado"", ""modulo::_variable"");
}}}
 * En {{{Description}}} añadiría la extensión del tercer argumento
   para miembros de una clase, equiparándola a {{{PutDescription}}}.
 * Buscaría alguna manera de forzar la declaración interna de los
   _.autodoc.member de los atributos en una clase, y así evitar que
   el {{{PutDescription}}} no tenga efecto.
   Si no, en cualquier caso, solucionaría el bug que asigna la 
   descripción a la clase y quizá incorporaría un ''warning''.
 * Intentaría que {{{Members}}} respondiera sobre una instancia
   devolviendo también la información que como instancia hereda 
   de la clase: las descripciones de los atributos e información
   completa de métodos.
 * Solucionaría la limitación de {{{ClassMembers}}} a la hora de 
   localizar las descripciones de los miembros que no tienen 
   _.autodoc.member sean atributos o métodos.

Adjunto un archivo TOL donde intento repasar todas las posibilidades y comento con más detalle las limitaciones que encuentro."	Pedro Gea
1221	TclChartSet fails drawing many curves	Interface	head	TOLBase Revitalization	defect	Jorge	closed	2011-05-24T12:08:22Z	2011-11-04T16:26:57Z	"La función {{{TclChartSet}}} no funciona adecuademente cuando se intentan representar 11 o más curvas:
{{{
#!java
Set lista = For(1, 25, Set (Real i) { [[i, i^2]] });
Set listas = BinGroup(""|"",For(1, 11, Set (Real j) { lista }));
Text TclChartSet(listas, [[ 
  @TclArgSt(""-title"", ""Titulo""),
  @TclArgSt(""-type"" , ""3"")
]]);
}}}"	Pedro Gea
1222	Periodic marks in the graphics	Interface	head	TOLBase Revitalization	defect	Jorge	closed	2011-05-25T17:52:07Z	2011-12-04T14:41:57Z	"The markers in the graphics should be relative to the data index. To illustrate that, suppose we plot this matrix:

{{{
Matrix mat = SetCol( Range( 1, 36, 1 ) ) | Rand( 36, 1, 0, 1);
}}}

and ask for a mark every 12 points. For this configuration I expected a mark at 1, 12, 24, and 36. But what I obtain is a mark at 11, 23 and 35."	Jorge
1223	Attribute description inheritance doesn't work	Kernel	head	Mantainance	defect	Víctor de Buen Remiro	closed	2011-05-26T09:45:12Z	2011-09-21T13:51:09Z	"Este tique está relacionado con la gestión de la descripción de los atributos de una clase. Debido a que éstos no existen más que en las instancias, surgen problemas de asignación (véase #1220) y de herencia.

Se sugiere implementar automáticamente un atributo oculto de tipo texto por cada atributo de la clase que se encargue de recoger la descripción del atributo aun cuando no exista el {{{_.autodoc.member}}} y que se herede entre clases como hacen los métodos.

Se adjunta un ejemplo dónde se puede ver el citado problema de herencia."	Pedro Gea
1224	Managing Descriptions. PutDescription extended	Kernel	head	Mantainance	enhancement	Víctor de Buen Remiro	closed	2011-05-26T11:12:22Z	2011-06-07T09:09:34Z	"Extraído de #1220.

En {{{PutDescription}}} aceptaría el mecanismo vía texto, también para objetos cualesquiera, de modo que funcionara:
{{{
Anything PutDescription(""Elemento privado"", ""modulo::variable"");
}}}
del mismo modo que:
{{{
Anything PutDescription(""Elemento privado"", modulo::variable);
}}}

Además, así podría reasignarse la descripción para un elemento privado de un nameblock, que de otro modo no es posible."	Pedro Gea
1225	Managing Descriptions. Description extended	Kernel	head	Mantainance	defect	Víctor de Buen Remiro	closed	2011-05-26T11:16:47Z	2011-05-31T09:44:37Z	"Extraído de #1220.

En {{{Description}}} añadiría la extensión del ''tercer argumento'' (segundo en esta función) para miembros de una clase, equiparándola a {{{PutDescription}}}.

De modo que pueda hacerse:
{{{
#!java
Anything PutDescription(""Atributo 1"", ""modulo::@clase"", ""atributo1"");
Text Description(""modulo::@clase"", ""atributo1"");
}}}

"	Pedro Gea
1226	Managing Descriptions. Assigning attribute descriptions	Kernel	head	Mantainance	defect	Víctor de Buen Remiro	closed	2011-05-26T11:20:48Z	2013-08-25T15:57:12Z	"Extraído de #1220.

Buscaría alguna manera de forzar la declaración interna de los _.autodoc.member de los atributos en una clase, y así evitar que el PutDescription no tenga efecto. 
Véase también #1223.

Si no, en cualquier caso, solucionaría el bug que asigna la descripción a la clase y quizá incorporaría un warning. 
"	Pedro Gea
1227	Managing Descriptions. The function Members with instances	Kernel	head	Mantainance	defect	Víctor de Buen Remiro	closed	2011-05-26T11:23:37Z	2011-05-31T10:52:10Z	"Extraído de #1220.

Se solicita que {{{Members}}} responda sobre una instancia devolviendo también la información que como instancia hereda de la clase: esto incluye las descripciones de los atributos e información completa de métodos.

"	Pedro Gea
1228	Managing Descriptions. ClassMembers and member descriptions	Kernel	head	Mantainance	defect	Víctor de Buen Remiro	closed	2011-05-26T11:25:12Z	2011-05-31T07:50:33Z	"Extraído de #1220.

La función {{{ClassMembers}}} muestra una limitación a la hora de localizar las descripciones de los miembros que no tienen {{{_.autodoc.member}}}, ya sean atributos o métodos. "	Pedro Gea
1229	Regresion lineal con prior en varianzas	BSR	2.0.1	Mantainance	doubt	Víctor de Buen Remiro	closed	2011-05-26T13:57:51Z	2011-05-31T11:01:03Z	"Buenos días,

 tengo una duda, creo que se puede hacer con BSR pero quiero que me lo confirmes. Si no dejo claro lo que quiero dame tu movil y te llamo.
Queremos hacer una regresión lineal de 50+X datos. Te lo indico así porque hay 50 datos que consideramos muy fiables, y X que consideramos menos fiables.
Se le puede decir al modelo de regresión lineal que ajuste mejor esos 50 datos que los X restantes? Si no me equivoco sería algo así como dar un prior a la sigma y creo que se pueda hacer. ¿Estoy en lo cierto?"	Iván Robles
1230	Error en AIA	Various	2.0.1	Mantainance	doubt	Víctor de Buen Remiro	closed	2011-05-26T20:12:25Z	2012-02-23T18:06:25Z	"Hola tol, os paso adjunto un oza con los argumentos de entrada de la función AIA y un set con su salida.
No entiendo porqué pero me devuelve varias intervenciones para los mismos días con la misma estructura una y otra vez y con unos efectos bajísimos del orden de 10^-19.
¿Podéis ayudarme?

Gracias de antemano"	lmperez@…
1231	BSR: How to indicate a covariance matrix in the import of a segment	BysMCMC	head	Mantainance	doubt	Víctor de Buen Remiro	closed	2011-05-30T08:15:10Z	2011-05-31T10:53:27Z	"Se busca cómo establecer la matriz de covarianzas de un segmento dado
del modelo en BSR.

Se encuentran referencias en el código a algunos métodos opcionales como: {{{Get.Cov}}}, pero no queda claro cuál es la manera de utilizarlos.

"	Pedro Gea
1232	Pantalla ms-dos al guardar un oza	Kernel	2.0.1	Mantainance	doubt	Víctor de Buen Remiro	closed	2011-05-31T14:29:15Z	2013-07-17T13:49:06Z	"Buenos días,

  al guardar un oza en Windows, te aparece una pantalla de ms-dos.

En el caso de que se estén guardando muchos puede llegar a ser molesto.

¿Hay alguna forma de evitar que te salga?

Gracias"	Iván Robles
1235	Mejora de AIA vía VMatrix	Math	head	Mantainance	enhancement	Víctor de Buen Remiro	closed	2011-06-01T10:34:15Z	2011-06-01T13:50:29Z	Los sistemas lineales manejados en el AIA son mayormente sparse por lo que debería acelerarse bastante el proceso usando VMatrix	Víctor de Buen Remiro
1236	BysMcmc: Error with Non Linear Filters and Transfer Functions	Kernel	head	Mantainance	defect	Víctor de Buen Remiro	closed	2011-06-01T14:36:21Z	2011-08-11T16:59:13Z	"Se encuentran errores al utilizar funciones de transferencias con varios retardos junto a los filtros no lineales. Algo del tipo: {{{(0.1+0.2*B) : FiltroNL(input)}}}

El error que devuelve BSR es:
{{{
Warning: [1] <W>Imposible sumar dos matrices de dimensiones (365,1) y (0,0).</W>
Warning: [2] <W>Imposible restar dos matrices de dimensiones (0,0) y (365,1).</W>
ERROR: [1] No es posible aplicar * a matrices virtuales de dimensiones (365x365) (0x0)
}}}

Investigando un poco en el archivo [source:tolp/OfficialTolArchiveNetwork/BysMcmc/bsr/gibbs/_nonLinBlock.tol _nonLinBlock.tol] veo que el problema surje en la línea 98:
{{{
Matrix _.Z := _.W + _.Fi * omega;
}}}
porque, en mi caso, {{{_.Fi}}} es 365x1 y {{{omega}}} es 3x1.
Veo que {{{_.Fi}}} tiene un tamaño inadecuado porque en la inicialización (línea 370) se le da un tamaño _.mx1:
{{{
Matrix _.Fi  = Rand(_.m,1,0,0)
}}}
sin atender a las dimensiones de {{{omega}}}.

Lo más extraño es que creo que esto se ha estado usando antes sin problemas.


"	Pedro Gea
1237	BysMcmc: Error parsing joint.bsr	BysMCMC	head	Mantainance	defect	Víctor de Buen Remiro	closed	2011-06-01T15:26:48Z	2011-06-02T10:09:08Z	"Se ha encontrado un error estraño al crear restricciones para una combinación de parámetros. 

El error encontrado dice:
{{{

ERROR: [101] [BSR.Parse] Expected symbol ';' 
 File:'joint.bsr' Line:44 Col:1127
El diseño del parser modular de BSR puede verse en https://www.tol-project.org/ticket/745
Puede ver un ejemplos de la sintaxis de BSR en http://cvs.tol-project.org/viewcvs.cgi/*checkout*/tol/stdlib/math/stat/models/bayesian/bysMcmc/test_01/parse.bsr
...
}}}
pero allí no parece que haya nada raro (más allá de la longitud de la línea).

Adjunto archivos ascii para reproducirlo.
"	Pedro Gea
1238	BysMcmc: Warning estimating probit models	BysMCMC	head	Mantainance	defect	Víctor de Buen Remiro	closed	2011-06-02T14:41:31Z	2011-08-11T16:59:13Z	"Se encuentra una advertencia muy insistente al estimar un modelo probit, que antes no aparecía:
{{{
Warning: [] <W>Imposible restar dos matrices de dimensiones (7038,1) y (7038,0).</W>
}}}

La estimación continua hasta al final sin problemas (o al menos sin dar un error), pero quitando la incomodidad de tanta advertencia, preocupa el hecho de que se produzca.

Adjunto un ZIP con los archivos .bsr para reproducirlo."	Pedro Gea
1239	Problemas al escribir el joint.bsr de las constraints	Kernel	2.0.1	Mantainance	defect	Pedro Gea	closed	2011-06-02T17:43:46Z	2011-06-03T07:53:03Z	"Buenas tardes me estoy encontrando con el siguiente error al lanzar una estimación:

ERROR: [1] [MasterToJoint] Submodule C:/Users/libarra.BAYESFORECAST/AppData/Roaming/tol/MMS/BSR/BSR__5.0/2011.06.02_19.23.52/Constraints/joint.bsr has no equation nor inequation

En el modelo no tengo ningún tipo de restricción, salvo la que se define por defecto para el parámetro delta.
"	Lander Ibarra Iriondo
1240	Diferencias en los parámetros estimados debidas a los parámetros iniciales	Math	2.0.1	Mantainance	doubt	Víctor de Buen Remiro	closed	2011-06-06T07:46:26Z	2011-06-06T08:42:35Z	"Hola, tengo un modelo ARIMAX relativamente sencillo (9 inputs, 73 datos) que he estimado dos veces, con diferentes valores iniciales para los 9 inputs (0.1 y 0.9, respectivamente). Los valores iniciales de los dos parámetros ARIMA (AR 1 y MA 12) no varían.

Me sorprende que los parámetros estimados sean tan diferentes, especialmente los de la parte ARIMA:
* El AR(1) pasa de 0.88 a 0.92
* El MA(12) pasa de 0.39 a 0.29

Estas diferencias hacen que las previsiones sean muy diferentes, que es mi verdadero problema.
El modelo ha sido estimado con Estimate, como veis en el siguiente código:
{{{
Set sDiagEst = Ois.Load(""C:/estDiag_Aut.oza"");
Set modBad = sDiagEst[1][1][2];
Set mod = [[ modBad[1], modBad[3], modBad[4], modBad[5], modBad[6],
             modBad[7], modBad[8], modBad[9], modBad[13], modBad[14] ]];
Set modDef = PutStructure(""ModelDef"", mod);
Set est = Estimate(modDef, sDiagEst[1][1][3], sDiagEst[1][1][4]);

Set sInpCP_0.9 = EvalSet(modDef[9], Set(Set c) { InputDef(0.9, c->X) });
Set modBad_0.9 = modDef;
Set modBad_0.9[9] := sInpCP_0.9;
Set modDef_0.9 = PutStructure(""ModelDef"", modBad_0.9);
Set est_0.9 = Estimate(modDef_0.9, sDiagEst[1][1][3], sDiagEst[1][1][4]);
}}}
Supongo que se debe a que algún parámetro de configuración de Estimate no es adecuado para la escala de los datos. Os paso los valores que tengo para algunos de los parámetros que creo que tienen relación:
{{{
Tolerance = 1e-005
RelativeTolerance = 1e-005
MaxIter = 40
MarqLinMet = 1
Givens = 2
Choleski = 3
MarqFactor = 3
DiffDist = 1e-006
CGMaxIter = 3
}}}

'''¿Está el problema en esos parámetros de configuración?
En caso afirmativo, ¿sería posible que TOL incluyese algún algoritmo para hacer una pre-evaluación de los parámetros de Estimate que proporcionara una recomendación al usuario?'''

Gracias, un saludo.

''Nota: no sé a qué componente asignar el ticket.''
"	imendez
1241	Curiosa variable global de tipo real	Kernel	2.0.1	Mantainance	doubt	Víctor de Buen Remiro	closed	2011-06-06T07:50:53Z	2012-02-13T09:58:19Z	"Hola, en el fichero C:\Program Files\Tol-Project\tolbase-v2.0.1\bin\stdlib\math\stat\models\bayesian\linear\_blrc_kernel.tol se define la siguiente variable real en el ámbito global:
{{{
Real solo_uno = 0;
}}}
Sólo lo reporto porque me ha llamado la atención. En ese mismo fichero no se utiliza (no sé si en otro).

Un saludo.
"	imendez
1243	Estimate and transfer functions with forward operators: F	Kernel	head	Mantainance	defect	Víctor de Buen Remiro	closed	2011-06-09T12:30:12Z	2011-06-27T08:03:41Z	"¿Se puede (o debería poder) utilizar {{{Estimate}}} con inputs ({{{@InputDef}}}) cuya función de transferencia contenga monomios en {{{F}}}?

Estoy casi convencido de haber visto funcionar a {{{Estimate}}} con estos polinomios, pero he intentado probar con un ejemplo y TOL cae:
{{{
#!java
Real PutRandomSeed(2143);
Serie noise = SubSer(Gaussian(0, 1, C), y2001, y2002);
Serie input = SubSer(Rand(0, 1, C), y2000, y2003);
Serie output = noise + ((0.3*F):input);
Set model = @ModelDef(
  output, 1, 0, 1, 0,
  Polyn 1, SetOfPolyn(1), SetOfPolyn(1), [[
    @InputDef(0.1*F, input)
  ]], Copy(Empty)
);
Set estimation = Estimate(model);
}}}"	Pedro Gea
1246	Estimación un modelo Logit con BSR	BSR	2.0.1	Mantainance	doubt	Víctor de Buen Remiro	closed	2011-06-10T11:33:14Z	2011-12-12T15:56:16Z	"Hola, ¿se puede estimar un modelo Logit con BSR?

Creo que los modelos Logit se pueden estimar con funciones como Logit (por máxima verosimilitud) y con el paquete GrzLinModel (de forma bayesiana y por máxima verosimilitud), pero tengo entendido que esas alternativas no permiten, por ejemplo, la introducción de jerarquías, ¿verdad?.

Si no se puede estimar actualmente un modelo Logit con BSR y es posible mejorar BSR para estimar este tipo de modelos, aprovecho este ticket para solicitar su implementación.

Un saludo.
"	imendez
1247	Creación de un NameBlock sin miembros	Kernel	2.0.1	Mantainance	doubt	Víctor de Buen Remiro	closed	2011-06-10T11:41:03Z	2011-06-15T11:52:48Z	"Hola, ¿es posible crear un NameBlock ""vacío"", es decir sin miembros? Lo pregunto porque yo tenía entendido que no, pero parece ser que con la función ''SetToNameBlock'' sí se puede:
{{{
NameBlock EmptyNameBlock = SetToNameBlock(Empty)
}}}

¿No se puede hacer directamente?
¿Es algo no recomendable? Si no lo es, ¿por qué no se crea un objeto global que represente un NameBlock ""vacío"", similar al ''Set Empty''?

Gracias de antemano
"	imendez
1248	Paquete para utilidades relacionadas con el manejo algebraico de matrices	Math	head	TOL Packages	task	Víctor de Buen Remiro	closed	2011-06-13T08:13:48Z	2011-09-06T18:19:58Z	"Las funciones básicas de VMatrix y Matrix dan soporte a cualquier tipo de operación algebraica, pero muchas veces se requieren secuencias de llamadas que se repiten, o bien hay operaciones complejas que no tienen una forma estandarizada de realizarse, o trucos que los usuarios no conocen.

Por ejemplo, es muy habitual que dada una matriz simétrica definida positiva y su descomposición de Cholesky, se repitan operaciones que requieren de la matriz original, el factor, o sus inversas. Lo ideal en estos casos es almacenarlas en una clase que dé cobertura a los métodos más empleados de una forma más transparente. Algo similar pasa con otras descomposiciones como la SVD.

Se propone la creación de un paquete MatAlg de álgebra matricial para cubrir este tipo de funcionalidades."	Víctor de Buen Remiro
1252	GuiTools: Menu homogenization	GuiTools	head	Mantainance	enhancement	Jorge	closed	2011-06-14T07:41:20Z	2012-02-13T17:54:20Z	"Sería muy conveniente homogeneizar el tratamiento de los menús contextuales. Me refiero a incorporar a GuiTools el tratamiento de los menús de los objetos que no son instancias: Serie, Real,...

Esto sería especialemnte útil para poder ''delegar'' submenús a atributos de otras ''gramáticas'' que no son instancias."	Pedro Gea
1254	include path en NonLinGloOpt	Various	head	TOL Packages	task	Víctor de Buen Remiro	closed	2011-06-14T21:51:05Z	2011-06-15T11:15:36Z	"En {{{CppTool.cpp}}} se hace 

{{{
#!cpp
#include <nlopt/include/nlopt.h>
#include <nlopt/include/nlopt.hpp>
}}}

esto obliga a tener los include de nlopt con esa estructura de directorio fija, se sugiere que en el fuente se incluyan de esta forma:

{{{
#!cpp
#include <nlopt.h>
#include <nlopt.hpp>
}}}
"	Jorge
1255	dependencias de NonLinGloOpt	Various	2.0.1	TOL Packages	defect	Víctor de Buen Remiro	closed	2011-06-14T22:30:37Z	2011-06-15T14:29:17Z	NonLinGloOpt require de TolExcel pero este no esta incluido en sus dependencias. Creo que debe ser incluido.	Jorge
1256	SubDiag falla con VMatrix de subtipo denso	Math	head	Mantainance	defect	Víctor de Buen Remiro	closed	2011-06-15T11:51:44Z	2011-06-15T11:52:06Z	SubDiag devuelve valores inválidos cuando se aplica a una VMatrix Blas.R.Dense	Víctor de Buen Remiro
1257	DownloadCompatibleDeepDependencies no baja lo que le pido	Kernel	2.0.1	TOL Packages	defect	Víctor de Buen Remiro	closed	2011-06-15T19:02:05Z	2012-04-27T17:27:37Z	"Intento bajar la version de MMS compatible con la version de TOL ""v2.0.1 b.4""
 
{{{
Real TolPackage::Client::DownloadCompatibleDeepDependencies( ""/tmp/MmsPkg/"", 0, ""v2.0.1 b.4"", [[ ""MMS"" ]] );
}}}

y lo que baja es la version 0.6033. 

Durante el proceso emite estos mensaje:

<W>
Warning: [36] [RemoteUpdateVersSyncInfo] Cannot find remote image of local package MMS.0.6034 in any repository.
</W>
<W>
Warning: [37] [RemoteUpdateVersSyncInfo] Cannot find remote image of local package MMS.0.6035 in any repository.
</W>

Esto sucede cuando lo ejecuto desde la versión ""v2.0.1 b.3""."	Jorge
1258	como puedo bajar MMS.0.6034?	Kernel	2.0.1	TOL Packages	doubt	Víctor de Buen Remiro	closed	2011-06-15T20:02:55Z	2011-06-16T08:20:08Z	"Necesito bajar MMS.0.6034 y todas sus dependencias de forma automática.

He intentado con {{{TolPackage::Client::DownloadCompatibleDeepDependencies}}} pero no he podido, no veo forma de especificar que quiero la version 0.6034."	Jorge
1259	opcion para no cargar _iniproject.tol	Kernel	2.0.1	Mantainance	task	Jorge	closed	2011-06-16T09:54:47Z	2012-02-14T11:52:52Z	"A veces durante tareas de depuración no queremos que se cargue el _iniproject.tol. Para eso se requiere implementar una opcion de línea de comando que permita indicarlo. Una propuesta es:

{{{
tolsh -np
}}}

-np = ""no project""
"	Jorge
1260	fallo al almacenar TimeSet	Kernel	2.0.1	Mantainance	defect	Víctor de Buen Remiro	closed	2011-06-17T13:09:34Z	2011-06-17T17:57:28Z	"Si ejecuto lo siguiente:

{{{
#!java
Serie b = SubSer(CalInd(C, Cuatrimestral), y2001, y2002);
Real Ois.Store([[b]], ""/tmp/kk.oza"" );
}}}

se obtiene el siguiente mensaje:

{{{
<W>
Warning: [4] OIS: 
Unbounded TimeSet 
Cuatrimestral = (set[[k]);
 depends on symbol not visible globally. Only cached data in [y2001m01d01,y2011m12d31] will be available when loaded back.</W>
}}}

No queda claro de donde sale la expresión {{{TimeSet Cuatrimestral = (set[[k]); }}} ya que Cuatrimestral tiene otra definición.

"	Jorge
1261	MergeRows no comprueba si los índices están en el rango adecuado	Math	head	Mantainance	defect	Víctor de Buen Remiro	closed	2011-06-17T17:12:31Z	2011-06-17T17:12:47Z	MergeRows no comprueba si los índices están en el rango adecuado lo cual puede dar lugar a accesos inválidos de memoria si se usa mal.	Víctor de Buen Remiro
1262	fallo al concatenar dos series cargadas de oza	Kernel	2.0.1	Mantainance	defect	Víctor de Buen Remiro	closed	2011-06-17T18:15:35Z	2011-12-12T15:54:34Z	"Este es un error que no hemos podido reproducir. Ponemos aquí la salida del error.

{{{
ERROR: [3] No se puede concatenar series con fechado incompatible o sin fechado.
Series:
observations -> Trimestral;
observationsFM -> Trimestral;
}}}

este mensaje tiene relación con el ticket #1260, ya que se observa al cargar el oza que luego se procesa:

{{{
Warning: [] OIS: 
Cannot rebuild virtual expression of non bounded TimeSet Trimestral = (set[[k])
Only cached dates will be accessible between [y1990m01d01,y2050m01d01]
To avoid this problem save just bounded time sets or use expressions that could be evaluated at OIS loading time.
}}}"	Jorge
1264	Error en la función DistTruncatedNormal	Kernel	head	Mantainance	defect	Víctor de Buen Remiro	closed	2011-06-23T21:17:43Z	2011-06-24T18:32:04Z	"Hola Tol, la función DistTruncatedNormal está mal, si compilamos 
{{{
Real DistTruncatedNormal(1,0,+1/0,0,1)
}}}
nos da 1.68 y eso es imposible ya que la probabilidad debería estar restringida al intervalo [0,1].
Tiene pinta de que se le está sumando uno por algún lado porque lo que si parece es estar restringida a [1,2].
Yo por precaución revisaría también la inversa.

Gracias de antemano"	lmperez@…
1265	Estimate crash	Math	2.0.1	Mantainance	defect	Víctor de Buen Remiro	closed	2011-06-26T22:58:03Z	2011-06-27T08:03:41Z	"The following code generate a segmentation fault in tol:

{{{
#Require MMS.0.6036;
NameBlock est = MMS::Container::LoadFile( ""Estimate.oza"" );
Real est::Execute( ? );
}}}

{{{Estimate.oza}}} is attached to this ticket."	Jorge
1267	Driver nativo para pgsql no traduce correctamente campos fecha	Database	head	Mantainance	defect	Jorge	closed	2011-07-04T14:14:55Z	2015-11-04T12:06:47Z	"En una base de datos de PostgreSQL cuando se usa la conexión nativa tipo ""pgsql"" se producen errores cuando se procesan campos tipo fecha.
Al tratar de obtener con una consulta un campo tipo fecha se produce el siguiente error:
""ERROR: [1] function 'postgres_GetAsDate' from PostgreSQL DB module failed""
El error se produce tanto en Linux como en Windows.

Puede reproducirse el error usando el procedimiento siguiente:
1) Cree una tabla con un campo fecha, por ejemplo:
create table tbl_valor_salida (
    vsa_id serial not null,
    vsa_fecha date default null,
    vsa_valor double precision default null,
    primary key (vsa_id),
    unique (vsa_sal, vsa_fecha)
);
2) Inserte al menos un valor en la tabla.
3) Ejecute la siguiente sentencia TOL:
Set s1= DBTable(""select vsa.vsa_fecha, vsa.vsa_valor from tbl_valor_salida as vsa"").

OJO: si se usa una conexión usando ODBC, no se produce el error.
"	Humberto Carralero
1272	error en rmtps	TolServer	2.0.1	Mantainance	defect	Jorge	closed	2011-07-07T09:17:55Z	2011-10-27T09:16:52Z	"Thu Jul 07 11:11:53 2011 error - critical error! --> can't read ""enable_boot"": no such variable"	Jorge
1273	fallo en linux BSys::FOpenAndLock	Kernel	2.0.1	Mantainance	defect	Víctor de Buen Remiro	closed	2011-07-08T08:37:17Z	2011-07-08T23:08:10Z	"Lo siguiente proviene de https://trac.localbayes.es/mms/ticket/714

Terminada una estimación con la estrategia BSR me encuentro con el
 siguiente mensaje de error:

 {{{
 <W>
 Warning: [27] [BSys::FOpenAndLock] Retraying to open locked file
 /home/rmtpsd/.tol/tmp//varstat27106_242858.bbm for 12-th time
 </W>
 <E>
 ERROR: [4] Cannot open file /home/rmtpsd/.tol/tmp//varstat27106_242858.bbm
 in mode rb
 Unexpected error reading from BBM file</E>
 }}}
"	Jorge
1274	Tolbase Linux: Problemas con el lanzamiento del CODA	BSR	2.0.1	Mantainance	defect	Víctor de Buen Remiro	closed	2011-07-08T08:40:25Z	2011-07-08T23:06:12Z	"Lo siguiente viene del ticket https://trac.localbayes.es/mms/ticket/713


Buenos días, con la versión 2.0.1 de Linux me encuentro con el siguiente
 mensaje de error:
 {{{
 [Rapi::RunRScript] Executing :
 <R CMD BATCH --vanilla ""/home/rmtpsd/.tol/tmp/in27106_189093.R""
 ""/home/rmtpsd/.tol/tmp/Rout27106_189093.log""
 <E>
 ERROR: [1]
 [2]=No such file or directory
 Cannot execute the command:
 R CMD BATCH --vanilla ""/home/rmtpsd/.tol/tmp/in27106_189093.R""
 ""/home/rmtpsd/.tol/tmp/Rout27106_189093.log""</E>

 [Call stack]
   [11] Real StdLib::OSCmdWait (Text order)
   [10] Set StdLib::Rapi::RunRScript (Text script, Set args.bbm, Text
 argsList, Set result.names, Real verbose)
   [9] Matrix StdLib::RCODA::raftery.diag (Anything data, Set optArgs)
   [8] Set BysMcmc::Inference::get.coda.raftery.diag (Text name, Set
 colNames, Set repCfg, Matrix mcmc)
   [7] Set BysMcmc::Inference::report (Text name_, Set colNames_, Set
 repCfg__, Matrix mcmc_)
   [6] Set BysMcmc::Inference::loadAndReport (Text path, Real burnin, Real
 length_, Real thinning, Text name, Set colNames, Set repCfg)
   [5] Set cycler::cycler::cycler::cycler::cycler::report (Real burnin,
 Real length, Real thinning)
   [4] Real results::estim::Run (Real void)
   [3] Real est::mainObject::strategy::strategyBSR::Execute (Real void)
   [2] Real est::mainObject::estimation::estimation::Execute (Real void)
   [1] Real runRemoteEstimation (Text name)
 }}}
"	Jorge
1275	Error with function LoadInitLibrary when TOL is compiled from source	Kernel	head	Mantainance	defect	Víctor de Buen Remiro	closed	2011-07-08T09:57:12Z	2011-07-08T10:03:56Z	"Al intentar compilar TOL desde su código fuente se encuentra el error:
{{{
..\source\vbtol.cpp(148) : error C2660: 'LoadInitLibrary' : la función no acepta 0 argumentos
}}}

La función con ese nombre, definida en [source:tolp/trunk/tol/init.cpp init.cpp] (línea 1249) requiere un argumento, mientras que la llamada en [source:tolp/trunk/vbtol/source/vbtol.cpp vbtol.cpp] (línea 148) se intenta usar sin él."	Pedro Gea
1281	Pasar series diarias a horarias	TimeAlgebra	head	Mantainance	doubt	Víctor de Buen Remiro	closed	2011-07-11T10:45:48Z	2011-07-11T11:32:05Z	"Buenos días, en el piloto en el que me encuentro trabajando estoy en la siguiente situación: 
Tengo 24 series en Diario que hacen referencia a una hora de día y 
quiero pasar cada una de ellas a la serie horaria con el dato en la hora correspondiente en el fechado horario. Ya lo estoy haciendo pero me parece que mi solución es un poco ""engorrosa"", paso a contárosla:
1.- Me creo el fechado:
{{{ 
TimeSet Lan_Hor = Hourly*(
 H(0)+H(1)+H(2)+H(3)+H(4)+H(5)+
 H(6)+H(7)+H(8)+H(9)+H(10)+H(11)+
 H(12)+H(13)+H(14)+H(15)+H(16)+H(17)+
 H(18)+H(19)+H(20)+H(21)+H(22)+H(23));
}}}
2.- Creo la serie indicadora, hago el fechado inverso:
{{{ 
Serie Ser_Ind = CalInd(Lan_Hor, Hourly); 
Serie Hora_00 = InvCh(Hora_00_Diario, Ser_Ind);
Serie Hora_01 = InvCh(Hora_01_Diario, Ser_Ind);
....
....
Serie Hora_23 = InvCh(Hora_23_Diario, Ser_Ind);
}}}
3.- Me encuentro con que todas las series están en fechado horario pero con el valor de la Serie en las 00 horas.
4.- La solución engorrosa que le he dado es aplicar un B con los retardos que obtengo del nombre de la serie y extender todas las series por la izquierda y por la derecha.
¿Se os ocurre una forma menos ""engorrosa"" de darle solución?"	Lander Ibarra Iriondo
1282	Tol intenta conectarse a internet a pesar de decirle que no lo haga	Kernel	head	Mantainance	defect	Víctor de Buen Remiro	closed	2011-07-11T14:42:12Z	2011-12-12T15:52:28Z	"Hola tol, cuando arranco tol éste intenta (sólo a veces) conectarse a internet para actualizarse. Como no tengo conexión da el siguiente aviso y demora mucho tiempo:
{{{

Cargando la libreria estandar de TOL C:/bayes/tolbase-v2.0.1/bin/stdlib/_init_stdlib.tol
Incluyendo C:/bayes/tolbase-v2.0.1/bin/stdlib/_init_stdlib.tol
Incluyendo C:/bayes/tolbase-v2.0.1/bin/stdlib/TolConfigManager/TolConfigManager.tol
Ha sido incrustado el archivo C:/bayes/tolbase-v2.0.1/bin/stdlib/TolConfigManager/default.tol
Ha sido incrustado el archivo C:/bayes/tolbase-v2.0.1/bin/stdlib/TolConfigManager/methods.tol
Incluyendo C:/Documents and Settings/bayes/Dados de aplicativos/tol/.tolConfig.v2.0.1.tol
Ha sido incluido el fichero C:/Documents and Settings/bayes/Dados de aplicativos/tol/.tolConfig.v2.0.1.tol [0.015 sec.]
Ha sido incluido file C:/bayes/tolbase-v2.0.1/bin/stdlib/TolConfigManager/TolConfigManager.tol [0.094 sec.]
OIS: Loading module stdlib::_packages.tol
Including C:/bayes/tolbase-v2.0.1/bin/stdlib/general/various/_tools.tol
Included file C:/bayes/tolbase-v2.0.1/bin/stdlib/general/various/_tools.tol [0.015 sec.]
Including C:/bayes/tolbase-v2.0.1/_iniproject.tol
Including C:/Documents and Settings/bayes/Dados de aplicativos/tol/TolPackage/1.1/Client/VersSyncInfo.oza
Including C:/Documents and Settings/bayes/Dados de aplicativos/tol/TolPackage/1.1/Client/VersSyncInfo.oza
Loaded package GuiTools.3.1
Including C:/Documents and Settings/bayes/Dados de aplicativos/tol/TolPackage/1.1/Client/VersSyncInfo.oza
Including C:/Documents and Settings/bayes/Dados de aplicativos/tol/TolPackage/1.1/Client/VersSyncInfo.oza
Including C:/Documents and Settings/bayes/Dados de aplicativos/tol/TolPackage/1.1/Client/VersSyncInfo.oza
[IpoptCore::StartActions] Loading library C:/Documents and Settings/bayes/Dados de aplicativos/tol/TolPackage/1.1/Client/IpoptCore.3.9/Windows_x86_32/ipopt39.dll -> OK
Loaded package IpoptCore.3.9
[TolIpopt] Loading library C:/Documents and Settings/bayes/Dados de aplicativos/tol/TolPackage/1.1/Client/TolIpopt.2.1/CppTools/Windows_x86_32/TolIpopt.dll -> OK
Loaded package TolIpopt.2.1
Loaded package BysMcmc.4.4
Including C:/Documents and Settings/bayes/Dados de aplicativos/tol/TolPackage/1.1/Client/VersSyncInfo.oza
Including C:/Documents and Settings/bayes/Dados de aplicativos/tol/TolPackage/1.1/Client/VersSyncInfo.oza
Including C:/Documents and Settings/bayes/Dados de aplicativos/tol/TolPackage/1.1/Client/VersSyncInfo.oza
Loaded package MatQuery.3.2
Including C:/Documents and Settings/bayes/Dados de aplicativos/tol/TolPackage/1.1/Client/VersSyncInfo.oza
Including C:/Documents and Settings/bayes/Dados de aplicativos/tol/TolPackage/1.1/Client/VersSyncInfo.oza
Loaded package TolCint.2.1
Including C:/Documents and Settings/bayes/Dados de aplicativos/tol/TolPackage/1.1/Client/VersSyncInfo.oza
[TolExcel] Loading library C:/Documents and Settings/bayes/Dados de aplicativos/tol/TolPackage/1.1/Client/TolExcel.2.1/CppTools/Windows_x86_32/TolExcel.dll -> OK
Loaded package TolExcel.2.1
[NonLinGloOpt] Loading library C:/Documents and Settings/bayes/Dados de aplicativos/tol/TolPackage/1.1/Client/NonLinGloOpt.4.1/CppTools/Windows_x86_32/NonLinGloOpt.dll -> OK
Loaded package NonLinGloOpt.4.1
Including C:/Documents and Settings/bayes/Dados de aplicativos/tol/TolPackage/1.1/Client/VersSyncInfo.oza
Loaded package BysPrior.1.1
Including C:/Documents and Settings/bayes/Dados de aplicativos/tol/TolPackage/1.1/Client/VersSyncInfo.oza
Loaded package BysInfDiag.1.1
Including C:/Documents and Settings/bayes/Dados de aplicativos/tol/TolPackage/1.1/Client/VersSyncInfo.oza
[BysSampler] Loading library C:/Documents and Settings/bayes/Dados de aplicativos/tol/TolPackage/1.1/Client/BysSampler.3.1/CppTools/Windows_x86_32/BysSampler.dll -> OK
Loaded package BysSampler.3.1
Loaded package GrzLinModel.2.1
Loaded package QltvRespModel.3.1
Including C:/Documents and Settings/bayes/Dados de aplicativos/tol/TolPackage/1.1/Client/VersSyncInfo.oza
Including C:/Documents and Settings/bayes/Dados de aplicativos/tol/TolPackage/1.1/Client/VersSyncInfo.oza
Loaded package ExtLib.1.1
Loaded package BabelTool.1.1
Including C:/Documents and Settings/bayes/Dados de aplicativos/tol/TolPackage/1.1/Client/VersSyncInfo.oza
Loaded package RandVar.1.9
Including C:/Documents and Settings/bayes/Dados de aplicativos/tol/TolPackage/1.1/Client/VersSyncInfo.oza
Loaded package DecoTools.1.5
Loaded package MMS.0.6030
OIS: Loading module stdlib:://10.10.11.35/users/tol/bsd/entity/PrjFolha/_inisadd.tol
Included file C:/bayes/tolbase-v2.0.1/bin/stdlib/../../_iniproject.tol [3.953 sec.]
Including C:/bayes/tolbase-v2.0.1/bin/stdlib/tol_release_check.tol
Included file C:/bayes/tolbase-v2.0.1/bin/stdlib/tol_release_check.tol [0.016 sec.]
Checking if TOL is updated.

Warning: [4] Cannot check TOL release.

[GetUrlContents.tcl.uri]Downloading from ""http://packages.tol-project.org/OfficialTolArchiveNetwork/repository.php?tol_package_version=1.1&tol_version=v2.0.1%20b.5&action=ping&key=428258096"" ...

Warning: [5] couldn't open socket: invalid argument

Ha sido incluido file C:/bayes/tolbase-v2.0.1/bin/stdlib/_init_stdlib.tol [38.078 sec.]
}}}

Todo esto sería lógico si la configuración fuese por defecto, pero es que yo le digo a tol que no se conecte con la siguiente instrucción
{{{
Real TolConfigManager::Default::Upgrading::TolVersion::CheckAllowed := False;
Real TolConfigManager::Default::Upgrading::TolPackage::LocalOnly := True;
Real TolConfigManager::SaveConfig(TolConfigManager::Default);
Real TolConfigManager::Config::Upgrading::TolVersion::CheckAllowed:= False;
Real TolConfigManager::Config::Upgrading::TolPackage::LocalOnly := True;
Real TolConfigManager::SaveConfig(TolConfigManager::Config);
}}}
y aún así él intenta conectarse a veces ¿Por qué? ¿estoy haciendo hago mal?
No se si el error es de tol o de mms, así que voy a subir el tique en ambos sitios.

Gracias de antemano"	lmperez@…
1283	Estimate y mms difieren en los residuos	Math	2.0.1	Mantainance	defect	Víctor de Buen Remiro	closed	2011-07-11T19:24:50Z	2011-07-12T10:59:13Z	Véase el ticket [https://trac.localbayes.es/mms/ticket/718 #768] de MMS.	Jorge
1286	NonLinGloOpt: Error defining equlity contraint	Math	2.0.1	TOL Packages	defect	Víctor de Buen Remiro	closed	2011-07-20T15:15:04Z	2011-07-21T17:11:47Z	"When creating an equality constraint we get the following error:

{{{
ERROR: [1] g no es un objeto valido para el tipo Set.

[Call stack]
  [5] Real engine::engine::add_equality (Anything h, Real tol)
  [4] Real problem::add_equality (Anything h, NameBlock engine)
  [3] Real problem::add_all_equalities (NameBlock engine)
  [2] Real method::setup (NameBlock problem)
  [1] Real pipeline::check (Real forzeFeasible_)
}}}"	Jorge
1288	error when saving estimation to OIS	Kernel	head	Mantainance	doubt	Víctor de Buen Remiro	closed	2011-07-26T15:22:54Z	2011-08-01T14:34:49Z	" Hello,

 I am getting the following error while trying to store an estimation in an OIS file:
{{{
ERROR: [12] OIS: 
No se pudo escribir en el fichero .matrix 12000 elementos de 8bytes
}}}
 There seems to be not enough memory. The storing process is ok with less inputs.

 Regards,
 Alvaro
"	Álvaro García Camacho
1289	fail in NLOP test	Various	2.0.1	TOL Packages	defect	Víctor de Buen Remiro	closed	2011-07-28T07:25:47Z	2011-08-02T14:13:05Z	"If we execute [https://www.tol-project.org/browser/tolp/OfficialTolArchiveNetwork/NonLinGloOpt/test/test_0001/test.tol test] the following error is generated:

{{{
ERROR: [1] Intento de acceso al elemento 25-esimo de un conjunto de 0 elementos

[Call stack]
  [3] Real met::check (NameBlock problem)
  [2] Real pipe_line::check (Real forzeFeasible_)
  [1] Real pipe_line::optimize (Real forzeFeasible_)

ERROR: [2] (_.algorithmInfo) no es un Set con estructura NonLinGloOpt::@AlgorithmInfo

[Call stack]
  [4] Set problem::get_compatibility_info (Set ai)
  [3] Real met::check (NameBlock problem)
  [2] Real pipe_line::check (Real forzeFeasible_)
  [1] Real pipe_line::optimize (Real forzeFeasible_)

ERROR: [3] Argumentos erróneos para Set get_compatibility_info (Set ai)

[Call stack]
  [4] Set problem::get_compatibility_info (Set ai)
  [3] Real met::check (NameBlock problem)
  [2] Real pipe_line::check (Real forzeFeasible_)
  [1] Real pipe_line::optimize (Real forzeFeasible_)

Warning: [1] La función :: ha fallado en : 
problem::get_compatibility_info(_.algorithmInfo)

Warning: [2] La función Field (ó -> ) ha fallado en : 
_.compatibility->All.ok

ERROR: [4] ok no se pudo crear.

[Call stack]
  [3] Real met::check (NameBlock problem)
  [2] Real pipe_line::check (Real forzeFeasible_)
  [1] Real pipe_line::optimize (Real forzeFeasible_)

ERROR: [5] ok no es un objeto valido para el tipo Real.

[Call stack]
  [3] Real met::check (NameBlock problem)
  [2] Real pipe_line::check (Real forzeFeasible_)
  [1] Real pipe_line::optimize (Real forzeFeasible_)

ERROR: [6] Argumentos erróneos para Real IsUnknown (Real x)

[Call stack]
  [3] Real met::check (NameBlock problem)
  [2] Real pipe_line::check (Real forzeFeasible_)
  [1] Real pipe_line::optimize (Real forzeFeasible_)

ERROR: [7] ok no es un objeto valido para el tipo Real.

[Call stack]
  [3] Real met::check (NameBlock problem)
  [2] Real pipe_line::check (Real forzeFeasible_)
  [1] Real pipe_line::optimize (Real forzeFeasible_)

ERROR: [8] Argumentos erróneos para Real Not (Real x)

[Call stack]
  [3] Real met::check (NameBlock problem)
  [2] Real pipe_line::check (Real forzeFeasible_)
  [1] Real pipe_line::optimize (Real forzeFeasible_)
}}}

this bug is generated while executing {{{check}}} method nevertheless the solution is reached successfully"	Daniel Eduardo Castro Morell
1292	segfault in RandTruncatedMultNormal	Math	2.0.1	Mantainance	defect	Víctor de Buen Remiro	closed	2011-08-04T09:00:23Z	2011-08-04T17:09:17Z	"The following code generate a segfault in tol

{{{
#!java
Matrix mu  = Col(0, 2);
Matrix L   = Col(1);
Matrix c1  = Col(-1, 0.5);
Matrix c2  = Col( 1, 1.5);
Matrix MCsample = RandTruncatedMultNormal(mu, L, c1, c2, 1, 100);
}}}

note that we are provinding L as a 1x1 matrix."	Jorge
1294	Tabular estadísticos - Función tol	Kernel	head	Métodos de presentación gráfica ejecutables desde TOL	defect	Víctor de Buen Remiro	closed	2011-08-19T10:21:52Z	2011-10-27T16:46:22Z	"Buenos días.

Quería utilizar la función de botón derecho (de una serie)  'Tabular estadísticos' en un código, sin necesidad de tabular nada, es decir, guardar en una variable los estadísticos de una serie o de un set de series para realizar calculos con ellos.

No encuentro la forma de hacerlo. La función de botón derecho utiliza TCL y es el propio objeto btable el que tiene un metodo fillStatistics. Este, a su vez, llama a  ::tol::seriestat.

Cómo puedo hacer esto que he explicado?

Debería haber una función en stdlib que hiciera esto.
"	jgarcia
1295	Duda  Conexion ODBC sobre  x64 bit  con Windows 7	Kernel	head	Mantainance	doubt	apalonso	closed	2011-08-19T12:54:48Z	2011-08-20T16:32:59Z	"Hola,

Tengo un equipo nuevo con Windows 7 que corre a x64bits.
He instalado la ultima version de tol y funciona correctamente.

He creado una conexión ODBC  a una base de datos postgres 8.3 con un driver x64 bit  sin embargo me falla la conexión  Real DBOpen ( ) y tampoco apacere la conexión ODBC cuando pulso el botón  ""Conexión a base de datos""

No se si tiene algo que ver...

¿Sabeis como se puede solucionar?

¿Hay una versión de TOL para x64 bits?

Fuerte abrazo a todos!!!

Jaime 


"	jlaybar
1298	Import toljava	toljava	head	Mantainance	task	Humberto Carralero	closed	2011-09-06T09:03:43Z	2012-03-09T13:57:32Z	Import the source code of toljava. It should be locate at the same level as tolbase	Jorge
1303	Libreria Excel	Excel API	head	TOL Extensions	defect	Jorge	closed	2011-09-13T14:37:06Z	2012-02-14T12:44:56Z	"Hola, al recoger la información de un excel y cargarla en un Set me encuentro con el siguiente problema:

Si la celda que quiero recoger es formato fecha me recoge su valor en número. Por ejemplo, si la fecha de la celda es 2011/09/14, el valor que recoge el set es 40800.0

He probado a poner distintos tipos de formato de fecha y con todos me sucede lo mismo.

La forma de generar el set es la siguiente.


{{{
//abrimos el fichero excel
Text XLSOpenExcel(ReplaceSlash(file), 0);

//seleccionamos la pestaña
Text XLSSelectWorksheetIndex(1);

// obtenemos la fila de fechas
Set miSetFecha = XLSReadRange(""A1"",""H1"");
}}}


Un saludo y muchas gracias de ante mano"	JavierBarrocal Palmero
1305	tolsh.exe needs whoami	Tolsh	2.0.1	Mantainance	defect	Jorge	closed	2011-09-15T10:02:10Z	2011-09-15T13:08:27Z	tolsh.exe fails on Windows because it try to execute whoami, but whoami is not a program commonly used on Windows.	Jorge
1306	Overdispesed pseudo-uniform sampler under constraints	Math	2.0.1	Mantainance	task	Víctor de Buen Remiro	closed	2011-09-15T10:27:57Z	2011-12-12T15:59:28Z	"In order to initialize multiple MCMC is it needed a functionality which provide the sampling of multiple points dispersed over the constrained domain.

Attached to this ticket there is a paper which describe a method to generate a sample with the previous characteristics.
"	Jorge
1307	Can't use a class @InputDef defined within a NameBlock	Kernel	2.0.1	Mantainance	defect	Víctor de Buen Remiro	closed	2011-09-16T09:53:01Z	2011-09-20T14:51:28Z	"{{{
#!java
NameBlock nb = [[
  Class @InputDef {
     Real a = 1
  }
]];

nb::@InputDef ll = [[ Real a = 1 ]];
}}}

generate the following error messages

{{{
ERROR: [1] Cannot apply structure@InputDef having 2 fields to a set with 1 elements

ERROR: [2] Cannot apply structure @InputDef

ERROR: [3] A set with structure @InputDef was expected instead of Set ll
}}}

The class is correctly defined but I'm no able to use it."	Jorge
1308	comparar fechas	Kernel	head	Mantainance	doubt	Jorge	closed	2011-09-26T07:49:13Z	2012-02-14T12:45:57Z	" Buenos días:

 Tengo una duda sobre operadores de comparación de fechas. Si evalúo

 First(bb)!=TheBegin

 me da un mensaje:

ERROR: [638] != no es un operador de tipo Date

 y lo mismo cuando uso > ó < ó con una fecha concreta en lugar de TheBegin.
 ¿Cómo pueden compararse fechas directamente?
 Muchas gracias y un saludo."	Álvaro García Camacho
1310	compile fails in ubuntu 10.04 64 bits	Kernel	2.0.1	Mantainance	defect	Jorge	closed	2011-10-07T14:30:46Z	2011-10-14T07:01:52Z	"On ubuntu 10.0.4 64 bits, the compilation fails with:

{{{
btol/vmatrix_type/vmat_io.cpp:511: error: call of overloaded ‘Write(size_t&, BStream*&)’ is ambiguous
./tol/tol_oiscreator.h:60: note: candidates are: bool BOisCreator::Write(const char&, BStream*)
./tol/tol_oiscreator.h:61: note:                 bool BOisCreator::Write(const unsigned char&, BStream*)
./tol/tol_oiscreator.h:62: note:                 bool BOisCreator::Write(const short int&, BStream*)
./tol/tol_oiscreator.h:63: note:                 bool BOisCreator::Write(const short unsigned int&, BStream*)
./tol/tol_oiscreator.h:64: note:                 bool BOisCreator::Write(const int&, BStream*)
./tol/tol_oiscreator.h:65: note:                 bool BOisCreator::Write(const unsigned int&, BStream*)
...
}}}

"	Jorge
1311	redirect log to project root	RMTPS	head	Mantainance	task	Jorge	closed	2011-10-10T05:20:42Z	2011-10-14T15:38:26Z	It is requested the implementation of a way to redirect the start.log from rmtps server toward a directory specified in the rmpts configuration file.	Jorge
1312	Install TOL in Ubuntu 10.04 64 bits	Various	2.0.1	Mantainance	task	Jorge	closed	2011-10-13T08:42:25Z	2012-02-13T17:56:27Z		Jorge
1313	duplicated ; at end of sentence	RMTPS	2.0.1	Mantainance	defect	Jorge	closed	2011-10-13T09:52:41Z	2011-10-14T15:38:26Z	rmtps adds always a ; at the end of expr, this may results in a bug when the expr already ends at ;	Jorge
1314	could not read a file from a NAS server	Kernel	2.0.1	Mantainance	defect	Jorge	closed	2011-10-18T09:58:49Z	2012-02-13T17:45:23Z	"TOL fails to read a file from shared NAS location. This bug is generated on Ubuntu 10.04

{{{
Incluyendo /media/nas/bpr/kk.tol
<E>
ERROR: [1] No se puede abrir el fichero /media/nas/bpr/kk.tol</E>
No ha sido incluido el fichero /media/nas/bpr/kk.tol [0.000 sec.]
}}}"	Jorge
1315	Base de Datos	Kernel	head	Mantainance	defect	sysadm.es@…	closed	2011-10-19T13:31:51Z	2011-10-19T14:20:23Z	"Hola, 
  me gustaría que creaseis una base de datos Oracle para poder realizar pruebas de integración con la Bayes Web Suite.

Un saludo y muchas gracias"	JavierBarrocal Palmero
1317	TolServer API not available from TolBase	TolServer	2.0.1	Mantainance	defect	Jorge	closed	2011-10-27T07:11:58Z	2011-10-27T08:35:39Z	TolServer API is not available from TolBase. This problem can be solved easily by means of porting the code from tolsh into one package.	Jorge
1319	ServerPing error	TolServer	2.0.1	Mantainance	defect	Jorge	closed	2011-10-27T09:41:50Z	2011-10-27T12:39:59Z	"When runnig the test Tests/matprod/partest.tol from tolbase it fails:

{{{
ERROR: [1] ServerPing: invalid command name ""::tolclient::server_ping""
}}}

is executed from tolsh it works as expected."	Jorge
1320	#Require GuiTools fails from tolcon	GuiTools	head	Mantainance	defect	Jorge	closed	2011-11-02T11:28:11Z	2011-11-02T18:31:40Z	"#Require GuiTools fails from tolon as:

{{{
> #Require GuiTools
Incluyendo /home/toldevel/.tol/TolPackage/1.1/Client/VersSyncInfo.oza
<E>
ERROR: [1] GuiTools::InsideTk : Unimplemented
</E>

[Call stack]
  [4] Anything StdLib::Error (Text message)
  [3] Real GuiTools::InsideTk (Real void)
  [2] Real GuiTools::ImageManager::_.init (Real void)
  [1] Real GuiTools::StartActions (Real void)
<E>
ERROR: [2] GuiTools::InsideTk : Unimplemented
</E>

[Call stack]
  [3] Anything StdLib::Error (Text message)
  [2] Real GuiTools::InsideTk (Real void)
  [1] Real GuiTools::StartActions (Real void)
Ha sido cargado el paquete GuiTools.3.1
}}}

if Tcl is not available #Require GuiTools should not generate ERRORS."	Jorge
1321	implement Toltcl package	Toltcl	2.0.1	TOL Packages	enhancement	Jorge	closed	2011-11-02T19:21:19Z	2012-03-01T21:26:40Z	Some MMS capabilities rest on Tcl but MMS can be required outside tolbase or tolsh. In order to have those capabilities available consider the implementation of a TOL package that load tcl and toltcl if they are not available.	Jorge
1322	Error en TclChartSet	Interface	head	Métodos de presentación gráfica ejecutables desde TOL	defect	Jorge	closed	2011-11-03T18:26:26Z	2012-02-14T08:19:55Z	"Si se ejecuta el siguiente código:
{{{
Text TclChartSet(MatSet(BinGroup(""|"", 
  For(1, 6, Matrix(Real i) { Col(1,2,3,4,5)|Col(i,i,i,i,i) })
  )), [[ 
    @TclArgSt(""-title"", Tcl_Eval(""mc {Density Functions}"")[1]),
    @TclArgSt(""-names"", TxtListTcl(For(1, 6, Text(Real i) { ""v""<<i   }))),
      @TclArgSt(""-type"" , ""3"")
    ]]);
}}}
los gráficos que se obtienen no se corresponden con lo esperado, el error aparece a partir de 6, hasta 5 pares de datos todo funciona bien.

"	Liván Ramírez Dorta
1323	Toltcl should be loaded from Tolcon or Tolgrid	Toltcl	2.0.1	TOL Packages	task	Jorge	closed	2011-11-04T13:33:40Z	2011-12-07T21:16:59Z	"Change the initialization of toltcl in order to be able to load it from tolcon or tolgrid:

 * ::tol::initkernel should work even when kernel is already initialized."	Jorge
1324	TOL fails with package whose name is part of another pkg name	Various	head	TOL Packages	defect	Víctor de Buen Remiro	closed	2011-11-07T17:41:10Z	2011-11-07T17:59:01Z	TOL fails to load TclCore because its name is part of TclCoreWin32	Jorge
1328	Wrong Informative message	Interface	head	Mantainance	defect	Jorge	closed	2011-11-10T09:35:53Z	2012-02-14T11:36:29Z	"Hi,

When you open a tol file that is already opened, the warning message is:

The file is allready opened!

The message should be: The file is already opened!

Thanks in advance for your help.

Kind Regards,
P.C."	Pedro
1329	Implement MapViewer	GUI Tol Packages	head	TOL Packages	task	Jorge	closed	2011-11-10T15:52:19Z	2012-02-14T13:11:45Z	Implement a GUI componente to plot a variable measured over geographic regions.	Jorge
1333	Detección de pares de filas colineales en una matriz sparse	Math	head	Numerical methods	defect	Víctor de Buen Remiro	closed	2011-11-11T18:27:13Z	2011-11-17T10:57:20Z	"Es necesario un mecanismo que encuentre de forma rápida pares de filas colineales en una matriz sparse {{{X}}}.

El método denso consiste en calcular la matriz de correlaciones de {{{X'X}}} y buscar las celdas 1 ó -1, pero en matrices grandes puede ser muy lento.
"	Víctor de Buen Remiro
1336	TOLBase hangs down when view a No Dating TimeSet	Kernel	2.0.1	Mantainance	defect	Víctor de Buen Remiro	closed	2011-11-14T13:57:27Z	2011-11-14T16:53:10Z	If we trying to see TimeSet t = SerTms(UnknownSerie) in Calendar Experts, TOLBase hangs down.	César Pérez Álvarez
1337	TOLBase hangs down when trying to Datch in NoDating TimeSet	Kernel	2.0.1	Mantainance	defect	Víctor de Buen Remiro	closed	2011-11-14T13:58:59Z	2012-02-08T19:04:56Z	"When we try this code:

TimeSet t = SerTms(UnknownSerie);
Serie ser = DatCh(CalInd(C, Diario), t, FirstS);

TOLBase hangs down.
I understand that the result of ser must be UnknownSerie."	César Pérez Álvarez
1338	TOLBase hangs down when I am trying to draw CalInd(C, W)	Kernel	2.0.1	Mantainance	defect	Víctor de Buen Remiro	closed	2011-11-14T18:09:05Z	2011-12-12T15:49:06Z		César Pérez Álvarez
1339	TOL returns erroneus value when you are trying to access to CalInd(C, W)	Kernel	head	Mantainance	defect	Víctor de Buen Remiro	closed	2011-11-14T18:26:56Z	2011-11-21T11:53:05Z	"This code 

Serie a = CalInd(C, W);
Real b = SerDat(a, y2001m01d01);

Returns b = 1. I think that value must be ?, mustn't it?

In fact, if a serie a has W dating, SerDat(a, *) = ?"	César Pérez Álvarez
1340	Eliminar exceso de warnings repetitivos en BSR	Kernel	head	Mantainance	defect	Víctor de Buen Remiro	closed	2011-11-15T17:02:41Z	2011-11-15T17:04:14Z	Habría que eliminar exceso de warnings repetitivos en BSR	Víctor de Buen Remiro
1341	problems with version number v2.0.1 b.10	Kernel	2.0.1	Mantainance	defect	Víctor de Buen Remiro	closed	2011-11-16T14:12:39Z	2011-11-21T10:56:37Z	"The new version v2.0.1 b.10 is not able to download the package TclCore.

{{{
15:07:22 TOL> #Require TclCore
Including /home/toldevel/.tol/TolPackage/1.1/Client/VersSyncInfo.oza
[GetUrlContents.tcl.uri]Downloading from ""http://packages.tol-project.org/OfficialTolArchiveNetwork/repository.php?tol_package_version=1.1&tol_version=v2.0.1%20b.10&action=ping&key=183402143"" ...
[GetUrlContents.tcl.uri]Downloading from ""http://packages.tol-project.org/OfficialTolArchiveNetwork/repository.php?tol_package_version=1.1&tol_version=v2.0.1%20b.10&action=ping&key=153781151"" ...
[GetUrlContents.tcl.uri]Downloading from ""http://packages.tol-project.org/OfficialTolArchiveNetwork/repository.php?tol_package_version=1.1&tol_version=v2.0.1%20b.10&action=versions&limit=1&package=TclCore"" ...
[GetUrlContents.tcl.uri]Downloading from ""http://packages.localbayes.es/BayesPrivateTolPackages/repository.php?tol_package_version=1.1&tol_version=v2.0.1%20b.10&action=versions&limit=1&package=TclCore"" ...
[GetUrlContents.tcl.uri]Downloading from ""http://packages.tol-project.org/OfficialTolArchiveNetwork/repository.php?tol_package_version=1.1&tol_version=v2.0.1%20b.10&action=ping&key=879700036"" ...
[GetUrlContents.tcl.uri]Downloading from ""http://packages.tol-project.org/OfficialTolArchiveNetwork/repository.php?tol_package_version=1.1&tol_version=v2.0.1%20b.10&action=versions&limit=1&package=TclCore"" ...
[GetUrlContents.tcl.uri]Downloading from ""http://packages.localbayes.es/BayesPrivateTolPackages/repository.php?tol_package_version=1.1&tol_version=v2.0.1%20b.10&action=versions&limit=1&package=TclCore"" ...
<E>
ERROR: [1] Cannot find package TclCore in any repository for any TOL version.
</E>
[Call stack]
[2] Anything StdLib::Error (Text message)
[1] Real StdLib::TolPackage::Client::RemoteInstall (Text repository, Text package, Real showError)
<E>
ERROR: [2] Fail in function ""RemoteInstall""</E>
[Call stack]
[1] Real StdLib::TolPackage::Client::RemoteInstall (Text repository, Text package, Real showError)
<W>
Warning: [3] :: function failed at : 
TolPackage::Client::RemoteInstall("""", ""TclCore"", True)</W>
Including /home/toldevel/.tol/TolPackage/1.1/Client/VersSyncInfo.oza
<E>
ERROR: [3] Unknown package TclCore must be manually installed.</E>
NOT loaded package TclCore
Lea información acerca de los paquetes TOL en https://www.tol-project.org/wiki/TolPackageRulesAndComments
15:07:27 TOL> 
}}}

By the way, tol says that ""Cannot find package TclCore in any repository for any TOL version."" when indeed the TclCore package exists.

I suspect the problems is when comparing the versions v2.0.1 b.10 with v2.0.1 b.9 or previous."	Jorge
1342	Problemas con TruncStdGaussian en la frontera	BysMCMC	head	Numerical methods	defect	Víctor de Buen Remiro	closed	2011-11-21T11:20:35Z	2012-03-30T09:19:21Z	"La función TruncStdGaussian para la simulación de multinormales estandarizadas truncadas presenta problemas cuando se acerca demasiado a la frontera de la región factible, lo cual ocurre con mayor frecuencia si la moda está fuera de la región factible.

Para huir de estas situaciones en la medida de lo posible se debe obligar a TruncStdGaussian a generar puntos estrictamente interiores. 

Obviamente, el punto inicial también debe ser estrictamente interior.
"	Víctor de Buen Remiro
1344	Crash in blt::graph	Kernel	2.0.1	Mantainance	defect	Jorge	closed	2011-11-23T09:40:13Z	2012-02-13T17:43:49Z	"Inside blt::graph there is an error related to busy command. This error has being observed on:

- Ubuntu >= 9.04: zooming
- OpenSUSE 11.4: zooming
- Windows: with MapViewer
"	Jorge
1345	Warnings in TolPackage::Client::RemoteUpdateAll(1);	Kernel	head	Mantainance	doubt	Víctor de Buen Remiro	closed	2011-11-28T10:49:36Z	2011-11-28T11:48:30Z	"When I execute TolPackage::Client::RemoteUpdateAll(1); I get some message I don't understand, bellow is the ouput I get:

what does the following message means?

{{{
<W>
Warning: [7] [RemoteUpdateVersSyncInfo] No se encuentra la imagen remota del paquete local MMS.0.6042 en ningún repositorio
</W>
}}}
The value of Text Version is:

{{{
""v2.0.2 b.0.20.alpha 2011-11-28 11:25:11 +0100 CET i686-linux-gnu""
}}}

the full output is:

{{{
11:28:43 TOL> Real TolPackage::Client::RemoteUpdateAll(1);
[GetUrlContents.tcl.curl] Downloading from ""http://packages.tol-project.org/OfficialTolArchiveNetwork/repository.php?tol_package_version=1.1&tol_version=v2.0.2%20b.0.20.alpha&action=ping&key=203865226"" ...
OK
[GetUrlContents.tcl.curl] Downloading from ""http://packages.tol-project.org/OfficialTolArchiveNetwork/repository.php?tol_package_version=1.1&tol_version=v2.0.2%20b.0.20.alpha&action=packages"" ...
OK
[GetUrlContents.tcl.curl] Downloading from ""http://packages.tol-project.org/OfficialTolArchiveNetwork/repository.php?tol_package_version=1.1&tol_version=v2.0.2%20b.0.20.alpha&action=ping&key=813003558"" ...
OK
[GetUrlContents.tcl.curl] Downloading from ""http://packages.tol-project.org/OfficialTolArchiveNetwork/repository.php?tol_package_version=1.1&tol_version=v2.0.2%20b.0.20.alpha&action=versions&limit=1&package=IpoptCore.3.9"" ...
OK
[GetUrlContents.tcl.curl] Downloading from ""http://packages.tol-project.org/OfficialTolArchiveNetwork/repository.php?tol_package_version=1.1&tol_version=v2.0.2%20b.0.20.alpha&action=download&format=base64&package=IpoptCore.3.9"" ...
OK
[GetUrlContents.tcl.curl] Downloading from ""http://packages.tol-project.org/OfficialTolArchiveNetwork/repository.php?tol_package_version=1.1&tol_version=v2.0.2%20b.0.20.alpha&action=ping&key=971395511"" ...
OK
[GetUrlContents.tcl.curl] Downloading from ""http://packages.tol-project.org/OfficialTolArchiveNetwork/repository.php?tol_package_version=1.1&tol_version=v2.0.2%20b.0.20.alpha&action=versions"" ...
OK
<W>
Warning: [4] [RemoteUpdateVersSyncInfo] No se encuentra la imagen remota del paquete local BabelTool.1.4 en ningÃºn repositorio
</W>
<W>
Warning: [5] [RemoteUpdateVersSyncInfo] No se encuentra la imagen remota del paquete local DecoTools.1.6 en ningÃºn repositorio
</W>
<W>
Warning: [6] [RemoteUpdateVersSyncInfo] No se encuentra la imagen remota del paquete local ExtLib.1.6 en ningÃºn repositorio
</W>
<W>
Warning: [7] [RemoteUpdateVersSyncInfo] No se encuentra la imagen remota del paquete local MMS.0.6042 en ningÃºn repositorio
</W>
<W>
Warning: [8] [RemoteUpdateVersSyncInfo] No se encuentra la imagen remota del paquete local RandVar.2.106 en ningÃºn repositorio
</W>
[GetUrlContents.tcl.curl] Downloading from ""http://packages.tol-project.org/OfficialTolArchiveNetwork/repository.php?tol_package_version=1.1&tol_version=v2.0.2%20b.0.20.alpha&action=ping&key=606833949"" ...
OK
[GetUrlContents.tcl.curl] Downloading from ""http://packages.tol-project.org/OfficialTolArchiveNetwork/repository.php?tol_package_version=1.1&tol_version=v2.0.2%20b.0.20.alpha&action=versions&limit=1&package=MatQuery.3.2"" ...
OK
[GetUrlContents.tcl.curl] Downloading from ""http://packages.tol-project.org/OfficialTolArchiveNetwork/repository.php?tol_package_version=1.1&tol_version=v2.0.2%20b.0.20.alpha&action=download&format=base64&package=MatQuery.3.2"" ...
OK
[GetUrlContents.tcl.curl] Downloading from ""http://packages.tol-project.org/OfficialTolArchiveNetwork/repository.php?tol_package_version=1.1&tol_version=v2.0.2%20b.0.20.alpha&action=ping&key=330542394"" ...
OK
[GetUrlContents.tcl.curl] Downloading from ""http://packages.tol-project.org/OfficialTolArchiveNetwork/repository.php?tol_package_version=1.1&tol_version=v2.0.2%20b.0.20.alpha&action=versions"" ...
OK
<W>
Warning: [9] [RemoteUpdateVersSyncInfo] No se encuentra la imagen remota del paquete local BabelTool.1.4 en ningÃºn repositorio
</W>
<W>
Warning: [10] [RemoteUpdateVersSyncInfo] No se encuentra la imagen remota del paquete local DecoTools.1.6 en ningÃºn repositorio
</W>
<W>
Warning: [11] [RemoteUpdateVersSyncInfo] No se encuentra la imagen remota del paquete local ExtLib.1.6 en ningÃºn repositorio
</W>
<W>
Warning: [12] [RemoteUpdateVersSyncInfo] No se encuentra la imagen remota del paquete local MMS.0.6042 en ningÃºn repositorio
</W>
<W>
Warning: [13] [RemoteUpdateVersSyncInfo] No se encuentra la imagen remota del paquete local RandVar.2.106 en ningÃºn repositorio
</W>
[GetUrlContents.tcl.curl] Downloading from ""http://packages.tol-project.org/OfficialTolArchiveNetwork/repository.php?tol_package_version=1.1&tol_version=v2.0.2%20b.0.20.alpha&action=ping&key=314592673"" ...
OK
[GetUrlContents.tcl.curl] Downloading from ""http://packages.tol-project.org/OfficialTolArchiveNetwork/repository.php?tol_package_version=1.1&tol_version=v2.0.2%20b.0.20.alpha&action=versions&limit=1&package=TclCoreLinux32.8.400"" ...
OK
[GetUrlContents.tcl.curl] Downloading from ""http://packages.tol-project.org/OfficialTolArchiveNetwork/repository.php?tol_package_version=1.1&tol_version=v2.0.2%20b.0.20.alpha&action=download&format=base64&package=TclCoreLinux32.8.400"" ...
OK
[GetUrlContents.tcl.curl] Downloading from ""http://packages.tol-project.org/OfficialTolArchiveNetwork/repository.php?tol_package_version=1.1&tol_version=v2.0.2%20b.0.20.alpha&action=ping&key=411208256"" ...
OK
[GetUrlContents.tcl.curl] Downloading from ""http://packages.tol-project.org/OfficialTolArchiveNetwork/repository.php?tol_package_version=1.1&tol_version=v2.0.2%20b.0.20.alpha&action=versions"" ...
OK
<W>
Warning: [14] [RemoteUpdateVersSyncInfo] No se encuentra la imagen remota del paquete local BabelTool.1.4 en ningÃºn repositorio
</W>
<W>
Warning: [15] [RemoteUpdateVersSyncInfo] No se encuentra la imagen remota del paquete local DecoTools.1.6 en ningÃºn repositorio
</W>
<W>
Warning: [16] [RemoteUpdateVersSyncInfo] No se encuentra la imagen remota del paquete local ExtLib.1.6 en ningÃºn repositorio
</W>
<W>
Warning: [17] [RemoteUpdateVersSyncInfo] No se encuentra la imagen remota del paquete local MMS.0.6042 en ningÃºn repositorio
</W>
<W>
Warning: [18] [RemoteUpdateVersSyncInfo] No se encuentra la imagen remota del paquete local RandVar.2.106 en ningÃºn repositorio
</W>
[GetUrlContents.tcl.curl] Downloading from ""http://packages.tol-project.org/OfficialTolArchiveNetwork/repository.php?tol_package_version=1.1&tol_version=v2.0.2%20b.0.20.alpha&action=ping&key=865025005"" ...
OK
[GetUrlContents.tcl.curl] Downloading from ""http://packages.tol-project.org/OfficialTolArchiveNetwork/repository.php?tol_package_version=1.1&tol_version=v2.0.2%20b.0.20.alpha&action=versions&limit=1&package=TolIpopt.3.1"" ...
OK
[GetUrlContents.tcl.curl] Downloading from ""http://packages.tol-project.org/OfficialTolArchiveNetwork/repository.php?tol_package_version=1.1&tol_version=v2.0.2%20b.0.20.alpha&action=download&format=base64&package=TolIpopt.3.1"" ...
OK
[GetUrlContents.tcl.curl] Downloading from ""http://packages.tol-project.org/OfficialTolArchiveNetwork/repository.php?tol_package_version=1.1&tol_version=v2.0.2%20b.0.20.alpha&action=ping&key=575717068"" ...
OK
[GetUrlContents.tcl.curl] Downloading from ""http://packages.tol-project.org/OfficialTolArchiveNetwork/repository.php?tol_package_version=1.1&tol_version=v2.0.2%20b.0.20.alpha&action=versions"" ...
OK
<W>
Warning: [19] [RemoteUpdateVersSyncInfo] No se encuentra la imagen remota del paquete local BabelTool.1.4 en ningÃºn repositorio
</W>
<W>
Warning: [20] [RemoteUpdateVersSyncInfo] No se encuentra la imagen remota del paquete local DecoTools.1.6 en ningÃºn repositorio
</W>
<W>
Warning: [21] [RemoteUpdateVersSyncInfo] No se encuentra la imagen remota del paquete local ExtLib.1.6 en ningÃºn repositorio
</W>
<W>
Warning: [22] [RemoteUpdateVersSyncInfo] No se encuentra la imagen remota del paquete local MMS.0.6042 en ningÃºn repositorio
</W>
<W>
Warning: [23] [RemoteUpdateVersSyncInfo] No se encuentra la imagen remota del paquete local RandVar.2.106 en ningÃºn repositorio
</W>
4
}}}"	Jorge
1347	Hipertext widget to show documentation.	Interface	head	Mantainance	enhancement	Jorge	closed	2011-12-01T10:18:57Z	2012-02-14T12:56:38Z	"In order to improve the format of the documentation from the GUI it is requested te implementation of and hipertext widget based on [http://notebook.wjduquette.com/ Notebook App].

This widget has being already include in MMS GUI."	Jorge
1349	EvalSet se ejecuta dos veces	Kernel	head	Mantainance	defect	Víctor de Buen Remiro	closed	2011-12-01T13:12:43Z	2011-12-01T15:41:37Z	"Hola Tol, al compilar el siguiente código:
{{{
Set EvalSet([[ 1,2,3,4,5 ]],Real (Real x){
  WriteLn(""""<<x);
  Real x
}) - [[ 1 ]];
}}}
me encuentro que el evalset ¡se ejecuta dos veces! 

Un saludo"	lmperez@…
1350	ROC curve	Kernel	head	Numerical methods	task	Pedro Gea	closed	2011-12-02T12:56:39Z	2013-02-21T12:42:43Z	"The ROC curve is widely used in the diagnosis of qualitative response models.

In [http://en.wikipedia.org/wiki/Receiver_operating_characteristic ROC (Wikipedia)] we can find the definition.

We request the inclusion of this function and other derived values, such as Area Under Curve (AUC) in a TOL package. Consider also an implementation in C++ because its performance could impact when it is used with big models or when it should be invoked repeatedly from other computations such as ""DUETO"" decomposition.

Below is an implementation done in TOL (thanks to pgea and cgarcia):

{{{
#!java
//////////////////////////////////////////////////////////////////////////////
Real ROC.AUC(Matrix real, Matrix prediction) // by columns
//////////////////////////////////////////////////////////////////////////////
{
  Set steps = Sort(MatSet(Tra(prediction))[1], Compare);
  Real length = Rows(real);
  Real RP = MatSum(real);
  Real RN = length-RP;
  Real FFP = 1;
  Real AUC = 0;
  Set EvalSet(steps, Real (Real step) {
    Real FFP0 = FFP;
    Matrix mc = GE(prediction, step);
    Matrix mFP = mc $* Not(real);
    Real FP = MatSum(mFP);
    Real FFP := FP/RP;
    Real If(FFP<FFP0, {
      Matrix mVP = mc $* real;
      Real VP = MatSum(mVP);
      Real FVP = VP/RN;
      Real AUC := AUC - FVP*(FFP-FFP0);
    1});
  1});
  AUC
};
}}} "	Jorge
1351	Oi Sistemas, precisaria fazer uma proposta para a instalação de duas ou três máquinas para o projeto da Folha.	Kernel	head	Mantainance	defect	Víctor de Buen Remiro	closed	2011-12-05T16:48:56Z	2011-12-05T17:26:35Z	"Oi Sistemas, precisaria fazer uma proposta para a instalação de duas ou três máquinas para o projeto da Folha.
Teriam que ter pelo menos quatro núcleos e rodar com windows-server, como as novas que já estão lá.

Att, Luis"	lmperez@…
1352	bug in MapViewer	GUI Tol Packages	head	Mantainance	defect	Jorge	closed	2011-12-05T22:02:04Z	2013-02-22T09:40:52Z	"The following error has appear while interacting with MapViewer

{{{
invalid command name "".main.mdi.slave22.work.paned.f1.frame.labEntity""
invalid command name "".main.mdi.slave22.work.paned.f1.frame.labEntity""
    while executing
""$f.labEntity configure -text $entityName""
    (procedure ""MapViewer::OnActivateEntity"" line 13)
    invoked from within
""MapViewer::OnActivateEntity .main.mdi.slave21.work.paned.f0.frame.g""
    (command bound to event)
}}}

I don't know the actual situation where this bug is generated."	Jorge
1353	fix uptol.bat	Various	head	Mantainance	task	Jorge	closed	2011-12-07T21:01:43Z	2012-02-14T13:14:53Z	uptol.bat must be fixed in order to deal with both compilation environments VS80 and VS90.	Jorge
1354	Error en desplazamiento temporal de gráficos de series en TolBase	Interface	head	Mantainance	defect	Jorge	closed	2011-12-09T11:54:34Z	2011-12-12T15:51:14Z	"Si en TolBase 2.0.2 hacemos un gráfico de una o varias series cualquesquiera como por ejemplo
{{{
Serie s = SubSer(Gaussian(0,1,C),y2010,y2011);
}}}
y luego hacemos un zoom a un intervalo cualquiera, al intentar usar el botón de desplazamiento temporal ''Mover el marco de la imagen'', sale una ventana de con el siguiente mensaje de error:

{{{
wrong # args: should be ""blt::RemoveBindTag widget tag""
wrong # args: should be ""blt::RemoveBindTag widget tag""
    while executing
""blt::RemoveBindTag $graph ""select-region-$graph"" ""zoom-$graph""""
    (procedure ""blt::ClearMode"" line 14)
    invoked from within
""blt::ClearMode $graph $mode""
    (procedure ""Blt_ViewMode"" line 4)
    invoked from within
""Blt_ViewMode $item $active""
    (procedure ""SetViewMode"" line 28)
    invoked from within
""SetViewMode $this scroll""
    (procedure ""::bayesGraph::ScrollView"" line 10)
    invoked from within
""::bayesGraph::ScrollView ::bayesGraph::.main.mdi.slave32.work.g""
    (""uplevel"" body line 1)
    invoked from within
""uplevel \#0 $cmd""
    (procedure ""Button::_release"" line 19)
    invoked from within
""Button::_release .main.mdi.slave32.work.g.tb.tbg.scroll""
    (command bound to event)
}}}

Con la versión 2.0.1 no pasa esto sino que funciona perfectamente.
"	Víctor de Buen Remiro
1355	toltcl access to object address	Toltcl	head	Mantainance	defect	Jorge	closed	2011-12-09T12:51:37Z	2011-12-12T16:03:28Z	"Implement a set of function to access to the object's attributes from the object's address.

{{{
tol::info address name objAddr
tol::info address desc objAddr
tol::info address path objAddr
}}}

use with care because if objAddr is invalid it will make tol crash."	Jorge
1357	Problemas de no estacionariedad ARMA en simulación de modelos BSR	BSR	head	Mantainance	defect	Víctor de Buen Remiro	closed	2011-12-13T15:18:06Z	2011-12-14T16:20:24Z	"En algunas ocasiones, durante la simulación de un modelo BSR, cuando un proceso ARMA tiene una raíz cercana al círculo la unidad, el método de evaluación falla pues efectivamente no es posible hacer los cálculos ya que simplemente carecen de sentido. 

Incluso aunque el modelo no tenga realmente raíces comprometidas, se puede intentar evaluar un ARMA demasiado cercano a la frontera de estacionariedad, bien durante la etapa de burn-in o por el motivo que sea.

En estos casos la cadena se para tras mostrar mensajes de error como estos:
{{{
CHOLMOD warning: not positive definite
<W>
Warning: [2] [CHOLMOD 1] at line c:\users\jsperez\suitesparse\cholmod\cholesky\t_cholmod_rowfac.c:431: not positive definite</W>

[Call stack]
  [9] VMatrix StdLib::ARMAProcess::CholeskiFactorCov (VMatrix cov)
  [8] NameBlock StdLib::ARMAProcess::Eval.Almagro (Polyn ar, Polyn ma, VMatrix z_, Real sigma)
  [7] VMatrix cycler::sampler::master::_.arm.blk::blk::draw.scalar (Real numSim, VMatrix noise, VMatrix sigma.full)
  [6] VMatrix cycler::sampler::master::_.arm.blk::blk::draw (Real numSim)
  [5] VMatrix cycler::sampler::master::_.arm.blk::blk::get.draw (Real numSim, Real force)
  [4] VMatrix cycler::sampler::master::draw_with_linear_block (Real numSim)
  [3] VMatrix cycler::sampler::master::draw (Real numSim)
  [2] Real cycler::cycler::generate (Real sampleLength)
  [1] Real estim::estim::Run (Real void)
<E>
ERROR: [1] No es posible aplicar CholeskiFactor a una matriz virtual no definida positiva  Cholmod.R.Sparse(10x10) </E>
}}}

Habría que tratar de hacer algo para evitar que puedan pasar estas cosas en la medida de lo posible.
"	Víctor de Buen Remiro
1358	Fallo en Choleski de matriz vacía	Kernel	head	Mantainance	defect	Víctor de Buen Remiro	closed	2011-12-14T08:52:35Z	2011-12-14T16:15:32Z	"TOL se cae ejecutando este código

{{{
Matrix Choleski(Constant(0,0,0));
}}}

En depuración con VC9 se cae sin dar información de dónde lo hace, pero todo indica que es durante la ejecución de la función {{{TolLapack::dpotrf}}} que calcula la descomposición de Choleski.

"	Víctor de Buen Remiro
1359	Error en las funciones IsStationary y StationaryValue en polinomios con coeficientes nulos	Math	head	Mantainance	defect	Víctor de Buen Remiro	closed	2011-12-14T10:52:26Z	2012-02-08T19:24:06Z	"La función {{{StationaryValue}}} falla en polinomios con coeficientes nulos. Esta función es continua por definición en todos los coeficientes, pero si vamos reduciendo uno cualquiera de ellos que no sea el de grado máximo, vemos como se produce un salto al superar la barrera del mínimo valor real en la aritmética discreta {{{TheMinAbsValue = 3.952525166729972e-323}}}. Si además, como sucede en este ejemplo, el salto supone pasar de valores por encima de 1 a valores por debajo, o viceversa, entonces la función {{{IsStationary}}} también falla. 

||'''Polynomial'''||'''StationaryValue'''||'''IsStationary'''||
|| {{{1                 -1.2*B^2+0.4*B^3}}} || {{{1.16666666667}}} || {{{1}}} ||
|| {{{1+0*B             -1.2*B^2+0.4*B^3}}} || {{{1.16666666667}}} || {{{1}}} ||
|| {{{1+1e-400*B        -1.2*B^2+0.4*B^3}}} || {{{1.16666666667}}} || {{{1}}} ||
|| {{{1+TheMinAbsValue*B-1.2*B^2+0.4*B^3}}} || {{{0.7}}} || {{{0}}} ||
|| {{{1+1e-300*B        -1.2*B^2+0.4*B^3}}} || {{{0.7}}} || {{{0}}} ||
|| {{{1+1e-200*B        -1.2*B^2+0.4*B^3}}} || {{{0.7}}} || {{{0}}} ||
|| {{{1+1e-100*B        -1.2*B^2+0.4*B^3}}} || {{{0.7}}} || {{{0}}} ||
|| {{{1+1e-010*B        -1.2*B^2+0.4*B^3}}} || {{{0.699999999977}}} || {{{0}}} ||
|| {{{1+1e-001*B        -1.2*B^2+0.4*B^3)}}} || {{{0.677419354839}}} || {{{0}}} ||
"	Víctor de Buen Remiro
1360	Identificador de cadena en BysMcmc	BysMCMC	head	BSR extensions	defect	Víctor de Buen Remiro	closed	2011-12-15T11:14:59Z	2011-12-15T11:15:26Z	"Para poder paralelizar y también para poder hacer ciertos análisis de convergencia, es necesario poder lanzar diferentes cadenas con una misma sesión de un modelo.

Tanto si se trata de simulación paralela como secuencial hay que evitar que unas cadenas pisen a otras, ya que ahora mismo, el mecanismo de almacenamiento en disco de las cadenas utiliza siempre el mismo path para una sesión dada.

Por lo tanto hay que incluir, de forma opcional, un identificador de cadena que permita convivir varios archivos en un mismo directorio de sesión. Si no se especifica ninguno, todo funcionaría como hasta ahora.
"	Víctor de Buen Remiro
1362	Almacenamiento del punto inicial de la cadena en BysMmmc	BysMCMC	head	Mantainance	enhancement	Víctor de Buen Remiro	closed	2011-12-15T12:05:27Z	2011-12-16T17:32:03Z	"Actualmente BysMcmc no almacena el punto inicial de la cadena lo cual podría ayudar en tareas de depuración.

Puesto que en tiempo de diagnosis e inferencia es posible desechar cualquier número de simulaciones iniciales (burn-in), no sería ningún problema incluir dicho punto al principio.

Este comportamiento debería ser extensible a cualquier otro simulador bayesiano."	Víctor de Buen Remiro
1363	wtree fail searching	Interface	head	Mantainance	defect	Jorge	closed	2011-12-15T18:06:31Z	2011-12-15T19:53:10Z	"When the widget if configured as ""-table 0"" then search does not work properly. It is because even if a node match the search it is not shown if some of its parents does not match the search criteria."	Jorge
1365	include changeset used in build	Kernel	head	Mantainance	task	Jorge	closed	2011-12-16T13:07:03Z	2012-02-13T17:58:27Z	"In order to verify the exact code base used when tol is compiled it is requested the definition of a Text variable containing the changeset number.

ie:

{{{
#!java
Text RevisionSvn = ""3568"";
}}}"	Jorge
1366	TclCore fail with tolcon 2.0.2	Toltcl	head	TOL Packages	defect	Jorge	closed	2011-12-16T14:02:24Z	2012-02-14T13:13:44Z	"{{{
> #Require TclCore
Incluyendo /home/toldevel/.tol/TolPackage/1.1/Client/VersSyncInfo.oza
cwd = /home/toldevel/.tol/TolPackage/1.1/Client/TclCore.8.400/
Incluyendo /home/toldevel/.tol/TolPackage/1.1/Client/VersSyncInfo.oza
[TclCoreLinux32] Loading library /home/toldevel/.tol/TolPackage/1.1/Client/TclCoreLinux32.8.400/lib/TclCore.so -> OK
Ha sido cargado el paquete TclCoreLinux32.8.400
coreLib = /home/toldevel/.tol/TolPackage/1.1/Client/TclCoreLinux32.8.400/lib/libtcl8.4.so
TOLSessionPath = /usr/local/tol-gcc-release/bin/tolcon
Initializing Tcl ... para v2_0_2
TclInit OK!!!
<E>
ERROR: [1] can't find package Toltcl 2.0.2
</E>

[Call stack]
  [2] Anything StdLib::Error (Text message)
  [1] Real TclCore::StartActions (Real void)
Ha sido cargado el paquete TclCore.8.400
}}}"	Jorge
1368	TolPackage: Revisar la gestión de los updates de los paquetes	Various	head	TOL Packages	defect	Víctor de Buen Remiro	closed	2011-12-16T14:45:02Z	2012-04-27T17:27:37Z	"En la gestión de los paquetes se tratan dos tipos de actualización:
 * Update: actualización de un paquete con una versión concreta porque existe una versión más actual.
 * Upgrade: actualización de un paquete a una versión superior.

La información de la fecha de ''release'' del paquete no está en el paquete, de modo que esta información sólo reside en el archivo ""VersSyncInfo"" (penúltima columna). Esto provoca las siguientes dificultades:
 * Si este archivo se ''pierde'' no hay forma de reconstruirlo.
 * Si algunos paquetes se instalan desde un zip no se puede actualizar la información del archivo ""VersSyncInfo"".

Se sugiere la siguiente opción: Incluir un atributo {{{_.autodoc.releaseDate}}} obligatorio en los paquetes y que ha de rellenarse (para dar homogeneidad en los fechados) con la fecha o instante del repositorio en el momento de la construcción del paquete. 

Esta fecha también podría incluise junto al oza del paquete en el zip de modo que facilitara la obtención de la fecha de un paquete instalado sin necesidad de cargarlo.
"	Pedro Gea
1369	Graficar conjuntos y matrices con datos omitidos	Interface	head	Mantainance	defect	Jorge	closed	2011-12-16T16:36:36Z	2013-02-24T21:54:54Z	TolBase no deja graficar conjuntos y matrices con datos omitidos cuando debería ser igual de sencillo que con los gráficos de series temporales: simplemente no se pintan los omitidos y ya está.	Víctor de Buen Remiro
1370	Función para añadir un miembro a un NameBlock	Kernel	head	Mantainance	task	Víctor de Buen Remiro	closed	2011-12-19T09:59:58Z	2011-12-22T09:08:04Z	"Aunque no debería hacerse un uso extendido de esta caraterística, de forma excepcional puede ser útil añadir nuevos miembros a un NameBlock creado previamente, especialmente para forzar la compatibilidad de versiones viejas de paquetes TOL u otros sistemas de librerías.

Se propone para ello la creación de una función TOL para usuarios avanzados con esta API.

{{{
Real AddMember(NameBlock nb, Anything member)
}}}"	Víctor de Buen Remiro
1371	TolPackage: mecanismos para facilitar la construcción de paquetes	TolPackage	head	TOL Packages	task	Pedro Gea	closed	2011-12-19T19:35:02Z	2012-06-21T14:22:31Z	"Se solicita la incorporación a las funciones de la StdLib de mecanismos para facilitar la construcción de paquetes (especialmente desde un repositorio de código SVN) y su incorporación a un repositorio de paquetes TOL.
"	Pedro Gea
1373	fail in TolPackage::Client::LocalInfo	Kernel	head	Mantainance	defect	Víctor de Buen Remiro	closed	2011-12-22T08:22:56Z	2012-04-27T17:27:37Z	"When executing the following code an error is generated:

see also #1368

{{{
Set TolPackage::Client::LocalInfo( ""BysPrior.1.1"" );
}}}

{{{
09:11:41 TOL> Set TolPackage::Client::LocalInfo( ""BysPrior.1.1"" );
<E>
ERROR: [1] AddMember is not a Real operator.</E>
[Call stack]
[3] Set StdLib::TolPackage::PackageInfo.AutoFill (NameBlock pkg, Date releaseDate)
[2] Real StdLib::TolPackage::PackageInfo.Build (NameBlock pkg, Text dirPath, Date releaseDate_)
[1] Set StdLib::TolPackage::Client::LocalInfo (Text name.version)
<E>
ERROR: [2] AddMember is not a Real operator.</E>
[Call stack]
[3] Set StdLib::TolPackage::PackageInfo.AutoFill (NameBlock pkg, Date releaseDate)
[2] Real StdLib::TolPackage::PackageInfo.Build (NameBlock pkg, Text dirPath, Date releaseDate_)
[1] Set StdLib::TolPackage::Client::LocalInfo (Text name.version)
<E>
ERROR: [3] AddMember is not a Real operator.</E>
[Call stack]
[3] Set StdLib::TolPackage::PackageInfo.AutoFill (NameBlock pkg, Date releaseDate)
[2] Real StdLib::TolPackage::PackageInfo.Build (NameBlock pkg, Text dirPath, Date releaseDate_)
[1] Set StdLib::TolPackage::Client::LocalInfo (Text name.version)
<W>
Warning: [4] :: function failed at : 
pkg::_.autodoc.maxTolVersion</W>
<E>
ERROR: [4] _.autodoc.maxTolVersion could not be created.</E>
[Call stack]
[4] Set StdLib::TolPackage::PackageInfo.Extract (NameBlock pkg)
[3] Set StdLib::TolPackage::PackageInfo.AutoFill (NameBlock pkg, Date releaseDate)
[2] Real StdLib::TolPackage::PackageInfo.Build (NameBlock pkg, Text dirPath, Date releaseDate_)
[1] Set StdLib::TolPackage::Client::LocalInfo (Text name.version)
<E>
ERROR: [5] Wrong arguments in call to Set SetOfAnything (Anything var1 [, Anything var2, ...])</E>
[Call stack]
[4] Set StdLib::TolPackage::PackageInfo.Extract (NameBlock pkg)
[3] Set StdLib::TolPackage::PackageInfo.AutoFill (NameBlock pkg, Date releaseDate)
[2] Real StdLib::TolPackage::PackageInfo.Build (NameBlock pkg, Text dirPath, Date releaseDate_)
[1] Set StdLib::TolPackage::Client::LocalInfo (Text name.version)
<E>
ERROR: [6] info could not be created.</E>
[Call stack]
[4] Set StdLib::TolPackage::PackageInfo.Extract (NameBlock pkg)
[3] Set StdLib::TolPackage::PackageInfo.AutoFill (NameBlock pkg, Date releaseDate)
[2] Real StdLib::TolPackage::PackageInfo.Build (NameBlock pkg, Text dirPath, Date releaseDate_)
[1] Set StdLib::TolPackage::Client::LocalInfo (Text name.version)
<E>
ERROR: [7] info is not a valid object for type Set.</E>
[Call stack]
[4] Set StdLib::TolPackage::PackageInfo.Extract (NameBlock pkg)
[3] Set StdLib::TolPackage::PackageInfo.AutoFill (NameBlock pkg, Date releaseDate)
[2] Real StdLib::TolPackage::PackageInfo.Build (NameBlock pkg, Text dirPath, Date releaseDate_)
[1] Set StdLib::TolPackage::Client::LocalInfo (Text name.version)
<E>
ERROR: [8] Wrong arguments in call to Real SetIndexByName (Set set)</E>
[Call stack]
[4] Set StdLib::TolPackage::PackageInfo.Extract (NameBlock pkg)
[3] Set StdLib::TolPackage::PackageInfo.AutoFill (NameBlock pkg, Date releaseDate)
[2] Real StdLib::TolPackage::PackageInfo.Build (NameBlock pkg, Text dirPath, Date releaseDate_)
[1] Set StdLib::TolPackage::Client::LocalInfo (Text name.version)
<E>
ERROR: [9] info is not a valid object for type Set.</E>
[Call stack]
[4] Set StdLib::TolPackage::PackageInfo.Extract (NameBlock pkg)
[3] Set StdLib::TolPackage::PackageInfo.AutoFill (NameBlock pkg, Date releaseDate)
[2] Real StdLib::TolPackage::PackageInfo.Build (NameBlock pkg, Text dirPath, Date releaseDate_)
[1] Set StdLib::TolPackage::Client::LocalInfo (Text name.version)
<E>
ERROR: [10] Fail in function ""PackageInfo.Extract""</E>
[Call stack]
[4] Set StdLib::TolPackage::PackageInfo.Extract (NameBlock pkg)
[3] Set StdLib::TolPackage::PackageInfo.AutoFill (NameBlock pkg, Date releaseDate)
[2] Real StdLib::TolPackage::PackageInfo.Build (NameBlock pkg, Text dirPath, Date releaseDate_)
[1] Set StdLib::TolPackage::Client::LocalInfo (Text name.version)
<E>
ERROR: [11] Fail in function ""PackageInfo.AutoFill""</E>
[Call stack]
[3] Set StdLib::TolPackage::PackageInfo.AutoFill (NameBlock pkg, Date releaseDate)
[2] Real StdLib::TolPackage::PackageInfo.Build (NameBlock pkg, Text dirPath, Date releaseDate_)
[1] Set StdLib::TolPackage::Client::LocalInfo (Text name.version)
<E>
ERROR: [12] info could not be created.</E>
[Call stack]
[2] Real StdLib::TolPackage::PackageInfo.Build (NameBlock pkg, Text dirPath, Date releaseDate_)
[1] Set StdLib::TolPackage::Client::LocalInfo (Text name.version)
<E>
ERROR: [13] info is not a valid object for type Set.</E>
[Call stack]
[3] Real StdLib::Ois.Store (Set data, Text path_)
[2] Real StdLib::TolPackage::PackageInfo.Build (NameBlock pkg, Text dirPath, Date releaseDate_)
[1] Set StdLib::TolPackage::Client::LocalInfo (Text name.version)
<E>
ERROR: [14] Wrong arguments in call to Real Ois.Store (Set data, Text path_)</E>
[Call stack]
[3] Real StdLib::Ois.Store (Set data, Text path_)
[2] Real StdLib::TolPackage::PackageInfo.Build (NameBlock pkg, Text dirPath, Date releaseDate_)
[1] Set StdLib::TolPackage::Client::LocalInfo (Text name.version)
<E>
ERROR: [15] Fail in function ""PackageInfo.Build""</E>
[Call stack]
[2] Real StdLib::TolPackage::PackageInfo.Build (NameBlock pkg, Text dirPath, Date releaseDate_)
[1] Set StdLib::TolPackage::Client::LocalInfo (Text name.version)
<W>
Warning: [5] :: function failed at : 
TolPackage::PackageInfo.Build(pkgCnt[[1], root, UnknownDate)</W>
<E>
ERROR: [16] [ZipArchive] Error while /home/jsperez/.tol/TolPackage/1.1/Client//BysPrior.1.1/info.oza archive reading: No such file or directory.</E>
[Call stack]
[1] Set StdLib::TolPackage::Client::LocalInfo (Text name.version)
<E>
ERROR: [17] Attempt to access 1-th element of a set with 0 elements</E>
[Call stack]
[1] Set StdLib::TolPackage::Client::LocalInfo (Text name.version)
<E>
ERROR: [18] Fail in function ""LocalInfo""</E>
[Call stack]
[1] Set StdLib::TolPackage::Client::LocalInfo (Text name.version)
<W>
Warning: [6] :: function failed at : 
TolPackage::Client::LocalInfo(""BysPrior.1.1"")</W>
}}}
"	Jorge
1376	"doubt on Set TolPackage::Client::GetDeepDependencies.all( [[ ""MMS.0.6044"" ]] );"	Kernel	head	TOL Packages	doubt	Víctor de Buen Remiro	closed	2011-12-22T22:07:38Z	2011-12-23T10:06:24Z	"When executing GetDeepDependencies.all for MMS.0.6044 

{{{
Set TolPackage::Client::GetDeepDependencies.all( [[ ""MMS.0.6044"" ]] );
}}}

we get different versions for the same package, for instance:

{{{
""ExtLib.1.2""
""ExtLib.1.6""
""ExtLib.1.7""
}}}

is that correct?
"	Jorge
1378	ExportPackage?	Kernel	head	Mantainance	doubt	Víctor de Buen Remiro	closed	2011-12-27T11:07:11Z	2011-12-27T11:54:31Z	"Is there any function to export a locally installed package to a zip file? This is usefull to move packages from one machine to other.

If this function is not available it is requested the implementation of one with the followinf prototype:

{{{
Real TolPackage::Client::ExportPackage( Text pkg.ver, Text dir.dest );
}}}

pkg.ver must be installed locally, dir.dest is a directory where the resulting zip will be copied.
"	Jorge
1380	Acceso de escritura al repositorio público de paquetes	GUI Tol Packages	head	Mantainance	defect	Jorge	closed	2011-12-28T12:18:04Z	2012-01-02T09:13:19Z	"Hola, 

¿podéis darme acceso para subir código al repositorio público de paquetes?

Muchas gracias.
Un saludo."	Javier Moreno
1386	bug in emoteUpdateVersSyncInfo(True)	Kernel	head	Mantainance	defect	Víctor de Buen Remiro	closed	2012-01-03T10:34:30Z	2012-02-12T23:53:37Z	"The following bbug appears when executing 

{{{
Real TolPackage::Client::RemoteUpdateVersSyncInfo(True);
}}}

previously it was remove info.oza from MmsReport.1.6

{{{
rm /home/jsperez/.tol/TolPackage/1.1/Client/MmsReports.1.6/info.oza
}}}

The log is:

{{{
[GetUrlContents.tcl.curl] Downloading from ""http://packages.tol-project.org/OfficialTolArchiveNetwork/repository.php?tol_package_version=1.1&tol_version=v2.0.2%20b.0.21.alpha&action=ping&key=766815169"" ... OK
[GetUrlContents.tcl.curl] Downloading from ""http://packages.tol-project.org/OfficialTolArchiveNetwork/repository.php?tol_package_version=1.1&tol_version=v2.0.2%20b.0.21.alpha&action=versions"" ... OK
[GetUrlContents.tcl.curl] Downloading from ""http://packages.localbayes.es/BayesPrivateTolPackages/repository.php?tol_package_version=1.1&tol_version=v2.0.2%20b.0.21.alpha&action=versions"" ... OK
Loaded package GuiTools.3.3
[IpoptCore::StartActions] Loading library /home/jsperez/.tol/TolPackage/1.1/Client/IpoptCore.3.9/Linux_x86_32/libipopt39.so -> OK
[IpoptCore::StartActions] Loading library coinhsl -> OK
[IpoptCore::StartActions] Loading library coinmumps -> OK
Loaded package IpoptCore.3.9
Loaded package TolIpopt.3.1
Loaded package BysMcmc.5.1
Loaded package MatQuery.3.2
[NonLinGloOpt] Loading library /home/jsperez/.tol/TolPackage/1.1/Client/NonLinGloOpt.5.2/CppTools/Linux_x86_32/NonLinGloOpt.so -> OK
Loaded package NonLinGloOpt.5.2
Loaded package MatAlg.2.1
Loaded package BysPrior.2.1
Loaded package BysInfDiag.3.1
[BysSampler] Loading library /home/jsperez/.tol/TolPackage/1.1/Client/BysSampler.5.1/CppTools/Linux_x86_32/BysSampler.so -> OK
Loaded package BysSampler.5.1
Loaded package GrzLinModel.3.1
Loaded package QltvRespModel.4.1
Loaded package ExtLib.1.7
Loaded package BabelTool.1.4
Loaded package RandVar.2.106
Loaded package DecoTools.1.8
Loaded package MMS.0.6044

ERROR: [1] TolIpopt.3.1 is not a valid object for type NameBlock.

[Call stack]
  [10] Text StdLib::TolPackage::GetCurrentNameVersion (Text packageName, Real specificVersion)
  [9] Set StdLib::TolPackage::GetDeepDependencies (Text packageName, Real specificVersion)
  [8] Set StdLib::TolPackage::GetDeepDependencies (Text packageName, Real specificVersion)
  [7] Set StdLib::TolPackage::GetDeepDependencies (Text packageName, Real specificVersion)
  [6] Set StdLib::TolPackage::GetDeepDependencies (Text packageName, Real specificVersion)
  [5] Set StdLib::TolPackage::GetDeepDependencies (Text packageName, Real specificVersion)
  [4] Set StdLib::TolPackage::PackageInfo.AutoFill (NameBlock pkg, Date releaseDate)
  [3] Real StdLib::TolPackage::PackageInfo.Build (NameBlock pkg, Text dirPath, Date releaseDate_)
  [2] Set StdLib::TolPackage::Client::LocalInfo (Text name.version)
  [1] Real StdLib::TolPackage::Client::RemoteUpdateVersSyncInfo (Real void)

Warning: [4] Eval function failed at : 
Eval(packageName)

ERROR: [2] p could not be created.
}}}

In {{{Eval(packageName)}}} packageName should be evaluated without version numbers."	Jorge
1387	Probit con datos omitidos en el output	BSR	head	BSR extensions	defect	Víctor de Buen Remiro	closed	2012-01-03T11:51:39Z	2012-02-09T16:15:40Z	"Es necesario introducir datos omitidos en el output de modelos probit para poder estimar modelos con datos desconocidos para los que tengamos algún tipo de información a priori, es decir, que no sabemos si el output es {{{y[k]=1}}} ó {{{y[k]=0}}} de forma determinista, pero sí tenemos cierta información sobre la probabilidad de que sea una cosa u otra.

Si nuestra información es una probabilidad {{{p[k]}}} prefijada para cada observación {{{k}}} tendremos un prior de Berniuilli definido como {{{ Prob { y[k] = 1 } = p[k] }}}

En el caso de no tener una información tan precisa lo usual es utilizar un [http://en.wikipedia.org/wiki/Conjugate_prior#Discrete_likelihood_distributions prior conjugado] sobre la {{{p[k]}}} que para una Bernouilli resulta ser la distribución [http://en.wikipedia.org/wiki/Beta_distribution Beta(a,b)]. Los parámetros {{{a}}} y {{{b}}} habría que tratar de estimarlos a partir de algún modelo previo, o bien ajustarlos en base a un par de momentos (media y varianza por ejemplo), o cualquier otro tipo de información con dos grados de libertad.

En el caso de haber censura en los datos, lo que tendremos serán restricciones de desigualdad del tipo {{{ 0 <= l[k] <= p[k] <= u[k] <= 1}}}. Habría que estudiar en este caso cuál sería el prior adecuado. Podría ser por ejemplo:

 * una Beta truncada en el intervalo {{{ [ l[k], u[k] ] }}}
 * una Beta reescalada al intervalo {{{ [ l[k], u[k] ] }}}, es decir, con un cambio de variable de forma que el {{{0}}} corresponda a {{{l[k]}}} y el {{{1}}} corresponda a {{{u[k]}}} 
 * una Beta tal que la probabilidad del intervalo {{{ [ l[k], u[k] ] }}} sea un valor dado muy cercano a 1. En lugar de dos grados de libertad ahora sólo quedaría uno, es decir, bastaría con dar la media por ejemplo para determinar la distribución. Esto podría llamarse censura probabilista y quizás sea la opción más sensata cuando la información a priori se basa en conocimientos no deterministas.

En BSR habría que retocar el filtro no lineal del probit o bien construir uno nuevo que permitiera añadir estos tipos de prior y otros que pudieran surgir más adelante.


"	Víctor de Buen Remiro
1388	Error al visualizar características de un gráfico	Interface	head	TOLBase Revitalization	defect	Jorge	closed	2012-01-03T16:08:16Z	2012-01-09T09:50:21Z	"Se encuentran errores cuando sobre un gráfico en TOL se intentan obtener o utilizar algunas características como la obtención de la tabla de estadísticos o la visualización del valor medio o las bandas de confianza.

Úsese como ejemplo de prueba el siguiente código:
{{{
Anything TclChartSerie([[ SubSer(Rand(0, 1, C), y2001, y2002) ]], Empty);
}}}

Se obtiene un error de Tcl/Tk:
{{{
Error: ""source"" isn't a Set variable
}}}"	Pedro Gea
1389	Implement a Pie Chart	Interface	head	TOLBase Revitalization	enhancement	Jorge	closed	2012-01-03T18:12:54Z	2012-02-14T13:21:22Z	"Se solicita la incoporación de gráficos circulares o de tipo pastel:
http://en.wikipedia.org/wiki/Pie_chart"	Pedro Gea
1390	no messages at starting	Interface	head	Mantainance	defect	Jorge	closed	2012-01-04T14:51:43Z	2012-01-04T15:18:22Z	TOL has stopped issuing messages during the starting process.	Jorge
1391	TolIpopt se cae cuando maneja números desconocidos o infinitos	Math	head	Numerical methods	defect	Víctor de Buen Remiro	closed	2012-01-11T09:08:46Z	2012-01-11T14:55:37Z	TolIpopt se cae cuando maneja números desconocidos o infinitos por lo que debería hacerse un chequeo previo para impedir que se llegue a efectuar la llamada.	Víctor de Buen Remiro
1392	No arranca tolbase	Interface	head	Mantainance	defect	Jorge	closed	2012-01-12T10:40:19Z	2012-01-12T10:48:23Z	"Me he descargado el tolbase 2.0.2 en key04 y da un error wish al arrancar y se queda ahí.
{{{
wrong # args: should be ""LoadTolTcl version dir""
}}}

El caso es que la instalación ha sido creada en mi máquina y funciona pero al instalarlo no.
"	Víctor de Buen Remiro
1393	Show no oculta los mensajes de la inclusión de paquetes	GUI Tol Packages	head	Mantainance	defect	Jorge	closed	2012-01-12T12:48:18Z	2012-01-18T15:40:12Z	"Hola, la función Show no es capaz de ocultar los mensajes que se muestran al incluir un paquete. Se puede ver con el siguiente código:

{{{
Real Show(0, ""ALL"");
WriteLn(""Hola"");
#Require MMS;
Real Show(1, ""ALL"");
WriteLn(""Adios"");
}}}

Un saludo.
"	imendez
1394	ObjectExist and global variables	Kernel	head	Mantainance	defect	Víctor de Buen Remiro	closed	2012-01-16T11:08:14Z	2012-01-16T13:43:31Z	"Se encuentra una incoherencia al usar la función {{{ObjectExist}}} junto con el operador {{{::}}} y la gramática {{{Anything}}};
{{{
Real ObjectExist(""Anything"", ""::Tolerance""); // => 0
Real ObjectExist(""Anything"", ""Tolerance"");   // => 1
Real ObjectExist(""Real"", ""Tolerance"");       // => 1
Real ObjectExist(""Real"", ""::Tolerance"");     // => 1
}}}"	Pedro Gea
1395	BSR: Non-linear filter filename	Kernel	head	Mantainance	defect	Víctor de Buen Remiro	closed	2012-01-18T11:13:11Z	2012-01-18T15:12:04Z	"Para el control en MMS de la longitud de los nombres de los archivos que se generan en BSR se implementaron mecanismos que se apoyaban en lo siguiente:
 * Ya que los archivos correspondientes a un ''submodelo'' (nodo observacional) se encuentran en una carpeta con su nombre, el nombre de los archivos allí ubicados no necesitan incluir también esa información.

Originalmente era:
{{{
<submodelname>/
              /primary.bsr
              /Output.oza
              /Input.oza
              /<submodelname>.NonLinearFilters.oza
}}}
en [3187] se modifica esto de modo que sea:
{{{
<submodelname>/
              /primary.bsr
              /Output.oza
              /Input.oza
              /NonLinearFilters.oza
}}}

Sin embargo en [3612] este cambio se revierte, reabriéndose así las dificultades en MMS: [https://trac.localbayes.es/mms/ticket/503 MMS#503]

Se solicita volver a la versión [3187] si no supone un inconveniente para la resolución de #1237."	Pedro Gea
1396	Pestaña de información de TOLBase en 2.0.2	Interface	head	TOLBase Revitalization	defect	Jorge	closed	2012-01-18T15:06:00Z	2012-02-14T13:16:44Z	"El aspecto de la pestaña de información del inspector de TOLBase ha cambiado en la versión 2.0.2.

Cabe destacar el cambio de tipo de letra de uno monoespaciado a uno que no lo es. ¿Hay alguna manera de dejarlo como estaba?

También se aprecia la incorporación del formato wiki, y por ejemplo, si inspecciono una variable de tipo texto como ésta:
{{{
Text a = ""a '''a''' ''a''"";
}}}
observo algo como: 
 Text a = ""a '''a''' ''a''"";

Se ha perdido el menú contextual que usaba muy a menudo entre otras cosas para copiar el atributo {{{Route}}} de las instancias de MMS.

También se notan cambios en la presentación de la información de la instancia, ¿podría recuperarse de algún modo el aspecto original?
Adjuntaré imágenes de estas diferencias.

"	Pedro Gea
1397	Error en PutDescription con una función dentro de otra función	Kernel	head	Mantainance	doubt	Víctor de Buen Remiro	closed	2012-01-18T15:07:40Z	2012-01-19T15:00:52Z	"Hola, al poner descripción a una función creada dentro de otra función da error. El código es:

{{{
Real FunPrueba1(Real r)
{
  Real funPrueba2(Real k)
  { 2*k };
  PutDescription(""Prueba"", funPrueba2);
  r/2
};
Real AA = FunPrueba1(Pi);
}}}

Y el error:

{{{
ERROR: [2] funPrueba2 no es un objeto valido para el tipo Real.

[Call stack]
  [1] Real FunPrueba1 (Real r)

Warning: [5] La función PutDescription ha fallado en : 
PutDescription(""Prueba"", funPrueba2)
}}}

Sin entrar a ver si tiene mucho sentido hacer eso, ¿es normal que dé error?

Un saludo.
"	imendez
1403	Vectorización de funciones escalares	Math	head	Mantainance	defect	Víctor de Buen Remiro	closed	2012-01-20T19:43:42Z	2012-08-03T09:15:49Z	"Para evitar ciclos en TOL sería de gran utilidad una función 

{{{
  Matrix EvalMatRows(Matrix argsByCol, Code Rn2RFunction)
}}} 

para ciclar funciones escalares a lo largo de argumentos matriciales.

Dada una función real scalar

{{{
Real f(Real x1 [, Real x2, ...])
}}}

y una matriz {{{X}}} con {{{n}}} columnas

la función de vectorización
{{{
Matrix Y = EvalMatRows(X,f)
}}}

es el resultado de aplicar la función escalar al vector formado por cada fila de X.

 
"	Víctor de Buen Remiro
1404	segfault in syntax check	Kernel	head	Mantainance	defect	Víctor de Buen Remiro	closed	2012-01-23T17:28:19Z	2012-02-13T19:46:29Z	"Sometimes a segmentation fault is generated when syntax check is apply in tolbase.

It is a bug difficult to reproduce.
"	Jorge
1405	fail starting tolbase	Interface	head	Mantainance	defect	Jorge	closed	2012-01-24T23:32:58Z	2012-01-24T23:57:19Z	"the following happens with the last build of tolbase:

{{{
expected integer but got ""New"" : expected integer but got ""New""
    while executing
""widgetproc .main.mdi.slave1.work.pw.f1.frame.ts.mv.rp __.main.mdi.slave1.work.pw.f1.frame.ts.mv.rp configure -foreground black -background white -font...""
    (in namespace eval ""::Supertext"" script line 1)
    invoked from within
""namespace eval Supertext widgetproc .main.mdi.slave1.work.pw.f1.frame.ts.mv.rp __.main.mdi.slave1.work.pw.f1.frame.ts.mv.rp $command $args""
    (procedure ""::hull1.main.mdi.slave1.work.pw.f1.frame.ts.mv.rp"" line 1)
    invoked from within
""$hull configure  -foreground [prefs get normalfg]  -background [prefs get normalbg]  -font [prefs get bodytext]  -tabs [list ${tabWidth}i [expr $tabWi...""
    (procedure ""::renderpane::Snit_methodUsePreferences"" line 17)
    invoked from within
""::renderpane::Snit_methodUsePreferences ::renderpane ::renderpane::Snit_inst1 .main.mdi.slave1.work.pw.f1.frame.ts.mv.rp .main.mdi.slave1.work.pw.f1.f...""
    (""uplevel"" body line 1)
    invoked from within
""uplevel 1 $command $args""
    invoked from within
"".main.mdi.slave1.work.pw.f1.frame.ts.mv.rp UsePreferences""
    (""uplevel"" body line 1)
    invoked from within
""uplevel 1 [linsert $args 0 $self]""
    invoked from within
""::snit::RT.CallInstance ::renderpane::Snit_inst1 UsePreferences""
    (""uplevel"" body line 1)
    invoked from within
""uplevel #0 $observers($name)""
    (procedure ""::Notebook::prefsmanager::Snit_methodNotifyObservers"" line 8)
    invoked from within
""::Notebook::prefsmanager::Snit_methodNotifyObservers ::Notebook::prefsmanager ::Notebook::prefsmanager::Snit_inst1 ::Notebook::prefs ::Notebook::prefs""
...
}}}"	Jorge
1407	Tiempo excesivo en el import de BSR	BSR	head	Mantainance	defect	Víctor de Buen Remiro	closed	2012-01-31T12:51:03Z	2012-02-13T08:51:35Z	"Hola MMS, estoy probando a construir modelos con un número de submodelos relativamente grande (más de 50), todos en fechado mensual. Y me estoy encontrando una seria dificultad ya que al estimar con estratégia BSR, la fase del import+parse me está tardando del orden de entre un 30% y un 40% del tiempo total del proceso.
La pregunta es, ¿sería factible eliminar esta fase? ¿podría bsr ser invocado de forma similar a como lo es Estimate, sin pasar por escritura de archivos?

Gracias de antemano"	lmperez@…
1408	Loading Projects in TOL	Kernel	head	TOLBase Revitalization	enhancement	Jorge	closed	2012-01-31T15:33:32Z	2012-02-14T08:23:17Z	"El mecanismo de carga de proyectos para TOLBase consta de dos archivos de inicialización, comúnmente denominados:
 * {{{project.ini}}}: un archivo de configuración para la carga de las componentes Tcl-Tk, habitulamente relacionadas con la GUI,
 * {{{_iniproject.tol}}}: un archivo de código TOL para la carga de todo la estructura de archivos de código del projecto.

El aspecto de los archivos ''project.ini'' es algo como:
{{{
[Project]
title=<Título de la ventana de TOLBase>
[PrjXxxYyy]
name=PrjXxxYyy
path=C:/users/<user>/bsd/entity/PrjXxxYyy/source/gui
}}}
mientras que el de los ''_iniproject.tol'' es:
{{{
...
Text PathProject = ""c:/users/<user>/bsd/entity/PrjXxxYyy/"";
...
Set If( !ObjectExist(""Code"", ""GetVarIniFile"") , 
  Set Include(PathProject<<""source/system/readini.tol""), 
  Copy(Empty)
);
...
Set Include(PathProject<<""source/_inisource.tol"");
}}}

El código incluido en ""readini.tol"" se encarga a su vez de la inclusión de un tercer archivo de inicialización de variables globales {{{prj.ini}}}.

El archivo ''prj.ini'' contiene la definición de un conjunto de variables globales de una forma semejante a esta:
{{{
[DataBase]
XxxYyy_DBA=Oracle
XxxYyy_DBServer=...
XxxYyy_DBName=...
XxxYyy_DBPrefix=...
XxxYyy_DBODBC=...
XxxYyy_DBUser=...
XxxYyy_DBPassword=
[Dir]
-- PathProject se define en _iniproject.tol
PathMod=c:/users/<user>/bsd/entity/PrjXxxYyy/
PathSADD=c:/users/<user>/bsd/sadd/
PathLog=c:/users/<user>/bsd/entity/PrjXxxYyy/log/
...
}}}

La carga de estos archivos se consigue ubicándolos en el momento del arranque de {{{tolbase.exe}}} en las carpetas de instalación del programa.

Es por eso que las rutas en ellos han de ser absolutas, ya que pierden la referencia de la carpeta del proyecto donde estaban ubicadas.

Más allá de cuestiones estéticas, la ubicación de estos archivos en las carpetas de instalación está limitada al trabajar en determinadas equipos, de modo que se solicita:
 * Poder cargar estos archivos como argumentos opcionales a la llamada de {{{tolbase.exe}}}

Sería asimismo muy interesante y conveniente poder unificar los tres archivos de inicialización en un sólo que:
 * Contuviera toda la información de inicialización
 * Pudiera llevar las rutas relativas (y así ser el mismo para todos los usuarios y/o ubicaciones del proyecto)
 * Pudiera crearse una asociación de archivos (usando una nueva extensión .tolprj o así) de modo que pueda arrancarse un proyecto con un doble clic sobre dicho archivo.
 
También sería muy interesante poder trabajar en la posibilidad de abrir los proyectos (también su parte tcl-tk) sobre un TOLBase ya abierto, o incluso si el diseño de los proyectos es el adecuado, abrir más de un proyecto simultáneamente.


"	Pedro Gea
1409	Release TOL 3.1	Various	head	Mantainance	task	Víctor de Buen Remiro	closed	2012-02-01T12:41:24Z	2012-02-16T22:10:48Z	TOL 3.1 should be released as official as soon as possible.	Jorge
1410	inclusión de zlib.h	Various	head	Mantainance	task	Víctor de Buen Remiro	closed	2012-02-01T13:29:56Z	2012-02-06T17:51:22Z	"En {{{tol/OIS/oisstream_zip.cpp}}} se incluye {{{zlib.h}}} con

{{{
#!cpp
#include <zlib/zlib.h>
}}}

en los sistemas linux zlib no aparece dentro de algún directorio zlib, por eso propongo cambiarlo a 

{{{
#!cpp
#include <zlib.h>
}}}

eso implicaría añadir el path del include de zlib al proyecto de compilación en windows.
"	Jorge
1411	especificar por linea de comandos el project.ini	Interface	head	Mantainance	defect	Jorge	closed	2012-02-02T11:36:22Z	2012-02-02T11:59:12Z	"Se solicita la posibilidad de espcificar en linea de comando de tolbase el archivo project.ini a del proyecto.

Actualmente el project.ini se escribe y se lee en el directorio lib/toltk, directorio que debe ser independiente de proyecto alguno."	Jorge
1412	Unexpected behavior comparing Real objects	Kernel	2.0.1	Mantainance	defect	Víctor de Buen Remiro	closed	2012-02-02T17:45:37Z	2012-03-06T16:49:52Z	"Hello,

can you explain the following unexpected behavior comparing Real objects?

Real R001 = LE(3*0.2, 0.6);

R001 is 0"	Alfredo Torre
1413	Error loading chains from a bbm file	BysMCMC		Mantainance	defect	Pedro Gea	closed	2012-02-03T19:41:39Z	2012-02-03T19:47:38Z	"Se encuentra un error al cargar las cadenas de un archivo BBM utilizando la función {{{loadMcmc}}} del objeto ''cycler'' del paquete BysMcmc.

El método no devuelve la matriz esperada pero no da errores ni advertencias.
"	Pedro Gea
1414	"Ventana ""Info"" del Inspector de Objetos"	Interface	3.1	Mantainance	defect	Jorge	closed	2012-02-03T23:06:56Z	2012-05-12T22:48:53Z	"Hola, desde hace un tiempo en la ventana ""Info"" del Inspector de Objetos el Contenido de las variables se muestra sin saltos de línea.

Por ejemplo, si se ejecuta el código:

{{{
Text Qry =
""
select a, b
from tabla
"";
}}}

El Inspector muestra:

{{{
"" select a, b from tabla ""
}}}

Además, añade un espacio al principio y al final, lo cual no se corresponde con el contenido real de la variable.
Esto dificulta, por ejemplo, copiar una query.

¿Se podría volver a dejar como antes, respetando los saltos de línea?

Gracias.
Un saludo."	imendez
1415	Error al clickear con el botón secundario	Interface	2.0.2	TOLBase Revitalization	defect	Jorge	closed	2012-02-03T23:20:35Z	2012-02-06T16:41:54Z	"Si evaluamos el siguiente código tol:

{{{
Set For(1, 10, Set(Real k){
  [[k]]
});
}}}

E intentamos tabular el Set nos dará el siguiente error:
{{{

Warning: [9] GetObjectFromAddress function failed at : 
GetObjectFromAddress(""907EF48:0:66B01F8:0:245A460:0:2:4:B268"")

ERROR: [72] obj could not be created.

ERROR: [73] obj is not a valid object for type Anything.

ERROR: [74] Wrong arguments in call to Text Grammar (Anything var)

ERROR: [75] theGrammar could not be created.

ERROR: [76] theGrammar is not a valid object for type Anything.

ERROR: [77] Wrong arguments in call to Real == var1 == var2 {Anything var1, Anything var2}

ERROR: [78] theGrammar is not a valid object for type Anything.

ERROR: [79] Wrong arguments in call to Real == var1 == var2 {Anything var1, Anything var2}

ERROR: [80] theGrammar is not a valid object for type Text.

ERROR: [81] __getTypeOfObject__ could not be created.
}}}
 
También pasa con el EvalSet, sin embargo con otras funciones como

{{{
Set Range(1, 10, 1);
Set [[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]];
}}}

no pasa.

Un saludo



"	Javier Gallardo
1416	Bug in GetAddressFromObject	Kernel	head	Mantainance	defect	Víctor de Buen Remiro	closed	2012-02-05T18:44:14Z	2012-02-07T18:52:26Z	"In the following code you can see that GetObjectFromAddress does not work

{{{
#!java
Set X = [[ For(1, 10, Set(Real k){ [[k]] } ) ]];
Text tad = GetAddressFromObject( X[1] );
Set obj = GetObjectFromAddress( tad );
}}}

but if the result of the {{{For}}} sentence has a name then it works as expected.

This bug is related to #1415."	Jorge
1418	[MatQuery] Función para la comprobación de que una matriz es binaria	Math	2.0.1	Mantainance	task	Víctor de Buen Remiro	closed	2012-02-07T12:01:42Z	2012-02-07T17:01:06Z	Es necesario incorporar a MatQuery una función para la comprobación de que una matriz es binaria para el chequeo de modelos booleanos como el Probit o el Logit	Víctor de Buen Remiro
1419	La función Round no redondea bien	Kernel	2.0.1	Mantainance	defect	Víctor de Buen Remiro	closed	2012-02-07T12:37:36Z	2012-02-07T16:23:43Z	"Hola TOL, la función round no redondea bien con algunos numeros reales y los decimales elegidos, os paso un ejemplo:
{{{
Real Round(0.008652760000000001,6);
}}}"	lmperez@…
1420	Filtro en Inspector de objetos	Interface	2.0.2	TOLBase Revitalization	enhancement	Víctor de Buen Remiro	closed	2012-02-08T09:37:46Z	2012-02-08T15:45:13Z	"Hola TOL,
¿se podría poner el mismo filtro que contiene el ""Manage Packages..."" en el inspector de objetos en TOLBase?"	Alfredo Torre
1421	Functions for Greatest Common Divisor and Least Common Multiple	Math	2.0.1	Mantainance	task	Víctor de Buen Remiro	closed	2012-02-08T17:48:41Z	2012-02-08T18:04:14Z	Se necesitan funciones para el cálculo del mínimo común múltiplo y el máximo común divisor 	Víctor de Buen Remiro
1422	Funciones de borrado en el gestor de paquetes	Interface	2.0.1	Mantainance	task	Jorge	closed	2012-02-08T18:47:45Z	2012-02-13T17:57:28Z	Faltan las funciones de borrado en el gestor de paquetes, para una versión, para un paquete o todo el repositorio local	Víctor de Buen Remiro
1423	Las trazas de descarga deben ser opcionales	GUI Tol Packages	2.0.1	Mantainance	enhancement	Jorge	closed	2012-02-08T18:55:38Z	2012-02-08T18:57:12Z	Las trazas de descarga de las funciones {{{GetUrlContents.*}}} deben ser opcionales para que el manejo de paquetes sea más limpio.	Víctor de Buen Remiro
1424	clean packages	Interface	head	Mantainance	task	Jorge	closed	2012-02-09T08:18:21Z	2012-02-14T13:11:14Z	"It is requested the implementation of options to remove the installed packages:

 * remove all version of a given installed package
 * remove a given version
 * remove all installed packages"	Jorge
1425	check if package is locked	GUI Tol Packages	head	Mantainance	task	Jorge	closed	2012-02-09T15:52:42Z	2012-02-09T15:58:35Z	Before installing an removing a package we must check it its is locked.	Jorge
1427	warning stack trace	Kernel	head	Mantainance	defect	Víctor de Buen Remiro	closed	2012-02-09T17:10:10Z	2012-02-09T17:44:24Z	"The following code does not show the stack trace as expected:

{{{
#!java
Real TolConfigManager::Config::Various::Verbose::ShowStackAtWarning := 1;

Real f(Real a)
{
  If( a, WriteLn( ""ok"" ), WriteLn( ""oops"" ) )
};

Real f(?);
}}}

only tested on linux"	Jorge
1428	Uso de PutName en ciclos	Kernel		Mantainance	doubt	Víctor de Buen Remiro	closed	2012-02-10T14:38:42Z	2012-02-11T10:08:25Z	"El método más común cuando se quiere poner un nombre a la salida de una función es usar {{{PutName}}}. Sin embargo, este método no funciona como se espera en algunas circunstancias, provocando el uso mecanismos alternativos que crean copias.

El crear copias de determinados objetos reduce la eficiencia de los métodos (véase #1426) por lo que parece conveniente buscar algún método para esquivarlo.

Consideremos por ejemplo la función:
{{{
Matrix Fun(Matrix m) {
  Real i = MatDat(m,1,1);
  If(i > 5, PutName(""V.""<<i, m), {
    Matrix m2 = m * 2;
    PutName(""V.""<<i, m2)
  })
};
}}}
que duplica una matriz (en determinados casos) y cambia su nombre.

Esta función no actúa como se espera, y no cambia el nombre de aquellos objetos que devuelve tal y como recibe. Por ejemplo:
{{{
Set matrices = For(1, 10, Matrix (Real i) {
  Eval(""Matrix ""<<Char(64+i)<<"" = Row(i)"")
});
Set EvalSet(matrices, Fun);
}}}

¿Es esto un error en el funcionamiento de {{{PutName}}}? ¿hay alguna alternativa, dejando de un lado la conveniencia o no de hacerlo así?

Otras variantes que sí funcionan (pero que hacen una copia) y que se están usando en lugar de {{{PutName}}} son:
{{{
Anything PutName2(Text name, Anything a) {
  Anything a_ = a;
  PutName(name, a_)
};

Anything PutName3(Text name, Anything a) {
  Eval(""Anything ""<<name<<"" = a"")
};
}}}

"	Pedro Gea
1429	tolsh arranca siempre en inglés	Kernel	2.0.1	Mantainance	defect	Jorge	closed	2012-02-11T10:03:48Z	2012-02-13T08:59:57Z	tolsh arranca siempre en inglés, sea cual sea el idioma configurado.	Víctor de Buen Remiro
1431	Reference Assignment Operator	Kernel		Mantainance	enhancement	Víctor de Buen Remiro	closed	2012-02-13T11:56:48Z	2012-02-20T12:15:25Z	"Se solicita la implementación del operador de asignación pore referencia. 

La motivación a este operador puede verse en el tique #1426, se sugirió incluso un símbolo {{{=&}}} (véanse los comentarios:   [ticket:1426#comment:2] y [ticket:1426#comment:5]).

La mejor alternativa que encuentro hoy para trabajar con referencias es usar la asignación por referencia natural de los conjuntos y por estética apoyarse en una estructura:
{{{
#!java
Struct @R { Anything D };
}}}
y escribir código del tipo:
{{{
#!java
Set data. = @R(Get(...));
// siendo Get un método que devuelve un dato ya existente
// por ejemplo uno cacheado
... = ... data.->D ...;
}}}
cuando sea conveniente, en lugar de:
{{{
#!java
Matrix data = Get(...);
// pues aquí se vuelve a crear (repitiéndose) la matriz
... = ... data ...;
}}}"	Pedro Gea
1432	Herramienta para escapar textos	Various	2.0.1	Mantainance	task	Jorge	closed	2012-02-14T17:24:56Z	2012-03-06T09:37:37Z	"Buenas tardes,

Ruego una herramienta gráfica para escapar textos: una ventana o cuadro de texto en donde escribas lo que quieres que salga y te devuelva la cadena de texto con las secuencias de escape adecuadas.
Creo que no se puede hacer via función y es un problema muy recurrente.

Muchas gracias de antemano.

Atentamente,
Pedro Cañadilla."	Pedro
1433	Visualización de estructuras de datos	Interface	head	Mantainance	task	Jorge	closed	2012-02-14T19:30:07Z	2012-02-21T19:26:08Z	"Es necesario contar con un método de visualizar en el interfaz los campos de la estructura de un conjunto.

Al explorar en el interfaz un conjunto no sabemos si tiene o no estructura y en tal caso cómo se llaman sus campos.

Podemos saber la estructura de un conjunto con la función StructName pero a veces no sabemos ni siquiera dónde está definida una estructura por lo que es difícil manejarlas.

También se podría hacer una función que devolviera una lista de los campos y sus tipos
{{{
  Set StructFields(Text structName)
}}}"	Víctor de Buen Remiro
1434	Efficiency in Polyn Application	Kernel		Mantainance	doubt	Víctor de Buen Remiro	closed	2012-02-15T16:16:46Z	2012-02-16T10:56:35Z	"Se aprecia algo de ineficiencia al aplicar un polinomio de grado 0 en comparación con multiplicar por un valor real. ¿Tiene alguna explicación? ¿podría subsanarse esto?

En el ejemplo se ve como incluso interesa comprobar el grado del polinomio y prescindir de su aplicación:

{{{
#!java
Serie s = SubSer(Gaussian(0, 1, C), y2000, y2003);
Polyn p = 0.4;

Real t1 = Copy(Time);
Set For(1, 1000, Real (Real i) {
  Serie If(Degree(p)==0, Coef(p, 0) * s, p : s);
1});
Real t2 = Copy(Time);
Set For(1, 1000, Real (Real i) {
  Serie p : s; 
1});
Real t3 = Copy(Time);
Real t21 = t2 - t1; // 1.51s
Real t32 = t3 - t2; // 2.92s
}}}"	Pedro Gea
1436	Can not check TOL version	Kernel	head	Mantainance	defect	Víctor de Buen Remiro	closed	2012-02-16T08:46:53Z	2012-02-16T10:00:19Z	"En el código del trunk (previo a la versión 3.1) aparece este mensaje de advertencia:

{{{
Warning: [3] No se pudo chequear la versión de TOL.
}}}"	Jorge
1437	Error fantasma en el inspector de objetos	Interface	3.1	Mantainance	defect	Jorge	closed	2012-02-18T11:03:03Z	2012-02-20T00:53:53Z	"De forma aparentemente aleatoria e irreproducible, me están saliendo mensajes de error en TolBase al intentar seleccionar en el inspector de objetos un elemento de un conjunto. En lugar de seleccionar el que le doy, marca todos desde el primero hasta ese y saca un error de TCL con estos detalles:
{{{
incorrect object reference in ResolveObject
incorrect object reference in ResolveObject
    while executing
""::tol::info address $objReference ""
    (procedure ""Tol_StructOfFromReference"" line 2)
    invoked from within
""Tol_StructOfFromReference $objRef""
    (procedure ""MarkupHelper::BuildTolbaseInfo"" line 38)
    invoked from within
""MarkupHelper::BuildTolbaseInfo  $icon $grammar $name $content $path $desc -objref $objRef ""
    (""default"" arm line 13)
    invoked from within
""switch $ll {
    0 -
    1 {
      if { 0 } {
        $widgets(tabset,info) setwidget $widgets(info,text)
        if { $ll == 1 } {
          #$w_info...""
    (procedure ""::TolConsole::OnInfo"" line 13)
    invoked from within
""::TolConsole::OnInfo image75 Set histogram {46 elementos} C:/Users/vdebuen/prj/tolp/OfficialTolArchiveNetwork/GrzLinModel/test/test_0001/test.tol {Obs...""
    (""eval"" body line 1)
    invoked from within
""eval ""$OnSelectItem $args""""
    (procedure ""::TolInspector::SelectItem"" line 45)
    invoked from within
""::TolInspector::SelectItem .main.mdi.slave1.work.pw.f0.frame.ti.f1.frame.ts.sw1.vars""
}}}"	Víctor de Buen Remiro
1440	[GrzLinModel] Modifying default optimization algorithm	Math	3.1	Mantainance	task	Víctor de Buen Remiro	closed	2012-02-20T19:22:30Z	2012-02-20T19:31:23Z	"Package {{{GrzLinModel}}} can use all [http://ab-initio.mit.edu/wiki/index.php/NLopt_Algorithms NLopt] algorithms by means of {{{NonLinGloOpt}}} but, sometimes user cannot specify what algorithm wants to use or doesn't know how to do it.

A simple solution is to create an static member with the default method before to call estimation methods."	Víctor de Buen Remiro
1441	#Require se ejecuta al revisar la sintaxis	Interface	3.1	Mantainance	defect	Jorge	closed	2012-02-21T12:57:11Z	2012-02-22T09:18:21Z	"Hola, la instrucción #Require se ejecuta al revisar la sintaxis. Por lo que se dice en el ticket #1393 entiendo que es ""normal"" en el sentido de que no se puede hacer nada por evitarlo, pero lo reporto por si en el futuro se puede corregir, porque desde luego es algo que sorprende bastante.

Basta con crear un archivo con, por ejemplo, la instrucción
{{{
#Require MMS
}}}
y revisar la sintaxis (lógicamente sin haber incluido antes el paquete).

Un saludo.
"	imendez
1442	Versión de TOL	Various	3.1	Mantainance	doubt	Víctor de Buen Remiro	closed	2012-02-21T13:03:40Z	2012-02-21T14:10:42Z	"Hola, me he descargado la versión 3.2 de TOL, la instalo, ejecuto TOLBase.exe y me da el siguiente mensaje de advertencia:

{{{
Warning: [4] Está usando una versión demasiado vieja o desconocida de TOL v3.2 b001 2012-02-16 21:11:43 i686-win
La versión estable con mantenimiento más antigua de TOL para windows es v2.0.1 b.9 2011-11-07 17:58:33 i686-win

La última versión oficial de TOL para windows es v3.1 p002 2012-02-20 00:22:33 i686-win
La última versión de desarrollo de TOL para windows es v3.2 b002 2012-02-20 00:22:15 i686-win
}}}

Efectivamente mi versión es anterior a la última disponible de la 3.2: la mía es la ""b001 2012-02-16 21:11:43"" y la última es ""b002 2012-02-20 00:22:15"".

Mi duda es por qué no estoy actualizado si la acabo de descargar de la web http://packages.tol-project.org/win32/tolbase-v3.2-setup.exe

Gracias.
Un saludo.
"	imendez
1444	Critical error using Succ	Kernel		Mantainance	defect	Víctor de Buen Remiro	closed	2012-02-21T18:20:10Z	2012-02-22T08:51:52Z	"El siguiente código (obviando que no tiene sentido) tira TOLBase:
{{{
Date Succ(y2000, C, ?);
}}}"	Pedro Gea
1445	Unparse	Kernel	3.1	Mantainance	enhancement	Víctor de Buen Remiro	closed	2012-02-22T10:01:23Z	2012-02-22T15:46:33Z	"Hello,
¿would it be posible to have the inverse function of Parse?

This function would allow to build TOL expressions from a ""Parse Set"". Something like this:
{{{
Text txt01 = Unparse(Parse(__TOL_EXPRESSION__));
}}}
txt01 should be ""the same"" as __TOL_EXPRESSION__ 
"	Alfredo Torre
1447	Error de CholeskiFactor	BysMCMC	3.1	Mantainance	doubt	Víctor de Buen Remiro	closed	2012-02-23T14:35:56Z	2012-03-06T16:48:45Z	"Hola,

nos ha pasado en el proyecto de un cliente que al lanzar un conjunto de outputs (casi 200) para ser estimados, llega uno en el que aparece el error de CholeskiFactor y el proceso se para. Seguidamente, lanzamos solamente ese output y no da error. Volvemos a lanzar el proceso entero con todos los outputs y esta vez, termina sin problemas. 
Mis dudas son:

- no acabo de entender la aleatoriedad de este error. ¿Se trata del valor inicial donde comienzan las cadenas? 

- Me gustaría saber si existe algún mecanismo de control para esto; si existe alguna forma de garantizar que el proceso no se va a parar. 

Pensando que en el cliente vamos a tener que lanzar 20.000 outputs, este tipo de errores ""aleatorios"" nos hacen incontrolables los procesos.

Muchas gracias!"	imiranda
1448	CompiledFiles fail	Kernel	3.1	Mantainance	defect	Víctor de Buen Remiro	closed	2012-02-23T19:39:21Z	2012-03-13T10:31:50Z	"the following code generate a segmentation fault in tol:

{{{
#!java
Text CompiledFiles( ""compiled.txt"" );
}}}

"	Jorge
1449	"toltcl functions should accept ""object address"" descripcion"	Toltcl	3.1	Mantainance	enhancement	Jorge	closed	2012-02-24T12:18:42Z	2012-02-27T08:00:02Z	The functions in toltcl should accept object address besides the internal object reference implemented in tolbase.	Víctor de Buen Remiro
1450	Problemas graficando conjuntos con omitidos	Interface	3.1	Mantainance	defect	Jorge	closed	2012-02-24T12:39:30Z	2013-02-23T09:42:45Z	"Los métodos para graficar conjuntos tienen algún fallo cuando hay valores omitidos.

Compárense los siguientes ejemplos:
{{{
Set s1 = BinGroup(""|"", For(1, 4, Set (Real i) {
  Set For(1, 10, Set (Real j) {
    [[j, i + j]]
  })
}));
Text TclChartSet(s1, SetOfSet(@TclArgSt(""-type"", ""3"")));
}}}

{{{
Set s2 = BinGroup(""|"", For(1, 4, Set (Real i) {
  Set For(1, 10, Set (Real j) {
    [[j, If(i==j, ?, i+j)]]
  })
}));
Text TclChartSet(s2, SetOfSet(@TclArgSt(""-type"", ""3"")));
}}}"	Pedro Gea
1452	Empty puede ser cambiado	Kernel	3.1	Mantainance	defect	Víctor de Buen Remiro	closed	2012-02-24T17:21:18Z	2012-02-24T17:49:18Z	"Pues eso, que {{{Empty}}} a pesar de ser ''constante'' no está libre de ser alterado:
{{{
Set Append(Empty, [[ 1 ]], False);
}}}

Afortunadamente esto se puede corregir:
{{{
Set Remove(Empty, 1);
}}}"	Pedro Gea
1453	Select en matrices	Kernel	3.1	Mantainance	doubt	Víctor de Buen Remiro	closed	2012-02-27T10:34:31Z	2012-02-27T11:17:02Z	"Hola,

Tengo una matriz colmuna que tiene omitidos. Me gustaría reducir la dimensión de esa matriz quedándome con las filas cuyo dato no es omitido. ¿Lo debo hacer con el paquete MatQuery? ¿Con qué función?

Más en general, ¿existe una función similar al Select de Set en ese paquete? Me refiero a que permita definir una condición de tipo Real para seleccionar los elementos.

Gracias.
Un saludo.
"	imendez
1454	Problemas al arrancar TOL en máquinas con restricciones	Kernel	2.0.1	Mantainance	defect	Jorge	closed	2012-02-28T11:53:01Z	2012-03-20T15:01:40Z	"Buenas,

Os mando el log que me envió ayer Manel de su equipo.


¿Por qué le sale el mensaje C:/Documents and Settings/t104681o/Datos
de programa/tol/TolPackage/1.1/Client/ is not found si está establecida la
variable TOLHOME?

Muchas gracias de antemano.

Atentamente,
P.C.

----- Remitido por Pedro Canadilla Jimenez/GRPU/TESA con fecha 23/02/2012
09:29 -----
                                                                           
                   Manuel Marzo                                            
                   Lazaro/EMP/TES                                          
                   A                                                  Para 
                                             Pedro Canadilla               
                   22/02/2012                Jimenez/GRPU/TESA@Telefonica  
                   16:19                                                cc 
                                                                           
                                                                    Asunto 
                                             algebra                       
                                                             Clasificación 
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           





Cargando la libreria estandar de TOL
Q:/AVX0591.02/VFS/CSIDL_PROGRAM_FILES/Tol-Project/tolbase-v2.0.1/bin/stdlib/_init_stdlib.tol
Incluyendo
Q:/AVX0591.02/VFS/CSIDL_PROGRAM_FILES/Tol-Project/tolbase-v2.0.1/bin/stdlib/_init_stdlib.tol
Incluyendo
Q:/AVX0591.02/VFS/CSIDL_PROGRAM_FILES/Tol-Project/tolbase-v2.0.1/bin/stdlib/TolConfigManager/TolConfigManager.tol
Ha sido incrustado el archivo
Q:/AVX0591.02/VFS/CSIDL_PROGRAM_FILES/Tol-Project/tolbase-v2.0.1/bin/stdlib/TolConfigManager/default.tol
Ha sido incrustado el archivo
Q:/AVX0591.02/VFS/CSIDL_PROGRAM_FILES/Tol-Project/tolbase-v2.0.1/bin/stdlib/TolConfigManager/methods.tol
Incluyendo D:/t099645/AppData/Roaming/tol/.tolConfig.v2.0.1.tol
Ha sido incluido el fichero
D:/t099645/AppData/Roaming/tol/.tolConfig.v2.0.1.tol [0.015 sec.]
Ha sido incluido file
Q:/AVX0591.02/VFS/CSIDL_PROGRAM_FILES/Tol-Project/tolbase-v2.0.1/bin/stdlib/TolConfigManager/TolConfigManager.tol
 [0.094 sec.]
OIS: Loading module stdlib::_packages.tol
Including
Q:/AVX0591.02/VFS/CSIDL_PROGRAM_FILES/Tol-Project/tolbase-v2.0.1/bin/stdlib/general/various/_tools.tol
Included file
Q:/AVX0591.02/VFS/CSIDL_PROGRAM_FILES/Tol-Project/tolbase-v2.0.1/bin/stdlib/general/various/_tools.tol
 [0.031 sec.]
Including
Q:/AVX0591.02/VFS/CSIDL_PROGRAM_FILES/Tol-Project/tolbase-v2.0.1/bin/stdlib/tol_release_check.tol
Included file
Q:/AVX0591.02/VFS/CSIDL_PROGRAM_FILES/Tol-Project/tolbase-v2.0.1/bin/stdlib/tol_release_check.tol
 [0.015 sec.]
Checking if TOL is updated.

Warning: [2] Cannot check TOL release.

[GetUrlContents.tcl.uri]Downloading from ""
http://packages.tol-project.org/OfficialTolArchiveNetwork/repository.php?tol_package_version=1.1&tol_version=v2.0.1%20b.8&action=ping&key=127637115
"" ...

Warning: [3] couldn't open socket: connection timed out

Ha sido incluido file
Q:/AVX0591.02/VFS/CSIDL_PROGRAM_FILES/Tol-Project/tolbase-v2.0.1/bin/stdlib/_init_stdlib.tol
 [51.777 sec.]
Including Q:/AVX0591.02/VFS/tolbase/PrjTfnEspRaDe3g/_iniproject.tol
Including D:/tolbase/PrjTfnEspRaDe3g/source/system/saddini.tol
Included file D:/tolbase/PrjTfnEspRaDe3g/source/system/saddini.tol [0.016
sec.]
Including D:/tolbase/PrjTfnEspRaDe3g/source/_inisource.tol
Including D:/tolbase/PrjTfnEspRaDe3g/source/system/definition.tol
Included file D:/tolbase/PrjTfnEspRaDe3g/source/system/definition.tol
[0.016 sec.]
Including D:/tolbase/PrjTfnEspRaDe3g/source/functions/_inifunction.tol
Including D:/tolbase/PrjTfnEspRaDe3g/source/functions/alg/defAlgebra.tol

ERROR: [1] Directory C:/Documents and Settings/t104681o/Datos de
programa/tol/TolPackage/1.1/Client/ is not found

[Call stack]
  [1] Text StdLib::TolPackage::Client::LocalLastCompatible (Text package)

ERROR: [2] Attempt to access 2-th element of a set with 0 elements

[Call stack]
  [1] Text StdLib::TolPackage::Client::LocalLastCompatible (Text package)

ERROR: [3] pkgLst could not be created.

[Call stack]
  [1] Text StdLib::TolPackage::Client::LocalLastCompatible (Text package)
[GetUrlContents.tcl.uri]Downloading from ""
http://packages.tol-project.org/OfficialTolArchiveNetwork/repository.php?tol_package_version=1.1&tol_version=v2.0.1%20b.8&action=ping&key=923873073
"" ...

Warning: [4] couldn't open socket: connection timed out


ERROR: [4] pkgLst is not a valid object for type Set.

[Call stack]
  [1] Text StdLib::TolPackage::Client::LocalLastCompatible (Text package)

ERROR: [5] Wrong arguments in call to Set Select (Set cto, Code condicion)

[Call stack]
  [1] Text StdLib::TolPackage::Client::LocalLastCompatible (Text package)

ERROR: [6] pkgSel could not be created.

[Call stack]
  [1] Text StdLib::TolPackage::Client::LocalLastCompatible (Text package)

ERROR: [7] pkgSel is not a valid object for type Set.

[Call stack]
  [1] Text StdLib::TolPackage::Client::LocalLastCompatible (Text package)

ERROR: [8] Wrong arguments in call to Real Card (Set conjunto)

[Call stack]
  [1] Text StdLib::TolPackage::Client::LocalLastCompatible (Text package)

ERROR: [9] Wrong arguments in call to Real Not (Real x)

[Call stack]
  [1] Text StdLib::TolPackage::Client::LocalLastCompatible (Text package)
[GetUrlContents.tcl.uri]Downloading from ""
http://packages.tol-project.org/OfficialTolArchiveNetwork/repository.php?tol_package_version=1.1&tol_version=v2.0.1%20b.8&action=ping&key=442291433
"" ...

Warning: [5] couldn't open socket: connection timed out


ERROR: [10] Directory C:/Documents and Settings/t104681o/Datos de
programa/tol/TolPackage/1.1/Client/ is not found

[Call stack]
  [1] Text StdLib::TolPackage::Client::LocalLastCompatible (Text package)

ERROR: [11] Attempt to access 2-th element of a set with 0 elements

[Call stack]
  [1] Text StdLib::TolPackage::Client::LocalLastCompatible (Text package)

ERROR: [12] pkgLst could not be created.

[Call stack]
  [1] Text StdLib::TolPackage::Client::LocalLastCompatible (Text package)
[GetUrlContents.tcl.uri]Downloading from ""
http://packages.tol-project.org/OfficialTolArchiveNetwork/repository.php?tol_package_version=1.1&tol_version=v2.0.1%20b.8&action=ping&key=725881372
"" ...

Warning: [6] couldn't open socket: connection timed out


ERROR: [13] pkgLst is not a valid object for type Set.

[Call stack]
  [1] Text StdLib::TolPackage::Client::LocalLastCompatible (Text package)

ERROR: [14] Wrong arguments in call to Set Select (Set cto, Code condicion)

[Call stack]
  [1] Text StdLib::TolPackage::Client::LocalLastCompatible (Text package)

ERROR: [15] pkgSel could not be created.

[Call stack]
  [1] Text StdLib::TolPackage::Client::LocalLastCompatible (Text package)

ERROR: [16] pkgSel is not a valid object for type Set.

[Call stack]
  [1] Text StdLib::TolPackage::Client::LocalLastCompatible (Text package)

ERROR: [17] Wrong arguments in call to Real Card (Set conjunto)

[Call stack]
  [1] Text StdLib::TolPackage::Client::LocalLastCompatible (Text package)

ERROR: [18] Wrong arguments in call to Real Not (Real x)

[Call stack]
  [1] Text StdLib::TolPackage::Client::LocalLastCompatible (Text package)

ERROR: [19] Unknown package MapViewer must be manually installed.
NOT loaded package MapViewer
Lea informaciÃ³n acerca de los paquetes TOL en
https://www.tol-project.org/wiki/TolPackageRulesAndComments

ERROR: [20] Directory C:/Documents and Settings/t104681o/Datos de
programa/tol/TolPackage/1.1/Client/ is not found

[Call stack]
  [1] Text StdLib::TolPackage::Client::LocalLastCompatible (Text package)

ERROR: [21] Attempt to access 2-th element of a set with 0 elements

[Call stack]
  [1] Text StdLib::TolPackage::Client::LocalLastCompatible (Text package)

ERROR: [22] pkgLst could not be created.

[Call stack]
  [1] Text StdLib::TolPackage::Client::LocalLastCompatible (Text package)
[GetUrlContents.tcl.uri]Downloading from ""
http://packages.tol-project.org/OfficialTolArchiveNetwork/repository.php?tol_package_version=1.1&tol_version=v2.0.1%20b.8&action=ping&key=598804965
"" ...

Warning: [7] couldn't open socket: connection timed out


ERROR: [23] pkgLst is not a valid object for type Set.

[Call stack]
  [1] Text StdLib::TolPackage::Client::LocalLastCompatible (Text package)

ERROR: [24] Wrong arguments in call to Set Select (Set cto, Code condicion)

[Call stack]
  [1] Text StdLib::TolPackage::Client::LocalLastCompatible (Text package)

ERROR: [25] pkgSel could not be created.

[Call stack]
  [1] Text StdLib::TolPackage::Client::LocalLastCompatible (Text package)

ERROR: [26] pkgSel is not a valid object for type Set.

[Call stack]
  [1] Text StdLib::TolPackage::Client::LocalLastCompatible (Text package)

ERROR: [27] Wrong arguments in call to Real Card (Set conjunto)

[Call stack]
  [1] Text StdLib::TolPackage::Client::LocalLastCompatible (Text package)

ERROR: [28] Wrong arguments in call to Real Not (Real x)

[Call stack]
  [1] Text StdLib::TolPackage::Client::LocalLastCompatible (Text package)
[GetUrlContents.tcl.uri]Downloading from ""
http://packages.tol-project.org/OfficialTolArchiveNetwork/repository.php?tol_package_version=1.1&tol_version=v2.0.1%20b.8&action=ping&key=595894699
"" ...

Warning: [8] couldn't open socket: connection timed out


ERROR: [29] Directory C:/Documents and Settings/t104681o/Datos de
programa/tol/TolPackage/1.1/Client/ is not found

[Call stack]
  [1] Text StdLib::TolPackage::Client::LocalLastCompatible (Text package)

ERROR: [30] Attempt to access 2-th element of a set with 0 elements

[Call stack]
  [1] Text StdLib::TolPackage::Client::LocalLastCompatible (Text package)

ERROR: [31] pkgLst could not be created.

[Call stack]
  [1] Text StdLib::TolPackage::Client::LocalLastCompatible (Text package)
[GetUrlContents.tcl.uri]Downloading from ""
http://packages.tol-project.org/OfficialTolArchiveNetwork/repository.php?tol_package_version=1.1&tol_version=v2.0.1%20b.8&action=ping&key=567642739
"" ...

Warning: [9] couldn't open socket: connection timed out


ERROR: [32] pkgLst is not a valid object for type Set.

[Call stack]
  [1] Text StdLib::TolPackage::Client::LocalLastCompatible (Text package)

ERROR: [33] Wrong arguments in call to Set Select (Set cto, Code condicion)

[Call stack]
  [1] Text StdLib::TolPackage::Client::LocalLastCompatible (Text package)

ERROR: [34] pkgSel could not be created.

[Call stack]
  [1] Text StdLib::TolPackage::Client::LocalLastCompatible (Text package)

ERROR: [35] pkgSel is not a valid object for type Set.

[Call stack]
  [1] Text StdLib::TolPackage::Client::LocalLastCompatible (Text package)

ERROR: [36] Wrong arguments in call to Real Card (Set conjunto)

[Call stack]
  [1] Text StdLib::TolPackage::Client::LocalLastCompatible (Text package)

ERROR: [37] Wrong arguments in call to Real Not (Real x)

[Call stack]
  [1] Text StdLib::TolPackage::Client::LocalLastCompatible (Text package)

ERROR: [38] Unknown package SpainMaps must be manually installed.
NOT loaded package SpainMaps
Lea informaciÃ³n acerca de los paquetes TOL en
https://www.tol-project.org/wiki/TolPackageRulesAndComments
OIS: Loading module
stdlib::D:/tolbase/sadd//common/functions/sql/gestor/_inigestor.tol
OIS: Loading module
stdlib::D:/tolbase/sadd//common/functions/algebra/_inialgebra.tol
Including D:/tolbase/PrjTfnEspRaDe3g/source/functions/alg/defDimCom.tol
Including D:/tolbase/PrjTfnEspRaDe3g/source/functions/alg/defDimComGeo.tol
Included file
D:/tolbase/PrjTfnEspRaDe3g/source/functions/alg/defDimComGeo.tol [2.168
sec.]
Included file D:/tolbase/PrjTfnEspRaDe3g/source/functions/alg/defDimCom.tol
[2.184 sec.]
Including D:/tolbase/PrjTfnEspRaDe3g/source/functions/alg/defMagTMV.tol
Including D:/tolbase/PrjTfnEspRaDe3g/source/functions/alg/defDimTMVMet.tol
Included file
D:/tolbase/PrjTfnEspRaDe3g/source/functions/alg/defDimTMVMet.tol [0.016
sec.]
Including D:/tolbase/PrjTfnEspRaDe3g/source/functions/alg/defDimTMoAre.tol
Included file
D:/tolbase/PrjTfnEspRaDe3g/source/functions/alg/defDimTMoAre.tol [0.312
sec.]
Including D:/tolbase/PrjTfnEspRaDe3g/source/functions/alg/defDimTMoTCS.tol
Included file
D:/tolbase/PrjTfnEspRaDe3g/source/functions/alg/defDimTMoTCS.tol [0.265
sec.]
Including D:/tolbase/PrjTfnEspRaDe3g/source/functions/alg/defDimTMoTar.tol
Included file
D:/tolbase/PrjTfnEspRaDe3g/source/functions/alg/defDimTMoTar.tol [0.109
sec.]
Including D:/tolbase/PrjTfnEspRaDe3g/source/functions/alg/defDimTMoSen.tol
Included file
D:/tolbase/PrjTfnEspRaDe3g/source/functions/alg/defDimTMoSen.tol [0.078
sec.]
Included file D:/tolbase/PrjTfnEspRaDe3g/source/functions/alg/defMagTMV.tol
[0.811 sec.]
Including D:/tolbase/PrjTfnEspRaDe3g/source/functions/alg/defMagTMD.tol
Including D:/tolbase/PrjTfnEspRaDe3g/source/functions/alg/defDimTMDMet.tol
Included file
D:/tolbase/PrjTfnEspRaDe3g/source/functions/alg/defDimTMDMet.tol [0.016
sec.]
Including D:/tolbase/PrjTfnEspRaDe3g/source/functions/alg/defDimTMoAre.tol
Including D:/tolbase/PrjTfnEspRaDe3g/source/functions/alg/defDimTMoCCl.tol
Included file
D:/tolbase/PrjTfnEspRaDe3g/source/functions/alg/defDimTMoCCl.tol [0.015
sec.]
Including D:/tolbase/PrjTfnEspRaDe3g/source/functions/alg/defDimTMoTCS.tol
Including D:/tolbase/PrjTfnEspRaDe3g/source/functions/alg/defDimTMoTar.tol
Included file D:/tolbase/PrjTfnEspRaDe3g/source/functions/alg/defMagTMD.tol
[0.094 sec.]
Including D:/tolbase/PrjTfnEspRaDe3g/source/functions/alg/defMagPFi.tol
Including D:/tolbase/PrjTfnEspRaDe3g/source/functions/alg/defDimPFiMet.tol
Included file
D:/tolbase/PrjTfnEspRaDe3g/source/functions/alg/defDimPFiMet.tol [0.016
sec.]
Including D:/tolbase/PrjTfnEspRaDe3g/source/functions/alg/defDimComSeg.tol
Included file
D:/tolbase/PrjTfnEspRaDe3g/source/functions/alg/defDimComSeg.tol [0.016
sec.]
Including D:/tolbase/PrjTfnEspRaDe3g/source/functions/alg/defDimPFiAre.tol
Included file
D:/tolbase/PrjTfnEspRaDe3g/source/functions/alg/defDimPFiAre.tol [0.374
sec.]
Included file D:/tolbase/PrjTfnEspRaDe3g/source/functions/alg/defMagPFi.tol
[0.421 sec.]
Including D:/tolbase/PrjTfnEspRaDe3g/source/functions/alg/defMagPMo.tol

ERROR: [39] Unexpected argument MetEspGeo. Unexpected symbol .  in
character 35 of line 254:

Code line
 245 :       1, Anything method(algSetNode, argSet, name_)
 246 :     )
 247 :   */
 248 :     Anything method(algSetNode, argSet, name_)
 249 :
 250 :
 251 :   };
 252 :

253 :   ////////////////////////////////////////////////////////////////////////////
 254 >   MapViewer::@GeoVariable MetEspGeo (
                                         ^
 255 :     Set  algSetNode,  //
 256 :     Set  metSqlDep,    // Conjunto con estructura AlgMetSqlDepExtSt
 257 :     Text setName)

258 :   ////////////////////////////////////////////////////////////////////////////
 259 :   {
 260 :     Set setDat = MetSqlDepGetDBT(algSetNode,metSqlDep,setName);
 261 :
 262 :     MapViewer::@GeoVariable MapViewer::@GeoVariable::New(
 263 :     [[
 264 :

Included file D:/tolbase/PrjTfnEspRaDe3g/source/functions/alg/defMagPMo.tol
[0.015 sec.]

Warning: [10] :: function failed at :
RaDe3G.defMagPMo::getMagnitud(Empty)

ERROR: [40] Wrong arguments in call to Set SetOfSet (Set var1 [, Set
var2, ...])

ERROR: [41] Wrong arguments in call to Set @AlgDefSt (Real NumCarDim, Text
FunAlgGetData, Text DimSep, Text SubDimSep, Set SetNode, Set TclSet)

ERROR: [42] AlgProjPrjTfnEspRaDe3g could not be created.
Included file
D:/tolbase/PrjTfnEspRaDe3g/source/functions/alg/defAlgebra.tol [146.532
sec.]
Included file D:/tolbase/PrjTfnEspRaDe3g/source/functions/_inifunction.tol
[146.562 sec.]
Including D:/tolbase/PrjTfnEspRaDe3g/source/gui/tol/_rbutton.tol
Included file D:/tolbase/PrjTfnEspRaDe3g/source/gui/tol/_rbutton.tol [0.016
sec.]
Including D:/tolbase/PrjTfnEspRaDe3g/source/gui/tol/funPrjTfnEspRaDe3g.tol
Included file
D:/tolbase/PrjTfnEspRaDe3g/source/gui/tol/funPrjTfnEspRaDe3g.tol [0.078
sec.]
Included file D:/tolbase/PrjTfnEspRaDe3g/source/_inisource.tol [146.719
sec.]
Included file Q:/AVX0591.02/VFS/tolbase/PrjTfnEspRaDe3g/_iniproject.tol
[146.750 sec.]


___________________________________________________________________________

Este mensaje se dirige exclusivamente a su destinatario y puede contener
información privilegiada o confidencial. Si no es vd. el destinatario
indicado, queda notificado de que la lectura, utilización, divulgación y/o
copia sin autorización está prohibida en virtud de la legislación vigente.
Si ha recibido este mensaje por error, le rogamos que nos lo comunique
inmediatamente por esta misma vía y proceda a su destrucción.

El correo electrónico vía Internet no permite asegurar la confidencialidad
de los mensajes que se transmiten ni su integridad o correcta recepción.
Telefónica no asume ninguna responsabilidad por estas circunstancias.


This message is intended exclusively for its addressee and may contain
information that is CONFIDENTIAL and protected by a professional privilege
or whose disclosure is prohibited by law.If you are not the intended
recipient you are hereby notified that any read, dissemination, copy or
disclosure of this communication is strictly prohibited by law. If this
message has been received in error, please immediately notify us via e-mail
and delete it.

Internet e-mail neither guarantees the confidentiality nor the integrity or
proper receipt of the messages sent. Telefónica does not assume any
liability for those circumstances.
___________________________________________________________________________
"	Pedro
1455	Aceleración de la autoconcatenación de cadenas MCMC	Math	3.1	Metropolis Within Gibbs	task	Víctor de Buen Remiro	closed	2012-03-01T09:56:00Z	2012-03-01T10:08:57Z	"En los algoritmos MCMC es necesario ir acumulando filas de simulaciones en una matriz que comienza estando vacía. Si este proceso se realiza con {{{<<}}} entonces el tiempo de ejecución va aumentando con el tamaño, y para evitarlo hay que usar matrices de cache intermedias.

"	Víctor de Buen Remiro
1457	Carga de paquetes con la versión de TOL	Kernel	3.1	Mantainance	defect	Pedro Gea	closed	2012-03-01T19:33:24Z	2012-03-12T19:34:03Z	"El mecanismo de carga de paquetes no tiene en cuenta la versión de TOL. Por ejemplo si ejecuto:
{{{
#!java
#Require BysMcmc;
}}}
con la versión 2.0.1 de TOLBase, se carga el paquete {{{BysMcmc.6.2}}} cuya {{{_.autodoc.minTolVersion}}} es ""v3.1 b025""."	Pedro Gea
1458	subida de paquete con advertencia desconocida	Kernel	3.1	TOL Packages	defect	Víctor de Buen Remiro	closed	2012-03-01T19:50:46Z	2012-03-14T10:19:25Z	"Si se intenta subir al repositorio un paquete con una version de tol para la cual el paquete no es compatible se emite un mensaje como el siguiente:

{{{
Success
[DBConnect::bysforofitol::Open] Connection is is OK
DBConns is empty. No more DB connections.
<W>
Warning: [4] La instalación en modo 'remote' ha dado problemas
</W>
}}}

La prueba se ha hecho, subiendo un paquete compatible minimamente con la version 3.2 haciendo uso de tol 3.1"	Jorge
1459	Permisos escritura SVN tol-project	Web	3.1	Mantainance	defect	apalonso	closed	2012-03-02T15:06:16Z	2012-04-01T16:38:00Z	"Hola,

Necesito con urgencia que deis permisos para subir código fuente a SVN de tolproject a las siguientes personas:

pcanadilla
jmoreno
kcarmona


Gracias,
Javier Portugal"	Javier Portugal
1460	Error en TextMatch	Kernel		Mantainance	defect	Jorge	closed	2012-03-02T17:09:57Z	2012-03-09T15:54:01Z	"Se encuentra un error usando {{{TextMatch}}} en un texto con el carácter {{{""}}}:
{{{
Real TextMatch(""a\""b"", ""*a*"", 0)
}}}

El error:
{{{
ERROR: [1] Las comillas que se abrieron en la línea 0 no se han cerrado.

ERROR: [2] Argumento b fuera de lugar. Símbolo fuera de lugar.  en el carácter 18, línea 1:
 > TextMatch_Tcl(""a""b"",""*a*"",0)
                    ^
}}}

Se sugiere de paso buscar e incorporar a TOL un paquete de funciones para trabajar con expresiones regulares."	Pedro Gea
1461	Error con los tipos al evaluar una expresión sencilla	Kernel	3.1	Mantainance	defect	Víctor de Buen Remiro	closed	2012-03-05T14:45:28Z	2012-03-06T10:42:24Z	"Al evaluar el siguiente código:
{{{
Date first = y2000;
Date last = y2001;
Real DateToIndex(first)-DateToIndex(last);
}}}
encuentro el error:
{{{
ERROR: [1] No ha sido posible convertir de Real hacia Date para el objeto '$tmp$'

ERROR: [2] Argumentos erróneos para Date - d - x {Date d [, Real x=1]}
}}}
pero no consigo entender por qué."	Pedro Gea
1462	DateToIndex y fechas especiales	Kernel	3.1	Mantainance	defect	Víctor de Buen Remiro	closed	2012-03-05T15:02:54Z	2012-03-14T08:47:32Z	"La función {{{DateToIndex}}} no devuelve valores correctos para las fechas especiales.

Si vemos que:
{{{
#!java
// Date TheBegin -> fecha anterior a 1583
// Date TheEnd -> fecha posterior a 2499
Date IndexToDate(-115782); // -> TheBegin
Date IndexToDate(-115781); // -> y1583m01d01
Date IndexToDate(219146); // -> y2499m12d31
Date IndexToDate(219147); // -> TheEnd
}}}

La salida de estas llamadas no son adecuadas:
{{{
Real DateToIndex(TheBegin); // -> 579012 pero debería ser -115782
Real DateToIndex(TheEnd); // -> 915000 pero debería ser 219147
Real DateToIndex(UnknownDate); // -> 0 pero debería ser ?
}}}"	Pedro Gea
1463	Lentitud del inspector explorando instancias	Interface	3.1	Mantainance	defect	Jorge	closed	2012-03-05T19:51:12Z	2012-03-06T19:57:02Z	"En la versión {{{3.1}}} se aprecia una mayor lentitud en la inspección de instancias e incluso la obtención de errores.

Para comprobarlo puede usarse el siguiente código de ejemplo:
{{{
Class @Ej {
  Text _.name
};
Set For(1, 500, NameBlock (Real i) {
  Text name = ""id""<<FormatReal(i, ""03.0lf"");
  @Ej ej = [[ 
    Text _.name = name
  ]];
  PutName(name, ej)
});
}}}
Después de compilarlo inténtese explorar el conjunto."	Pedro Gea
1464	Submodelos BSR sin observaciones.	BysMCMC	3.1	Mantainance	enhancement	Víctor de Buen Remiro	closed	2012-03-06T09:33:57Z	2012-03-14T09:17:27Z	"Si tiene suficiente información a priori o latente, debería ser posible estimar un modelo BSR en el que haya un segmento de regresión sin ninguna observación. 
"	Víctor de Buen Remiro
1466	review _charttest.tol	Interface	3.1	Mantainance	defect	Jorge	closed	2012-03-06T19:39:59Z	2012-03-07T09:17:56Z	"The following error appears when executing {{{stdlib/gui/tcl/_charttest.tol}}}

{{{
Draw Autocorrelation Serie ...
Error al graficar la serie de autocorrelaciones. invalid object reference in ResolveObject
}}}"	Jorge
1468	NoNameBlock warning	Kernel	3.1	Mantainance	defect	Víctor de Buen Remiro	closed	2012-03-08T10:15:35Z	2012-03-12T14:06:59Z	"When selecting the NameBlock grammar appears the following warning:

{{{
Warning: [4] NameBlock NoNameBlock should have at least a public or read only member.

Warning: [5] NameBlock NoNameBlock should have at least a public or read only member.
}}}

If the NoNameBlock is a valid object then this warning should not appears."	Jorge
1471	"Reproducción del warning ""TimeSet no acotado"""	Kernel	3.1	Mantainance	task	Víctor de Buen Remiro	closed	2012-03-08T16:06:42Z	2012-03-12T15:53:40Z	"Se consigue reproducir la advertencia:
{{{
Warning: [] OIS: 
El TimeSet no acotado 
CtSem445_loc = Dating(data);
 depende de símbolos no visibles globalmente. Sólo los datos almacenados en la cache en [y2001m01d01,y2012m01d01] estarán accesibles cuando sea cargado
}}}
citada en el tique #1451.

Quizá puede ayudar a diagnosticar algunos de los usos inadecuados con los timesets.

Se adjuntan archivos de ejemplo, variantes de los de #1451."	Pedro Gea
1472	La advertencia de timesets no acotados no se muestra siempre	Kernel	3.1	Mantainance	defect	Víctor de Buen Remiro	closed	2012-03-08T16:11:23Z	2012-03-14T10:02:00Z	"La advertencia de timesets no acotados desaparece al cambiar sólo el nombre de una serie.

A partir del ejemplo indicado en #1451 se crea una variante que ya no muestra la advertencia simplemente cambiando el nombre ""data"" por ""ser.1"".

Se adjunta un archivo de ejemplo."	Pedro Gea
1473	Advertencia de reconstrucción de timesets	Kernel	3.1	Mantainance	defect	Víctor de Buen Remiro	closed	2012-03-08T16:16:34Z	2012-03-14T10:02:29Z	"La advertencia de reconstrucción de timesets:
{{{
Warning: [] OIS: 
Cannot rebuild virtual expression of non bounded TimeSet CtSem445 = Dating(serie)
Only cached dates will be accessible between [y1900m01d01,y2030m08d17]
To avoid this problem save just bounded time sets or use expressions that could be evaluated at OIS loading time.
}}}
se muestra aun cuando el timeset a reconstruir no se use por la preferencia de un timeset visible.

Para comprobarlo puede usarse el siguiente código:
{{{
TimeSet CtSem445 = C;
Set Ois.Load(""serie.oza"");
}}}
junto con el OZA adjuntado a #1451.
Véase también #1470"	Pedro Gea
1474	Error en la creación de estructuras	Kernel	3.1	Mantainance	defect	Víctor de Buen Remiro	closed	2012-03-08T22:31:39Z	2012-03-14T09:08:04Z	"Hola TOL, me he encontrado el siguiente problema:
Creo dos estructuras diferentes, pero por error las llamo igual
{{{
  Struct struct( Real real );
  Struct struct( Text text );
}}}
Y al compilar el código no me da ningun error, ¿no debería dar al menos un warning?
Ahí lo dejo, un abrazo"	lmperez@…
1475	Uso del operador monario :: con miembros publicados	Kernel	3.1	Mantainance	task	Víctor de Buen Remiro	closed	2012-03-09T11:18:54Z	2012-07-04T08:05:17Z	"El operador monario {{{::}}} no funciona sobre objetos globales que eran miembros de un bloque publicado con {{{UsingNameBlock}}}.

Véase por ejemplo:
{{{
#!java
Real a = 1;
NameBlock block = [[
  Real b = 2
]];
Real UsingNameBlock(block);
Real a;
Real b;
Real ::a;
Real ::b; // -> no funciona
}}}
{{{
Warning: [] La función :: ha fallado en : 
 :: b
}}}"	Pedro Gea
1476	Implementación de TextMatch	Text	3.1	Mantainance	defect	Jorge	closed	2012-03-09T11:19:01Z	2012-03-15T19:37:45Z	"Cuando se usa TOLMachine (componente de TOLGrid que encapsula el intérprete de TOL) se genera la advertencia: ""Using internal version of TextMatch could cause invalid results. Please use a TCL version of TOL like tolsh or tolbase."", la cual no es viable en este caso.
Del mensaje se infiere que la implementación de TextMatch que se ha utilizado en este caso podría no dar resultados correctos, o sea, su implementación no es correcta y por eso se ha optado por una nueva implementación que usa TCL.
No creo que haya ningún inconveniente en hacer una implementación correcta de TextMatch usando una de las muchísimas bibliotecas sobre expresiones regulares disponibles; por ejemplo, ya que en otras partes de TOL se usan bibliotecas de Boost, podría usarse ""Boost.Regex"". Con esta nueva implementación se evitaría crear una dependencia innecesaria de TCL para este caso.
Otro aspecto preocupante del warning es que si el resultado que se está obteniendo no es correcto, entonces podemos asegurar que algunos resultados que muestra BWS no son correctos (por ejemplo, los informes de DECO y DUETO) ya que utilizan en su código llamadas a TextMatch.
La versión de TOL usada en BWS es la 2.01 que no será actualizada hasta que se hagan todos los Test de funcionalidad requeridos para garantizar que todo funcione bien en TOLGrid y BWS."	Humberto Carralero
1478	Corrupted method: segmentation fault	Kernel	3.1	Mantainance	defect	Jorge	closed	2012-03-12T15:01:34Z	2012-03-15T09:34:35Z	"The following code give rise segmentation fault within tol:

{{{
#Require GuiTools;

Real RealSquare( Real x, Set args )
{
  Real sqX = x*x;
  WriteLn( ""El cuadrado de "" << x << "" es "" << sqX );
  sqX
};

Real GuiTools::MenuManager::defineMenuCommand
( ""Real"",
  [[ Text name = ""Real_SQ"",
     Text label = ""Cuadrado del Real"",
     Real flagGroup = 0,
     Code CmdInvoke = RealSquare ]]
);

Real a = 1;

GuiTools::MenuManager::invokeEntry( ""Real_SQ"", [[ a ]] );
}}}

the error is:

{{{
<E>
ERROR: [1] Corrupted method RealSquare
Possibly this problem is due to a non standard use of OOP, if this function was assigned to a member of type Code of a NameBlock or Class instance that has been destroyed already.</E>
[Call stack]
Segmentation fault
}}}

I will try to isolate it from GuiTools.
"	Jorge
1479	Prepara Toltcl to load shared lib with debug information	Toltcl	3.1	Mantainance	task	Jorge	closed	2012-03-13T10:32:01Z	2012-03-14T10:42:57Z	In order to debug Toltcl it could help if pkgIndex.tcl could load a shared lib with symbolic information. This shared lib can be specified by an environment variable.	Jorge
1481	NameBlock test_002 fails	Kernel	3.1	Mantainance	defect	Víctor de Buen Remiro	closed	2012-03-14T14:14:10Z	2012-03-14T17:07:24Z	The test {{{tol_tests/tol/NameBlock/test_002/test.tol}}} seems to be not working as expected, the resulting quality is 0.	Jorge
1482	NameBlock test_006 fails	Kernel	3.1	Mantainance	defect	Víctor de Buen Remiro	closed	2012-03-14T14:17:21Z	2012-03-14T17:17:29Z	The test tol_tests/tol/NameBlock/test_006/test.tol seems to be not working as expected, the resulting quality is 0.	Jorge
1483	bug when decompiling a file not compiled	Interface	3.1	Mantainance	defect	Jorge	closed	2012-03-14T19:50:49Z	2012-03-14T20:11:47Z	"If you compile a file which contains a syntax error and immediately try to decompile it then the following error appears:

{{{
file '/tmp/kk.tol' is not compiled
    while executing
""::tol::decompile $path""
    (procedure ""::TolInspector::DecompileFile"" line 40)
    invoked from within
""::TolInspector::DecompileFile $data(nameFile)""
    (procedure ""::Editor::CmdDecompile"" line 5)
    invoked from within
""::Editor::CmdDecompile ::Editor::.editor1  ""
    (command bound to event)
}}}

kk.tol is just a test file, you can try any file with syntax error on it, for instance:

{{{
#!java
Rea A
}}}"	Pedro Gea
1484	DownloadPackageZip	Various	3.1	TOL Packages	task	Jorge	closed	2012-03-15T08:54:38Z	2012-03-15T09:19:58Z	"La función TolPackage::Client::DownloadPackage descarga e instala un paquete especificado. Para ello descarga del repositorio el zip y luego descomprime en el repositorio local de paquetes.

Se solicita la posibilidad de descargar solo el zip sin instalar el paquete.

Esta solicitud está relacionada con el ticket #1469."	Jorge
1486	El valor desconocido en un bucle For	Kernel	3.1	Mantainance	defect	Víctor de Buen Remiro	closed	2012-03-16T19:02:46Z	2012-03-26T10:48:26Z	"El valor real desconocido {{{?}}} es reconocido con el valor {{{-2147483648}}} en un bucle {{{For}}}.

Pruébese:
{{{
Set For(?, 10, Real (Real i) { WriteLn(""""<<i); i });
}}}

Además para colmo el proceso no se consigue parar ni con el {{{Ctrl+k}}} ni tirando la aplicación que sigue aplicándose oculta (o sin interfaz).
"	Pedro Gea
1487	UsingNameBlock import StartActions	Kernel	3.1	Mantainance	task	Víctor de Buen Remiro	closed	2012-03-18T20:03:31Z	2012-03-19T14:38:49Z	"Al importar un NameBlock se tiene la opción de importar o no los miembros privados y readonly, los cuales por omisión no se importan.

Se solicita la posibilidad de poder escoger que se importe o no algunos miembros especiales como el StartActions. Pudiera servir un tercer argumento:

{{{
#!java
Real usingStartActions = False;
}}}

por omisión debería estar a falso. Si es {{{true}}} el miembro StartActions se importa, no se importa si es {{{false}}}."	Jorge
1488	Error usando la función Range de TimeSets	Kernel	3.1	Mantainance	defect	Víctor de Buen Remiro	closed	2012-03-20T16:53:52Z	2012-03-20T21:48:57Z	"El código:
{{{
#!java
TimeSet ts = Range(D(1)*M(1), -5, 2, C);
Date Succ(y1900, ts, 1);
}}}
no funciona en TolBase v3.1 y da la siguiente advertencia:
{{{
Warning: [9] BTmsIntersection::Predecessor ha sido abortado porque se ha salido del rango de cálculo  operando entre las fechas [y1900m01d06,y1900m01d06]
Probablemente se trata de una expresión del conjunto temporal vacío.
}}}"	Pedro Gea
1489	Error al destruir un NonLinGloOpt::@Problem	Kernel	3.1	Mantainance	defect	Víctor de Buen Remiro	closed	2012-03-23T14:45:13Z	2012-04-02T12:34:12Z	"TOL se cae (en la versión 3.1) al destruir una instancia de: {{{NonLinGloOpt::@Problem}}}. Pruébese:
{{{
#!java
#Require NonLinGloOpt; // => NonLinGloOpt.5.2
Real {
  NonLinGloOpt::@Problem problem = [[
    Real n = 2;
    Matrix lower_bounds = Row(1);
    Matrix upper_bounds = Row(1);
    Anything target = FindCode(""Real"", ""Sin"");
    Set equations = Copy(Empty);
    Set inequations =  Copy(Empty);
    // Settings
    Real sign = 1;
    Real neededGlobal = 1;
    Real id_analyticalClass = 1;
    Real id_useGradient = 1
  ]];
1};
}}}"	Pedro Gea
1491	Conocer los miembros de una estructura (Struct)	Kernel	3.1	Mantainance	enhancement	Víctor de Buen Remiro	closed	2012-03-27T16:26:19Z	2012-04-02T12:31:02Z	Se sugiere implementar una función similar a {{{Set ClassMembers(Text className)}}} que devuelva la información de los miembros de una estructura. Quizá algo como {{{Set StructMembers(Text structName)}}}.	Pedro Gea
1492	Error con NonLinGloOpt	Kernel	3.1	Mantainance	doubt	Víctor de Buen Remiro	closed	2012-03-27T19:24:51Z	2012-03-28T19:17:11Z	"Al hacer una optimización de unas previsiones con el paquete NonLinGloOpt encuentro el siguiente mensaje de error:
{{{
[nlopt] 1 evaluation of TARGET EvalTarget 795013132.290491
ERROR: [1] [NonLinGloOpt::CppTools::optimize] The proccess has failed in the first evaluaiton.
[Call stack]
  [5] Real engine::engine::run (Matrix x0, Real verboseEach)
  [4] Real method::run (Matrix x0, Real verboseEach)
  [3] Real pipeLine::run (Real void)
  [2] Real pipeLine::optimize (Real forzeFeasible_)
  [1] Real mainObject::optStrategy::optStrategyNLO::Execute (Real void)
[NonLinGloOpt::@PipeLine::run] step 1 NLOPT.LN_COBYLA found optimal value =795013132.2904912 after 1 target evaluations in 24.50945100000001 seconds
Stop reason: FAILURE
}}}

¿Alguna idea de qué se puede tratar? o ¿qué puedo hacer para averguarlo?

Como nota añado que si insisto y vuelvo a ejecutar: 
{{{
Real pipeLine::optimize(1);
}}}
la optimización continua sin dar erorres."	Pedro Gea
1493	Valores iniciales en una estimación BSR	BysMCMC	3.1	BSR API	task	Víctor de Buen Remiro	closed	2012-03-28T15:05:16Z	2012-06-14T15:39:04Z	"¿Cómo se pueden establecer los varlores iniciales en una estimación BSR? La idea es poder arrancar la estimación desde unos valores iniciales diferentes a aquellos que se utilizaron en la construcción de los ''imports''.

He visto un código que lo intentaba escribiendo en el ''sampler'' con un código similar a:
{{{
Real cycler::_.sampler::setStore(row);
}}}
pero así no funciona y estos valores ({{{row}}}) no se utilizan.
No sé si esto puede depender del valor de alguna setting o si hay algún otro método para hacerlo."	Pedro Gea
1494	[BSR] Mejora de los valores iniciales del probit	BSR	3.1	Mantainance	enhancement	Víctor de Buen Remiro	closed	2012-03-29T15:19:26Z	2012-06-14T15:39:04Z	"En las regresiones lineales el método máximo-verosímil  para el cálculo de valores iniciales del bloque lineal nos da directamente la media exacta de la distribución por lo que la convergencia es inmediata.

Cuanto más se aleja el modelo de la linealidad peor es la aproximación  pues se hace condicionada al resto de bloques. En el caso probit, hay un bloque oculto que consiste en la generación aleatoria de todo el output del bloque lineal por lo que la velocidad de convergencia puede ser muy dependiente de esas simulaciones iniciales.

Se propone que, sólo en la primera iteración, en lugar de simular el output lineal se tome su esperanza o una aproximación de la misma.


"	Víctor de Buen Remiro
1495	Detección de la versión de NLOPT	Math	3.1	Mantainance	enhancement	Víctor de Buen Remiro	closed	2012-03-29T17:27:15Z	2012-03-29T17:27:35Z	Para poder hacer comprobaciones en caso de discrepancias de resultados con el paquete NonLinGloOpt en diferentes máquinas y versiones sería necesario que el propio paquete informara de la versión de la librería externa NLOPT usada internamente.	Víctor de Buen Remiro
1496	NonLinGloOpt no converge en linux (test_0001)	Various	3.1	TOL Packages	defect	Jorge	closed	2012-03-30T08:41:00Z	2012-03-30T09:44:15Z	"Se ha observado que el test_0001 de NonLinGloOpt converge en Windows y en Linux no. El test puede verse en: [browser:tolp/OfficialTolArchiveNetwork/NonLinGloOpt/test/test_0001 ""NLOPT Test01""]
"	Jorge
1500	GetCov en BsrImport	BysMCMC	3.1	BSR Interface	doubt	Víctor de Buen Remiro	closed	2012-04-09T14:53:10Z	2012-04-09T15:01:18Z	"El {{{API Import}}} de {{{BSR}}} define un segmento de regresión mediante un {{{NameBlock}}}. Este {{{NameBlock}}} puede tener un método {{{GetCov}}} que retorna la matriz de covarianza conocida del segmento (en realidad se retorna una expresión que al evaluarse construye la matriz de covarianza).

El {{{API}}} asume el convenio de que si el método no está definido entonces se asume covarianza identidad. En {{{MMS}}} este método siempre está definido ya que el {{{NameBlock}}} es una instancia de una clase.

En relación a este convenio nos preguntamos si ¿hay diferencias de eficiencias entre retornar {{{""Eye(100)""}}} o no definir el método? En caso de que haya diferencia significativa en eficiencia, y teniendo en cuenta que en {{{MMS}}} el método {{{GetCov}}} está siempre definido, ¿pudiera ampliarse el convenio y asumir que si se retorna {{{""""}}} implica el mismo comportamiento que no definir el método?

En el ejemplo anterior {{{100}}} es una dimensión arbitraria usada solo a modo de ejemplo."	Jorge
1503	Error en la función odbc_GetAsReal	Kernel	3.1	Mantainance	defect	Jorge	closed	2012-04-12T22:34:12Z	2012-05-02T10:11:38Z	"Hola,

estamos teniendo el siguiente error al hacer algunas consultas en base de datos:

{{{
ERROR: [11] function 'odbc_GetAsReal' from ODBC DB module failed.
}}}

Se trata de una máquina Linux y una base de datos Teradata. En Windows este problema no aparece.

¿Nos podéis echar una mano?
Muchas gracias!

Un saludo."	Javier Moreno
1505	FileTime no acierta con las fracciones de segundo	Kernel	3.1	Mantainance	defect	Jorge	closed	2012-04-16T19:42:56Z	2013-08-12T14:16:05Z	"La función {{{FileTime}}} no acierta con las fracciones de segundo.
Puede comprobarse haciendo:
{{{
Date date1 = FileTime(GetAbsolutePath(GetDir(GetAbsolutePath("".""))[1][1]));
Set For(1, 10000, Real (Real i) { 0 }); // esperamos algo
Date date2 = FileTime(GetAbsolutePath(GetDir(GetAbsolutePath("".""))[1][1]));
Real (Date date1==date2); // -> False
}}}"	Pedro Gea
1506	Linux installer	Various	3.1	Mantainance	task	Jorge	closed	2012-04-18T12:43:26Z	2015-10-07T09:56:19Z	It is requested the implementation of an installer for linux, as automatic as possible.	Jorge
1507	API for FFTW	Math	head	Numerical methods	task	Víctor de Buen Remiro	closed	2012-04-18T15:38:12Z	2012-06-27T12:53:07Z	"La transformada de Fourier es una herramienta de cálculo muy potente que puede usarse para acelerar operaciones con matrices especiales como las de Toeplitz, operaciones polinómicas y otras muchas.

La mejor opción es la librería [http://www.fftw.org/ FFTW] porque es la más completa, rápida y robusta de las muchas librerías open-source disponibles y tiene poco que envidiar a carísimas librerías propietarias programadas específicamente para máquinas potentes, tal y como se puede ver en la página [http://www.fftw.org/speed/CoreDuo-3.0GHz-icc/ FFT Benchmark Results]

En TOL es posible acceder desde hace tiempo a la librería GSL que contiene funciones para el cálculo de transformadas de Fourier, y no están mal del todo, pero la FFTW es al menos 5 veces más rápida que la GSL en general y en algunos casos hasta 10 ó 20 veces más veloz.
"	Víctor de Buen Remiro
1509	prueba notificaciones email	Web	3.1	Mantainance	defect	Jorge	closed	2012-04-19T09:43:16Z	2012-04-19T13:43:28Z	probando envío desde gmail	apalonso
1510	benchmark para TOL	User config	3.1	Mantainance	task	Humberto Carralero	closed	2012-04-20T10:47:02Z	2012-05-14T15:35:27Z	"Necesitamos un programa bien simple que ejecute tareas intensivas de cálculo para evaluar el rendimiento de los equipos con los procesos de TOL.
Pueden ser una o varias tareas, es importante que al final salga un informe de los tiempos de ejecución."	apalonso
1514	"Can not replace TimeSet values with "":="""	TimeAlgebra	3.1	Mantainance	defect	Víctor de Buen Remiro	closed	2012-04-23T17:01:22Z	2012-04-24T07:48:09Z	"It is not possible to replace a TimeSet value using :=. TimeSet value remains unchanged after the command.

Example code:
{{{
TimeSet test = WD(1);
test := WD(2);
//test keeps WD(1) as value
}}}

"	André Baceti
1515	Solicitud de parámetro nuevo en la función ReadFile()	Various	3.1	Mantainance	defect	Víctor de Buen Remiro	closed	2012-04-23T18:53:51Z	2012-04-23T19:56:45Z	"Hola.

He visto que sería conveniente un nuevo parámetro (opcional) que diga cuántas líneas (quizá caracteres) queremos del fichero en cuestión.

Muchas veces sólo nos interesa saber la primera línea, para ver por ejemplo si sus delimitadores son punto y coma, ó cuántos campos tiene y realmente no queremos todo el fichero (cuando pasa esto es porque son ficheros muy pesados).

Muchas gracias.
"	Javier Gallardo
1516	Error en las funciones de Interpolación del StdLib	Kernel	3.1	TOL Packages	defect	Víctor de Buen Remiro	closed	2012-04-25T12:12:15Z	2012-04-26T11:29:47Z	"Hola,

Buscando funciones de interpolación,hemos visto que en StdLib::Interpolate::Scalar había algunas. 

Sin embargo, al ir a probarlas nos ha dado error: 
{{{
ERROR: [1] x_ no es un objeto valido para el tipo Real.

[Call stack]
  [3] Matrix hnd::handler::evalMat (Matrix X)
  [2] Matrix StdLib::Interpolate::Scalar::fillMissAllMat (Matrix X, Matrix Y, Text method, Real order)
  [1] Serie StdLib::Interpolate::Scalar::fillMissIsoSer (Serie y, Text method, Real order)

ERROR: [2] Argumentos erróneos para Real  (Real modo, Real a [, Real b])

[Call stack]
  [3] Matrix hnd::handler::evalMat (Matrix X)
  [2] Matrix StdLib::Interpolate::Scalar::fillMissAllMat (Matrix X, Matrix Y, Text method, Real order)
  [1] Serie StdLib::Interpolate::Scalar::fillMissIsoSer (Serie y, Text method, Real order)

ERROR: [3] Fallo en la función ""eval""

[Call stack]
  [3] Matrix hnd::handler::evalMat (Matrix X)
  [2] Matrix StdLib::Interpolate::Scalar::fillMissAllMat (Matrix X, Matrix Y, Text method, Real order)
  [1] Serie StdLib::Interpolate::Scalar::fillMissIsoSer (Serie y, Text method, Real order)
}}}


Las series que hemos utilizado son las siguientes:
{{{
Serie ser001.t1 = SubSer(CalInd(W, Mensual), y2010, y2010);
Serie ser001.t2 = Log(SubSer(CalInd(W, Mensual), y2010m2, y2010m12));
Serie ser001.t3 = SubSer(Gaussian(1000, 50, Mensual), y2011, y2012);
Serie ser001 = ser001.t1 >> ser001.t2 >> ser001.t3;
}}}
Y las funciones que hemos probado son:
{{{
Serie StdLib::Interpolate::Scalar::fillMissIsoSer(ser001, ""linear"", 12);
Serie StdLib::Interpolate::Scalar::fillMissAllSer(ser001, ""linear"", 12);
}}}"	IgnacioGonzalezPuente
1517	NO existencia en TOL (ni en StdLib) de algunas funciones útiles de Interpolación	Kernel	3.1	Mantainance	enhancement	Víctor de Buen Remiro	closed	2012-04-25T12:22:38Z	2012-04-26T16:15:38Z	"Hola,

En relación al ticket #1516, sí que hemos encontrado algunas funciones útiles para interpolar en el Ticket #707 (por ejemplo '''FillMissingInterp''')

Sin embargo, estas funciones no aparecen en TOL ni en StdLib, y sería bueno que estuvieran incluidas en algún sitio para poder encontrarlas con facilidad.

En nuestro caso, si compilamos el siguiente código funciona todo perfectamente:

Serie ser001.t1 = SubSer(CalInd(W, Mensual), y2010, y2010);
Serie ser001.t2 = Log(SubSer(CalInd(W, Mensual), y2010m2, y2010m12));
Serie ser001.t3 = SubSer(Gaussian(1000, 50, Mensual), y2011, y2012);
Serie ser001 = ser001.t1 >> ser001.t2 >> ser001.t3;

Serie ser001_interp_01 = FillMissingInterp(ser001, ""linear"", 12);

"	IgnacioGonzalezPuente
1518	DatCh returns a wrong Series	Kernel	3.1	Mantainance	defect	Víctor de Buen Remiro	closed	2012-04-26T14:09:37Z	2012-09-20T15:13:52Z	"Hi, when executing this code:

{{{
Serie sr_1 = SubSer(Rand(4, 8, Daily), y2011, y2011m12d31);
Serie sr_d = DatCh(sr_1, D(31), FirstS);
}}}

''sr_d'' begins at y2010m12d31, while ''sr_1'' starts at y2011m01d01. How can it be possible?

Regards.
"	imendez
1521	TOL crash	Kernel	head	Mantainance	defect	Víctor de Buen Remiro	closed	2012-04-30T09:30:54Z	2012-05-16T08:26:23Z	"Hi, TOL crashes after executing this code:

{{{
TimeSet Fes = D(1)*M(3)+D(28)*M(5);
TimeSet Fec = Range(D(1),0, 27, Daily);
Serie SrFestivS = F:CalInd(FestiveTms, Fec);
}}}

Regards.
"	imendez
1522	fallo en GetPackageInfo	TolPackage	3.1	Mantainance	defect	Pedro Gea	closed	2012-05-02T09:51:58Z	2012-06-21T14:23:08Z	"Probado con tol 3.1 desde el svn

{{{
#!java
Set TolPackage::Client::GetPackageInfo(""MatAlg.2.1"");
}}}

resulta en la siguiente traza:

{{{
ERROR: [1] No element found with name name

[Call stack]
  [2] Set TolCore::TolPackage::@Catalog::FormatRecord_Autodoc (Set record)
  [1] Set TolCore::TolPackage::Client::GetPackageInfo (Text name.version)

Warning: [3] :: function failed at : 
record::name

ERROR: [2] _.autodoc.name could not be created.

[Call stack]
  [2] Set TolCore::TolPackage::@Catalog::FormatRecord_Autodoc (Set record)
  [1] Set TolCore::TolPackage::Client::GetPackageInfo (Text name.version)

ERROR: [3] Wrong arguments in call to Set SetOfAnything (Anything var1 [, Anything var2, ...])

[Call stack]
  [2] Set TolCore::TolPackage::@Catalog::FormatRecord_Autodoc (Set record)
  [1] Set TolCore::TolPackage::Client::GetPackageInfo (Text name.version)

ERROR: [4] autodoc could not be created.

[Call stack]
  [2] Set TolCore::TolPackage::@Catalog::FormatRecord_Autodoc (Set record)
  [1] Set TolCore::TolPackage::Client::GetPackageInfo (Text name.version)

ERROR: [5] No element found with name identifier

[Call stack]
  [2] Set TolCore::TolPackage::@Catalog::FormatRecord_Autodoc (Set record)
  [1] Set TolCore::TolPackage::Client::GetPackageInfo (Text name.version)

Warning: [4] :: function failed at : 
record::identifier

ERROR: [6] autodoc is not a valid object for type Set.

[Call stack]
  [2] Set TolCore::TolPackage::@Catalog::FormatRecord_Autodoc (Set record)
  [1] Set TolCore::TolPackage::Client::GetPackageInfo (Text name.version)

Warning: [5] PutName function failed at : 
PutName(record::identifier, autodoc)

ERROR: [7] Fail in function ""FormatRecord_Autodoc""

[Call stack]
  [2] Set TolCore::TolPackage::@Catalog::FormatRecord_Autodoc (Set record)
  [1] Set TolCore::TolPackage::Client::GetPackageInfo (Text name.version)

Warning: [6] :: function failed at : 
@Catalog ::FormatRecord_Autodoc(record)

ERROR: [8] Fail in function ""GetPackageInfo""

[Call stack]
  [1] Set TolCore::TolPackage::Client::GetPackageInfo (Text name.version)

Warning: [7] :: function failed at : 
TolPackage::Client::GetPackageInfo(""MatAlg.2.1"")
}}}"	Jorge
1523	OZA crash	OIS	3.1	Mantainance	defect	Víctor de Buen Remiro	closed	2012-05-03T10:55:55Z	2012-05-16T08:28:31Z	"Hola,
El .oza adjunto contiene la estimación y el forecast de unas 300 series mensuales. Éstas se ejecutan perfectamente, pero si las guardo en un .oza y luego quiero abrirlo, Tol se cae.

Muchas gracias."	Javier Gallardo
1533	Incompatibilidad de las funciones OIS entre las versiones 3.1 y 3.2	OIS	head	Mantainance	doubt	Víctor de Buen Remiro	closed	2012-05-12T16:04:46Z	2012-05-16T07:30:28Z	"Hola, los archivos .oza que creo con la versión 3.2 no se pueden leer con la 3.1:

{{{
//Ejecutar en 3.2
Set s = [[1, 2 ]];
Real Ois.Store(s, ""C:/test.oza"");

//Ejecutar en 3.1
Set Ois.Load(""C:/test.oza"");

//Mensaje de error:
ERROR: [6] OIS: 
Error en el formato de la cabecera XML al intentar leer la etiqueta</tolEngine>
}}}

¿Es algo que hay que asumir por un cambio en la versión 3.2 o se puede corregir para que sean compatibles?

Gracias.
Un saludo.
"	imendez
1534	ExecMms in rmtps	RMTPS	3.1	Mantainance	task	Jorge	closed	2012-05-12T23:01:48Z	2014-03-11T08:49:38Z	Implementar una función en rmtpsd y RmtpsClient para facilitar el lanzamiento de estimaciones en un servidor rmtpsd. Estas estimaciones deberán estar almacenadas en un repositorio de BMR. Debe darse la opción de cargar el código desde un proyecto de BPR.	Jorge
1535	error en TolPackage	TolPackage	3.1	Mantainance	defect	Pedro Gea	closed	2012-05-12T23:27:13Z	2012-06-21T14:20:49Z	"Hola, nos hemos descargado la versión de TOL ""v3.1 p010 2012-05-09
 15:30:39 i686-win"" y al ejecutar TOLBase y hacer #Require MMS nos sale el
 siguiente mensaje de error:

 {{{
 [TolPackage::@Catalog Local] No se encuentra el paquete 'MMS'.
 [TolPackage::Client] Se intentará descargar el paquete 'MMS'.
 <E>
 ERROR: [1] Parser: Identificador demasiado largo</E>

 [Call stack]
  [5] Set TolCore::TolPackage::@Catalog::BuildRecords_Remote (Set
 repositories)
  [4] NameBlock TolCore::TolPackage::@Catalog::Remote (Set repositories)
  [3] Real TolCore::TolPackage::Server::Initialize (Real void)
  [2] Real TolCore::TolPackage::InstallLastCompatible (Text pattern)
  [1] Real TolCore::TolPackage::Client::RemoteInstall (Text repository,
 Text package, Real showError)
 <W>
 Warning: [1] NameBlock catalog se ha construido con 1 errores.</W>
 [TolPackage::Server] Catalog 4.46 s.
 [TolPackage::@Catalog Remote] No se encuentra el paquete 'MMS'.
 [TolPackage::@Catalog Local] No se encuentra el paquete 'MMS'.
 <E>
 ERROR: [2] El paquete desconocido MMS debe ser instalado manualmente.</E>
 No ha sido cargado el paquete MMS
 Lea informaciÃ³n acerca de los paquetes TOL en https://www.tol-
 project.org/wiki/TolPackageRulesAndComments
 }}}

 Al ir a esa URL hemos ejecutado la instrucción:

 {{{
 Real TolPackage::Client::RemoteUpdateAll(True);
 }}}

 Y nos sale el siguiente mensaje de error:

 {{{
 Método obsoleto. Utilize en su lugar: TolPackage::UpdateAll
 }}}

 Con el nuevo método el resultado es 0, es decir que no ha actualizado
 nada.

 Al abrir el gestor de Repositorios, sólo nos salen paquetes de OTAN.
 Haciendo click con botón derecho sobre uno de ellos he añadido un
 repositorio nuevo, BPTP, pero con eso no he conseguido que funcione el
 #Require MMS.

 El siguiente intento ha sido ejecutar la siguiente instrucción:

 {{{
 Real
 TolPackage::Client::AddRepository(""http://packages.localbayes.es/BayesPrivateTolPackages/repository.php"");
 }}}

 Pero da un Warning y creo que no hace nada:

 {{{
 Warning: [5] La función :: ha fallado en :
 TolPackage::Client::AddRepository(""http://packages.localbayes.es/BayesPrivateTolPackages/repository.php"")
 }}}

 Sin embargo, al ejecutarla sin ""::Client"" sí me ha funcionado.

 Una vez hecho eso, ya ha funcionado el #Require MMS.

 Los nuevos paquetes se han instalado en la ruta
 ""....\AppData\Roaming\tol\TolPackage.2\"" que creo que es nueva.

 Con la información que tengo deduzco al menos dos problemas:

 1.- O bien ha cambiado la ruta de los paquetes, o con la nueva versión
 p010 no se encuentra el repositorio BPTP.
 2.- Se han cambiado los métodos de TolPackage. Ahora sobra el ""::Client"".
 Sin embargo, en la web de TOL y en el Trac de BPTP no está actualizado.

 Un saludo.
"	imendez
1536	duda sobre warning en BTmsDifference::Successor	TimeAlgebra	3.1	Mantainance	defect	Víctor de Buen Remiro	closed	2012-05-16T08:58:48Z	2012-06-13T16:43:24Z	"Al ejecutar el código adjunto se genera el siguiente warning:

{{{
Warning: [1] BTmsDifference::Successor has been aborted because it has fall out of calculation range  operating between dates y2012m05d09,y2040m05d20]
Probably this is an expression of empty time set.
}}}

No me queda claro por qué se emite ese mensaje si despues del y2012m05d09 ya no hay que buscar nada más."	Jorge
1538	Nuevas funciones con textos	Text	3.1	Mantainance	enhancement	Pedro Gea	closed	2012-05-21T15:53:10Z	2012-05-21T17:13:08Z	"Se solicita incluir en el conjunto de funciones compiladas de TOL las siguientes:
 * {{{TextSub}}}: función equivalente a {{{Sub}}} pero que admite posiciones negativas, entendiéndose éstas como contadas desde el final hacia el principio.
 * {{{Characters}}}: función que devuelve un conjunto con los caracteres de un texto.
 * {{{TextJoinWith}}}: función que concatena un conjunto de textos usando un separador indicado como argumento.
 * {{{FirstToLower}}}: función que coloca en minúsculas el primer caracter de un texto.

El objetivo de estas funciones es aumentar la eficiencia de otras funciones y procesos basados en ellas.

"	Pedro Gea
1539	cross correlation function	Math	3.1	Mantainance	doubt	Víctor de Buen Remiro	closed	2012-05-21T20:37:58Z	2012-06-27T12:50:12Z	"Is there, in tol, en function to compute the cross correlation between two series?

http://en.wikipedia.org/wiki/Cross-correlation#Time_series_analysis"	Jorge
1540	Warning al guardar con OIS por un TimeSet no visible globalmente	OIS	3.1	Mantainance	defect	Víctor de Buen Remiro	closed	2012-05-23T15:01:28Z	2012-05-31T18:13:26Z	"Hola, al ejecutar el siguiente código:

{{{
Serie FunWarn(TimeSet fdo)
{
  CalInd(C, fdo)
};
Serie SrWarn = FunWarn(Diario);
Real Ois.Store([[ SrWarn ]], ""C:/warn.oza"");
}}}

Me aparece el siguiente Warning:

{{{
Warning: [2573] OIS: 
El TimeSet no acotado 
Diario = fdo;
 depende de símbolos no visibles globalmente. Sólo los datos almacenados en la cache en [y2005m02d07,y2014m11d15] estarán accesibles cuando sea cargado
}}}

Entiendo que se debe a que el fechado ''fdo'', argumento de la función ''FunWarn'', no es un objeto global.

Sin embargo, si ejecuto las dos siguientes alternativas no aparece el Warning:

{{{
Serie FunWarn2(TimeSet fdo)
{
  TimeSet fdoAcot = fdo*In(DefFirst, DefLast);
  CalInd(C, fdoAcot)
};
Serie SrWarn2 = FunWarn2(Diario);
Real Ois.Store([[ SrWarn2 ]], ""C:/warn2.oza"");

Serie FunWarn3(Set fdoRef)
{
  CalInd(C, fdoRef[1])
};
Serie SrWarn3 = FunWarn3([[Diario]]);
Real Ois.Store([[ SrWarn3 ]], ""C:/warn3.oza"");
}}}

Aparte de preguntar si existen otras alternativas para omitir el warning -excluyendo el Show(0, ""WARNING"")- y cuál es la más recomendada, me gustaría saber si el hecho de acotar un fechado para guardarlo con OIS es ineficiente desde el punto de vista del consumo de memoria.

En realidad el Warning que me da es por una función de la StdLib, IntervalTrend01. Al igual que esa, hay otras muchas funciones que presentan el mismo ""problema"" al guardar con OIS un objeto creado con ellas.

Un saludo.

N.B.: Al margen de lo anterior, el intervalo en el que OIS guarda el TimeSet en caché, [y2005m02d07,y2014m11d15], ¿de dónde sale?

"	imendez
1541	El formato oza ha cambiado en la 3.2	TolPackage	3.1	Mantainance	defect	Pedro Gea	closed	2012-05-29T12:16:14Z	2012-05-30T17:41:40Z	El formato del oza ha cambiado en la versión 3.2, el catalog.oza creado o actualizado con la versión 3.2 no se puede leer en la 3.1. De ahi que es posible que si se usa la 3.2 deja de funcionar el catálogo. Una opción puede ser cambiar de número de versión de TolPackage.	Jorge
1543	Error al usar Require con solo versión alta	TolPackage	3.1	Mantainance	defect	Pedro Gea	closed	2012-05-30T16:11:23Z	2012-06-21T14:16:58Z	"Tras los cambios en TolPackage el mecanismo para cargar paquetes indicando sólo el primer número de versión (versión alta) ha dejado de funcionar.

La función compilada LocalLastCompatible hace la petición añadiendo un punto (""."") al final.
"	Pedro Gea
1546	Error of Interpolation function	Kernel	3.1	Multivariate interpolation methods	defect	Víctor de Buen Remiro	closed	2012-05-31T15:06:11Z	2012-06-03T19:43:08Z	"The command

Serie intser = StdLib::Interpolate::Scalar::fillMissAllSer (auxser, ""linear"", 0);

Fails. I think problem is on line 15 

Real eval(Real r) { _interpolation(0,x_) };

within function 

NameBlock buildHandler(Matrix x, Matrix y, Text method_, Real order)

of file

C:/Program Files/Tol-Project/tolbase-v3.1/bin/stdlib/math/interpolate/_scalar.tol

that must be changed by

Real eval(Real r) { _interpolation(0,r) };

I have corrected for myself and it works.

Regards,

Artiles
"	Luis Artiles
1548	GrzLinModel: Error en el método clear de @WgtReg	Various		Mantainance	defect	Pedro Gea	closed	2012-05-31T15:33:05Z	2012-05-31T15:33:48Z	Se encuentrar un error al llamarse el método {{{clear}}} de las instancias de @WgtReg del paquete GrzLinModel.	Pedro Gea
1549	Repository not added correctly	TolPackage	3.1	Mantainance	defect	Pedro Gea	closed	2012-06-01T07:38:00Z	2012-06-04T14:13:25Z	" * First, ejecute {{{#Require MMS}}} in a session without http://packages.localbayes.es/BayesPrivateTolPackages/repository.php added: TOL will not find MMS as expected.
 * Next, add the missing repository
{{{
Real TolPackage::AddRepository(""http://packages.localbayes.es/BayesPrivateTolPackages/repository.php"");
}}}
 * Next, try again {{{#Require MMS}}}: TOL does not know to find MMS

But if you exit that session and start a new one then MMS is downloaded when requested."	Jorge
1550	Funcion de guardar y leer .oza en interfaz	Interface	3.1	Mantainance	enhancement	Jorge	closed	2012-06-04T21:55:58Z	2012-07-04T09:27:40Z	"Hola Tol, me pregunto si sería posible incluir una función de guardar un objeto Tol en un archivo .oza con botón derecho. Entiendo que no sería muy complejo.

Por otra parte sería incluir también el contrario. En el menú archivo->abrir, del que cuelgan: ""Archivo Tol"", ""Tabla"" y ""Proyecto"", que hubiese una opción más que fuese ""Archivo Oza"".

Creo que nos ahorraría muchísimo tiempo.

Gracias de antemano"	lmperez@…
1552	TolPackage: Mejorar paquetes manteniendo la versión alta	TolPackage	3.1	Mantainance	task	Pedro Gea	closed	2012-06-06T10:40:05Z	2012-06-21T14:14:48Z	"Se solicita la incorporación de mecanismos que faciliten la mejora (upgrade) de los paquetes manteniendo la versión alta (version.high).
"	Pedro Gea
1553	Cálculo del hessiano numérico	Math	3.1	Numerical methods	enhancement	Víctor de Buen Remiro	closed	2012-06-08T14:24:44Z	2012-06-08T14:26:07Z	Es necesaria una función para el cálculo del hessiano numérico, análoga a la función Gradient	Víctor de Buen Remiro
1554	Fallo en el arranque de Tol con Cint	Kernel	3.1	Mantainance	defect	Víctor de Buen Remiro	closed	2012-06-08T14:36:58Z	2012-06-12T09:37:02Z	"La inicialización del sistema CINT ha dejado de funcionar súbitamente provocando un acceso inválido de memoria que provoca la caída de TOL antes de arrancar.

Con el depurador he visto que se produce al llamar a {{{G__init_cint_ptr}}}
desde
{{{
#!cpp
//--------------------------------------------------------------------
int Cint_init_cint (G__CONST char* command)
//--------------------------------------------------------------------
{
  if(!G__init_cint_ptr) 
  { 
    Cint_not_linked_message(""Cint_init_cint""); 
    return(-1); 
  } 
  int res = (*G__init_cint_ptr)(command);
  return(res);
}

}}}

que es a su vez llamada en

{{{
#!cpp
int Cint_initialize(const BText& filePath)
{
  ...
  BText order = ""cint"";
  ...
  int G__init_cint_ = Cint_init_cint(order);
  ...
}
}}}
"	Víctor de Buen Remiro
1555	version de tol visible en la ventana de tolmachine	tolgrid	3.1	Mantainance	task	Humberto Carralero	closed	2012-06-08T16:06:39Z	2012-06-11T19:17:25Z	Añadir el valor de Text Version a línea de estado de una ventana de TolMachine	Jorge
1556	Forecast load fails	tolgrid	3.1	Mantainance	defect	Humberto Carralero	closed	2012-06-11T17:34:20Z	2012-10-25T16:59:14Z	"I got an exception when I was trying to load a .oza file via tolgrid. (Zenon10)
I tried also load the same file via tolgrid-ide and it was successfully load.
{{{
.oza file used: For.HeiEsp_MVACru__2012059.oza
}}}

Output in NetBeans Console:

{{{
Test Simulate_Output/Deco/DueTo
Tiempo de Inicio de Precarga(1 TOLMachine): 19:13:11
11-jun-2012 19:13:47 com.bayesforecast.tolgrid.common.TOLGridStream readShort
GRAVE: null
java.io.EOFException
Error en procesamiento de TOLGrid: null
        at java.io.DataInputStream.readByte(DataInputStream.java:250)
        at com.bayesforecast.tolgrid.common.TOLGridStream.readShort(TOLGridStream.java:106)
        at com.bayesforecast.tolgrid.common.RemoteTOLMachine.loadForecast(RemoteTOLMachine.java:1322)
        at com.bayesforecast.tolgrid.mmm.TOLGridMMM.loadTOLMachine(TOLGridMMM.java:267)
        at com.bayesforecast.tolgrid.mmm.TOLGridMMM.init(TOLGridMMM.java:166)
        at com.bayesforecast.tolgrid.mmm.TOLGridMMM.<init>(TOLGridMMM.java:134)
        at com.bayesforecast.tolgrid.mmm.examples.TestSimulateReport.main(TestSimulateReport.java:173)
}}}"	Daniel Eduardo Castro Morell
1557	Deshabilitar RCODA	TolPackage	3.1	BSR Diagnosis	task	Pedro Gea	closed	2012-06-12T09:18:15Z	2012-06-12T09:57:48Z	"En algunas máquinas puede no estar convenientemente instalado R o el paquete CODA usado por el paquete TOL BysInfDiag y en tales casos hay que evitar las llamadas a RCODA porque sólo se obtiene un listado de mensajes de error y warnings.

Debería haber una variable de control con la que poder deshabilitarlo, como por ejemplo
{{{
Real BysInfDiag::Inference::enable.RCODA := False;
}}}

En tal caso la tabla {{{coda.raftery.diag}}} se devolverá vacía pero en la tabla {{{coda.summary}}} se pueden calcular directamente en TOL todos los campos salvo {{{tmser.se}}} que no está nada claro lo que significa en la documentación original de CODA.

También puede ser útil deshabilitarlo cuando no se quiere ver el {{{coda.raftery.diag}}} ni el {{{tmser.se}}} pues tardan bastante en calcularse.
"	Víctor de Buen Remiro
1558	Clases en módulos: Instancias anidadas	Kernel	3.1	Mantainance	defect	Víctor de Buen Remiro	closed	2012-06-12T14:06:00Z	2012-07-04T08:07:37Z	"El siguiente código
{{{
#!java

// Module
Class @A {
  Real value
};
Class @C {
  @A object
};

@C test = [[
  @A object = [[ 
    Real value = 1
  ]]
]];
}}}
compila correctamente.

Sin embargo este otro no:
{{{
#!java

NameBlock Module = [[
  Class @A {
    Real value
  };
  Class @C {
    @A object
  }
]];

Module::@C test = [[
  Module::@A object = [[ 
    Real value = 1
  ]]
]];
}}}
Devuelve:
{{{

ERROR: [1] Conflicto de herencia: No se puede reemplazar la declaración de miembro 
@A Module::@C::object
 por la declaración incompatible 
Module::@A test::object=SetOfAnything[[Real value=1]]


ERROR: [2] Sintaxis errónea en el área de de miembros de declaración de [[
  
]]

Warning: [1] NameBlock test se ha construido con 2 errores.

ERROR: [3] test no se pudo crear.
}}}
"	Pedro Gea
1559	Clases en módulos: Clases derivadas	Kernel	3.1	Mantainance	defect	Víctor de Buen Remiro	closed	2012-06-12T14:08:36Z	2012-07-03T21:43:39Z	"El siguiente código
{{{
#!java
Class @A {
  Real a 
};
Class @A2 : @A {
  Text n
};

@A ej1 = [[
  Real a = 1
]];

@A2 ej2 = [[
  Real a = 2;
  Text n = ""E""
]];

@A ej2 := ej1;
}}}
compila correctamente.

Sin embargo este otro no:
{{{
#!java

NameBlock Module = [[
  Class @A {
    Real a 
  };
  Class @A2 : @A {
    Text n
  }
]];

Module::@A ej1 = [[
  Real a = 1
]];

Module::@A2 ej2 = [[
  Real a = 2;
  Text n = ""E""
]];

Module::@A ej2 := ej1;
}}}
Devuelve:
{{{
ERROR: [1] Evaluando la expresión 'Module::@A ej2'
Se esperaba una instancia de Class @A

Warning: [1] La función :: ha fallado en : 
Module::@A ej2

Warning: [2] La función PutValue ha fallado en : 
Module::@A ej2:=ej1
}}}
"	Pedro Gea
1560	Clases en módulos: Clases homónimas	Kernel	3.1	Mantainance	defect	Víctor de Buen Remiro	closed	2012-06-12T14:13:15Z	2012-07-03T21:43:39Z	"Si compilamos este código:
{{{
#!java
Class @A {
  Real value
};

NameBlock Module = [[
  Class @A {
    Real value
  }
]];

Module::@A object = [[ 
  Real value = 1
]];
}}}

obtenemos el siguiente error:

{{{
<E>
ERROR: [1] Class '@A' ya fue definida como ""
/* API for Class @A */
Class @A {
/////////////
//Members: //
/////////////
//Non static member defined at @A
Real value
};
""
</E>
<E>
ERROR: [2] No se pudo crear [[Class @A {Real value}]]</E>
<W>
Warning: [1] NameBlock Module se ha construido con 2 errores.</W>
}}}
más un ciclo infinito de errores del tipo:
{{{
<E>
ERROR: [3] Se esperaba identificador de tipo de datos en lugar de
  Module::@A object</E>
}}}"	Pedro Gea
1561	GetAbsolutePath	Kernel	3.1	Mantainance	doubt	Víctor de Buen Remiro	closed	2012-06-12T16:05:07Z	2012-06-27T08:41:12Z	"Hola, una pregunta: ¿para qué sirve la función GetAbsolutePath?

La descripción parece estar mal, ya que es la de otra función llamada '''GetFileName''':

{{{
Devuelve el camino absoluto del directorio en el que se encuentra un fichero.
Ejemplo: 
GetFileName(""c:/windows/notepad.exe"") 
devuelve 
c:/windows
GetFileName(""../../notepad.exe"") 
devuelve 
c:/windows
}}}

La he ejecutado desde la ventana Eval con el argumento vacío (""""), y me devuelve la ruta del último archivo que he compilado:

{{{
Text Ruta = GetAbsolutePath("""");
}}}

Un saludo.
"	imendez
1562	BSR: Uso de la matriz COV	Kernel	3.1	Mantainance	defect	Víctor de Buen Remiro	closed	2012-06-13T10:05:33Z	2012-06-13T10:37:48Z	"Al hacer algunas pruebas de uso de la matriz de covarianzas con BSR (véanse #757 y #1231) se aprecia un comportamiento inesperado en la interpretación de esa matriz.

Revisando el código de BSR se observa que la matriz {{{L}}} obtenida en: [source:tolp/trunk/tol/btol/vmatrix_type/tol_bvmat_bsr_impl.h tol_bvmat_bsr_impl.h] (línea 930) no cumple la condición {{{COV = L'·L}}} esperada."	Pedro Gea
1564	UpdateAll no actualiza bien	TolPackage	3.1	Mantainance	defect	Pedro Gea	closed	2012-06-16T18:05:07Z	2012-06-28T17:49:44Z	"En un servidor Linux nos encontramos con una situación en la cual {{{UpdateAll}}} reconoce siempre a un conjunto de paquetes como desactualizados. 

Esta es la lista de paquetes en cuestión:

{{{
20:01:06 TOL> Real TolPackage::UpdateAll(?)
[UpdateAll] Se actualiza BabelTool.1.4
[UpdateAll] Se actualiza BysMcmc.6.7
[UpdateAll] Se actualiza BysPrior.3.1
[UpdateAll] Se actualiza ExtLib.1.9
[UpdateAll] Se actualiza GrzLinModel.4.2
[UpdateAll] Se actualiza GuiTools.3.4
[UpdateAll] Se actualiza IpoptCore.3.9
[UpdateAll] Se actualiza MMS.1.2
[UpdateAll] Se actualiza MMS.1.1
[UpdateAll] Se actualiza MmsInBws.1.920
[UpdateAll] Se actualiza StdLib.0.1
[UpdateAll] Se actualiza TolIpopt.3.1
12
}}}

Se adjunta también un oza con la lista de paquetes compatibles obtenidos según el siguiente código:

{{{
#!java
Set compatibleRecords = { [[
  Set clientRecords = TolPackage::Client::GetCatalog(?)::GetCompatibleRecords(Version, UnknownDate);
  Set serverRecords = TolPackage::Server::GetCatalog(?)::GetCompatibleRecords(Version, UnknownDate)
]] };
}}}"	Jorge
1566	Función MatPol tira el TOL	Kernel	3.1	Mantainance	defect	Víctor de Buen Remiro	closed	2012-06-21T10:44:07Z	2012-06-21T10:59:44Z	"Cuando utilizamos la función MatPol introduciendo una matriz con número de filas igual a 0, TOL se queda tirado.
Serie estupendo que diera un error, o un aviso, pero que no tirara el TOL.
Ejemplo:

{{{
Polyn MatPol(Rand(0,1,0,0));
}}}"	cescalonilla
1567	TolPackage intenta usar la conexión ignorando la setting LocalOnly	TolPackage	3.1	Mantainance	defect	Pedro Gea	closed	2012-06-21T12:55:00Z	2012-06-21T14:14:30Z	TolPackage intenta usar la conexión ignorando el valor de la ''setting'' {{{TolConfigManager::Config::Upgrading::TolPackage::LocalOnly}}}.	Pedro Gea
1568	Facilitar el chequeo de versiones de paquetes	TolPackage	3.1	TOL Packages	enhancement	Pedro Gea	closed	2012-06-21T13:00:20Z	2012-06-21T14:19:22Z	"Sería muy conveniente disponer de funciones que faciliten el chequeo de versiones de paquetes.

Estas funciones que servirían para exigir una versión mínima o máxima de un paquete podrían incorporarse en el StartActions de los paquetes que quisieran incorporar estos chequeos. "	Pedro Gea
1569	Uso de Group y BinGroup	Kernel	3.1	Mantainance	trick	Víctor de Buen Remiro	closed	2012-06-22T19:20:49Z	2012-06-27T08:29:16Z	"El tique se abre con una intención más informativa que otra cosa.

Se constata que el uso de {{{BinGroup}}} y un determinado operador en el cuerpo de algunas funciones las hace mucho más ineficientes que si se usáramos la variante {{{Group}}} con la función correspondiente.

Por ejemplo, dado un conjunto grande de matrices:
{{{
#!java
Set matrices = For(1, 1000, Matrix (Real i) {
  Rand(200, 1, 0, 1)
});
}}}

Si deseamos concatenarlas por columnas, podemos hacer:
{{{
#!java
Real t1 = Copy(Time);
Matrix BinGroup(""|"", matrices);
Real t2 = Copy(Time);
Real t21 = t2 - t1; // ~ 2.8 s
}}}
que invierte unos segundos, o esta otra variante:
{{{
#!java
Real t3 = Copy(Time);
Matrix Group(""ConcatColumns"", matrices);
Real t4 = Copy(Time);
Real t43 = t4 - t3; // ~ 0 s
}}}
que invierte un tiempo despreciable.

Entiendo que la ""ineficiencia"" de {{{BinGroup}}} es debido a llamadas de dos en dos:
{{{
#!java
Matrix (...((m1 | m2) | m3) | m4) | ... | mN)
}}}
en lugar de una única llamada conjunta:
{{{
#!java
Matrix ConcatColumns(m1, m2, m3, m4, ..., mN);
}}}"	Pedro Gea
1570	TolConfigManager y nuevas instalaciones	Kernel	3.1	Mantainance	defect	Víctor de Buen Remiro	closed	2012-06-25T16:00:07Z	2012-08-06T10:03:05Z	"Se encuentran errores al utilizar TOL v3.1 por primera vez relacionados con la gestión de TolConfigManager.

Según parece el mecanismo: {{{TolConfigManager::LoadConfig}}} intenta utilizar un archivo {{{.tolConfig.vXXX.tol}}} previo ubicado en {{{TolAppDataPath}}}, y si no existe da errores del tipo:
{{{

ERROR: [1] Intento de acceso al elemento 1-esimo de un conjunto de 0 elementos

[Call stack]
  [1] Real TolConfigManager::LoadConfig (Real void)

ERROR: [2] Argumentos erróneos para Text + txt1 + txt2  {Text txt1, Text x2}

[Call stack]
  [1] Real TolConfigManager::LoadConfig (Real void)

ERROR: [3] Argumentos erróneos para Text + txt1 + txt2  {Text txt1, Text x2}

[Call stack]
  [1] Real TolConfigManager::LoadConfig (Real void)

ERROR: [4] lastPath no se pudo crear.

[Call stack]
  [1] Real TolConfigManager::LoadConfig (Real void)

ERROR: [5] lastPath no es un objeto valido para el tipo Text.

[Call stack]
  [1] Real TolConfigManager::LoadConfig (Real void)

ERROR: [6] Argumentos erróneos para Real FileExist (Text camino)

[Call stack]
  [1] Real TolConfigManager::LoadConfig (Real void)

ERROR: [7] Argumentos erróneos para Real Not (Real x)

[Call stack]
  [1] Real TolConfigManager::LoadConfig (Real void)

ERROR: [8] lastPath no es un objeto valido para el tipo Text.
...
}}}
"	Pedro Gea
1571	Ineficiencia vinculada a la gramática de salida de una función	Kernel	3.1	Mantainance	doubt	Víctor de Buen Remiro	closed	2012-06-25T19:06:30Z	2012-06-27T08:53:09Z	"En el tique #1426 ya se empezaron a tratar los problemas de eficiencia que se derivaban de la naturaleza de las gramáticas de datos (Serie o Matrix) cuando los objetos asociados eran de grandes dimensiones.

El problema de que estos objetos se traten como objetos elementales y se asignen ""por copia"" (en lugar de ""por referencia"") es una fuente de ineficiencia en la creación de variables auxiliares.

Esta cuestión podía salvarse evitando la creación de más objetos mediante el uso de conjuntos (Set) para imitar la asignación por referencia. (Véase #1431)

A continuación se plantea una situación más dificil de salvar manteniendo la interfaz de la función, ya que el problema parece residir en una copia vinculada a la devolución de la salida.

Véase el siguiente ejemplo, en el que se aprecia que el uso 
de la función {{{get.m}}} está vinculado a un aumento en el tiempo de la llamada, por la construcción de una nueva matriz-copia para la salida.
{{{
#!java

Matrix m = Rand(10000, 1000, 0, 1);
@Matrix n = [[m]];

Matrix get.m(Real void) { m };
@Matrix get.n(Real void) { n };

Real times = 20;

Real t1 = Copy(Time);
Set For(1, times, Real (Real i) {
  MatDat(get.m(?), 1, 1)
});
Real t2 = Copy(Time);
Real t21 = (t2-t1)*1000/times; // 100 ms

Real times := 10000;

Real t3 = Copy(Time);
Set For(1, times, Real (Real i) {
  MatDat(get.n(?)[1], 1, 1)
});
Real t4 = Copy(Time);
Real t43 = (t4-t3)*1000/times; // 0.01 ms


Real t5 = Copy(Time);
Set For(1, times, Real (Real i) {
  MatDat(m, 1, 1)
});
Real t6 = Copy(Time);
Real t65 = (t6-t5)*1000/times; // 0.005 ms
}}}"	Pedro Gea
1572	No funciona correctamente la fijación de los parámetros ARMA	Math	3.1	BSR reestimation	defect	Víctor de Buen Remiro	closed	2012-06-26T17:28:57Z	2012-06-26T17:35:36Z	Cuando se dejan fijos todos los parámetros ARMA baja el tiempo de ejecución porque no se simula pero no tanto como se espera porque se sigue construyendo la descomposición de Cholesky de la matriz de covarianzas en cada iteración, cuando en este caso sólo haría falta hacerlo una vez al principio.	Víctor de Buen Remiro
1573	Errores tras los últimos cambios en BysMcmc	Kernel	3.1	Mantainance	defect	Pedro Gea	closed	2012-06-27T17:06:41Z	2012-06-28T10:41:50Z	"La última versión de BysMcmc (BysMcmc.6.8) produce errores al final de la estimación, donde antes no los había.

No sé si simplemente con las siguientes trazas (y saber que se debe a un cambio reciente) es suficiente para localizar el bug:

{{{
Warning: [4] <W>Imposible restar dos matrices de dimensiones (1,12) y (12,1).</W>


[Call stack]
  [8] Real cycler::cycler::cycler::cycler::sampler::master::_.arm.blk::blk::useStore (Matrix values)
  [7] Real cycler::cycler::cycler::cycler::sampler::master::_.arm.blk::blk::setStore (Matrix values)
  [6] Real cycler::cycler::cycler::cycler::sampler::master::setStore.blocks (Matrix values_)
  [5] Real cycler::cycler::cycler::cycler::sampler::master::setStore (Matrix values)
  [4] Set cycler::cycler::cycler::cycler::sampler::master::eval (Matrix values)
  [3] Real results::estim::Run (Real void)
  [2] Real estBSR::estimation::strategy::strategyBSR::Execute (Real void)
  [1] Real estBSR::estimation::estimation::estimation::Execute (Real void)

Warning: [5] [Case] la función de condición no puede devolver valores desconocidos.

[Call stack]
  [8] Real cycler::cycler::cycler::cycler::sampler::master::_.arm.blk::blk::useStore (Matrix values)
  [7] Real cycler::cycler::cycler::cycler::sampler::master::_.arm.blk::blk::setStore (Matrix values)
  [6] Real cycler::cycler::cycler::cycler::sampler::master::setStore.blocks (Matrix values_)
  [5] Real cycler::cycler::cycler::cycler::sampler::master::setStore (Matrix values)
  [4] Set cycler::cycler::cycler::cycler::sampler::master::eval (Matrix values)
  [3] Real results::estim::Run (Real void)
  [2] Real estBSR::estimation::strategy::strategyBSR::Execute (Real void)
  [1] Real estBSR::estimation::estimation::estimation::Execute (Real void)

Warning: [6] <W>Imposible restar dos matrices de dimensiones (1,12) y (12,1).</W>


[Call stack]
  [9] Real cycler::cycler::cycler::cycler::sampler::master::_.arm.blk::blk::useStore (Matrix values)
  [8] Real cycler::cycler::cycler::cycler::sampler::master::_.arm.blk::blk::setStore (Matrix values)
  [7] Real cycler::cycler::cycler::cycler::sampler::master::setStore.blocks (Matrix values_)
  [6] Real cycler::cycler::cycler::cycler::sampler::master::setStore (Matrix values)
  [5] Set cycler::cycler::cycler::cycler::sampler::master::_eval (Matrix values, Real useTimeInfo, Real justWithTimeInfo)
  [4] Set cycler::cycler::cycler::cycler::sampler::master::eval (Matrix values)
  [3] Real results::estim::Run (Real void)
  [2] Real estBSR::estimation::strategy::strategyBSR::Execute (Real void)
  [1] Real estBSR::estimation::estimation::estimation::Execute (Real void)

Warning: [7] [Case] la función de condición no puede devolver valores desconocidos.

[Call stack]
  [9] Real cycler::cycler::cycler::cycler::sampler::master::_.arm.blk::blk::useStore (Matrix values)
  [8] Real cycler::cycler::cycler::cycler::sampler::master::_.arm.blk::blk::setStore (Matrix values)
  [7] Real cycler::cycler::cycler::cycler::sampler::master::setStore.blocks (Matrix values_)
  [6] Real cycler::cycler::cycler::cycler::sampler::master::setStore (Matrix values)
  [5] Set cycler::cycler::cycler::cycler::sampler::master::_eval (Matrix values, Real useTimeInfo, Real justWithTimeInfo)
  [4] Set cycler::cycler::cycler::cycler::sampler::master::eval (Matrix values)
  [3] Real results::estim::Run (Real void)
  [2] Real estBSR::estimation::strategy::strategyBSR::Execute (Real void)
  [1] Real estBSR::estimation::estimation::estimation::Execute (Real void)
}}}"	Pedro Gea
1574	Languages in TOL	Interface	3.1	Mantainance	defect	Jorge	closed	2012-06-27T17:28:47Z	2016-04-08T10:48:06Z	"En el tique #1203 ya se comentó el problema que hay cuando las dos variables de configuración de idioma de TOL no coinciden, a saber:
{{{
#!java
Text Language;
Text TolConfigManager::Config::Various::Language;
}}}

Según se comentó en #1203 el problema ya se solucionó, sin embargo:
ni el mecanismo de actualización de TolConfigManager:
{{{
Text TolConfigManager::Config::Various::Language := ""CASTELLANO""|""ENGLISH"";
Real TolConfigManager::Save(?)
}}}
modifica la variable global.

Ni la edición de la variable global vía el menú __H__erramientas/__O__pciones (pestaña Otros) altera el valor de TolConfigManager.
"	Pedro Gea
1575	#Require sin conexióna internet	TolPackage	3.1	Mantainance	defect	Pedro Gea	closed	2012-06-28T14:42:26Z	2012-06-28T18:52:13Z	"Al actualizar a la versión 3.1 p012 el paquete MMS no se carga correctamente. Hemos instalado el TolpackageUpdater.1.4 pero tampoco lo resuelve.

Antes de instalar TolPackageUpdate dio esto:

{{{
11:15:20 TOL> #Require MMS
[TolPackage::Client] Se intentará descargar el paquete 'MMS.1.3'.
FAIL
<W>
Warning: [1] [GetUrlContents.tcl.curl] error: Couldn't resolve host 'packages.tol-project.org'
</W>
<E>
ERROR: [1] El repositorio 'http://packages.tol-project.org/OfficialTolArchiveNetwork/repository.php' no está respondiendo adecuadamente.
</E>
[Call stack]
[6] Anything StdLib::Error (Text message)
[5] Set TolCore::TolPackage::@Catalog::BuildRecords_Remote (Set repositories)
[4] NameBlock TolCore::TolPackage::@Catalog::Remote (Set repositories)
[3] Real TolCore::TolPackage::Server::Initialize (Real void)
[2] Real TolCore::TolPackage::InstallLastCompatible (Text pattern)
[1] Real TolCore::TolPackage::Client::RemoteInstall (Text repository, Text package, Real showError)
FAIL
<W>
Warning: [2] [GetUrlContents.tcl.curl] error: Couldn't resolve host 'packages.localbayes.es'
</W>
<E>
ERROR: [2] El repositorio 'http://packages.localbayes.es/BayesPrivateTolPackages/repository.php' no está respondiendo adecuadamente.
</E>
[Call stack]
[6] Anything StdLib::Error (Text message)
[5] Set TolCore::TolPackage::@Catalog::BuildRecords_Remote (Set repositories)
[4] NameBlock TolCore::TolPackage::@Catalog::Remote (Set repositories)
[3] Real TolCore::TolPackage::Server::Initialize (Real void)
[2] Real TolCore::TolPackage::InstallLastCompatible (Text pattern)
[1] Real TolCore::TolPackage::Client::RemoteInstall (Text repository, Text package, Real showError)
<W>
Warning: [3] NameBlock catalog se ha construido con 2 errores.</W>
[TolPackage::Server] Catalog 0.03 s.
[TolPackage::@Catalog Remote] No se encuentra el paquete 'MMS'.
<E>
ERROR: [3] El paquete desconocido MMS debe ser instalado manualmente.</E>
No ha sido cargado el paquete MMS.1.3
Lea información acerca de los paquetes TOL en https://www.tol-project.org/wiki/TolPackageRulesAndComments
}}}

después de instalarlo, esto:

{{{
11:45:54 TOL> #Require MMS
[TolPackage::Client] Se intentará descargar el paquete 'MMS.1.3'.
[TolPackage::Server] Catalog 0 s.
[TolPackage::@Catalog Remote] No se encuentra el paquete 'MMS'.
<E>
ERROR: [1] El paquete desconocido MMS debe ser instalado manualmente.</E>
No ha sido cargado el paquete MMS.1.3
Lea información acerca de los paquetes TOL en https://www.tol-project.org/wiki/TolPackageRulesAndComments
}}}

pasa con otros paquetes también ...
"	Jorge
1576	< no funciona con algunas constantes de fecha	Kernel	3.1	Mantainance	defect	Víctor de Buen Remiro	closed	2012-06-28T16:01:49Z	2013-05-10T15:08:42Z	"En Linux tenemos un error rarísimo, el operador < no funciona con algunas constantes de fecha, por ejemplo

17:43:43 TOL> Date d1 = y2011m06d09h16i29s00.000
y2011m06d09h16i29s00.000
17:58:31 TOL> Date d2 = y2011m06d09h16i29s00.000
y2011m06d09h16i29s00.000
17:58:37 TOL> Real (Date d1 < d2)
1

En windows esto no sucede."	Jorge
1577	TOL borra paquetes si encuentra errores	Kernel	3.1	Mantainance	defect	Pedro Gea	closed	2012-06-28T18:57:33Z	2012-07-03T13:25:21Z	"Si en la carga de un paquete aparecen errores (en ocasiones producidos indirectamente por otros errores anteriores) el paquete se considera corrupto y se elimina del repositorio.

Sería conveniente que esta decisión se suavizara, se indicara pero se dejara en manos del usuario, para que éste lo haga si lo considera oportuno.

Al borrar el oza del paquete, el paquete se queda ""medio instalado"", creyendo TolPackage que está correctamente instalado aunque esté inservible."	Pedro Gea
1580	Error usando el tercer argumento de Group	Kernel	3.1	Mantainance	defect	Víctor de Buen Remiro	closed	2012-07-02T15:19:42Z	2012-07-03T21:43:39Z	"La función {{{Group}}} admite un tercer argumento, para actuar en el caso de que la lista (segundo argumento) esté vacía.

Por ejemplo:
{{{
#!java
Real Group(""Sum"", [[1, 2, 3]]);
}}}
suma los tres números.

Para el caso de que el conjunto que llega sea vacío, se esperaría que funcionara:
{{{
#!java
Real Group(""Sum"", Empty, 0);
}}}
sin embargo esto da el siguiente error:
{{{
ERROR: [1] 0 no es un objeto valido para el tipo Set.

ERROR: [2] 0 no es un objeto de tipo Set

Warning: [1] La función Group ha fallado en : 
Group(""Sum"", Empty, 0)
}}}

y si probamos a devolver un conjunto como parecen indicar los errores anteriores:
{{{
Real Group(""Sum"", Empty, [[ 0 ]]);
}}}
TOL da un fallo grave y cae."	Pedro Gea
1581	Crear e instalar un paquete en local	TolPackage	3.1	Mantainance	doubt	Pedro Gea	closed	2012-07-02T16:05:10Z	2012-07-02T17:07:03Z	¿Cómo crear un paquete e instalarlo en local?	Jorge
1582	Dos funciones con el mismo nombre y distintos argumentos.	Various	2.0.1	Mantainance	defect	Víctor de Buen Remiro	closed	2012-07-03T09:14:44Z	2012-07-09T06:51:29Z	"{{{
#!java
Text RutaComun = TextTrimRight(
  Text ""Esto sería una ruta a un archivo"", 
  Set [[ "" "", ""\\"", ""/"" ]] );
}}}

Hola, buenas.

De acuerdo a la ayuda de Tol, existen dos funciones de nombre TextTrimRight con distintos argumentos. Me vendría bien utilizar (no es que sea tampoco crítico) la que tiene dos argumentos según la ayuda

Si se ejecuta en tol la cadena superior tenemos un error de sintaxis y dice que tiene demasiados argumentos. Es decir, o realmente no existe la función aunque aparezca en la ayuda o el parser no es capaz de llegar a la segunda función.

Entiendo que un parser es demasiado delicado para estar tocándolo por un problema en particular. No obstante, ¿se puede hacer algo al respecto o existe algo que se pueda hacer para poder acceder a la función que me interesa?

Gracias

Un saludo"	jmarinero
1583	Problemas en la frontera de la solución máximo-probable de GrzLinModel::@WgtReg	Math	3.1	Mantainance	enhancement	Víctor de Buen Remiro	closed	2012-07-06T16:49:26Z	2012-07-09T06:50:06Z	"De forma análoga a lo que sucedía en BSR en el ticket #1342, puede ocurrir que la solución óptima del problema no lineal de la estimación inicial máximo-probable esté justo en la frontera lo cual impide realizar simulaciones MCMC posteriormente.
"	Víctor de Buen Remiro
1584	Teclado del portatil no funciona	Kernel	3.1	Mantainance	defect	Víctor de Buen Remiro	closed	2012-07-10T08:05:21Z	2012-08-09T15:57:43Z	"Buenos días.

El teclado de mi ordenador Dell no funciona correctamente, parece que las teclas Alt y Ctrl se quedan pulsadas. El modelo del ordenador es LATITUDE e4310. El Service Tag de mi equipo es B6CSSM1

Un saludo,
Bruno
"	Bruno García
1586	Coeficiente de asimetría erróneo	Kernel	3.1	Mantainance	defect	Pedro Gea	closed	2012-07-11T10:47:05Z	2012-07-11T14:41:53Z	"El coeficiente de asimetría (skewness) se calcula erróneamente.

El coeficiente se define como el tercer momento centrado estandarizado:
{{{
skew = E[((x-mu)/sigma)^3] = E[(x-mu)^3] / E[(x-mu)^2]^(3/2)
}}}

El problema parece estar en un cociente entero en el código (3/2=1).
Véase por ejemplo:
{{{
Set s = [[2,3,5,9]];
Real SetAsymmetry(s); // > 1.76
Real SetCenterMoment(s, 3)/(SetCenterMoment(s, 2)^1.5);  // > 0.657
Real SetCenterMoment(s, 3)/(SetCenterMoment(s, 2)^1);  // > 1.76
}}}"	Pedro Gea
1587	Estadísticos básicos en TOL	Kernel	3.1	Mantainance	defect	Víctor de Buen Remiro	closed	2012-07-11T14:06:47Z	2013-03-27T11:16:22Z	"Revisando las funciones de TOL para obtener estadísticos básicos de un conjunto de datos, una serie temporal o una matriz encuentro que no existen los mismos para todas las gramáticas.

Por ejemplo, existe {{{VMatMoment}}}, {{{SetMoment}}} y {{{MomentS}}} pero no {{{MatMoment}}}.

O por ejemplo el coeficiente de asimetría para series se llama {{{AsimetryS}}} en lugar de {{{AsymmetryS}}} por coherencia con el inglés y el resto de funciones: {{{MatAsymmetry}}}, etc. Véase #1179.

Adjunto un archivo XLS con un repaso de los estadísticos básicos implementados en TOL, en el que se pueden ver los que faltan por implementar y algunas cuestiones sintácticas.

También se propone que el otro comportamiento de CountS (véase #993) podría implementarse en una función SizeS (y análogas) de modo que haya una coherencia entre {{{SumS/SizeS}}} y {{{AvrS}}}."	Pedro Gea
1588	El coeficiente de curtosis sobre v-matrices es erróneo	Kernel	3.1	Mantainance	defect	Pedro Gea	closed	2012-07-11T14:37:50Z	2012-07-11T14:41:11Z	El coeficiente de curtosis sobre v-matrices ({{{VMatKurtosis}}}) es erróneo, devuelve el coeficiente de asimetría.	Pedro Gea
1589	Variables Globales - Perdida de referencia al renombrar una serie	Kernel	3.1	Mantainance	defect	Víctor de Buen Remiro	closed	2012-07-18T15:55:23Z	2013-03-26T11:01:47Z	"En el ejemplo de la serie que carga tol DomingosDelMes (esta en la gramatica Serie), compilando la variable con un cambio de nombre en un entorno local;

////////////////////////////////////////////////////////////

Real {
Serie PutName(""DomingosDelMes2"", DomingosDelMes);
1};

////////////////////////////////////////////////////////////

Se pierde la referencia de las series (dejan de existir), tanto con el nombre original, como con el nuevo."	Manuel Locubiche Malaxechevarria
1590	Generic Counting Distribution	Math	3.1	Numerical methods	defect	Víctor de Buen Remiro	closed	2012-07-24T09:21:51Z	2013-03-26T10:58:15Z	"Existe una distribución de probabilidad discreta escalar que generaliza las distribuciones de conteo más habituales y que, al igual que la normal en el caso continuo, sólo depende de la media [[LatexEquation(a)]] de la varianza [[LatexEquation( v>0 )]]. En el caso de conteo la media debe ser también positiva como es obvio. 

Según sea el tamaño relativo entre la media y la varianza tendremos una distribución de conteo u otra:

 * si [[LatexEquation(a>v)]] entonces es una Binomial [[BR]][[LatexEquation(GC\left(a,v\right)=B\left(N,p\right))]] 
 * si [[LatexEquation(a=v)]] será una Poisson [[BR]][[LatexEquation(GC\left(a,v\right)=P\left(a\right))]] 
 * si [[LatexEquation( a<v)]] dará una Binomial Negativa [[BR]][[LatexEquation(GC\left(a,v\right)=NB\left(N,p\right))]] 

donde el tamaño poblacional es [[BR]]
  [[LatexEquation( N=\frac{a^{2}}{\left|a-v\right|} )]]

y el parámetro de proporción es [[BR]]
  [[LatexEquation( p=1-\min\left\{ \frac{N}{v},\frac{v}{N}\right\} )]]

Se puede ver fácilmente que la Binomial y la Binomial Negativa son extensibles de forma continua sobre el parámetro entero poblacional, y que la Poisson es efectivamente el límite continuo de la Binomial y de la Binomial Negativa cuando la media tiende a la varianza. 

Esta distribución tiende a la normal cuando crece la media y cuando [[LatexEquation(p)]] se acerca a [[LatexEquation(0)]] ó a [[LatexEquation(1)]] 

También es posible extender esta distribución al caso multivariante mediante cópulas basadas en la distribución multinormal que dan buenos resultados incluso con medias muy bajas.

Para más detalles consultar el artículo [[http://arxiv.org/pdf/1103.4866v1.pdf A Generic Multivariate Distribution for Counting Data]]"	Víctor de Buen Remiro
1591	Fecha final por defecto (DefLast)	Kernel	3.1	Mantainance	doubt	Víctor de Buen Remiro	closed	2012-07-31T16:45:48Z	2012-07-31T18:05:16Z	"Hola, acabo de descargar la versión de TOL ''v3.1 p013 2012-07-04 09:27:59 i686-win'' y la fecha final por defecto (DefLast) toma el valor y2009m12d31.

Al ser anterior a la fecha actual (Today) me ha generado un problema. Posiblemente ese problema se podría haber evitado/previsto (de hecho ya lo he solucionado), pero ¿no sería aconsejable que esa fecha, por defecto, sea superior a la actual?

Un saludo.
"	imendez
1594	Tol no es capaz de aplicar un método a un nameblock cuando es devuelto por una función	OOP	3.1	Mantainance	defect	Víctor de Buen Remiro	closed	2012-08-15T13:03:48Z	2013-03-26T10:51:42Z	"DevuelveNameBlockMasReciente es una función que recibe como argumento un conjunto de objetos forecast y que devuelve un NameBlock forecast de acuerdo a un criterio (que sea el más reciente)

Si ejecuto 


{{{
DevuelveNameBlockMasReciente(Set ModCliNuA   )
}}}


me devuelve un NameBlock sin problema alguno cuya ruta, por cierto, es:


{{{
MMS::Container::GetForecast(1)
}}}


Si yo ahora ejecuto:


{{{
MMS::Container::GetForecast(1)::GetModel.Forecast(?)
}}}


no hay ningún problema. Obtengo el nameblock deseado sin problema alguno.

Pero si ejecuto:


{{{
DevuelveNameBlockMasReciente(Set ModCliNuA)::GetModel.Forecast(?)
}}}


lo que obtengo es un warning:


{{{
Warning: [2] La función :: ha fallado en : 
DevuelveNameBlockMasReciente(Set ModCliNuA)::GetModel.Forecast(?)
}}}


He probado con varias combinaciones de paréntesis rodeando el nameblock devuelto por la función a la que quiero aplicar el ::getmodel, pero no hay forma.

{{{
(DevuelveNameBlockMasReciente(Set ModCliNuA))::GetModel.Forecast(?)
}}}

produce exactamente el mismo resultado.

He probado con:

{{{
(  [[DevuelveNameBlockMasReciente(Set ModCliNuA)]])[1]::GetModel.Forecast(?)
}}}


Obteniendo el error:


{{{
ERROR: [10] Element (ó [ ] ):Indice de conjunto inválido, debe ser Real o Text
}}}


Y si rodeo con paréntesis la expresión anterior:


{{{
(( [[DevuelveNameBlockMasReciente(Set ModCliNuA)]])[1])::GetModel.Forecast(?)
}}}


obtengo el warning


{{{
Warning: [15] La función :: ha fallado en : 
((SetOfAnything[[DevuelveNameBlockMasReciente(Set ModCliNuA)]])[[1])::GetModel.Forecast(?)
}}}


Curiosamente, si accedo directamente el elemento 1 del conjunto ModCliNuA en vez de utilizar la función DevuelveNameBlockMasReciente sí funciona:


{{{
(ModCliNuA[1])::GetModel.Forecast(?)
}}}


y produce el resultado deseado.

El problema es que en mi caso no siempre quiero acceder al elemento número 1 del conjunto. La forma que tengo de decidir el elemento al que quiero acceder es la función DevuelveNameBlockMasReciente.

Tampoco puedo utilizar


{{{
MMS::Container::GetForecast(1)::GetModel.Forecast(?)
}}}


porque igual que no funciona el ::GetModel tampoco funciona el ::GetRoute y no puedo obtener su ruta

Por si fuera útil, el código de esta función es el siguiente. Lo que hace es ordenar en orden alfabético inverso por el nombre de los nameblocks en el conjunto que se le pasa y devolver el primero de la lista:


{{{
NameBlock DevuelveNameBlockMasReciente(Set setNameBlocks)
  {
    //Ordeno el conjunto por orden alfabético inverso
    Set ord = Sort(Set setNameBlocks, Real(NameBlock k1_, NameBlock k2_)
      {
        Text k1 = Name(NameBlock k1_);
        Text k2 = Name(NameBlock k2_);
        Real 0 + 1 * (Text k1 < Text k2) - 1 * (Text k2 < Text k1)
      });
    //Me quedo con el primero elemento, que (a no se que cambien la nomenclatura 
    //en los nombres de los objetos) será el objeto forecast más reciente
    NameBlock ord[1]
  };
}}}


Gracias, un saludo.
"	jmarinero
1595	Error de GuiTools	GuiTools	3.1	Mantainance	defect	Jorge	closed	2012-08-31T11:59:55Z	2012-08-31T13:31:46Z	"Al seleccionar objetos del explorador de variables y funciones del inspector de TOLBASE y pinchar boton derecho del ratón para que se despligue el menu de opciones, en ocasiones (no siempre) me sale el siguiente error

{{{
ERROR: [1] Un conjunto indexado por nombres no puede tener elementos sin un nombre vÃ¡lido ''

[Call stack]
  [3] Set GuiTools::MenuManager::_createTypeAssociation (Text typeName)
  [2] Set GuiTools::MenuManager::_getTypeAssociation (Text typeName)
  [1] Set GuiTools::MenuManager::getTypeOptionsInfo (Text typeName)
}}}"	cescalonilla
1596	StdLib::OSFilCopy	Kernel	3.1	Mantainance	defect	Jorge	closed	2012-09-07T10:16:21Z	2014-09-05T09:24:47Z	"Hola,

La función OSFilCopy de StdLib no funciona en la versión nueva de TOL (v3.1 p013) mientras que en las versiones anteriores a la 3.1 (incluida la v2.0.2 b0.04.alpha) funciona correctamente.
Buscando en la ayuda veo que ya no está StdLib sino TolCore. ¿A partir de ahora debemos utilizar TolCore en vez de StdLib? En ese caso, creo que no se debería indicar en la página de descargas que la v3.1 es la v2.0.2 porque al menos se diferencian en este matiz.
¿Por favor, podéis revisarlo por si no estoy en lo cierto?

Gracias."	Mario
1598	Errores en Diagnostics en la función Estimate	Various	3.1	Mantainance	defect	Víctor de Buen Remiro	closed	2012-09-17T08:58:07Z	2012-09-19T09:18:08Z	"Hola TOL,
al llamar a la función Estimate obtengo unos errores en el bloque de Diagnostics:


{{{
Diagnostics
ERROR: [18] Error en el nombre del 1-ésimo elemento de Set DiagnosticsBounds que debería ser 'ResAcfFstReg' en lugar de 'FstRegAutCorBounds'.

ERROR: [19] Error en el nombre del 2-ésimo elemento de Set DiagnosticsBounds que debería ser 'ResAcfFstSea' en lugar de 'FstSeaAutCorBounds'.

ERROR: [20] Error en el nombre del 3-ésimo elemento de Set DiagnosticsBounds que debería ser 'ResAcfSndReg' en lugar de 'SndRegAutCorBounds'.

ERROR: [21] Error en el nombre del 4-ésimo elemento de Set DiagnosticsBounds que debería ser 'ResAcfSndSea' en lugar de 'SndSeaAutCorBounds'.

ERROR: [22] Error en el nombre del 5-ésimo elemento de Set DiagnosticsBounds que debería ser 'ResAcfBoxPieMReg' en lugar de 'RegBoxPierceLjungBounds'.

ERROR: [23] Error en el nombre del 6-ésimo elemento de Set DiagnosticsBounds que debería ser 'ResAcfBoxPieMSea' en lugar de 'SeaBoxPierceLjungBounds'.

ERROR: [24] Error en el nombre del 7-ésimo elemento de Set DiagnosticsBounds que debería ser 'ResNorPearson' en lugar de 'FisherBounds'.

ERROR: [25] Error en el nombre del 8-ésimo elemento de Set DiagnosticsBounds que debería ser 'ParamSignif' en lugar de 'MinSignificationBounds'.

ERROR: [26] Error en el nombre del 9-ésimo elemento de Set DiagnosticsBounds que debería ser 'ParamCorrel' en lugar de 'MaxCorrelationBounds'.

ERROR: [27] Error en el nombre del 10-ésimo elemento de Set DiagnosticsBounds que debería ser 'ParamMulticolin' en lugar de 'MixedSignCorrBounds'.

ERROR: [28] Error en el nombre del 11-ésimo elemento de Set DiagnosticsBounds que debería ser 'ParamStationary' en lugar de 'UnitRootsProbBounds'.

}}}

Gracias por adelantado.
"	Alfredo Torre
1600	Duda sobre TheBegin y TheEnd	Kernel	3.1	Mantainance	doubt	Víctor de Buen Remiro	closed	2012-09-20T09:49:45Z	2013-03-26T10:45:44Z	"Hola, si definimos la fecha:

{{{
Date a = y1582m12d31;
}}}

o cualquiera anterior en el tiempo, TOL nos devuelve el valor TheBegin.

La siguiente función trata de devolver, a partir de una serie cuyo fechado es un subconjunto de diario (entendido como lunes-viernes, martes, etc.), la misma serie entre el primer mes en el que la serie tome valor desde el primer día del mes, y el último mes en el que tome valor hasta el último día.

{{{
Serie CompletedMonth(Serie varDia)
//////////////////////////////////////////////////////////////////////////////
{ 
  Date Final = Last(varDia);
  Date FinalAux = Succ(Final, Dating(varDia), 1);
  Date FinalDate = If( Month(Final) == Month(FinalAux),
    Succ(Succ(FinalAux,Mensual,-1),Dating(varDia),-1),
    Final);
  
  Date Initial = First(varDia);
  Date InitialAux = Succ(Initial, Dating(varDia), -1);
  Date InitialDateAux = If(Month(Initial) == Month(InitialAux),
    Succ(Initial,Mensual,1),
    Initial);
  Date InitialDate = If( Belong(InitialDateAux, Dating(varDia)),
    Date InitialDateAux,
    Date Succ(InitialDateAux, Dating(varDia), 1));
  
  Set fechas = [[ InitialDate, FinalDate]];

  Serie dia = If(Card(fechas) > 0, 
    { 
      Date fec1 = fechas[1]; 
      Date fec2 = fechas[2];
      Serie TruncvarDia = SubSer(varDia, fec1, fec2);
      TruncvarDia 
    }, 
    { 
      WriteLn(""El fechado de la serie es incompatible"");
      CalInd(C,Diario)
    })    
};
}}}

Seguro que la función se puede hacer más bonita (y eficiente), pero mi duda es la siguiente: cuando la aplico a la siguiente serie

{{{
Serie sr = SubSer(CalInd(C, Diario), y1583m01d02, y1583m01d02);
Serie srC = CompletedMonth(sr);
}}}

Me devuelve un serie srC cuya fecha final es TheEnd.
Es decir, la línea

{{{
Succ(Succ(FinalAux,Mensual,-1),Dating(varDia),-1)
}}}

donde FinalAux es y1583m01d03, devuelve TheEnd.
Sé que es rebuscado, pero ¿es normal?

Saludos,
Iván


 "	imendez
1604	Error de chequeo de argumentos en ANN.KDTree.KSearch	Kernel	3.1	Mantainance	defect	Víctor de Buen Remiro	closed	2012-10-05T07:21:29Z	2012-10-05T10:20:39Z	"Si en la función {{{ANN.KDTree.KSearch}}} se pasa un {{{k}}} mayor que el número de filas de {{{qpoints}}} la función aborta y nos muestra el mensaje de error

{{{
Argumento k es invalido: debe ser positivo y menor o igual que el número de puntos de referencia.
}}}

Pero es que las filas de qpoints no son los puntos de referencia sino los puntos de los que queremos encontrar sus vecinos en la instancia {{{tol_kdtree* tree}}} que se pasa como referencia numérica en el primer argumento {{{kdtree}}}

"	Víctor de Buen Remiro
1607	La función SetSerDat se bloquea con unos ciertos argumentos en tol 3, en tol 2 funciona	Kernel	3.1	Mantainance	defect	Víctor de Buen Remiro	closed	2012-10-11T17:30:36Z	2013-03-26T10:44:54Z	"Hola, buenas.

Un código que hasta ahora nos funcionaba y tardaba escasos segundos, ahora no funciona. Se queda el tol atascado, haciendo no se sabe qué.

Hemos rastreado el problema hasta la función SetSerDat.

Si se llama a la función SetSerDat con los tres objetos que están en el oza adjunto como argumento, el tol se queda bloqueado. Hemos esperado una media hora a que se desbloquee pero no termine nunca.

Lo que le pasamos como argumento es un total de unos 4000 valores reales (he comprobado que no tiene omitidos ni nada parecido), una fecha de inicio y un fechado (medio horario en este caso, definido como Mi(0) + Mi(30))

Antes era instantáneo y ahora se atasca en dicha función y no puedo seguir rastreando al ser ya parte del código tol.

Recientemente actualicé a Tol 3. He comprobado que en tol 2.0.1 lo ejecuta sin problemas (2.0.1 b8 2011 - 07 - 12, para ser exactos) tardando un par de segundos. Así que el problema está en la nueva versión de tol

Gracias por adelantado, un saludo"	jmarinero
1608	Ejemplo de modelos multiplicativos con efectos aditivos	Kernel	3.1	BSR Documentation	defect	Víctor de Buen Remiro	closed	2012-10-15T09:07:29Z	2012-11-07T18:27:04Z	"Hola,

Queremos documentar la estimación de un efecto aditivo en un modelo multiplicativo. Es un modelo con la transformación Log del output y en el cual tenemos además de los efectos multiplicativos un efecto aditivo en las observaciones originales.  
{{{
Log(y+a*x) =beta*other_X + noise
}}}
Esto puede estimarse como un efecto multiplicativo aproximado 
{{{
Log(y-a*x) = Log(y(1-a*(x/y)))= Log(y)+Log(1-a*(x/y))~Log(y)-a*(x/y)
cuando |x/y| proximo a cero
}}} 
o mediante un bloque no lineal de BSR.

El ejercicio que queremos hacer consiste en simular un modelo controlado que contenga un efecto del tipo anterior y estimar ambas variantes (aproximada y no lineal). Con ello se quiere tratar también las condiciones sobre las cuales la estimación aproximada es válida.
"	cescalonilla
1615	Dudas con polinomios	Kernel	3.1	Mantainance	defect	Víctor de Buen Remiro	closed	2012-11-12T19:38:57Z	2013-03-26T10:44:11Z	"Hola Tol, probando a hacer algunos polinomios he visto las siguientes dudas:
{{{

Set monomes1 = Monomes(Polyn ?); // Devuelve cero monomios, correcto

Set monomes2 = Monomes(Polyn 1); // Devuelve un monomio, correcto

Set monomes3 = Monomes(Polyn 0); // Devuelve cero monomios ¿es esto correcto correcto? ¿no debería devolver un monomio ""0""?
}}}
segunda:
{{{

Polyn p1 = 0+0*B; // devuelve el polinomio 0

Polyn p2 = ?+?*B; // devuelve el polinomio 0, ¿no debería ser el polinomio desconocido?
}}}

Un saludo"	lmperez@…
1621	OIS en Base64	Various	3.1	TOL Packages	task	Jorge	closed	2012-12-20T10:08:01Z	2012-12-20T10:54:10Z	"Se solicita la implementación de:

{{{
Text Ois.ToBase64( Set data );
}}}

para codificar en un texto el contenido de un Set.

{{{
Set Ois.FromBase64( Text base64 );
}}}

para recuperar un Set codificado en un Text."	Jorge
1622	Paquete de combinación de previsiones	Math	3.1	TOL Packages	enhancement	cescalonilla	closed	2012-12-21T11:18:08Z	2014-09-22T10:05:24Z	"Se solicita crear un paquete de combinación de previsiones, recogiendo y revisando las diferentes implementaciones.

El paquete facilitará su uso a través de documentación y ejemplos y  la integración de estos métodos en MMS."	Pedro Gea
1624	"DirExist(""c:"") vale cero"	Kernel	3.1	Mantainance	defect	Víctor de Buen Remiro	closed	2012-12-26T18:01:20Z	2013-03-26T10:40:13Z	"Hola buenas

Si ejecuto:

DirExist(""c:"")

o

DirExist(""c:/"")

me devuelve cero

No sé si ya existirá código tol en producción que necesite cero en estos casos para funcionar correctamente, pero no me resulta natural que devuelva esos valores"	jmarinero
1625	Path de R	R API	3.1	Mantainance	task	Jorge	closed	2012-12-27T15:55:25Z	2012-12-28T14:37:45Z	"Buenos días,

  al instalar TOL con R, el programa R debe de estar incluido en la variable de entorno path para que funcione correctamente.

No puedo modificar esa variable de entorno al no tener permisos de administrador.

¿Existe alguna posibilidad de indicar a TOL donde se encuentra R sin incluirlo en el path?"	Iván Robles
1626	TolPackage::Update	TolPackage	3.1	TOL Packages	defect	Pedro Gea	closed	2012-12-28T14:34:26Z	2013-01-11T12:06:25Z	"Suponiendo que StdLib.0.9 haya sido ""parcheado"", ¿debería la siguiente instrucción descargar la actualización disponible?

{{{
TolPackage::Update( ""StdLib"" );
}}}

En un caso real he tenido que dscargar la actualización invocando 
{{{
TolPackage::UpdateAll(?);
}}}

cuando realmente quería actualizar solo StdLib.
"	Jorge
1629	[BSR] Fallo en el filtrado ARIMA de tipo FastChol y FastCholSea	BSR	3.1	Mantainance	defect	Víctor de Buen Remiro	closed	2013-01-09T15:02:51Z	2013-03-26T09:50:00Z	Al usar BSR con filtrado ARIMA exacto ({{{FastChol}}}) o de aproximación factorial ({{{FastCholSea}}}) se observa un problema de convergencia que desaparece con el filtrado condicional ({{{DifEq}}})	Víctor de Buen Remiro
1630	problema en generar grafico	Interface	3.1	Mantainance	defect	Jorge	closed	2013-01-10T14:44:06Z	2013-01-14T13:19:53Z	"Al utilizar La función Text TclChartMatrix , el grafico que genera no está en escala correcta. lo ideal sería que guardara habiendo ejecutado la opción ""volver a zoom original""(botón de la casita situado en el extremo izquierdo en la barra de opciones del grafico);

se adjunto los codigos utilizados, y la grafica generada.

P.D. No parece ser debido al gcf ya que generando un gcf correcto manualmente y introduciendolo en la función, se sigue generando mal la grafica.

{{{
 Matrix mat1  = Rand(100, 10, -10, 10);
  Set names    = SetOfText(""uno"",""dos"",""tres"",""cuatro"",""cinco"");
  Set pairs    = SetOfSet(
    SetOfReal(1,10),
    SetOfReal(2,9),
    SetOfReal(3,8),
    SetOfReal(4,7),
    SetOfReal(5,6)
  );




 Text TclChartMatrix(mat1, SetOfSet(
   @TclArgSt(""-title"",    ""Gráfico de matriz""),
   @TclArgSt(""-geometry"", ""814x692+10+10""),
   @TclArgSt(""-gcfFile"",  ""c:/kk.gcf""),   
   @TclArgSt(""-file"",     ""c:/serGcf.jpg""),
   @TclArgSt(""-type"",     ""0""),
   @TclArgSt(""-names"",    TxtListTcl(names)),
   @TclArgSt(""-pairs"",    TxtListTcl(pairs))
 ))

}}}

"	tguo
1632	BDTFile extra ';'	Kernel	3.1	Mantainance	defect	Víctor de Buen Remiro	closed	2013-01-14T10:01:24Z	2013-01-14T10:06:44Z	"Al ejecutar 

{{{
Set BDTFile( [[ Serie ccc = SubSer(Gaussian(0,1,Daily),y2000, y2000m1d5) ]] );
}}}

se produce:

{{{
Daily; ccc;;
2000/01/01;-0.468237436738305;
2000/01/02;-1.66137161117829;
2000/01/03;-1.5779801765355;
2000/01/04;-2.04706210134272;
2000/01/05;0.214517677826094;
}}}

parece que en la fila de encabezamiento hay un ';' de más
"	Jorge
1633	El burn-in utilizado en BSR se equivoca en una unidad	BSR	3.1	Mantainance	defect	Pedro Gea	closed	2013-01-15T14:47:12Z	2013-01-15T17:15:33Z	"Comparando las cadenas obtenidas con las almacenadas en el archivo BBM se observa una diferencia de una unidad (por defecto) en el uso del burn-in.

Así cuando se tiene una cadena de 102 simulaciones (con 2 burning) se devuelven las filas de la 2 a la 101 incluida, en lugar de la 3 a la 102.
"	Pedro Gea
1636	Fallo en TrSolve	Math	3.1	Mantainance	defect	Jorge	closed	2013-01-29T09:51:44Z	2013-02-01T10:02:25Z	"La solución del sistema {{{S*L'=B}}} da errores con TrSolve

{{{
Matrix L = Diag(3, 1);

Matrix B = Rand(2, 3, 0, 1);

Matrix S = TrSolve(L, B, 0, 1, 1);

Set View([[S-B]], """");
}}}

genera la siguiente traza:

{{{
<W>
Warning: [1] Cannot apply TrSolve to matrices T(3x3) B(2x3) </W>
<W>
Warning: [2] <W>Wrong sizes when trying to subtract two matrices (0,0) and (2,3).</W>
</W>
$tmp$=
}}}"	Jorge
1638	Matrix determinant	Math	3.1	Mantainance	doubt	Víctor de Buen Remiro	closed	2013-01-29T20:26:19Z	2013-03-19T17:21:11Z	Does TOL provide any function to compute the determinant of a square matrix?	Jorge
1641	Error & Warning function must be defined in TolCore	Kernel	3.1	Mantainance	defect	Víctor de Buen Remiro	closed	2013-02-04T09:34:06Z	2013-02-04T11:17:08Z	The functions Error and Warning are used in TolCore so they must be defined there. Move its definition from StdLib to TolCore.	Jorge
1643	El desbordamiento de fechas corrompe algunas funciones	Kernel	3.1	Mantainance	defect	Víctor de Buen Remiro	closed	2013-02-07T19:12:28Z	2013-03-26T10:22:41Z	"Hay una advertencia que se encuentra cuando se hace un sucesor más allá de la fecha máxima considerada en TOL:
{{{
Warning: [] BTmsIntersection::Successor ha sido abortado porque se ha salido del rango de cálculo  operando entre las fechas [...]
Probablemente se trata de una expresión de conjunto temporal vacío o acotado.
}}}
como por ejemplo, al hacer:
{{{
Serie SubSer(CalInd(C, Yearly), TheEnd-2, TheEnd-1);
}}}
o
{{{
Date Succ(y2000, Yearly, 1000);
}}}

Sin embargo, la advertencia sólo se muestra una vez, y después de ellas algunas funciones se corrompen o dejan de funcionar correctamente. Por ejemplo:

{{{
Real SumS(CalVar(Weekly, Yearly), y2000, y2002); // -> 157
Date Succ(y2000, Yearly, 1000);
Real SumS(CalVar(Weekly, Yearly), y2000, y2002); // -> ?
}}}
"	Pedro Gea
1644	Polinomio erróneo obtenido con la función Sub	Kernel	3.1	Mantainance	defect	Víctor de Buen Remiro	closed	2013-02-07T19:21:40Z	2013-03-26T10:35:02Z	"Al usar la función {{{Sub}}} sobre polinomios en un intervalo de grados donde el polinomio no presenta coeficientes (no nulos) se obtiene un polinomio anómalo, en lugar del polinomio {{{Polyn 0}}} esperado.

Por ejemplo:
{{{
Polyn p = Sub(1+B, 2, 3);
Real Degree(p); // -2147483648
}}}"	Pedro Gea
1645	Falla en la carga de	TolPackage	3.1	Mantainance	defect	Pedro Gea	closed	2013-02-08T11:25:12Z	2013-02-08T12:35:04Z	"Falla carga del paquete TclCore en las máquinas Linux que usamos con TOLGrid, la carga falla tanto con TOLMachine como con Tolbase.
Este es log que se genera cuando se inetnta cargar con Tolbase

{{{

============================================================================================================

[TolPackage::@Catalog Local] No se encuentra el paquete 'TclCore'.
[TolPackage::Client] Se intentará descargar el paquete 'TclCore'.
[TolPackage::Server] Catalog 0.67 s.
cwd = /home/tolgrid/.tol/TolPackage.2/Client/TclCore.8.403/
[TolPackage::@Catalog Local] No se encuentra el paquete 'TclCoreLinux32'.

ERROR: [2] No se ha encontrado elemento con nombre name

[Call stack]
  [3] Set TolCore::TolPackage::@Catalog::FormatRecord_Autodoc (Set record)
  [2] Set TolCore::TolPackage::Client::GetPackageInfo (Text name.version)
  [1] Real TclCore::StartActions (Real void)

Warning: [1] La función :: ha fallado en : 
record::name

ERROR: [3] _.autodoc.name no se pudo crear.

[Call stack]
  [3] Set TolCore::TolPackage::@Catalog::FormatRecord_Autodoc (Set record)
  [2] Set TolCore::TolPackage::Client::GetPackageInfo (Text name.version)
  [1] Real TclCore::StartActions (Real void)

ERROR: [4] Argumentos erróneos para Set SetOfAnything (Anything var1 [, Anything var2, ...])

[Call stack]
  [3] Set TolCore::TolPackage::@Catalog::FormatRecord_Autodoc (Set record)
  [2] Set TolCore::TolPackage::Client::GetPackageInfo (Text name.version)
  [1] Real TclCore::StartActions (Real void)

ERROR: [5] autodoc no se pudo crear.

[Call stack]
  [3] Set TolCore::TolPackage::@Catalog::FormatRecord_Autodoc (Set record)
  [2] Set TolCore::TolPackage::Client::GetPackageInfo (Text name.version)
  [1] Real TclCore::StartActions (Real void)

ERROR: [6] No se ha encontrado elemento con nombre identifier

[Call stack]
  [3] Set TolCore::TolPackage::@Catalog::FormatRecord_Autodoc (Set record)
  [2] Set TolCore::TolPackage::Client::GetPackageInfo (Text name.version)
  [1] Real TclCore::StartActions (Real void)

Warning: [2] La función :: ha fallado en : 
record::identifier

ERROR: [7] autodoc no es un objeto valido para el tipo Set.

[Call stack]
  [3] Set TolCore::TolPackage::@Catalog::FormatRecord_Autodoc (Set record)
  [2] Set TolCore::TolPackage::Client::GetPackageInfo (Text name.version)
  [1] Real TclCore::StartActions (Real void)

Warning: [3] La función PutName ha fallado en : 
PutName(record::identifier, autodoc)

ERROR: [8] Fallo en la función ""FormatRecord_Autodoc""

[Call stack]
  [3] Set TolCore::TolPackage::@Catalog::FormatRecord_Autodoc (Set record)
  [2] Set TolCore::TolPackage::Client::GetPackageInfo (Text name.version)
  [1] Real TclCore::StartActions (Real void)

Warning: [4] La función :: ha fallado en : 
@Catalog ::FormatRecord_Autodoc(record)

ERROR: [9] Fallo en la función ""GetPackageInfo""

[Call stack]
  [2] Set TolCore::TolPackage::Client::GetPackageInfo (Text name.version)
  [1] Real TclCore::StartActions (Real void)

Warning: [5] La función :: ha fallado en : 
TolPackage::Client::GetPackageInfo(lastInstalled)

ERROR: [10] pkgInfo no se pudo crear.

[Call stack]
  [1] Real TclCore::StartActions (Real void)

ERROR: [11] pkgInfo no es un objeto valido para el tipo Anything.

[Call stack]
  [1] Real TclCore::StartActions (Real void)

Warning: [6] La función :: ha fallado en : 
pkgInfo::_.autodoc.version.low

ERROR: [12] checkMin no se pudo crear.

[Call stack]
  [1] Real TclCore::StartActions (Real void)

ERROR: [13] checkMin no es un objeto valido para el tipo Anything.

[Call stack]
  [1] Real TclCore::StartActions (Real void)

ERROR: [14] Argumentos erróneos para Real >= var1 >= var2 {Anything var1, Anything var2}

[Call stack]
  [1] Real TclCore::StartActions (Real void)
[TolPackage::@Catalog Local] No se encuentra el paquete ''.
[TolPackage::Client] Se intentará descargar el paquete ''.
[TolPackage::@Catalog Remote] No se encuentra el paquete ''.
[TolPackage::@Catalog Local] No se encuentra el paquete ''.

ERROR: [15] El paquete desconocido  debe ser instalado manualmente.

[Call stack]
  [1] Real TclCore::StartActions (Real void)
No ha sido cargado el paquete 
Lea información acerca de los paquetes TOL en https://www.tol-project.org/wiki/TolPackageRulesAndComments

ERROR: [16] Símbolo separador ; fuera de lugar.  en el carácter 10, línea 1:
 > #Require ; NameBlock TclCoreLinux32
            ^


[Call stack]
  [1] Real TclCore::StartActions (Real void)

Warning: [7] La función Eval ha fallado en : 
Eval(""#Require ""+tclToReq+""; NameBlock ""+tclPlatPkg)
[TolPackage::@Catalog Local] No se encuentra el paquete 'ToltclLinux32'.
[TolPackage::Client] Se intentará descargar el paquete 'ToltclLinux32'.
Ha sido cargado el paquete ToltclLinux32.3.1
Ha sido cargado el paquete TclCore.8.403

============================================================================================================
}}}
"	Humberto Carralero
1646	lectura de ficheros binarios	ASCII data files	head	Mantainance	defect	Víctor de Buen Remiro	closed	2013-02-12T14:52:42Z	2013-02-12T14:56:39Z	Se necesitan funciones para la lectura de datos numéricos desde ficheros binarios	Víctor de Buen Remiro
1647	Incongruencia entre elementos importados y visualizados de un conjunto creado mediante funciones de SaddExcel	Excel API	3.1	Mantainance	defect	Pedro Gea	closed	2013-02-14T17:51:52Z	2013-02-15T18:45:35Z	"Hola TOL, cuando hacemos una importación desde Excel con el paquete SaddExcel, por ejemplo:
{{{
  #Require SaddExcel;

  Text XLSOpenExcel(file,False);
  Text XLSSelectWorksheetByName(sheet);
  Set sInfo = XLSReadRange(cell1,cell2);
  Text XLSQuit(?);
}}}

Y dentro de Excel tenemos caracteres como ""Á"", ""É"", etc, éstos se importan mal. La correspondencia que he encontrado es:
á --> Ã¡
é --> Ã©
í --> Ã­
ó --> Ã³
ú --> Ãº
Á --> Ã
É --> Ã‰
Í --> Ã
Ó --> Ã“
Ú --> Ãš
ñ --> Ã±
Ñ --> Ã‘
ü --> Ã¼
Ü --> Ãœ
ç --> Ã§
Ç --> Ã‡

Sin embargo, cuando hacemos una importación, y visualizamos el Set TOL que obtenemos con click derecho -> ""Tabular conjunto"", resulta que éstos caracteres los muestra bien, mientras que dentro del Set están mal. Esto es muy confuso.

Gracias de antemano

"	lmperez@…
1648	Fallo usando el driver de postgres	Database	3.1	Mantainance	defect	Jorge	closed	2013-02-15T18:26:09Z	2015-11-04T12:07:10Z	"El driver de postgres devuelve errores al hacer determinadas consultas que involucran fechas.

Una consulta del tipo:
{{{
Real DBOpen(<alias>, <user>, <password>, [[
  ""postgres"", ""tracdb"", <server>
]]);
Serie DBSeries(""
  SELECT date_trunc('day', to_timestamp(time)), Count(*)
  FROM mmssch.ticket
  GROUP BY date_trunc('day', to_timestamp(time))
  ORDER BY date_trunc('day', to_timestamp(time))
"", C, [[ ""auxiliar"" ]])[1];
Real DBClose(<alias>);
}}}
devuelve multitud de errores como:
{{{
ERROR: [] la función 'postgres_GetAsDate' en el módulo PostgreSQL ha fallado.
Warning: [] (Funcion DBSeries) Fecha no válida en el registro ...
}}}

Esto no ocurre si la conexión es abierta a través de una conexión ODBC:
{{{
Real DBOpen(<aliasODBC>, <user>, <password>);
Serie <QUERY>;
Real DBClose(<aliasODBC>);
}}}
"	Pedro Gea
1650	MapViewer falla con algunos shapefiles	GuiTools	3.1	TOL Packages	defect	Jorge	closed	2013-02-19T18:45:19Z	2013-02-21T18:20:16Z	"El shapefile BRA_adm0 no se visualiza bien.

Se puede descargar desde: http://www.filefactory.com/file/3aclqdt3yptv/n/BRA_adm_zip"	Jorge
1654	Rotulos en dos Mapas simultaneo	GUI Tol Packages	3.1	TOL Packages	defect	Jorge	closed	2013-02-21T18:25:28Z	2013-02-22T07:35:47Z	Si se plotean a la vez dos {{{@GeoVariable}}} se cruzan los rótulos.	Jorge
1655	MapViewer entra en conflicto con los gráficos de Tolbase	GUI Tol Packages	3.1	TOL Packages	defect	Jorge	closed	2013-02-21T18:44:35Z	2013-02-21T20:18:53Z	"Después de plotear un {{{@GeoVariable}}} dejan de funcionar los gráficos de tolbase.

{{{
invalid command name ""_blt_InitStack""
invalid command name ""_blt_InitStack""
    while executing
""_blt_InitStack $graph""
    (procedure ""blt::InitStack"" line 4)
    invoked from within
""blt::InitStack $graph """"""
    (procedure ""blt::ClearMode"" line 17)
    invoked from within
""blt::ClearMode $graph $mode""
    (procedure ""Blt_ViewMode"" line 4)
    invoked from within
...
}}}"	Jorge
1657	MapViewer con omitidos	GUI Tol Packages	3.1	TOL Packages	task	Jorge	closed	2013-02-22T16:33:52Z	2013-03-05T11:11:43Z	"Pintar las regiones con valor omitido con un color específico.

Ahora falla con:

{{{
Warning: [1] ::MapViewer::PlotVariable FAIL: expected floating-point number but got ""?""
}}}"	Jorge
1658	compilar AlgLib para Linux	Math	head	TOL Packages	task	Jorge	closed	2013-02-28T07:50:56Z	2014-10-27T11:25:29Z	Preparar archivos de compilación en Linux para el paquete AlgLib.	Jorge
1659	Error extraño usando PutName	Kernel	3.1	Mantainance	defect	Víctor de Buen Remiro	closed	2013-03-04T18:34:03Z	2015-08-20T11:26:54Z	"Localizando un error un tanto dificil de comprender llego a aislar el siguiente código:
{{{
Real MyAppend(Set set, Anything data) {
  Set set := [[ data ]];
1};

NameBlock variable = [[
  Set box = Copy(Empty)
]];

Real MyAppend(variable::box, Matrix Rand(1,1,1,1));

Set content = [[
  variable::box[1]
]];

Real {
  Real data = 1;
  WriteLn(""Existe 'data' y es de tipo ""<<Grammar(data));
  Anything PutName(""E"", content[1]);
  WriteLn(""Existe 'data' y es de tipo ""<<Grammar(data));
1};
}}}

que devuelve:
{{{
Existe 'data' y es de tipo Real
Existe 'data' y es de tipo Matrix
}}}

Parece como si {{{PutName}}} liberara un nombre del objeto, anteponiéndose éste incluso a alguno declarado localmente.

Por ejemplo esto:
{{{
Set box = Copy(Empty);
Real MyAppend(box, Real 2);
Real {
  Real data = 1;
  Anything PutName(""E"", box[1]);
  data + 1
}; 
}}}
devuelve {{{3}}}.
"	Pedro Gea
1660	MapViewer no carga	GUI Tol Packages	3.1	TOL Packages	defect	Jorge	closed	2013-03-04T20:30:46Z	2013-03-04T21:10:51Z	"{{{
Ha sido cargado el paquete GuiTools.3.6

ERROR: [1] MapViewer::StartActions :extra characters after close-brace


[Call stack]
  [2] Anything StdLib::Error (Text message)
  [1] Real MapViewer::StartActions (Real void)
Ha sido cargado el paquete MapViewer.2.0

}}}"	Jorge
1662	Columnas con Nombre largo en fichero BDT	ASCII data files	3.1	Mantainance	defect	Víctor de Buen Remiro	closed	2013-03-20T12:35:31Z	2013-03-25T14:40:14Z	"Hola,

Cuando quiero cargar un fichero .bdt con un nombre de columna demasiado largo, no me deja y aparece un error de este tipo:

ERROR: [247] Too long Serie name in BDT header:
'CLC_MetOri.ConTot.Ser.Uni_UMAModMAt.Dir.Fusion_SegXXX_PlaXXX_FecDia_GeoDTe.Cen_RTL20121003.00000000'

Adjunto un fichero en el que se produce este error.

Un saludo"	Marcos Garcia
1663	Tiempo muy alto al compilar serie	TimeAlgebra	3.1	Mantainance	doubt	Víctor de Buen Remiro	closed	2013-04-01T06:53:01Z	2013-04-17T12:54:55Z	"Hola Tol, cuando trato de construirme esta serie temporal, el tiempo que necesita para crearla es desorbitado, aproximadamente 20 segundos!.
Además cuando trato de hacer una estimación sea en Estimate o BSR el tiempo de estimación es absurdamente largo. ¿Podéis ayudarme?

Os dejo un ejemplo: 
{{{
#!java
Date DefFirst := y2010;
Date DefLast  := y2015;

TimeSet tmsLV = C-WD(6)-WD(7);

TimeSet tmsFinDeMes.Medio      = Succ(D(1),-1,tmsLV);
TimeSet tmsFinDeMes.Sabado     = tmsFinDeMes.Medio*WD(6);
TimeSet tmsPreFinDeMes.Sabado  = Succ(tmsFinDeMes.Sabado, -1,tmsLV);

Real time = Time;
Serie serPreFinDeMes.Sabado  = CalInd(tmsPreFinDeMes.Sabado ,tmsLV);
Real CtrTime(time);
}}}

Gracias de antemano"	lmperez@…
1669	Función WriteWorkbook en TolExcel	Excel API	3.1	Mantainance	task	Jorge	closed	2013-04-22T17:22:21Z	2013-05-02T11:14:38Z	Se solicita la implementación de la función {{{WriteWorkbook}}} (disponible en el paquete SaddExcel) en TolExcel, para poder utilizarla en sistemas operativos no Windows.	Manuel Locubiche Malaxechevarria
1677	Error de sintaxis en expresiones generadas en model excel	Various	3.1	TOL Packages	defect	Chakib Faghloumi	closed	2013-04-28T18:03:55Z	2013-04-29T13:48:22Z	"Buenas

Si en un excel destinado a modelexcel en la pestaña de variables dependientes pongo algo como esto:


{{{
%1*Log(SetSumC(Set SetOfAnything(%3,%4,%5,%6,%7,%8,%9,%10))/%2)
}}}


o también


{{{
%1*Log(SetSumC(Set [[ %3,%4,%5,%6,%7,%8,%9,%10 ]] )/%2)
}}}


en la columna de expresión de la variable, obtengo un error de sintaxis tal que así:


{{{

ERROR: [5] Símbolo de cierre ]] fuera de lugar.  en el carácter 75, línea 1:
 > Serie _A[1]*Log(SetSumC([[_A[3],_A[4],_A[5],_A[6],_A[7],_A[8],_A[9],_A[10]]])/_A[2])
}}}

No encuentro forma de evitarlo y necesito hacer un setsumc porque la suma normal de series me corta las series al dominio de aquella con dominio más pequeño.

Tampoco me sirve hacer uso caracteres comodín, porque las series que estoy sumando tienen nombre arbitrarios distintos en cada fila."	jmarinero
1678	toltcl no compila	Toltcl	head	Mantainance	defect	Jorge	closed	2013-04-29T21:47:25Z	2013-04-29T21:55:09Z	"{{{
../generic/tolsergrp.cpp:100: error: ‘StatAsimetry’ was not declared in this scope
}}}
"	Jorge
1680	Fail in New  method of TolExcel 2.3	Excel API	3.1	Mantainance	defect	Jorge	closed	2013-04-30T21:02:19Z	2013-05-02T11:14:38Z	"The evaluation of the following code, produce a segmentation fault:

Code:
{{{
#!java
#Require TolExcel;

NameBlock xls = TolExcel::@WorkBook::New(""/tmp/report1.xls"",SetOfText(""a"",""b"",""c"",""d"",""e""));
}}}

Output:
{{{
Including /tmp/kk.tol
[TolExcel] Loading library /home/jsperez/.tol/TolPackage.3/Client/TolExcel.2.3/CppTools/Linux_x86_32/TolExcel.so -> OK
Loaded package TolExcel.2.3
[@WorkBook] Opening book  ...
Segmentation fault

}}}"	Luis Artiles
1682	ERROR - Tol Machine - Cox01 - AffFra	Kernel	3.1	Mantainance	defect	Jorge	closed	2013-05-06T14:36:15Z	2013-05-06T20:13:24Z	"He depurado el error que da al ejecutar el código del “Lanzador de procesos de Gran Consumo”, que estamos
Desarrollando en \\nas02\BPR\projects\AffFra, para ejecutarlos a través de tareas de Tol Grid.

Os comento;

El mismo código lanzado en una Tol Machine en Euler no da problemas, 
mientras que en Cox01 sí. El código ejecutado es:

{{{
Text PathProject = ""/media/nas/bpr/projects/AffFra"";
Set Include(PathProject<<""/source/process/tolGrid/common.tol"");

Anything arg = ""ME_AffPetMMMFra_TolGrid_Prueba1.xls"";
  Text nf = arg;
  Text xlsFile = PathFiles+nf;
  // Se construye la estimacion
  NameBlock est = ModelExcel::BuildEstimation(xlsFile);
  // Se analiza la multicolinealidad
  Set submSet = est::GetModel(?)::GetSubmodels(?);
  Set MultColinTest = EvalSet(submSet, Set(NameBlock nb){
    Text name = nb::GetName(?);
    Set set = nb::CheckMulticollinearity(?);
    Set If(Card(set)>0, 
    {
      WriteLn(""************************************************************\n""+
      ""ERROR: Multicolinealidad en ""+name+ "" ..........Ver MultColinTest""+""\n""+
      ""********************************************************************\n"");
      Set PutName(name, set)
    }, Empty)
  });
}}}

Que como ves es sólo una parte de la función de generación de estimación, de hecho no llego
Ni siquiera a lanzarla. 

El error que da en Cox01 es:

/////////////////////////////////////////////////////////////////////////////////
[TOL:ERROR][03-may-2013 12:09:21]=>[ERROR: [1] Fallo en la función ""GetProductCod""]
[TOL:OUTPUT][03-may-2013 12:09:21]=>[
[Call stack]]
[TOL:OUTPUT][03-may-2013 12:09:21]=>[  [15] Text GetProductCod (Text product, Set proSet)]
[TOL:OUTPUT][03-may-2013 12:09:21]=>[  [14] Serie GetProm (NameBlock arg)]
[TOL:OUTPUT][03-may-2013 12:09:21]=>[  [13] Set space::LocalEval. (Text expression)]
[TOL:OUTPUT][03-may-2013 12:09:21]=>[  [12] Set est::model::dataSet::variable::variableI::_ObtainData. (Real void)]
[TOL:OUTPUT][03-may-2013 12:09:21]=>[  [11] Set est::model::dataSet::variable::variableI::_GetData_Own. (Real void)]
[TOL:OUTPUT][03-may-2013 12:09:21]=>[  [10] Set est::model::dataSet::variable::variableI::GetData. (Real void)]
[TOL:OUTPUT][03-may-2013 12:09:21]=>[  [9] Set est::model::dataSet::variable::variableI::GetData_Scenarios. (Set scenarios)]
[TOL:OUTPUT][03-may-2013 12:09:21]=>[  [8] Set est::model::dataSet::variable::variable::_ObtainData_Scenarios_Extension. (Set scenarios, Real extension)]
[TOL:OUTPUT][03-may-2013 12:09:21]=>[  [7] Set est::model::dataSet::variable::variable::_GetData. (Real void)]
[TOL:OUTPUT][03-may-2013 12:09:21]=>[  [6] Set est::model::dataSet::variable::variable::GetData. (Real void)]
[TOL:OUTPUT][03-may-2013 12:09:21]=>[  [5] Set input::mVariable::mVariable::mVariable::GetData. (Real void)]
[TOL:OUTPUT][03-may-2013 12:09:21]=>[  [4] Set MMS::DAtSub (Set data., Anything first, Anything last)]
[TOL:OUTPUT][03-may-2013 12:09:21]=>[  [3] Set expTerm::expTerm::expTermLinear::expTermLinear::GetInitialFilter. (Real void)]
[TOL:OUTPUT][03-may-2013 12:09:21]=>[  [2] Anything expTerm::expTerm::expTermLinear::expTermLinear::GetInitialFilter (Real void)]
[TOL:OUTPUT][03-may-2013 12:09:21]=>[  [1] Set est::model::submodel::submodel::submodel::submodel::CheckMulticollinearity (Real mode)]
/////////////////////////////////////////////////////////////////////////////////

Lo que me hace pensar que es algo que se ha desactualizado en esta máquina, en MMS con respecto a Euler que va perfectamente.

Por favor, intentar solucionarlo para poder avanzar la semana que viene con el Lanzador de tareas de  Tol Grid, ya que este código esta
encapsulado en la función de estimación – previsión, y los errores bloquean el resto de desarrollo de funcionalidades de estimación,
Diagnosis, previsión, etc. Gracias.
"	Manuel Locubiche Malaxechevarria
1683	Package TolKFAS	Math	3.1	State Space Models	defect	Víctor de Buen Remiro	closed	2013-05-07T12:05:29Z	2013-09-27T07:15:40Z	Implement a package to expose in TOL the functionality available in the R package KFAS which is used to estimate models in the state-space representation.	Jorge
1690	No funciona la exploración  en TolBase de algunas gramáticas	Interface	head	Mantainance	defect	Jorge	closed	2013-05-20T09:30:36Z	2013-05-20T16:03:22Z	"No funciona la exploración  en TolBase de algunas gramáticas como Real o NameBlock pero sí la de otras como VMatrix o TimeSet.

TCL lanza un error de este aspecto

{{{
""StdLib::Rglpk::_BuildBoundsInfo"" isn't a function in grammar Real
""StdLib::Rglpk::_BuildBoundsInfo"" isn't a function in grammar Real
    while executing
""::tol::info functions $grammar $fun""
    (procedure ""SelectGrammar"" line 48)
    invoked from within
""SelectGrammar""
    (""grammar"" arm line 2)
    invoked from within
""switch -regexp $node_type  {
    root {
      switch $node_name {
        root -
        grammars {
          ClearHiertables
          #$w_tabset tab...""
    (procedure ""::TolInspector::SelectObject"" line 43)
    invoked from within
""::TolInspector::SelectObject""
}}}"	Víctor de Buen Remiro
1693	Problemas con el driver nativo de PostgreSQL	Database	3.1	Mantainance	enhancement	Jorge	closed	2013-06-19T14:43:17Z	2015-11-04T12:08:05Z	"Buenas tardes, TOL.

Estoy creando una conexión nativa en una máquina Linux sin pasar por el ODBC

{{{
NameBlock db1 = DBConnect::Create_WithPort(
""gruzetforval"", ""gruzet"", ""gru!103."", ""pgsql"", ""gruzetforval"", ""p-pgsql01.localbayes.es"", ""5432"", """");
Real db1::Activate(?)
Real db1::Open(?);
Real db1::IsOpened(?);
}}}

Todo va OK, hasta el momento que ejecuto un DBTable sobre una tabla de dicha DDBB cuyos campos son de tipo varchar:

{{{
Set DBTable(""select * from outputdating limit 1"");
}}}

Me devuelve el conjunto tabla que le pido, pero recibo dos mensajes consecutivos de error:

{{{
ERROR: [1] la función 'postgres_GetAsDate' en el módulo PostgreSQL ha fallado.


ERROR: [2] la función 'postgres_GetAsDate' en el módulo PostgreSQL ha fallado.
}}}

El problema viene dado del número de errores que obtenemos, dos por registro, y por otro lado el fallo de la función {{{ postgres_GetAsDate }}}

Gracias."	Lander Ibarra Iriondo
1694	Crear ODBC para el proyecto de Grupo Zeta	tolgrid	3.1	TOL Packages	enhancement	Humberto Carralero	closed	2013-06-19T14:50:20Z	2013-06-19T19:41:31Z	"Buenas tardes, TolGrid.

Para el TolGrid que se ha creado para las máquinas Linux Sharp05 y Sharp06, necesitamos crear las conexiones ODBC para poder trabajar con la DDBB que tenemos para el proyecto.

Los parámetros de conexión son:
{{{
[gruzetforvalpg]
Description         = PostgreSQL
Driver              = PostgreSQL Unicode
Trace               = No
TraceFile           = /tmp/psqlodbc.log
Database            = gruzetforval   
Servername          = p-pgsql01.localbayes.es
UserName            = gruzet
Password            = gru!103.
Port                = 
ReadOnly            = No 
RowVersioning       = No
ShowSystemTables    = No
ShowOidColumn       = No
FakeOidIndex        = No
ConnSettings        =
}}}

Gracias.
"	Lander Ibarra Iriondo
1696	fail in SqlInsertFast	Database	3.1	Mantainance	defect	Jorge	closed	2013-06-21T06:22:10Z	2014-01-28T15:11:32Z	"If you execute the following code

{{{
Real StdLib::SqlEngine::SqlInsertFast(""tableName"", [[ [[""a"" ]] ]], 1);
}}}

you will get the following error:

{{{
<E>
ERROR: [1] Número de argumentos insuficientes para Text SqlFormatText (Text txt, Real gestor)</E>
[Call stack]
[4] Text StdLib::SqlEngine::SqlFormatText (Text txt, Real gestor)
[3] Text StdLib::SqlEngine::SqlFormat (Anything var, Real gestor, Text format)
[2] Text StdLib::SqlEngine::SqlFormatText (Text txt, Real gestor)
[1] Real StdLib::SqlEngine::SqlInsertFast (Text nameTable, Set data, Real saveQuery)
<E>
...
}}}"	Jorge
1697	Calendario islámico	Various	3.1	TOL Packages	task	Pedro Gea	closed	2013-06-21T16:53:00Z	2014-10-17T11:35:48Z	"Aunque los calendarios islámicos se caracterizan por cierta impredecibilidad debida a los criterios utilizados para determinar el comienzo de mes, existen algunos calendarios islámicos tabulares, basados en algoritmos regulares que permiten obtener de manera aproximada la conversión entre el calendario gregoriano (occidental) y el calendario islámico.

Véase: [http://www.staff.science.uu.nl/~gent0113/islam/islam_tabcal.htm].

Se solicita crear un paquete con estos algoritmos.

"	Pedro Gea
1699	TimeSets compatibles	TimeAlgebra	3.1	Mantainance	defect	Pedro Gea	closed	2013-06-26T15:14:45Z	2013-07-18T13:00:17Z	"La función que compara si dos timesets son compatibles en un determinado intervalo, compara en fechas más allá del intervalo indicado.

Por ejemplo:
{{{
#!java
TimeSet ts1 = Day(y2001)+Day(y2003);
TimeSet ts2 = Day(y2001)+Day(y2003)+Day(y2005);
Real AreCompatibleTimeSet(ts1, ts2, y2000, y2004); //=>0
Real AreCompatibleTimeSet(ts1, ts2, y2000, y2002); //=>1
}}}

"	Pedro Gea
1700	Criar função e apresentar erro	Kernel	3.1	Mantainance	doubt	Víctor de Buen Remiro	closed	2013-06-28T12:40:43Z	2013-06-28T15:17:40Z	"Desejo, saber como fazer uma interrupção na função quando houver um erro.

Guido"	Igor Nascimento Vidal
1704	TkSetEditor is too slow	GuiTools	3.1	TOL Packages	defect	Jorge	closed	2013-07-03T19:16:43Z	2013-07-08T09:43:50Z	"{{{
#Require GuiTools;
 
Set aux = For(1,519,Real(Real k){
  Text name = ""Item_""+IntText(k);
  Eval(""Real ""+name+"" = ""+IntText(k)+"";"")
});

GuiTools::TkSetEditor(aux,[[ ""-title"", ""Too Slow"", ""-modal"", ""yes"" ]])
}}}"	Jorge
1705	Tol Machines no disponibles	tolgrid	3.1		defect	Humberto Carralero	closed	2013-07-04T16:47:29Z	2013-07-05T15:05:08Z	"Buenas tardes, TOLGrid.

En el TOLGrid que tenemos preparado para el proyecto PrjGruZetForVal, en el Sharp06 no tiene más TOL Machines disponibles.

No podemos lanzar ningún Task debido a este problema.

Gracias"	Lander Ibarra Iriondo
1708	Uso de RAM en TOL: Asignación de nombres	Kernel	3.1	Mantainance	defect	Víctor de Buen Remiro	closed	2013-07-08T15:05:10Z	2013-08-20T16:40:54Z	"Al crear nuevas variables, se aprecia un aumento en el uso de memoria RAM en función de lo poco comunes que sean sus nombres.

Si creamos un gran número de reales con nombres aleatorios la RAM utilizada crece enormemente, mientras que eso no ocurre si tienen el mismo nombre.

A continuación indico un código en el que se generan dos conjuntos de nombres, uno con caracteres obtenidos al azar y otro con un mismo carácter repetido:

{{{
#!java
Real RandInteger(Real min, Real max) { Floor(Rand(min,max+1)) };
Set _RandCharacter.Set = Characters(""abcdefghijklmnopqrstuvwxyz""
  ""ABCDEFGHIJKLMNOPQRSTUVWXYZ_"");
Text RandCharacter(Real void) {
  _RandCharacter.Set[RandInteger(1,53)] 
};
Text RandName(Real length) {
  SetSum(For(1, length, Text (Real i) { RandCharacter(?) }))
};

// Generación de nombres:
Set names = For(1, 10000, Set (Real i) {
  [[ Text RandName(32), Text Repeat(""A"", 32) ]]
});
}}}

Si utilizamos estos nombres para crear un conjunto de números reales con nombre obtenemos que usando el primer nombre:
{{{
#!java
Set For(1, 10000, Set (Real i) {
  Set [[
    Real Eval(""Real ""<<names[i][1]<<"" = 1"")
  ]]
});
}}}
la RAM incrementa en 325 MB.

Mientras que usando el segundo:
{{{
#!java
Set For(1, 10000, Set (Real i) {
  Set [[
    Real Eval(""Real ""<<names[i][2]<<"" = 1"")
  ]]
});
}}}
lo hace en unos 7 MB.

Este resultado no depende del mecanismo utilizado para asignar le nombre, obteniéndose idénticos resultados al usar la función {{{PutName}}}:
{{{
#!java
Set For(1, 10000, Set (Real i) {
  Real one = 1;
  Set [[
    Real PutName(names[i][ <1|2> ], one) // 1 ó 2 según el caso
  ]]
});
}}}"	Pedro Gea
1710	Compilación de TOL-Project	Kernel	3.1	Mantainance	task	Pedro Gea	closed	2013-07-17T13:37:32Z	2013-08-12T15:02:32Z	Se necesitan revisar los archivos y configuraciones utilizadas para la compilación de TOL y la interfaz TOLBase.	Pedro Gea
1711	Error de SubDiag con v-matrices de tipo triplet.	Kernel	3.1	Mantainance	defect	Víctor de Buen Remiro	closed	2013-07-19T13:40:20Z	2013-08-14T14:28:18Z	"Error al usar la función SubDiag con v-matrices de tipo ""Cholmod.R.Triplet"".

Por ejemplo:
{{{
VMatrix v = Triplet(((1,1,1),(2,2,1)), 2, 2);
VMatrix SubDiag(v);
}}}
produce errores como:
{{{
ERROR: [] No es posible aplicar GetCell a una matriz virtual de subtipo Cholmod.R.Triplet
}}}
"	Pedro Gea
1716	Polinomio determinante de un VAR	Math	3.1	TOL Packages	defect	Jorge	closed	2013-07-24T07:51:31Z	2013-07-26T16:08:24Z	"Se solicita incoporar a VarModel el cálculo del polinomio determinante de un modelo VAR y el cálculo de sus raíces. Esto es necesario para diagnosticar la estabilidad del modelo VAR. Se aporta el código que lo implementa:

{{{
Matrix param = varEst::_.B;
Real n = Rows(param);
Set PHI = 
{
  Set aux = For(1,pmax,Set(Real k)
  {
    Matrix phi = Sub(param,1,(k-1)*n+1,n,n);
    For(1,n,Set(Real i)
    {
      For(1,n,Polyn(Real j)
      {
        MatDat(phi,i,j)*B^k
      })
    })
  });
  For(1,n,Set(Real i)
  {
    For(1,n,Polyn(Real j)
    {
      If(i==j,1,0)-
      SetSum(For(1,pmax,Polyn(Real k)
      {
        aux[k][i][j]
      })) 
    })
  })
};

Polyn PolynMatrixDeterminant(Set polMat)
{
  Real m = Card(polMat);
  WriteLn(""TRACE [PolynMatrixDeterminant] polMat=\n""<<polMat);
  WriteLn(""TRACE [PolynMatrixDeterminant] m=""<<m);
  Case(
    m==1, polMat[1][1],
    m==2, polMat[1][1]*polMat[2][2]-polMat[1][2]*polMat[2][1], /*
    m==-3, 
    {
      +polMat[1][1]*polMat[2][2]*polMat[3][3]
      +polMat[1][2]*polMat[2][3]*polMat[3][1]
      +polMat[1][3]*polMat[2][1]*polMat[3][2]
      -polMat[1][1]*polMat[2][3]*polMat[3][2]
      -polMat[1][2]*polMat[2][1]*polMat[3][3]
      -polMat[1][3]*polMat[2][2]*polMat[3][1]
    }, */
    1==1,
    {
      SetSum(For(1,m,Polyn(Real k)
      {
        Polyn c = polMat[k][1]*(-1)^(k+1);
        Set rows = ExtractByIndex(polMat,Range(1,m,1)-[[k]]);
        Set adjunt = EvalSet(rows,Set(Set row)
        {
          For(2,m,Polyn(Real j) { row[j] })
        });
        c*PolynMatrixDeterminant(adjunt)
      }))
    }
  )
};
  

Polyn PHI.det = PolynMatrixDeterminant(PHI);

Set PHI.det.roots = 
{
  Matrix ar.roots = gsl_poly_complex_solve(PHI.det);
  For(1,Rows(ar.roots),Set(Real k)
  {
    Set aux = [[
      Real real = MatDat(ar.roots,k,1);
      Real imaginary = MatDat(ar.roots,k,2);
      Real module = Sqrt(real^2+imaginary^2)
    ]];
    Eval(""Set PHI.det.Root_""<<k+""=aux"")
  })
};
}}}"	Víctor de Buen Remiro
1717	portar gsl_poly_complex_solve de 3.2 a 3.1	Math	3.1	Mantainance	defect	Jorge	closed	2013-07-24T08:37:13Z	2013-07-24T09:03:56Z	La versión 3.2 de TOL contiene una función para el cálculo de raíces de un polinomio de coeficientes reales. Se solicita portar esta función a tol 3.1	Jorge
1720	Problemas con la represetación real de los segundos	Kernel	3.1	Mantainance	defect	Pedro Gea	closed	2013-08-12T14:27:35Z	2013-08-12T15:01:40Z	"El uso de números reales para representar los segundos de una fecha ({{{Date}}}) genera problemas de imprecisión.

Por ejemplo:
{{{
Real Date IndexToDate(DateToIndex(y2013m08d09h02i52s00)) == y2013m08d09h02i52s00;
}}}"	Pedro Gea
1722	TolExcel falla decodificando la referencia A10	Various	3.1	TOL Packages	defect	Jorge	closed	2013-08-19T10:52:35Z	2013-08-19T11:10:37Z	TolExcel parece ignorar los ceros al final de una referencia de celda. Por ejemplo A10 se traduce a las coordenadas (0,0)	ignacio sanchez
1726	GetFullSeriesByRow	TolPackage	3.1	TOL Packages	task	Jorge	closed	2013-08-29T16:24:16Z	2013-09-02T16:35:32Z	Implementar una función GetFullSeriesByCol que lea un conjunto de series espcificado por filas	Jorge
1728	La redefinición de conjuntos no elimina la estructura	Kernel	3.1	Mantainance	defect	Víctor de Buen Remiro	closed	2013-09-02T15:26:03Z	2013-09-11T14:59:53Z	"La redefinición de conjuntos no elimina la estructura. Por ejemplo:
{{{
#!java
Set a = [[
  Set b = @Anything(2)
]];
Set a::b := Copy(Empty); 
// No se borra la estructura de a:
Text StructName(a::b); // -> ""@Anything""
// Esto da problemas al copiarlo:
Set DeepCopy(a);
/*
ERROR: [] No se puede aplicar la estructura @Anything que tiene 1 campos a un conjunto con 0 elementos
*/
}}}"	Pedro Gea
1736	Calculo LLK para un VAR	Math	3.1	Técnicas de modelación	task	Jorge	closed	2013-09-17T14:57:53Z	2013-09-19T08:55:39Z	Extraer de VarModel el cálculo de la verosimilitud.	Jorge
1741	Export Package ha dejado de funcionar en tolbase	TolPackage	3.1	Mantainance	defect	Pedro Gea	closed	2013-10-16T07:25:32Z	2013-10-16T07:55:51Z	"La funcionalidad de exportar paquete desde el interfaz Tolbase ha dejado de funcionar.La misma descansa en la función olPackage::Client::ExportPackage que parece que ya no existe:

Lo siguiente reproduce el error:

{{{
Real TolPackage::Client::ExportPackage(""BysInfDiag.3.5"", ""C:/users/jsperez/tmp/"");
}}}"	Jorge
1742	Problemas de codificación de caracteres en ficheros OZA	OIS	head	Mantainance	defect	jsperez	closed	2013-10-17T11:24:54Z	2013-11-14T12:30:56Z	Si se almacena un OZA en windows con objetos tol cuyos nombres tengan ciertos caracteres no ANSI puede haber problemas al intentar cargar el oza desde linux.	Víctor de Buen Remiro
1743	KMeans tiene un comportamiento aleatorio al clasificar datos deterministas	Math	3.1	Mantainance	defect	jsperez	closed	2013-10-17T14:44:05Z	2014-01-20T11:29:00Z	KMeans tiene un comportamiento aleatorio al clasificar datos deterministas	Víctor de Buen Remiro
1744	LastNotEqual es ineficiente	Kernel	3.1	Mantainance	defect	Víctor de Buen Remiro	closed	2013-10-24T10:31:48Z	2014-01-20T11:24:43Z	"Hola Tol, comparando las funciones FirstNotEqual y LastNotEqual podemos ver que son tremendamente diferentes en coste de tiempos. Os pongo un ejemplo:

{{{
Serie ser = SubSer(Pulse(Today,Diario),y2000,y2015);

Real t1 = Time;
Date first = FirstNotEqual(ser, First(ser), 0);
Real CtrTime(t1);

Real t2 = Time;
Date last  = LastNotEqual(ser, Last(ser), 0);
Real CtrTime(t2);
}}}"	lmperez@…
1753	MatQuery3.5 doesn't work in linux	Kernel	3.1	Mantainance	defect	Pedro Gea	closed	2013-12-10T15:51:05Z	2013-12-10T17:33:20Z	"MatQuery3.5 doesn't work in linux :

{{{
<E>
ERROR: [1] [LoadDynLib(""/home/toldevel/.tol/TolPackage.3/Client/MatQuery.3.5/CppTools/Linux_x86_32/MatQuery.so"")]
  lt_dlopen error:'/home/toldevel/.tol/TolPackage.3/Client/MatQuery.3.5/CppTools/Linux_x86_32/MatQuery.so: cannot open shared object fil
e: No such file or directory'</E>
[Call stack]
[1] Real MatQuery::StartActions (Real void)
<E>
ERROR: [2] [MatQuery] Loading library /home/toldevel/.tol/TolPackage.3/Client/MatQuery.3.5/CppTools/Linux_x86_32/MatQuery.so -> FAIL
</E>
[Call stack]
[2] Real TolCore::TolPackage::Client::CppTools.Check (NameBlock package, Text dllFile, Text chechMethod)
[1] Real MatQuery::StartActions (Real void)
<W>
Warning: [1] La funciÃ³n :: ha fallado en :
CppTools::VMatSubRowByMask</W>
<E>
ERROR: [3] Argumentos errÃ³neos para Real AddMember (NameBlock nb, Anything member)</E>
[Call stack]
[2] Real MatQuery::_CppTools.StartActions (Real void)
[1] Real MatQuery::StartActions (Real void)
<W>
Warning: [2] La funciÃ³n :: ha fallado en :
CppTools::VMatSubColByMask</W>
<E>
ERROR: [4] Argumentos errÃ³neos para Real AddMember (NameBlock nb, Anything member)</E>
[Call stack]
[2] Real MatQuery::_CppTools.StartActions (Real void)
[1] Real MatQuery::StartActions (Real void)

}}}"	Víctor de Buen Remiro
1756	StdLib 0.14 corrupta	TolPackage	3.1	Mantainance	defect	Pedro Gea	closed	2014-01-20T14:14:07Z	2014-04-04T14:57:19Z	"La versión 0.14 de StdLib está corrupta. Al cargar en Linux con la versión de TOL 3.1, nos da el siguiente mensaje de error:

{{{
<E>
ERROR: [1] OIS: 
BOisLoader::ReadNextObject: NULL element of set </E>
[Call stack]
[3] NameBlock TolCore::TolPackage::Require (Text identifier)
[2] Real TolCore::TolPackage::Client::_.DefaultRequire (Real void)
[1] Real TolCore::TolPackage::Client::Initialize (Real void)
<E>
ERROR: [2] OIS: 
BOisLoader::ReadNextObject: NULL element of set </E>
[Call stack]
[3] NameBlock TolCore::TolPackage::Require (Text identifier)
[2] Real TolCore::TolPackage::Client::_.DefaultRequire (Real void)
[1] Real TolCore::TolPackage::Client::Initialize (Real void)
<E>
ERROR: [3] El paquete StdLib.0.14 parece estar corrupto y debe ser reinstalado.</E>
}}}"	Jorge
1758	no se encuentra la función LastNotEqual  en StdLib.0.14	Kernel	3.1	Mantainance	defect	Chakib Faghloumi	closed	2014-01-28T10:51:00Z	2014-01-28T12:49:04Z	En el package StdLib.0.14 no se encuentra StdLib.0.14	Chakib Faghloumi
1767	Error en TolPackage: FormatRecord_Autodoc	TolPackage	3.1	TOL Packages	defect	Pedro Gea	closed	2014-04-02T09:34:44Z	2014-04-09T09:17:39Z	"Si el directorio Client donde están instalados los paquetes contiene un directorio con un ""nombre inválido"" se produce un error al pedir información para un ese nombre de paquete. Por ejemplo se ha dado el caso en el que se tenía un directorio con nombre ""ArimaTools.6.6_kk"" y se genera el siguiente error:

{{{
[TolPackage::Server] Catalog 3.36 s.

ERROR: [1] No se ha encontrado elemento con nombre name

[Call stack]
  [2] Set TolCore::TolPackage::@Catalog::FormatRecord_Autodoc (Set record)
  [1] Set TolCore::TolPackage::Client::GetPackageInfo (Text name.version)

Warning: [1] La función :: ha fallado en : 
record::name

ERROR: [2] _.autodoc.name no se pudo crear.

[Call stack]
  [2] Set TolCore::TolPackage::@Catalog::FormatRecord_Autodoc (Set record)
  [1] Set TolCore::TolPackage::Client::GetPackageInfo (Text name.version)

ERROR: [3] Argumentos erróneos para Set SetOfAnything (Anything var1 [, Anything var2, ...])

[Call stack]
  [2] Set TolCore::TolPackage::@Catalog::FormatRecord_Autodoc (Set record)
  [1] Set TolCore::TolPackage::Client::GetPackageInfo (Text name.version)

ERROR: [4] autodoc no se pudo crear.

[Call stack]
  [2] Set TolCore::TolPackage::@Catalog::FormatRecord_Autodoc (Set record)
  [1] Set TolCore::TolPackage::Client::GetPackageInfo (Text name.version)

ERROR: [5] No se ha encontrado elemento con nombre identifier

[Call stack]
  [2] Set TolCore::TolPackage::@Catalog::FormatRecord_Autodoc (Set record)
  [1] Set TolCore::TolPackage::Client::GetPackageInfo (Text name.version)

Warning: [2] La función :: ha fallado en : 
record::identifier

ERROR: [6] autodoc no es un objeto valido para el tipo Set.

[Call stack]
  [2] Set TolCore::TolPackage::@Catalog::FormatRecord_Autodoc (Set record)
  [1] Set TolCore::TolPackage::Client::GetPackageInfo (Text name.version)

Warning: [3] La función PutName ha fallado en : 
PutName(record::identifier, autodoc)

ERROR: [7] Fallo en la función ""FormatRecord_Autodoc""

[Call stack]
  [2] Set TolCore::TolPackage::@Catalog::FormatRecord_Autodoc (Set record)
  [1] Set TolCore::TolPackage::Client::GetPackageInfo (Text name.version)

Warning: [4] La función :: ha fallado en : 
@Catalog ::FormatRecord_Autodoc(record)

ERROR: [8] Fallo en la función ""GetPackageInfo""

[Call stack]
  [1] Set TolCore::TolPackage::Client::GetPackageInfo (Text name.version)

Warning: [5] La función :: ha fallado en : 
TolPackage::Client::GetPackageInfo(""ArimaTools.6.6_kk"")

ERROR: [9] Argumentos erróneos para Set SetOfAnything (Anything var1 [, Anything var2, ...])

ERROR: [10] tmp no se pudo crear.

ERROR: [11] tmp no es un objeto valido para el tipo Set.

ERROR: [12] Argumentos erróneos para Set SetOfAnything (Anything var1 [, Anything var2, ...])

ERROR: [13] __tmp_Anything_5__ no se pudo crear.}}}
"	Jorge
1768	Eliminación del software para los tests auto-diagnósticos de TOL en StdLib.0.15	TolPackage	head	Mantainance	defect	jsperez	closed	2014-04-04T08:53:33Z	2014-04-04T15:09:12Z	"Acabo de descubrir la eliminación del software para los tests auto-diagnósticos de TOL en el paquete {{{StdLib.0.15}}} contenido desde casi el principio de los tiempos en el directorio {{{StdLib\general\tol_tests}}}

Estos tests son absolutamente indispensables para el control de calidad de TOL y de muchos de los paquetes, aunque por lo visto soy el único que los usa.

No sé si han entrado en conflicto con alguna otra cosa pero no me parece nada prudente eliminarlos sin consultarlo previamente con el autor, o sea conmigo.

Hay miles de archivos TOL de de tests auto-diagnósticos por lo que no resulta sencillo cambiar el código de los mismos.

Hay que buscar una solución. Mientras tanto tendré que volver a la versión {{{StdLib.0.13}}} que es la última en que me funciona todo.



"	Víctor de Buen Remiro
1771	Función de distancias cruzadas	Math	head	Numerical methods	defect	Víctor de Buen Remiro	closed	2014-05-08T08:48:53Z	2014-05-09T09:44:46Z	Se requiere una función built-in C++ de distancias cruzadas entre las columnas de una matriz.	Víctor de Buen Remiro
1772	'Gestiona packetes' yields error	TolPackage	3.1	Mantainance	doubt	Pedro Gea	closed	2014-05-13T14:24:06Z	2014-05-13T18:07:39Z	"I can't install any package because the window doesn't open. Does this mean I have to reinstall?
Logs attached."	Guido
1776	El eje Y está escalado de forma incorrecta	Interface	3.1	Mantainance	defect	Pedro Gea	closed	2014-06-12T17:09:50Z	2014-06-13T10:23:53Z	"Buenas,
Algunas series Tol no se grafican bien, adjunto un oza de ejemplo.
Muchas gracias"	Paula Yanes
1777	Error al cargar ozas	OIS	3.1	Mantainance	defect	Pedro Gea	closed	2014-06-18T08:08:21Z	2014-09-29T16:57:24Z	"Desde hace algunos meses obtengo de vez en cuando un error al cargar objetos ozas normales o también objetos mms como estimaciones o previsiones. Al guardar no dice que nada haya ido mal. Es posible que me haya empezado a suceder con la versión 3.2. El mensaje de error es el siguiente:

{{{

ERROR: [1] OIS: 
FATAL BOisLoader::ReadNextObject misplaced offset

ERROR: [2] OIS: 
FATAL cannot built dating of serie

ERROR: [3] OIS: 
BOisLoader::ReadNextObject: NULL element of set 

ERROR: [4] OIS: 
BOisLoader::ReadNextObject: NULL element of set 

}}}

He abierto el oza con el winrar y he hecho un test de integridad. Me dice que no hay errores en el archivo.

Adjunto un oza con datos sensibles que sufre de este problema.

Un saludo"	jmarinero
1779	TolPackage: Advertir la incompatibilidad de los paquetes	TolPackage	head	Mantainance	enhancement	Pedro Gea	closed	2014-06-30T10:47:39Z	2014-06-30T11:29:04Z	Se solicita la posibilidad de advertir la incompatibilidad de un paquete existente con la versión de TOL utilizada.	Pedro Gea
1782	Actualizar los datos de PubDatIne	Various	3.1	Mantainance	task	Pedro Gea	closed	2014-08-22T15:04:29Z	2014-10-13T17:04:56Z	"Se necesitan actualizar los datos relativos al paquete PubDatIne.
"	Pedro Gea
1784	Error en consultas a ORACLE con DECIMAL	Database	3.1	Mantainance	trick	Pedro Gea	closed	2014-09-08T16:09:23Z	2014-09-08T16:12:24Z	"Se obtiene resultados inesperados al hacer consultas a una base de datos ORACLE con TOL cuando el tipo es DECIMAL, ya que llegan los valores como números enteros redondeados hacia abajo (''floor'').

Para ello puede hacerse la prueba con una conexión a oracle:
{{{
Real DBTable(""
  SELECT CAST(1.1 AS DECIMAL(5,2)) 
  FROM dual
"")[1][1]; // -> Real 1.0
}}} "	Pedro Gea
1804	Compilar paquete VariableChange en Linux	Math	head	Numerical methods	defect	Víctor de Buen Remiro	closed	2014-10-27T11:28:33Z	2014-10-27T11:52:22Z	Es urgente compilar paquete VariableChange en Linux	Víctor de Buen Remiro
1805	Compilar paquete AlgLib en Linux	Math	head	Numerical methods	task	jsperez	closed	2014-10-27T12:41:22Z	2014-10-28T11:47:46Z	Es urgente compilar el paquete AlgLib en Linux	Víctor de Buen Remiro
1811	Error subiendo paquete nuevo	TolPackage	head	Mantainance	defect	Pedro Gea	closed	2014-11-22T20:45:35Z	2015-05-28T08:00:55Z	"He hecho un paquete nuevo llamado TrueModel (Description : Generates data matching a given class of model. It's usefull to build tests over model estimators)

Compilando en local me funciona perfectamente pero no consigo subirlo al repositorio de paquetes  tol-project con use_tolpackage_builder.tol

Este es el log que me saca.

{{{

Incluyendo C:/Users/vdebuen/prj/bptp/AdminTools/Packages/use_tolpackage_builder.tol
El paquete 'TrueModel' se ha descargado en:
  C:/Users/vdebuen/AppData/Roaming/tol/TolPackage.3/Builder/TrueModel/
Ha sido cargado el paquete MatQuery.5.1
Ha sido cargado el paquete MatAlg.2.2
Ha sido cargado el paquete AlgLib.3.701
Ha sido cargado el paquete RecursiveStats.1.2
Ha sido cargado el paquete BysPrior.3.4
[IpoptCore::StartActions] Loading library C:/Users/vdebuen/AppData/Roaming/tol/TolPackage.3/Client/IpoptCore.3.10/Windows_x86_32/ipopt39.dll -> OK
Ha sido cargado el paquete IpoptCore.3.10
Ha sido cargado el paquete TolIpopt.3.2
Ha sido cargado el paquete BysInfDiag.4.1
[BysSampler] Loading library C:/Users/vdebuen/AppData/Roaming/tol/TolPackage.3/Client/BysSampler.6.2/CppTools/Windows_x86_32/BysSampler.dll -> OK
Ha sido cargado el paquete BysSampler.6.2
[TolExcel] Loading library C:/Users/vdebuen/AppData/Roaming/tol/TolPackage.3/Client/TolExcel.3.1/CppTools/Windows_x86_32/TolExcel.dll -> OK
Ha sido cargado el paquete TolExcel.3.1
Loading DLL C:/Users/vdebuen/AppData/Roaming/tol/TolPackage.3/Client/NonLinGloOpt.8.1/CppTools/Windows_x86_32/libnlopt-0.dll
[NonLinGloOpt] Loading library C:/Users/vdebuen/AppData/Roaming/tol/TolPackage.3/Client/NonLinGloOpt.8.1/CppTools/Windows_x86_32/NonLinGloOpt.dll -> OK
Ha sido cargado el paquete NonLinGloOpt.8.1
Ha sido cargado el paquete ArimaTools.6.8
Ha sido cargado el paquete VecSer.0.2
Ha sido cargado el paquete VariableChange.1.1
Ha sido cargado el paquete MPM.5.1
Ha sido incrustado el archivo C:/Users/vdebuen/AppData/Roaming/tol/TolPackage.3/Builder/TrueModel/generateGarch.tol
Ha sido incrustado el archivo C:/Users/vdebuen/AppData/Roaming/tol/TolPackage.3/Builder/TrueModel/LinReg.Normal.tol
Ha sido incrustado el archivo C:/Users/vdebuen/AppData/Roaming/tol/TolPackage.3/Builder/TrueModel/TFARIMA.Normal.tol
Ha sido incrustado el archivo C:/Users/vdebuen/AppData/Roaming/tol/TolPackage.3/Builder/TrueModel/Piecewise.Normal.tol
Ha sido incrustado el archivo C:/Users/vdebuen/AppData/Roaming/tol/TolPackage.3/Builder/TrueModel/VAR.Normal.tol
Ha sido incrustado el archivo C:/Users/vdebuen/AppData/Roaming/tol/TolPackage.3/Builder/TrueModel/VECM.Normal.tol
Ha sido incrustado el archivo C:/Users/vdebuen/AppData/Roaming/tol/TolPackage.3/Builder/TrueModel/ARIMA.Bass.tol
El paquete 'TrueModel' se ha construido correctamente.
UploadPackageTrueModel.0.0 Repos
repository.db = [[
  Text _.autodoc.description = ""Conexión con base de datos 'bysforofitol'.
Propósito: Almacén de repositorios de paquetes TOL de Bayes"";
  Text _.alias = ""bysforofitol"";
  Text _.purpose = ""Almacén de repositorios de paquetes TOL de Bayes"";
  NameBlock _key = [[
  Code Open = Real Open (Set options)
]];
  Text _.driver = ""postgres"";
  Text _.defaultDB = ""bysforofitol"";
  Text _.server = ""p-pgsql01.localbayes.es"";
  Text _.port = """"
]]
Bad file descriptor
[DBConnect::bysforofitol::Open] La conexión tuvo éxito.
DBConns esta vacío. No quedan conexiones a BB.DD.
Incluyendo C:/Users/vdebuen/AppData/Roaming/tol/TolPackage.3/Builder/TrueModel.0.0/info.oza
Ha sido incluido el fichero C:/Users/vdebuen/AppData/Roaming/tol/TolPackage.3/Builder/TrueModel.0.0/info.oza [0.020 sec.]
Bad file descriptor
[DBConnect::bysforofitol::Open] La conexión tuvo éxito.

ERROR:  error de sintaxis en o cerca de «s» at character 571



ERROR: [1] [UploadPackage] Package is already in the repository. Please upgrade the version numbers or delete the register of existent package.


[Call stack]
  [3] Real TolCore::TolPackage::Server::DB.UploadPackage (NameBlock repository.db, Text pkg.path.zip)
  [2] Real TolCore::TolPackage::Builder::UploadPackage (Text identifier, Text repository, Real overwrite)
  [1] Real TolCore::TolPackage::Builder::ProducePackage (Text package, Text source, Real revision, Text repository, Real overwrite)
DBConns esta vacío. No quedan conexiones a BB.DD.

ERROR: [2] El paquete TrueModel.0.0 no se ha subido al repositorio correctamente.


[Call stack]
  [2] Real TolCore::TolPackage::Builder::UploadPackage (Text identifier, Text repository, Real overwrite)
  [1] Real TolCore::TolPackage::Builder::ProducePackage (Text package, Text source, Real revision, Text repository, Real overwrite)
Ha sido incluido el fichero C:/Users/vdebuen/prj/bptp/AdminTools/Packages/use_tolpackage_builder.tol [30.854 sec.]

}}}"	Víctor de Buen Remiro
1818	Cmpilar contribs con Rtools	Kernel	3.1	Mantainance	task	Jorge	closed	2014-12-22T08:39:36Z	2015-09-18T09:19:26Z	Se requiere compilar los contribs usados por TOL con Rtools. Esto es un paso previo a la compilación de TOl con Rtools.	Jorge
1823	Error de código en múltiples funciones del paquete BysInfDiag	Various	3.1	Mantainance	defect	Víctor de Buen Remiro	closed	2015-02-09T18:26:11Z	2015-02-09T20:02:00Z	"Buenas

En la línea 190, 246, 260, 282, etc... del archivo:

{{{
https://www.tol-project.org/browser/tolp/OfficialTolArchiveNetwork/BysInfDiag/_inference_functions.tol
}}}
donde pone 
{{{
Real WriteLn(""BysInfDiag::Inference::get.param.signif of ""+name_);
}}}
debería poner
{{{
Real WriteLn(""BysInfDiag::Inference::get.param.signif of ""+'''name''');
}}}

dado que la variable name_ no existe

Un saludo"	jmarinero
1824	Sleep no funciona por debajo del segundo	Kernel	head	Mantainance	defect	Víctor de Buen Remiro	closed	2015-02-12T16:29:10Z	2015-02-12T16:35:38Z	La función Sleep debería controlar hasta los milisegundos en Windows y microsegundos en Linux pero sólo es posible bajar hasta segundos completos	Víctor de Buen Remiro
1826	Error en StdLib desde TOL con MinGW	Kernel	3.1	Mantainance	defect	Pedro Gea	closed	2015-03-18T11:48:13Z	2015-03-26T11:39:44Z	"No se puede cargar el paquete StdLib con la nueva versión de TOL compilada con MinGW.
Véase #1812"	Jorge
1845	Extraño error con series: desaparecen fechas y datos	Kernel	3.1	Mantainance	defect	Víctor de Buen Remiro	closed	2015-05-06T09:47:27Z	2015-05-08T09:21:30Z	"El error observado es bastante extraño. Voy a intentar describir qué es lo que ha ocurrido, en qué circunstancias y qué posibles causas puede tener.

En el marco de un proyecto de modelación se suceden las siguientes acciones:
 * Se carga TOL (v3.1) con el iniproject correspondiente, MMS incluído.
 * Se cargan datos de distintos orígenes (entre ellos unas BDT).
 * Se crea un modelo, se estima y se crea un objeto previsión.
 * En este momento se extraen (al ''eval'') algunas series para visualizarlas, y se visualizan correctamente.
 * Se guarda el ''forecast'' en un oza como habitualmente.
 * Se vuelven a visualizar las mismas series extraídas y ya no muestran los mismos datos.

La serie visualizada está en fechado {{{Anual}}} con datos desde 1980 hasta 2014 (35 datos). Se observa lo siguiente:
 * Cuando se tabula o grafica antes del guardado se visualiza correctamente.
 * Cuando se tabula o grafica después del guardado, sólo se ven 5 fechas y 5 datos: el de 1980 y desde 2011 en adelante.
 * Aunque sólo se puedan ver 5, la serie contiene todos los datos al llamar a funciones como {{{CountS}}} o {{{SerMat}}}.
 * Si creamos más series en el fechado Anual, presentan el mismo problema de visualización.

Parece ser que el {{{TimeSet Anual}}} se ha corrompido de alguna forma. Se comprueba que:
 * El fechado Anual se visualiza normalmente en el inspector de timesets y responde correctamente a la función Dates.
 * Sin embargo la expresión {{{Real AreCompatibleTimeSet(Anual, Yearly, y1980, y2014)}}} devuelve 0 cuando aparece el problema. Era 1 antes del guardado y 0 después.
 * Se intenta guardar el fechado corrupto en un oza para aislarlo, pero el fechado guardado no presenta problemas (es compatible) al cargarlo en una nueva instancia de TOL (independientemente del valor de {{{Ois.ForceStoredTimeSet}}}).

Así pues, parece tratarse de un error en la caché de fechas del fechado, o en alguna otra característica que no se almacene en un oza.

El error se consigue ''esquivar'' al dejar de ejecutar una parte (aparentemente inocua) del proceso que cargaba algunos datos de unas BDT y hacía algunas operaciones con las series.


"	Pedro Gea
1846	MatWriteFile falla en MINGW32	Kernel	3.1	Mantainance	defect	Jorge	closed	2015-05-06T10:26:33Z	2015-05-08T15:50:20Z	"{{{
> Matrix MatWriteFile( ""a.bbm"", a );
<E>
ERROR: [2] [BBM_BinWrite]Fichero BBM corrupto a.bbm
 Numero de filas:3
 Numero de columnas:3
 Bytes por int s_int :4
 Bytes por BDat s_BDat :8
 Tama±o esperado del fichero:80
 Tama±o real del fichero:0</E>
3x3
}}}
"	Jorge
1847	falla tol_tests con variante mingw32	Kernel	head	Mantainance	defect	Jorge	closed	2015-05-10T12:08:13Z	2015-05-10T13:43:23Z	"Hay fallos al ejecutar los tests de tol con la compilacion basada en mingw32. Se adjunta log.
"	Jorge
1850	Uso de R-nomad desde TOL	R API	head	Mantainance	defect	Pedro Gea	closed	2015-06-01T08:14:59Z	2015-09-10T07:40:38Z	"En https://www.dropbox.com/sh/gs0diwn3pthysrz/AAChNpPpZ71Z8RlC86zsQTmma?dl=0 he dejado un ejemplo de llamada a la librería de optimización NOMAD a través de R. Se trata de un ejemplo trivial de una regresión lineal que me sirve para evaluar la librería y aprender a usarla.
{{{
evaluator.tol : Evaluación de la función objetivo a minimizar
optimice.R    : Llama a la librería NOMAD para optimizar una función TOL
run.tol       : Ejecuta todo el programa desde TOL llamando a evaluator.tol y optimice.R 
run.R         : Ejecuta todo el programa desde R llamando a evaluator.tol y optimice.R 
                (Hay que cambiar el setwd!)
}}}
Si ejecuto desde R (run.R) funciona perfectamente pero cuando ejecuto desde TOL (run.tol) me está dando este error que soy incapaz de interpretar y que me impide seguir con la evaluación.
{{{
ERROR: [1] Exception caught: Error evaluating: assign(""anything.0.1917802977841348"", {library(tolLink)
library(crs)
numVar <- tolGet('n')
x0 <- tolGet('x0')
y0 = tolExecute('F::eval',x0, grammar='Real')
eval.f <- function ( x ) { 
  f = tolExecute('F::eval',matrix(x, nrow=numVar, ncol=1), grammar='Real') 
  return ( as.double(f) );
}
bbin <- rep(0,numVar)
bbout <-c(0, 2, 1)
lb <- rep(-2.0,numVar)
ub <- rep(+2.0,numVar)
opts <-list('MAX_BB_EVAL'=1000,
            'MIN_MESH_SIZE'=0.00001,
            'INITIAL_MESH_SIZE'=0.1,
            'MIN_POLL_SIZE'=0.0001)
result=snomadr(eval.f=eval.f,n=numVar,  x0=x0, bbin=bbin, bbout=bbout, lb=lb, ub=ub, opts=opts)
result[['solution']]
}, envir=tolRI)
0

[Call stack]
  [2] Anything TolRInside::API::_.RGetAnything (Text expression)
  [1] Anything TolRInside::API::REval (Text expression)
}}}"	Víctor de Buen Remiro
1851	TolRInside dependiente sólo de R_HOME	R API	head	Mantainance	defect	Pedro Gea	closed	2015-06-11T09:37:02Z	2015-09-16T11:45:58Z	"Aparecen problemas de incompatibilidad entre versiones de R si R_HOME apunta a un directorio pero en el PATH aparece la ruta donde encontrar otra versión de R.

También se encuentran problemas si el paquete de R: Rcpp no está instalado."	Pedro Gea
1854	auto_path (TOL-GNU)	Kernel	head	Mantainance	defect	Pedro Gea	closed	2015-07-08T06:47:24Z	2015-07-09T10:02:35Z	Añadir el lib de TOL al auto_path de tcl cuando se carga TclCore. de lo contrario, no sepuede cargar tcom (package require tcom) cuando, por ejemplo, se carga SaddExcel.	Jorge
1856	directorio includes en TOL-GNU	Various	head	Mantainance	task	Pedro Gea	closed	2015-07-08T06:58:13Z	2015-07-09T09:40:34Z	"Para facilitar la compilación de extensiones y tolLink se requiere que se incluya el directorio include con los header necesarios, también el lib con los .lib

Estos archivos deben poder seleccionarse a la hora de instalar."	Jorge
1857	language.txt en deinstalador TOL-GNU	Kernel	head	Mantainance	defect	Pedro Gea	closed	2015-07-08T07:00:24Z	2015-07-09T09:40:34Z	Al ejecutar TOL se crea el archivo language.txt dentro del directorio de instalación de TOL, esto hace que el desinstalador no pueda limpiar bien todos los directorios. Incluir en el desintalador la lógica para limpiar este archivo tambien.	Jorge
1858	archivos svn en instalador (TOL-GNU)	Kernel	head	Mantainance	defect	Pedro Gea	closed	2015-07-08T07:02:23Z	2015-07-09T09:40:34Z	A la hora de copiar los archivos desde el repositorio fuente hacia el instalador hay que exclluir los archivos con información del repositorio svn.	Jorge
1867	Problema con funcion ToChgFlow_Vavr_DAll_Tms	Kernel	3.1	Mantainance	defect	Pedro Gea	closed	2015-08-17T08:04:50Z	2015-08-17T11:13:15Z	"La funcion ToChgFlow_Vavr_DAll_Tms, que esta en:
{{{
PrjBysForMktMix\source\functions\funProjects\gen\funDating.tol
}}}
se utiliza para hacer cambios de fechado.
El problema aparece cuando quieres pasar de un fechado mensual a Diario, por ejemplo, y en la mensual tiene datos 0 en algunos meses, en la serie resultante en Diario devuelve valores mayores a 0 para los dias del mes que supuestamente tiene 0.
El codigo que utiliza es:
{{{
      NameBlock FlowSerie = { TimeTools::InvChFlow(arSer,    @TimeSet(Diario), codeStatic, 1) }; 
      @Serie flowDiarioS = [[ FlowSerie::trgFlow ]];
}}}
"	mruiz
1876	DifEq no funciona igual en 64 que en 32 bits	Math	head	Mantainance	defect	Jorge	closed	2015-09-18T17:40:24Z	2015-09-25T07:29:58Z	"Cuando ejecutamos el código test.tol (adjunto) en 32 bits obtenemos la siguiente salida:

{{{
check = 7.247535904753022e-13
OK
}}}

En cambio cuando lo ejecutamos en 64 bits obtenemos la salida:

{{{
<E>
ERROR: [1] No es posible aplicar DifEq a una matriz virtual  (Numerator degree p=1686110208 and X0 have not enouth rows).  Blas.R.Dense(2x1) </E>
<W>
Warning: [1] <W>Imposible restar dos matrices de dimensiones (2727,1) y (0,0).</W>
</W>
check = ?
<W>
Warning: [2] [If] la función de condición no puede devolver valores desconocidos.</W>
}}}
"	Jorge
1883	Problema al acceder a las bases de datos de los ordenadores clon de CC de Argentina y Chile	Database	3.2	Mantainance	defect	Pedro Gea	closed	2015-10-16T15:22:37Z	2015-11-17T09:51:50Z	"Buenas, tengo un problema con las queries a las bases de datos de los ordenadores clon de CC. No estoy muy seguro de la naturaleza del problema, así que pongo el ticket aquí, porque parece un problema de tol, o bien de la conexión a la base de datos.

Los distintos proyectos clon han estado funcionando sin problemas hasta ahora. Los clones de Chile y Argentina no funcionan. He conseguido trazar el error (al menos parte de él) hasta unas llamadas dbseries que no funcionan bien. Las queries que siempre han funcionado al ejecutarlas en estos dos clones devuelven un warning:

{{{
Warning: [608] (Funcion DBSeriesTable) La consulta debería devolver un Text en el campo 1
}}}

y DBSeries devuelve un conjunto vacío. Cuando ejecuta la query en un cliente de base de datos convencional, la query funciona sin problemas y devuelve lo que tiene que devolver.

Si ahora desde Tol, ejecuto la misma query con un DBTable, en vez de con un DBSerie, lo que obtengo es un warning:

{{{
Warning: [610] (Funcion DBTable) La consulta debería devolver un texto, una fecha o un número en el campo 1
}}}

pero ahora sí que devuelve el resultado de la query. 

Esta tabla devuelta está perfecta, es lo que devuelve el cliente normal de base de datos con todas sus filas y con todo textos en todas las filas del campo uno.

En los textos devueltos no hay eñes, ni tildes, ni espacios. El ODBC es Postgres Ansi, exactamente el mismo que se utiliza en los clones que sí funcionan.

Como ejemplo del log que se obtiene al cargar el proyecto al abrir Tol:

{{{
c:/users/Administrator/bsd/entity/PrjCokArgMVAArg/source/functions/alg/defAlgebra.tol

Warning: [2] (Funcion DBTable) La consulta debería devolver un texto, una fecha o un número en el campo 1

Warning: [3] (Funcion DBTable) La consulta debería devolver un texto, una fecha o un número en el campo 2

Warning: [4] (Funcion DBTable) La consulta debería devolver un texto, una fecha o un número en el campo 3

Warning: [5] (Funcion DBTable) La consulta debería devolver un texto, una fecha o un número en el campo 1

Warning: [6] (Funcion DBTable) La consulta debería devolver un texto, una fecha o un número en el campo 2

Warning: [7] (Funcion DBTable) La consulta debería devolver un texto, una fecha o un número en el campo 3

Warning: [8] (Funcion DBTable) La consulta debería devolver un texto, una fecha o un número en el campo 4

Warning: [9] (Funcion DBTable) La consulta debería devolver un texto, una fecha o un número en el campo 1

Warning: [10] (Funcion DBTable) La consulta debería devolver un texto, una fecha o un número en el campo 2

Warning: [11] (Funcion DBTable) La consulta debería devolver un texto, una fecha o un número en el campo 3

Warning: [12] (Funcion DBTable) La consulta debería devolver un texto, una fecha o un número en el campo 4

Warning: [13] (Funcion DBTable) La consulta debería devolver un texto, una fecha o un número en el campo 5

Warning: [14] (Funcion DBTable) La consulta debería devolver un texto, una fecha o un número en el campo 1

Warning: [15] (Funcion DBTable) La consulta debería devolver un texto, una fecha o un número en el campo 2

Warning: [16] (Funcion DBTable) La consulta debería devolver un texto, una fecha o un número en el campo 3

Warning: [17] (Funcion DBTable) La consulta debería devolver un texto, una fecha o un número en el campo 1

Warning: [18] (Funcion DBTable) La consulta debería devolver un texto, una fecha o un número en el campo 2

Warning: [19] (Funcion DBTable) La consulta debería devolver un texto, una fecha o un número en el campo 3

Warning: [20] (Funcion DBTable) La consulta debería devolver un texto, una fecha o un número en el campo 4

Warning: [21] (Funcion DBTable) La consulta debería devolver un texto, una fecha o un número en el campo 5

Warning: [22] (Funcion DBTable) La consulta debería devolver un texto, una fecha o un número en el campo 6

Warning: [23] (Funcion DBTable) La consulta debería devolver un texto, una fecha o un número en el campo 1

Warning: [24] (Funcion DBTable) La consulta debería devolver un texto, una fecha o un número en el campo 2

Warning: [25] (Funcion DBTable) La consulta debería devolver un texto, una fecha o un número en el campo 3

Warning: [26] (Funcion DBTable) La consulta debería devolver un texto, una fecha o un número en el campo 4

Warning: [27] (Funcion DBTable) La consulta debería devolver un texto, una fecha o un número en el campo 1

Warning: [28] (Funcion DBTable) La consulta debería devolver un texto, una fecha o un número en el campo 2

Warning: [29] (Funcion DBTable) La consulta debería devolver un texto, una fecha o un número en el campo 3

Warning: [30] (Funcion DBTable) La consulta debería devolver un texto, una fecha o un número en el campo 4

Warning: [31] (Funcion DBTable) La consulta debería devolver un texto, una fecha o un número en el campo 5

Warning: [32] (Funcion DBTable) La consulta debería devolver un texto, una fecha o un número en el campo 6

Warning: [33] (Funcion DBTable) La consulta debería devolver un texto, una fecha o un número en el campo 1

Warning: [34] (Funcion DBTable) La consulta debería devolver un texto, una fecha o un número en el campo 2
}}}

En Chile, aparentemente la generación de series está bien, pero cuando vas a estimar obtengo un error al entrar al estimador:

{{{
ERROR: [6] [BSR.Parse]  Number of columns of input matrix (260) is not equal to number of declared variables 259
}}}

que según me han comentado podría estar producido por series que estuviesen mal generadas, así que no descarto que en Chile esté pasando algo parecido.

He estado chequeando todo lo chequeable, pero no consigo encontrar el problema. Si tuvieseis alguna idea de cómo atacar esto, estaré encantado de probarlo.

El tol es el 3.2 b020. StdLib es el 3.1 p014

Un saludo
"	jmarinero
1884	deepcopy falla con campo Anything	Kernel	head	Mantainance	defect	Jorge	closed	2015-10-19T15:42:10Z	2015-10-19T18:13:16Z	"El siguiente código:

{{{
Struct @Option(
  Text type,
  Text name,
  Anything value
);

Set opt1 = @Option(""String"", ""linear_solver"", Text ""mumps"");
Set View( opt1, """" ); WriteLn("""");
Set DeepCopy( opt1 );
}}}

produce un error:

{{{
$tmp$=""String""
$tmp$=""linear_solver""
$tmp$=""mumps""
<E>
ERROR: [1] ""mumps"" no es un objeto de tipo Anything.
 No se puede crear el campovalue de la estructura @Option</E>
}}}
"	Jorge
1886	Auto-concatenación de objetos Text en un set de textos cuando se omiten comas	Kernel	3.1	Mantainance	doubt	Víctor de Buen Remiro	closed	2015-10-20T10:34:02Z	2015-10-20T15:30:08Z	"Buenas,

Cuando creas un array de campos de tipo texto y cometes el error de omitir comas, el parseador no detecta dicho error y concatena los campos, creando un set de menos elementos:

{{{
Set s1 = [[
	""Campo1"",
	""Campo2"",
	""Campo3"",
	""Campo4"",
	""Campo5"",
	""Campo6""
	""Campo7"",
	""Campo8""
	""Campo9""
	""Campo10""
]];
}}}

En este ejemplo, se concatena Campo6Campo7 por un lado y Campo8Campo9Campo10 por otro lado."	Marcos Garcia
1888	Error de memoria WINDOWS 64 bits	Kernel	head	Mantainance	defect	Jorge	closed	2015-10-21T07:52:01Z	2015-10-23T11:44:00Z	"Se encuentra un error de memoria con el siguiente código

{{{
VMatrix cov = Include( ""cov_ma_m.oza"" )[1];
WriteLn( """" << cov );
//VMatrix L_ma = ARMAProcess::CholeskiFactorCov( cov );
VMatrix L = CholeskiFactor( cov, ""X"", True, False );
}}}

El error que se genera es:

{{{
Virtual matrix Cholmod.R.Sparse
 Non zero cells 700/(234x234)=1.28%
 Stored cells 700/(234x234)=1.28%
 Stored bytes 9444/438120=2.16%
<E>
ERROR: [1] SIGNAL: Invalid storage access; most frequently caused y attempting to store some value in an object pointed to by a bad pointer. (Segment violation.)</E>
<E>
ERROR: [2] Un error inesperado ha hecho TOL inestable y la sesión debe ser cerrada</E>
}}}"	Jorge
1889	Error con TimeTools	Packages		Mantainance	defect	Víctor de Buen Remiro	closed	2015-10-22T09:18:35Z	2015-10-22T17:20:49Z	"Se encuentran errores al usar TimeTools:

{{{
#!java
#Require TimeTools;

Real PutRandomSeed(2143);
Serie s = SubSer(Gaussian(5, 2, Weekly), y2014, y2014m06);
Real PutSerDat(s, y2014m02d24, 0);
Real PutSerDat(s, y2014m03d17, 0.1);

Set TimeTools::InvChFlow.Set([[s]], @TimeSet(Daily), ""SumS"", 2);
}}}

{{{
[TimeTools::InvChFlow] Solving each particular linear system ... 

ERROR: [] value no es un objeto valido para el tipo Real.

[Call stack]
  [6] Real info::ipopt::sqp::set.option (Text type, Text name, Anything value)
  [5] Real info::ipopt::sqp::set.option.list (Set list)
  [4] Real info::ipopt::sqp::build_and_optimize (Real void)
  [3] NameBlock TolIpopt::@SMRS::Optimize.Bounded (Set options, VMatrix X, VMatrix y, VMatrix x_lower_, VMatrix x_upper_)
  [2] NameBlock TimeTools::InvChFlow.Simultaneous (Anything aggFlow_, Set trg, Text groupStat_, Real difApprxDeg_)
  [1] Set TimeTools::InvChFlow.Set (Set aggFlow_, Set trg, Text groupStat_, Real difApprxDeg_)

}}}

"	Pedro Gea
1892	Errores en lectura o escritura de archivos para algunos usuarios	Kernel	3.1	Mantainance	defect	Pedro Gea	closed	2015-11-03T09:42:11Z	2015-11-03T09:58:04Z	"Determinados usuarios encuentran errores, aparentemente inexplicables, en la lectura y escritura de archivos usando MMS o ModelExcel, o usando funciones como OSFilCopy.

Se trata de un problema causado por la conjunción de dos circunstancias:

'''(1)'''

La presencia de espacios en blanco en la ruta del directorio de datos de tol: habitualmente en {{{""%APPDATA%\tol""}}} o donde se indique vía la variable de entorno {{{TOLHOME}}}.

Recuérdese que si se establece esta ruta vía {{{TOLHOME}}} ésta ha de terminar en barra, por ejemplo: {{{SET TOLHOME=C:/AppDataTol/}}}.

Esta ruta puede presentar espacios en blanco, bien porque es una versión antigua de Windows, de las que el ''home'' se encuentra en {{{C:/Documents and settings}}}, bien porque el nombre de usuario tiene espacios en blanco: {{{C:/Users/J J}}}.

'''(2)'''

Los cambios del tique #1783, que modifican la variable global {{{OSWinCmd}}} a {{{""cmd /D /E:ON /C ""}}}.
"	Pedro Gea
1894	toltcl install	Tolsh	head	Mantainance	defect	Jorge	closed	2015-11-12T10:34:19Z	2015-11-12T10:50:39Z	Al ejecutar make install para toltcl, el destino es /usr esto hace que  al instalar en una plataforma linux de 64 bits el tolsh no encuantra al path del paquete TolshApp.	Jorge
1897	Compilar BLAS/LAPACK para 32 bits desde los fuentes	Various	head	Mantainance	task	Jorge	closed	2015-11-24T08:07:48Z	2015-11-27T12:33:47Z	Para unificar los contribs de 32bits y 64bits de MINGW se requiere compilar BLAS/LAPACK que incluye también LAPACKE.	Jorge
1902	error en paquete mimetex	Interface	head	Mantainance	defect	Jorge	closed	2015-12-14T08:35:29Z	2015-12-14T08:51:39Z	"Sucede con tolbase 64 bit

{{{
[jsperez@CORNELLA release]$ /usr/local/tol32-m64/bin/tolbase.sh
/usr/local/tol32-m64/bin
There is no default mimetex.cgi for os = Linux and wordSize = 8. You should set it up with SetBinPath
%
}}}"	Jorge
1903	"tolbase para Linux en ""background"""	Interface	head	Mantainance	defect	Jorge	closed	2015-12-14T08:54:10Z	2015-12-15T13:10:31Z	"Al ejecutar tolbase para linux en ""background"" el interfaz se bloquea.
"	Jorge
1905	"Implementar carga dinamica con opcion ""global"""	Kernel	head	Mantainance	enhancement	Jorge	closed	2015-12-22T11:40:22Z	2016-02-19T11:20:33Z	"En Linux se requiere cargar librerias dinámicas con opción ""global""

Actualmente la carga con LoadDynLib permite cargar una lib, pero los símbolos se cargan en local lo cual hace que no puedan ser utilizados para la resolución futura de símbolos necesitados por otras libs.

Implementaremos una nueva función que incorpore un argumento options de tipo Set. La función actual LoadDynLib ya tiene un argumento opcional libName que dificulta modificarla para incorporar esta opción.

refs #1904"	Jorge
1906	Errores en consultas a ODBC con TOL 64 bits	Kernel		Mantainance	defect	Víctor de Buen Remiro	closed	2015-12-30T08:41:30Z	2016-10-07T07:39:03Z	"Una consulta sencilla a una base de datos en postgres:
{{{
Set DBTable(""Select 'a', 1, now()"");
}}}
hace que TOL caiga:
{{{
<W>
Warning: [1] (Funcion DBTable) La consulta debería devolver un texto, una fecha o un número en el campo 1</W>
<W>
Warning: [2] (Funcion DBTable) La consulta debería devolver un texto, una fecha o un número en el campo 2</W>
<W>
Warning: [3] (Funcion DBTable) La consulta debería devolver un texto, una fecha o un número en el campo 3</W>
<E>
ERROR: [1] SIGNAL: Invalid storage access; most frequently caused by attempting to store some value in an object pointed to by a bad pointer. (Segment violation.)</E>
<E>
ERROR: [2] Un error inesperado ha hecho TOL inestable y la sesión debe ser cerrada</E>
}}}"	Pedro Gea
1907	Errores en tests compilando con Ofast y mtune_native	Kernel	3.1	Mantainance	enhancement	Víctor de Buen Remiro	closed	2016-01-11T09:10:24Z	2016-01-11T10:02:22Z	"Se propusieron nuevas opciones de compilación para TOL-GNU en Windows. Véase [7151].

Al compilar con éstas, algunos tests que antes pasaban, ahora no pasan:
{{{
Running test Bugzilla/bug_000584 iteration 1 of 1 ... Quality=   0.00% in    0.007 seconds
Running test Bugzilla/bug_000771 iteration 1 of 1 ... Quality=   0.00% in    0.392 seconds
Running test BooleanAlgebra/test_0005 iteration 1 of 1 ... Quality=   0.00% in    0.086 seconds
Running test BooleanAlgebra/test_0007 iteration 1 of 1 ... Quality=   0.00% in    0.196 seconds
}}}"	Pedro Gea
1908	Error al arrancar tolsh.exe en Windows Server 2012	Kernel	head	Mantainance	defect	Jorge	closed	2016-01-11T10:36:02Z	2016-01-11T18:56:25Z	"Al arrancar tolsh en Windows Server 2012 se queja de que no encuentra libtol.dll pero después de cerrar la ventana con el mensaje de error continua correctamente.
"	Jorge
1910	Compilar vbtol con MinGW	Kernel		Mantainance	task	Pedro Gea	closed	2016-01-12T13:03:14Z	2016-10-07T07:39:57Z	"Se solicita preparar el proyecto ""vbtol"" para ser compilado con MinGW."	Pedro Gea
1913	ODBC falla recuperando varchar(max) desde SQL Server	Database	head	Mantainance	defect	Jorge	closed	2016-02-17T12:47:49Z	2016-02-18T12:17:43Z	"Cuando se intenta recuperar los datos para una consulta que contienen un campo varchar(max) desde un servidor SQLServer, se produce un fallo de memoria ya que no se trata correctamente el valor de retorno SQL_NO_TOTAL (-4) 

Ver el mismo problema reportado aquí.
 
http://blogs.msdn.com/b/sqldev/archive/2008/08/26/sqlgetdata-function-returns-sql-no-total-4-for-strlen-or-indptr-argument-in-snac-odbc.aspx"	Jorge
1916	-project ha dejado de funcionar	Interface	head	Mantainance	defect	Jorge	closed	2016-03-09T12:02:58Z	2016-03-16T11:30:05Z	"La opción -project ha dejado de funcionar en tolbase gnu.
"	Jorge
1917	GetComputerName retorna vacío	Kernel	head	Mantainance	defect	Jorge	closed	2016-03-09T12:03:53Z	2016-03-09T12:56:51Z	La función GetComputerName retorna vacio en Linux.	Jorge
1919	Agilizar la función SetSumC	Kernel		Mantainance	enhancement	Pedro Gea	closed	2016-03-09T12:58:04Z	2016-10-07T07:40:17Z	Se necesita aumentar la eficiencia de {{{SetSumC}}} del paquete StdLib en la medida de lo posible.	Pedro Gea
1920	tolsh no arranca desde un enlace simbolico	Tolsh	head	Mantainance	defect	Jorge	closed	2016-03-14T10:04:31Z	2016-04-07T10:49:55Z	"Si se tolsh se inicia desde un enlace simbolico este falla con:

{{{
can't find package TolshApp exactly 3.3
}}}
"	Jorge
1922	undefined symbol: clapack_dpotrf en Ubuntu 14.04	Kernel	head	Mantainance	defect	Jorge	closed	2016-04-05T14:18:00Z	2016-04-05T16:10:04Z	"Se ha encontrado el siguiente error en Ubuntu 14.0.4

{{{
[@Model.PointForecast] Cache.Results
/usr/lib/tol3.3/bin/tolsh: symbol lookup error: /usr/lib/tol3.3/bin/../lib/libtol.so: undefined symbol: clapack_dpotrf
}}}
"	Jorge
1930	Fallo en DBTable con TOL-GNU	Kernel	3.3	Mantainance	defect	Pedro Gea	closed	2016-08-26T11:56:22Z	2016-10-07T07:37:57Z	"Se encuentran problemas con algunos tipos de datos al obtener información de una base de datos vía ODBC, con postgreSQL al menos. 

Por ejemplo:
{{{
Set DBTable(""
  SELECT 2::numeric
"")
}}}
devuelve un cero.

"	Pedro Gea
1932	Rama tolbaseBLT	Interface	3.3	Mantainance	defect	Jorge	closed	2016-10-17T11:27:30Z	2016-11-03T06:50:14Z	"Crear una rama para tolbaseBLT que sea copia del tolbase actual. Esta rama tendrá el código congelado con la versión 32 bit dependiente de BLT. El directorio tolbase será usado para realizar los cambios de migración a TkTreeCtrl + RBC.

Tiene que ver con el ticket #703"	Jorge
1933	Migración a TkTreeCtrl + RBC	Interface	3.3	Mantainance	task	Pedro Gea	closed	2016-11-03T06:49:51Z	2017-03-27T11:42:40Z	"Para poder disponer de la interfaz TOLBase para Windows 64 bits es necesario prescindir del paquete BLT de Tcl/Tk.

Para ello se creará una rama con la versión anterior (véase #1932) y se sustituirá BLT por TkTreeCtrl y el paquete RBC (Refactored BLT Components)."	Pedro Gea
1936	Revisar XLSGetWorksheetName en TComExcel	Kernel	3.3	Mantainance	defect	Pedro Gea	closed	2016-11-17T11:56:34Z	2016-11-21T12:22:13Z	La función {{{XLSGetWorksheetName}}} falla al no encontrarse el método {{{Name}}} para la colección {{{Sheets}}} en VBA.	Pedro Gea
1940	error Dseq	R API	3.4	Mantainance	defect	Pedro Gea	closed	2017-01-06T15:51:48Z	2017-01-09T09:46:09Z	"Dseq parece que se salta la fecha inicial:

{{{
> require(tolBasis)
Loading required package: tolBasis
Loading required package: lubridate

Attaching package: ‘lubridate’

The following object is masked from ‘package:base’:

    date

> currYear <- Dfloor(Sys.Date(), Yearly) # año en curso
> Dseq(currYear, dating=Monthly, len=12) # meses del año en curso
 [1] ""2017-02-01"" ""2017-03-01"" ""2017-04-01"" ""2017-05-01"" ""2017-06-01""
 [6] ""2017-07-01"" ""2017-08-01"" ""2017-09-01"" ""2017-10-01"" ""2017-11-01""
[11] ""2017-12-01"" ""2018-01-01""}}}

La fecha inicial debería ser ""2017-01-01""
"	Jorge
1942	Conexión nativa a PostgreSQL y caracteres LATIN1	Database	3.4	Mantainance	task	Pedro Gea	closed	2017-01-20T09:34:42Z	2017-01-20T09:37:55Z	"Se encuentran errores cuando se lanzan ''queries'' con caracteres especiales como la eñe, las vocales con acentos, etc.

Esto se soluciona ejecutando:
{{{SET CLIENT_ENCODING TO 'latin1'}}}.

Se solicita incorporar la codificación en la conexión a la base de datos."	Chakib Faghloumi
1943	Sfirst no devuelve lo mismo que el print de Serie	R API	3.4	Mantainance	defect	Pedro Gea	closed	2017-01-21T23:22:25Z	2017-03-15T12:48:39Z	"Debajo aparece la ejecución de las instrucciones:

{{{
require(anytime)
require(tolBasis)
s = Serie(rnorm(12), Monthly, anytime(2015))
s
Sfirst(s)
}}}

{{{
require(anytime)
> require(anytime)
Loading required package: anytime
> require(tolBasis)
Loading required package: tolBasis
Loading required package: lubridate

Attaching package: ‘lubridate’

The following object is masked from ‘package:base’:

    date

> s = Serie(rnorm(12), Monthly, anytime(2015))
> s
2015-01-01 -0.8834656 
2015-02-01 -0.02837307 
2015-03-01 -0.3582061 
2015-04-01 -1.919292 
2015-05-01 -0.1775852 
2015-06-01 0.5404666 
2015-07-01 1.178675 
2015-08-01 1.314704 
2015-09-01 0.9296631 
2015-10-01 1.189989 
2015-11-01 0.5829331 
2015-12-01 -0.1527351 
> Sfirst(s)
[1] ""2014-12-31""
>
}}}

Puede verse que Sfirst está retornando una fecha que no es del fechado de s.

"	Jorge
1950	RPM CentOS 7	Various	3.4	Mantainance	defect	Jorge	closed	2017-03-14T09:27:31Z	2017-03-28T19:14:13Z	Se necesitan los RPM para CentOS 7 para ser usados en Azure.	Jorge
1951	RESTHeart: objeto meta de QFS.files incorrecto	Various	3.4	Mantainance	defect	Jorge	closed	2017-03-17T16:33:04Z	2017-03-17T17:06:25Z	"{{{
db.getCollection('QFS.files').find({})--->

{
    ""_id"" : ObjectId(""58bf2d9a14bafd14eadc85da""),
    ""filename"" : ""CCI_MainBrands_CBO_FBO_013__1.0.oza"",
    ""length"" : NumberLong(1127489),
    ""chunkSize"" : 261120,
    ""uploadDate"" : ISODate(""2017-03-07T22:00:58.259Z""),
    ""md5"" : ""cbce5ee10c6939d4c61dd2cb3c5ab45a"",
    ""metadata"" : {
        ""filename"" : ""CCI_MainBrands_CBO_FBO_013__1.0.oza"",
        ""-user"" : ""jsperez"",
        ""verbose"" : ""0"",
        ""contentType"" : ""application/zip"",
        ""_etag"" : ObjectId(""58bf2d9a14bafd14eadc85d9"")
    }
}
}}}"	Jorge
1952	Compilar tktreectrl en ThirdParty	Interface	3.4	Mantainance	task	Jorge	closed	2017-03-27T11:48:07Z	2017-03-27T14:52:00Z	En CentOS este paquete no aparece como dependencias. hay que compilarlo en ThirdParty de tolbase.	Jorge
1953	Compilar RBC en ThirdParty	Interface	3.4	Mantainance	task	Jorge	closed	2017-03-27T11:49:06Z	2017-03-27T14:36:35Z	En CentOS este paquete no aparece como dependencias. Hay que compilarlo en ThirdParty de tolbase.	Jorge
1957	Argumento opcional para la función Element	Kernel	3.4	Mantainance	defect	Jorge	closed	2017-05-12T09:43:15Z	2017-05-12T11:11:25Z	"Se necesita incorporar un nuevo argumento opcional para la función Element. Este argumento opcional puede ser el valor por omisión que se retorna si el índice solicitado no existe.
"	Jorge
1959	RapidJSOn falla con números grandes	Packages	3.4	Mantainance	defect	Jorge	closed	2017-10-24T11:17:54Z	2017-10-24T13:51:28Z	"He encontrado un error horrible en RapidJSON::CppTools::Set2JSON cuando le pasas un número mayor de 2^31 sin decimales, o con decimales nulos, que lo convierte por todo el morro en -2^31 = -2147483648

{{{
Set data = [[
413116249059.285,
416010796541.989,
417927630208.313,
414052000000,
420976000000.0,
422588000000.000,
422588000000.0001,
422588000000.00000000000000000001
]];
Text json = RapidJSON::CppTools::Set2JSON(data);
}}}

Este es el absurdo resultado

{{{
""[413116249059.285,416010796541.989,417927630208.313,-2147483648,-2147483648,-2147483648,422588000000.0001,-2147483648]""
}}}

Estos números aparecen en las series macroeconómicas con cierta frecuencia y en concreto en la que necesito para el modelo de pruebas.
"	Víctor de Buen Remiro
