From r.lucchetti@univpm.it Fri Feb 1 07:01:05 2008 From: Riccardo (Jack) Lucchetti To: gretl-devel@gretlml.univpm.it Subject: [Gretl-devel] change to quantile() Date: Fri, 01 Feb 2008 13:01:01 +0100 Message-ID: MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============8532034864336096925==" --===============8532034864336096925== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit Folks, as a preliminary step towards fixing #1855731, I re-wrote the quantile() function in a much more efficient way. Example script: results are the same as with the old function, but speed is about 10 times higher. I ran quite a few tests, and it seems that results are correct; however, you can never be too cautious, so if you could test the quantile() implementation you find in CVS and report any bugs you find, that would be very helpful. Thanks. Riccardo (Jack) Lucchetti Dipartimento di Economia Università Politecnica delle Marche r.lucchetti(a)univpm.it http://www.econ.univpm.it/lucchetti --===============8532034864336096925==-- From cottrell@wfu.edu Fri Feb 1 09:47:06 2008 From: Allin Cottrell To: gretl-devel@gretlml.univpm.it Subject: Re: [Gretl-devel] change to quantile() Date: Fri, 01 Feb 2008 09:53:39 -0500 Message-ID: In-Reply-To: alpine.DEB.1.00.0802011254390.587@ec-4.econ.univpm.it MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============2862437039555625535==" --===============2862437039555625535== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit On Fri, 1 Feb 2008, Riccardo (Jack) Lucchetti wrote: > as a preliminary step towards fixing #1855731, I re-wrote the > quantile() function in a much more efficient way... > results are the same as with the old function, but speed is > about 10 times higher. Nice! After some testing, I've redefined gretl_median() to use this new function. Allin. --===============2862437039555625535==-- From svetosch@gmx.net Mon Feb 4 08:44:23 2008 From: Sven Schreiber To: gretl-devel@gretlml.univpm.it Subject: [Gretl-devel] minor path printing bug Date: Mon, 04 Feb 2008 14:44:18 +0100 Message-ID: <47A716B2.50702@gmx.net> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============0670393695696210310==" --===============0670393695696210310== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit maybe the following is related to the recent workdir changes; each time I re-run a script with the line open de_6dim77q1.gdt at the top, I get one more slash in the echoed path, like so: Lese Datendatei <...>/permaconf///////////////////de_6dim77q1.gdt However, so far this does not cause any real problems (that's why no bug tracker item) cheers, sven --===============0670393695696210310==-- From andreas.rosenblad@ltv.se Mon Feb 4 09:18:31 2008 From: andreas.rosenblad@ltv.se To: gretl-devel@gretlml.univpm.it Subject: [Gretl-devel] Improvement of logit regression modelling in gretl Date: Mon, 04 Feb 2008 15:18:27 +0100 Message-ID: In-Reply-To: OF203BAA48.385DD660-ONC12573DE.005D6D76@LocalDomain Content-Type: multipart/mixed; boundary="===============4666669557963627066==" --===============4666669557963627066== Content-Type: image/jpeg Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="logitsuggestion.JPG" MIME-Version: 1.0 /9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0a HBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIy MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAIqAYUDASIA AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3 ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3 uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwDK8Q+M LrxTqc1zI7mxEn+jWzcIijO0lckF8E5PPUgHGBVKK4iUf8ekB+sYrE0xMxKPVf6V03h3w5EngZtS WDz558ylmB/dohcH7vUHH8XH8x9Xjcyhlso4eNO6snvby7eW549LLZYzmnzW1f6eZCb6Mf8ALrb/ APfsUw6hED/x6W//AH7FVr5oHe3IRRcsrF225YjPAJ7EcD8PrT7fStSvommtNPuriJTtaSGBnUHr gkCu/A4yniaLqtcqvbf/AIY8/EYN0Kns730Jf7Ri/wCfW2/79ij+0Yv+fW2/79iq/wDZt+LEX32G 4+yHpceS3l9dv3sY68fWrMXh7VpNRtLB9PuoZrt9sImhZA3q3I6Ack9hXY6lFbtf8NuYKlJ9xP7Q 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 yckB6eFtGTAltXuSGLFry4kuGbMbx7WaRmLJtlkGw5Ub2OMkmrenaRaaX5pthO0kuN8txcSTyMBn C75GZtoyxC5wCzEDk5NAL1FFFIYUUUUAFFFFABRRRTjuJ7HlXwK/4/vE/wD26/8AtWij4Ff8f3if /t1/9q0V6+af73P+uhzYb+FEX4K/8eOo/wC5D/OWvRrWz09LWTVLpvs5iaXzbgTtCPLSdpBvIIBV SCfm4AZx0dgfOfgr/wAeOo/7kP8AOWvUdPmW10mWdxIUjkuHYRxs7ECRzwqglj7AEntRnH++1Pl+ ROF/hr5/mUPtnhm10u21R9fjSwd1SG6k1hzFIy7OA5kwx/ccjJz+8zne+6/aadYzW8FxaXV3NAyI 8Ui6hNIrriMqc7yGBEaHPOcvnPmPu4jQ2v8ASdA0i+e3u4HGh2dhC0ulXFy1pPEW89XgTbIA42YY fKfJBJ4QN3ehXN3feH9Mu9Qtzb301rFJcQ7CnlyMgLLtPIwSRg8ivNOkWPR7aLYVlvjs243X87Z2 +XjOX5/1S5z1y+c733Eej20WwrLfHZtxuv52zt8vGcvz/qlznrl853vu0qKAM2PR7aLYVlvjs243 X87Z2+XjOX5/1S5z1y+c733Eej20WwrLfHZtxuv52zt8vGcvz/qlznrl853vu0qKAM2PR7aLYVlv js243X87Z2+XjOX5/wBUuc9cvnO99xHo9tFsKy3x2bcbr+ds7fLxnL8/6pc565fOd77tKigDNj0e 2i2FZb47NuN1/O2dvl4zl+f9Uuc9cvnO99xHo9tFsKy3x2bcbr+ds7fLxnL8/wCqXOeuXzne+7So oAzY9HtothWW+Ozbjdfztnb5eM5fn/VLnPXL5zvfcR6PbRbCst8dm3G6/nbO3y8Zy/P+qXOeuXzn e+7SooAzY9HtothWW+Ozbjdfztnb5eM5fn/VLnPXL5zvfcR6PbRbCst8dm3G6/nbO3y8Zy/P+qXO euXzne+7SooAzY9HtothWW+Ozbjdfztnb5eM5fn/AFS5z1y+c733Eej20WwrLfHZtxuv52zt8vGc vz/qlznrl853vu0qKAM2PR7aLYVlvjs243X87Z2+XjOX5/1S5z1y+c733U2sorLUbVImnKmCTmad 5TwIVHLknooz6nJOSSTvVlX/APyFrT/rhN/6FHQJmTIt5qmv3Gnw6hNYxWttFMz26oXcyNIAPnVg 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 --===============4666669557963627066== Content-Type: image/jpeg Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="SPSSlogit.jpg" MIME-Version: 1.0 /9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAYEBQYFBAYGBQYHBwYIChAKCgkJChQODwwQFxQYGBcU FhYaHSUfGhsjHBYWICwgIyYnKSopGR8tMC0oMCUoKSj/2wBDAQcHBwoIChMKChMoGhYaKCgoKCgo KCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCj/wAARCADlAVADASIA AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3 ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3 uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwDm/Cnj e8+H3jG+gv1uWNuLmAWsV1Itut5tKiSSJWCyjKbTnnB3DlQKp3uvXmt3xvdYme/un6vcHftBJO1R 0Vck4UYAzwBWF8UlP/CzNf8AfV7n/wBGvXWfDDw0PFHiO30yVnjhaKR3kQgFdqEqee27aPoa/UYQ pUlLGTSTaTb+V/67nyeKhKShQg+tkvmVoryJF4srT8YhTm1OIf8ALlZ/9+hWtdeE57TwE2u3Mc0d wNS+xmIsoVUCtuYjqT5ihePf61m6n4V1jTv7XN7arH/ZBhW9/fRnyTNjyxw3Odw6Z6810QxOHne0 lo7b9dP1aXq0ea8LVja6e1/z/wAmVzqsWf8Ajys/+/Qo/tWH/nys/wDv0K6rxX8PodNn8ZzWV+q2 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 --===============4666669557963627066==-- From svetosch@gmx.net Mon Feb 4 09:48:34 2008 From: Sven Schreiber To: gretl-devel@gretlml.univpm.it Subject: [Gretl-devel] for loops too restrictive? Date: Mon, 04 Feb 2008 15:48:29 +0100 Message-ID: <47A725BD.2080108@gmx.net> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============7457774796643551832==" --===============7457774796643551832== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Hi, why is the following script invalid ("end index must be greater than start index") loop for i=1..1 print "check" end loop when the next equivalent one works fine? lagorder = 1 loop for i=1..lagorder print "check" end loop thanks, sven --===============7457774796643551832==-- From cottrell@wfu.edu Mon Feb 4 10:03:03 2008 From: Allin Cottrell To: gretl-devel@gretlml.univpm.it Subject: Re: [Gretl-devel] for loops too restrictive? Date: Mon, 04 Feb 2008 10:09:30 -0500 Message-ID: In-Reply-To: 47A725BD.2080108@gmx.net MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============5882172446320522504==" --===============5882172446320522504== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit On Mon, 4 Feb 2008, Sven Schreiber wrote: > why is the following script invalid ("end index must be greater than start > index") > > > loop for i=1..1 > print "check" > end loop > For purely historical reasons. Fixed in CVS. Allin. --===============5882172446320522504==-- From cottrell@wfu.edu Mon Feb 4 10:10:14 2008 From: Allin Cottrell To: gretl-devel@gretlml.univpm.it Subject: Re: [Gretl-devel] minor path printing bug Date: Mon, 04 Feb 2008 10:16:44 -0500 Message-ID: In-Reply-To: 47A716B2.50702@gmx.net MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============6185142976097264884==" --===============6185142976097264884== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit On Mon, 4 Feb 2008, Sven Schreiber wrote: > maybe the following is related to the recent workdir changes; > each time I re-run a script with the line > > open de_6dim77q1.gdt > > at the top, I get one more slash in the echoed path, like so: > > Lese Datendatei > <...>/permaconf///////////////////de_6dim77q1.gdt Strange, I can't replicate that. I put a gdt file with that name in place, and created a script that opens it. Each time I run the script I get: gretl version 1.7.1 Current session: 2008/02/04 10:05 ? open de_6dim77q1.gdt Read datafile /home/cottrell/stats/esl/gretl/build/gui2/de_6dim77q1.gdt Anyone else seen what Sven is seeing? Allin. --===============6185142976097264884==-- From ignacio.diaz-emparanza@ehu.es Mon Feb 4 10:31:12 2008 From: Ignacio Diaz-Emparanza To: gretl-devel@gretlml.univpm.it Subject: Re: [Gretl-devel] minor path printing bug Date: Mon, 04 Feb 2008 16:31:08 +0100 Message-ID: <200802041631.08145.ignacio.diaz-emparanza@ehu.es> In-Reply-To: alpine.LRH.1.00.0802041012360.9265@ricardo.ecn.wfu.edu MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============6608792756854520123==" --===============6608792756854520123== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable El Monday 04 February 2008 16:16:44 Allin Cottrell escribi=C3=B3: > On Mon, 4 Feb 2008, Sven Schreiber wrote: > > maybe the following is related to the recent workdir changes; > > each time I re-run a script with the line > > > > open de_6dim77q1.gdt > > > > at the top, I get one more slash in the echoed path, like so: > > > > Lese Datendatei > > <...>/permaconf///////////////////de_6dim77q1.gdt > > Strange, I can't replicate that. I put a gdt file with that name > in place, and created a script that opens it. Each time I run the > script I get: > > gretl version 1.7.1 > Current session: 2008/02/04 10:05 > ? open de_6dim77q1.gdt > > Read datafile > /home/cottrell/stats/esl/gretl/build/gui2/de_6dim77q1.gdt > > Anyone else seen what Sven is seeing? I get the same effect with the 'include' command: ? include xxf.inp /home/etpdihei/gretl/scripts///////////////xxf.inp bien abierto (gretl on Linux downloaded today from the CVS) --=20 Ignacio Diaz-Emparanza =20 DEPARTAMENTO DE ECONOM=C3=8DA APLICADA III (ECONOMETR=C3=8DA Y ESTAD=C3=8DSTI= CA) =20 UPV/EHU Avda. Lehendakari Aguirre, 83 | 48015 BILBAO T.: +34 946013732 | F.: +34 946013754 www.et.bs.ehu.es=20 --===============6608792756854520123==-- From svetosch@gmx.net Mon Feb 4 11:01:53 2008 From: Sven Schreiber To: gretl-devel@gretlml.univpm.it Subject: Re: [Gretl-devel] minor path printing bug Date: Mon, 04 Feb 2008 17:01:32 +0100 Message-ID: <47A736DC.8050107@gmx.net> In-Reply-To: 200802041631.08145.ignacio.diaz-emparanza@ehu.es MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============1337146807969791483==" --===============1337146807969791483== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit Am 04.02.2008 16:31, Ignacio Diaz-Emparanza schrieb: > El Monday 04 February 2008 16:16:44 Allin Cottrell escribió: >> On Mon, 4 Feb 2008, Sven Schreiber wrote: >>> maybe the following is related to the recent workdir changes; >>> each time I re-run a script with the line >>> >>> open de_6dim77q1.gdt >>> >>> at the top, I get one more slash in the echoed path, like so: >>> >>> Lese Datendatei >>> <...>/permaconf///////////////////de_6dim77q1.gdt >> Strange, I can't replicate that. I put a gdt file with that name >> in place, and created a script that opens it. Each time I run the >> script I get: >> >> gretl version 1.7.1 >> Current session: 2008/02/04 10:05 >> ? open de_6dim77q1.gdt >> >> Read datafile >> /home/cottrell/stats/esl/gretl/build/gui2/de_6dim77q1.gdt >> >> Anyone else seen what Sven is seeing? > > I get the same effect with the 'include' command: > > ? include xxf.inp > /home/etpdihei/gretl/scripts///////////////xxf.inp bien abierto > > (gretl on Linux downloaded today from the CVS) > > Yes I have some 'include' commands in there as well, so I guess my attempt to cut down to the basics carried me a little too far... -sven --===============1337146807969791483==-- From cottrell@wfu.edu Mon Feb 4 12:57:09 2008 From: Allin Cottrell To: gretl-devel@gretlml.univpm.it Subject: Re: [Gretl-devel] minor path printing bug Date: Mon, 04 Feb 2008 13:03:39 -0500 Message-ID: In-Reply-To: 200802041631.08145.ignacio.diaz-emparanza@ehu.es MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============7151094549558260922==" --===============7151094549558260922== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit On Mon, 4 Feb 2008, Ignacio Diaz-Emparanza wrote: > I get the same effect with the 'include' command: > > ? include xxf.inp > /home/etpdihei/gretl/scripts///////////////xxf.inp bien abierto I think this may be fixed now. Allin. --===============7151094549558260922==-- From svetosch@gmx.net Tue Feb 5 06:20:09 2008 From: Sven Schreiber To: gretl-devel@gretlml.univpm.it Subject: [Gretl-devel] auto indent Date: Tue, 05 Feb 2008 12:20:03 +0100 Message-ID: <47A84663.9010604@gmx.net> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============7747597314180460363==" --===============7747597314180460363== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Some small feedback about the new "smart" script editor: when I type 'function'+ in a script file with existing functions, 'function' gets indented, a bug IMHO. -sven --===============7747597314180460363==-- From svetosch@gmx.net Tue Feb 5 07:27:46 2008 From: Sven Schreiber To: gretl-devel@gretlml.univpm.it Subject: Re: [Gretl-devel] auto indent Date: Tue, 05 Feb 2008 13:27:38 +0100 Message-ID: <47A8563A.3040202@gmx.net> In-Reply-To: 47A84663.9010604@gmx.net MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============0252315895335562375==" --===============0252315895335562375== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Am 05.02.2008 12:20, Sven Schreiber schrieb: > Some small feedback about the new "smart" script editor: > another suggestion (not a bug): after line continuation '\' the next line could be indented a bit. -sven --===============0252315895335562375==-- From svetosch@gmx.net Tue Feb 5 07:56:12 2008 From: Sven Schreiber To: gretl-devel@gretlml.univpm.it Subject: [Gretl-devel] crash with fdjac Date: Tue, 05 Feb 2008 13:56:01 +0100 Message-ID: <47A85CE1.6070408@gmx.net> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============7503217229203877915==" --===============7503217229203877915== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit The example script below crashes gretl every time (on linux with the cvs version from a couple of days ago). Note that the embedded function call in the string argument of fdjac is missing one required argument. Let me know if there is currently no time to address this, then I will file it in the bug tracker. thanks, sven --===============7503217229203877915==-- From cottrell@wfu.edu Tue Feb 5 09:03:03 2008 From: Allin Cottrell To: gretl-devel@gretlml.univpm.it Subject: Re: [Gretl-devel] auto indent Date: Tue, 05 Feb 2008 09:09:33 -0500 Message-ID: In-Reply-To: 47A84663.9010604@gmx.net MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============7316115716305955312==" --===============7316115716305955312== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit On Tue, 5 Feb 2008, Sven Schreiber wrote: > Some small feedback about the new "smart" script editor: > > when I type 'function'+ in a script file with existing functions, > 'function' gets indented, a bug IMHO. Yes, thanks. Should be fixed in CVS. Allin. --===============7316115716305955312==-- From cottrell@wfu.edu Tue Feb 5 12:12:38 2008 From: Allin Cottrell To: gretl-devel@gretlml.univpm.it Subject: Re: [Gretl-devel] auto indent Date: Tue, 05 Feb 2008 12:19:06 -0500 Message-ID: In-Reply-To: 47A8563A.3040202@gmx.net MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============6079770943509661603==" --===============6079770943509661603== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit On Tue, 5 Feb 2008, Sven Schreiber wrote: > Am 05.02.2008 12:20, Sven Schreiber schrieb: > > Some small feedback about the new "smart" script editor: > > another suggestion (not a bug): after line continuation '\' the next line > could be indented a bit. Hmm, handing line continuation is something I hadn't really considered, and it's quite tricky. I've had a go at this now: try current CVS. Allin. --===============6079770943509661603==-- From cottrell@wfu.edu Tue Feb 5 12:28:17 2008 From: Allin Cottrell To: gretl-devel@gretlml.univpm.it Subject: Re: [Gretl-devel] crash with fdjac Date: Tue, 05 Feb 2008 12:34:46 -0500 Message-ID: In-Reply-To: 47A85CE1.6070408@gmx.net MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============6305798716125310415==" --===============6305798716125310415== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit On Tue, 5 Feb 2008, Sven Schreiber wrote: > The example script below crashes gretl every time (on linux with the cvs > version from a couple of days ago). > > Note that the embedded function call in the string argument of fdjac is > missing one required argument. Thanks for the report. Fixed in CVS. Allin. --===============6305798716125310415==-- From cottrell@wfu.edu Tue Feb 5 14:52:56 2008 From: Allin Cottrell To: gretl-devel@gretlml.univpm.it Subject: [Gretl-devel] Feature Request 1886987 Date: Tue, 05 Feb 2008 14:59:23 -0500 Message-ID: MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============0791643458127778395==" --===============0791643458127778395== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Ignacio writes: > I think may be useful to have a command that clears the series > in the dataset without deleting from memory the currently > defined matrices. This will do easier to deal with data in > different disagregation periods. > It can be also convenient to have a text command equivalent to > /File/clear dataset, and another text command equivalent to > /File/Append data The simple point first: the "append" command does what /File/Append data does. As for clearing data, I've put some experimental things is place. For the script equivalent of "/File/Clear data set" I've added a "clear" argument to the "dataset" command. That is, you say dataset clear But this has a "preserve" option: dataset clear --preserve which has the effect that existing named matrices are not destroyed. Similarly, the commands "open" and "nulldata" have a --preserve option: clear most stuff out, but keep matrices. At present the --preserve option does not have a GUI counterpart. Allin. --===============0791643458127778395==-- From ignacio.diaz-emparanza@ehu.es Wed Feb 6 08:58:27 2008 From: Ignacio Diaz-Emparanza To: gretl-devel@gretlml.univpm.it Subject: Re: [Gretl-devel] Feature Request 1886987 Date: Wed, 06 Feb 2008 14:58:23 +0100 Message-ID: <200802061458.23938.ignacio.diaz-emparanza@ehu.es> In-Reply-To: alpine.LRH.1.00.0802051401580.19014@ricardo.ecn.wfu.edu MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============4519578720313753166==" --===============4519578720313753166== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable El Tuesday 05 February 2008 20:59:23 Allin Cottrell escribi=C3=B3: > Ignacio writes: > > I think may be useful to have a command that clears the series > > in the dataset without deleting from memory the currently > > defined matrices. This will do easier to deal with data in > > different disagregation periods. > > > > It can be also convenient to have a text command equivalent to > > /File/clear dataset, and another text command equivalent to > > /File/Append data > > The simple point first: the "append" command does what > /File/Append data does. Ok. > > As for clearing data, I've put some experimental things is place. > > For the script equivalent of "/File/Clear data set" I've added a > "clear" argument to the "dataset" command. That is, you say > > dataset clear > > But this has a "preserve" option: > > dataset clear --preserve > > which has the effect that existing named matrices are not > destroyed. > > Similarly, the commands "open" and "nulldata" have a --preserve > option: clear most stuff out, but keep matrices. Thank you. That is perfect ! I checked the option with three commands (dataset, nulldata and open) and all= =20 of them works very well. I am sure it is a very very usefull feature. --=20 Ignacio Diaz-Emparanza =20 DEPARTAMENTO DE ECONOM=C3=8DA APLICADA III (ECONOMETR=C3=8DA Y ESTAD=C3=8DSTI= CA) =20 UPV/EHU Avda. Lehendakari Aguirre, 83 | 48015 BILBAO T.: +34 946013732 | F.: +34 946013754 www.et.bs.ehu.es=20 --===============4519578720313753166==-- From svetosch@gmx.net Wed Feb 6 10:51:26 2008 From: Sven Schreiber To: gretl-devel@gretlml.univpm.it Subject: Re: [Gretl-devel] auto indent Date: Wed, 06 Feb 2008 16:51:08 +0100 Message-ID: <47A9D76C.4040408@gmx.net> In-Reply-To: 47A84663.9010604@gmx.net MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============3605654292896442052==" --===============3605654292896442052== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Am 05.02.2008 12:20, Sven Schreiber schrieb: > Some small feedback about the new "smart" script editor: > now about the "comment out region" option (right-click): It seems this is disabled when the selected region contains comment lines, so it's not possible to comment out a part of the code which has some explanations. It would be more consistent IMHO if this could be enabled. thanks, sven --===============3605654292896442052==-- From svetosch@gmx.net Wed Feb 6 10:57:08 2008 From: Sven Schreiber To: gretl-devel@gretlml.univpm.it Subject: Re: [Gretl-devel] Feature Request 1886987 Date: Wed, 06 Feb 2008 16:56:55 +0100 Message-ID: <47A9D8C7.2050506@gmx.net> In-Reply-To: alpine.LRH.1.00.0802051401580.19014@ricardo.ecn.wfu.edu MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============2934408378838399784==" --===============2934408378838399784== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Am 05.02.2008 20:59, Allin Cottrell schrieb: > > But this has a "preserve" option: > > dataset clear --preserve > > which has the effect that existing named matrices are not > destroyed. > > Similarly, the commands "open" and "nulldata" have a --preserve > option: clear most stuff out, but keep matrices. > I guess this does not cover scalar variables, what about the new string variables? Or to put it differently: What's the rationale behind displaying scalars in the list of variables, but matrices as items in the session view? And where (if anywhere) are the strings and lists? With respect to scalars I guess the reason is historical, but then I would suggest a reform according to some (intuitive?) guideline. thanks, sven --===============2934408378838399784==-- From cottrell@wfu.edu Wed Feb 6 11:57:07 2008 From: Allin Cottrell To: gretl-devel@gretlml.univpm.it Subject: Re: [Gretl-devel] auto indent Date: Wed, 06 Feb 2008 12:03:34 -0500 Message-ID: In-Reply-To: 47A9D76C.4040408@gmx.net MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============4904326625422415350==" --===============4904326625422415350== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit On Wed, 6 Feb 2008, Sven Schreiber wrote: > Am 05.02.2008 12:20, Sven Schreiber schrieb: > > Some small feedback about the new "smart" script editor: > > > > now about the "comment out region" option (right-click): > > It seems this is disabled when the selected region contains > comment lines, so it's not possible to comment out a part of the > code which has some explanations. It would be more consistent > IMHO if this could be enabled. IMO, in this case the user should manually insert "/*" and "*/" . Allin --===============4904326625422415350==-- From cottrell@wfu.edu Wed Feb 6 14:33:15 2008 From: Allin Cottrell To: gretl-devel@gretlml.univpm.it Subject: Re: [Gretl-devel] Feature Request 1886987 Date: Wed, 06 Feb 2008 14:39:42 -0500 Message-ID: In-Reply-To: 47A9D8C7.2050506@gmx.net MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============9123232371369043275==" --===============9123232371369043275== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit On Wed, 6 Feb 2008, Sven Schreiber wrote: > Am 05.02.2008 20:59, Allin Cottrell schrieb: > > > > > But this has a "preserve" option: > > > > dataset clear --preserve > > > > which has the effect that existing named matrices are not destroyed. > > > > Similarly, the commands "open" and "nulldata" have a --preserve option: > > clear most stuff out, but keep matrices. > > I guess this does not cover scalar variables, what about the new string > variables? Nothing but matrices, so far. But scalars and strings are worth thinking about. > Or to put it differently: What's the rationale behind displaying > scalars in the list of variables, but matrices as items in the > session view? And where (if anywhere) are the strings and lists? > With respect to scalars I guess the reason is historical, but > then I would suggest a reform according to some (intuitive?) > guideline. Yes, this should be sorted out at some point. However, there's _some_ sense in the current ad hoc setup, in that it would be silly to give scalars icons in the session view, not so silly to do that with matrices, IMO. There's no GUI representation of saved lists or strings. I can't see any use for giving the latter such a representation, but one could probably think of a use for the former. Allin. --===============9123232371369043275==-- From svetosch@gmx.net Wed Feb 6 16:46:18 2008 From: Sven Schreiber To: gretl-devel@gretlml.univpm.it Subject: Re: [Gretl-devel] auto indent Date: Wed, 06 Feb 2008 22:46:11 +0100 Message-ID: <47AA2AA3.2040909@gmx.net> In-Reply-To: alpine.LRH.1.00.0802061202350.29432@ricardo.ecn.wfu.edu MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============2989916374075002949==" --===============2989916374075002949== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Am 06.02.2008 18:03, Allin Cottrell schrieb: > On Wed, 6 Feb 2008, Sven Schreiber wrote: > >> Am 05.02.2008 12:20, Sven Schreiber schrieb: >>> Some small feedback about the new "smart" script editor: >>> >> now about the "comment out region" option (right-click): >> >> It seems this is disabled when the selected region contains >> comment lines, so it's not possible to comment out a part of the >> code which has some explanations. It would be more consistent >> IMHO if this could be enabled. > > IMO, in this case the user should manually insert "/*" and > "*/" . > /* .. */ is fine with me, but from this perspective the new "comment out region" feature seems superfluous. It won't work with good code because good code always includes extensive comments, right? ;-) -sven --===============2989916374075002949==-- From cottrell@wfu.edu Wed Feb 6 17:33:31 2008 From: Allin Cottrell To: gretl-devel@gretlml.univpm.it Subject: Re: [Gretl-devel] auto indent Date: Wed, 06 Feb 2008 17:39:58 -0500 Message-ID: In-Reply-To: 47AA2AA3.2040909@gmx.net MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============4419959276766334741==" --===============4419959276766334741== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit On Wed, 6 Feb 2008, Sven Schreiber wrote: > /* .. */ is fine with me, but from this perspective the new > "comment out region" feature seems superfluous. It won't work > with good code because good code always includes extensive > comments, right? ;-) I think you're being a little "picky" here. The intent behind the Comment region/Uncomment region menu items is to provide a quick and easy way of disabling/enabling smallish portions of script on the fly, with a mouse gesture rather than fallible typing. It's the sort of thing I might use when messing with a gretl script in front of a class, where keyboard access is awkward. I can't easily imagine how it could work well on a chunk of script that includes both active commands and comments; certainly the code would have to be a good deal more complicated. Allin. --===============4419959276766334741==-- From svetosch@gmx.net Wed Feb 6 17:52:32 2008 From: Sven Schreiber To: gretl-devel@gretlml.univpm.it Subject: Re: [Gretl-devel] auto indent Date: Wed, 06 Feb 2008 23:52:20 +0100 Message-ID: <47AA3A24.6040109@gmx.net> In-Reply-To: alpine.LRH.1.00.0802061733090.1605@ricardo.ecn.wfu.edu MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============1350941517557121590==" --===============1350941517557121590== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Am 06.02.2008 23:39, Allin Cottrell schrieb: > On Wed, 6 Feb 2008, Sven Schreiber wrote: > >> /* .. */ is fine with me, but from this perspective the new >> "comment out region" feature seems superfluous. It won't work >> with good code because good code always includes extensive >> comments, right? ;-) > > I think you're being a little "picky" here. The intent behind the > Comment region/Uncomment region menu items is to provide a quick > and easy way of disabling/enabling smallish portions of script on > the fly, with a mouse gesture rather than fallible typing. It's > the sort of thing I might use when messing with a gretl script in > front of a class, where keyboard access is awkward. > > I can't easily imagine how it could work well on a chunk of script > that includes both active commands and comments; certainly the > code would have to be a good deal more complicated. > > Allin. I just wanted to point out what I saw as quirks and make sure it wasn't an oversight. This is settled now; as I said, I'm completely fine with using /* */. good night, sven --===============1350941517557121590==-- From svetosch@gmx.net Thu Feb 7 16:54:55 2008 From: Sven Schreiber To: gretl-devel@gretlml.univpm.it Subject: Re: [Gretl-devel] Feature Request 1886987 Date: Thu, 07 Feb 2008 22:54:46 +0100 Message-ID: <47AB7E26.3060000@gmx.net> In-Reply-To: alpine.LRH.1.00.0802061433280.29432@ricardo.ecn.wfu.edu MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============3857823215873025498==" --===============3857823215873025498== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Am 06.02.2008 20:39, Allin Cottrell schrieb: > On Wed, 6 Feb 2008, Sven Schreiber wrote: > >> Am 05.02.2008 20:59, Allin Cottrell schrieb: >> >>> But this has a "preserve" option: >>> >>> dataset clear --preserve >>> >>> which has the effect that existing named matrices are not destroyed. >>> >>> Similarly, the commands "open" and "nulldata" have a --preserve option: >>> clear most stuff out, but keep matrices. >> I guess this does not cover scalar variables, what about the new string >> variables? > > Nothing but matrices, so far. But scalars and strings are worth > thinking about. What about the rule: there are two object classes, one which covers data series and everything else which is saved in the datafile (as opposed to the session file), and the remaining stuff which gretl does not save in a datafile. (Don't know how gretl currently treats or should treat scalars and strings.) '--preserve' would apply to all objects in the second class. ... However, there's > _some_ sense in the current ad hoc setup, in that it would be > silly to give scalars icons in the session view, not so silly to > do that with matrices, IMO. True > > There's no GUI representation of saved lists or strings. I can't > see any use for giving the latter such a representation, but one > could probably think of a use for the former. I agree; for example for the py4gretl functions it would have been nice if it had been possible to define and/or check the existing lists visually before calling the function package. (The list definition dialog from within the function package is very nice, couldn't that be promoted to a more broadly available dialog?) cheers, sven --===============3857823215873025498==-- From cri@linux.it Fri Feb 8 13:04:38 2008 From: Cristian Rigamonti To: gretl-devel@gretlml.univpm.it Subject: [Gretl-devel] Re: adkins' manual Date: Fri, 08 Feb 2008 19:04:01 +0100 Message-ID: <20080208180401.GA6466@pegasus> In-Reply-To: 5A46656E7AA33D4E9D8ABC229A82D6BD0532A1@fsmail1.AD.Berry.edu Content-Type: multipart/mixed; boundary="===============8653109689602016431==" --===============8653109689602016431== Content-Type: application/pgp-signature Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="signature.asc" MIME-Version: 1.0 LS0tLS1CRUdJTiBQR1AgU0lHTkFUVVJFLS0tLS0KVmVyc2lvbjogR251UEcgdjEuNC42IChHTlUv TGludXgpCgppRDhEQlFGSHJKbVJyU0FhZ1pRNlh3NFJBb1dVQUo0NFJJK3lBN2Y4aGJ0bW40THUw eHpBODRxTVZBQ2ZlZkRVCkJucEJjdGpFOENDeXhJSFFERlVBUWtvPQo9VDR2WgotLS0tLUVORCBQ R1AgU0lHTkFUVVJFLS0tLS0K --===============8653109689602016431==-- From cottrell@wfu.edu Fri Feb 8 15:44:32 2008 From: Allin Cottrell To: gretl-devel@gretlml.univpm.it Subject: Re: [Gretl-devel] Re: adkins' manual Date: Fri, 08 Feb 2008 15:50:57 -0500 Message-ID: In-Reply-To: 20080208180401.GA6466@pegasus MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============4763358798091525289==" --===============4763358798091525289== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit On Fri, 8 Feb 2008, Cristian Rigamonti wrote: > I didn't know about this manual (and related datasets). Don't you think we > should add a link to that from the gretl website (maybe from the "Data for > gretl" page)? > > If you agree, I could do that. Yes, please. That would be very helpful. Allin. --===============4763358798091525289==-- From svetosch@gmx.net Fri Feb 8 17:33:06 2008 From: Sven Schreiber To: gretl-devel@gretlml.univpm.it Subject: [Gretl-devel] matrix indexing error message? Date: Fri, 08 Feb 2008 23:32:50 +0100 Message-ID: <47ACD892.6060103@gmx.net> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============6061463600351907409==" --===============6061463600351907409== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Hi, I don't get any error message when trying to index matrices beyond their actual dimensions, see the example script below. Don't know if it's a bug or a missing feature but the information would be very helpful for debugging (as I just learned the hard way)... thanks, sven open denmark matrix check = I(4) tix = 1 loop while tix<=5 print tix matrix my = check[5,] tix = tix + 1 end loop --===============6061463600351907409==-- From cottrell@wfu.edu Fri Feb 8 17:39:10 2008 From: Allin Cottrell To: gretl-devel@gretlml.univpm.it Subject: Re: [Gretl-devel] matrix indexing error message? Date: Fri, 08 Feb 2008 17:45:34 -0500 Message-ID: In-Reply-To: 47ACD892.6060103@gmx.net MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============8457030250212191123==" --===============8457030250212191123== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit On Fri, 8 Feb 2008, Sven Schreiber wrote: > I don't get any error message when trying to index matrices > beyond their actual dimensions, see the example script below... I'll check on that, there certainly should be an error. Please beware current CVS: there's some temporary breakage; should be fixed by tomorrow. Allin. --===============8457030250212191123==-- From cottrell@wfu.edu Fri Feb 8 20:26:53 2008 From: Allin Cottrell To: gretl-devel@gretlml.univpm.it Subject: Re: [Gretl-devel] matrix indexing error message? Date: Fri, 08 Feb 2008 20:33:18 -0500 Message-ID: In-Reply-To: alpine.LRH.1.00.0802081744080.17842@ricardo.ecn.wfu.edu MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============3090693145268714109==" --===============3090693145268714109== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit On Fri, 8 Feb 2008, Allin Cottrell wrote: > Please beware current CVS: there's some temporary breakage; > should be fixed by tomorrow. I believe it's fixed as of now. I'll explain what I was doing shortly; it should bring some advantages. Allin. --===============3090693145268714109==-- From cottrell@wfu.edu Fri Feb 8 20:37:37 2008 From: Allin Cottrell To: gretl-devel@gretlml.univpm.it Subject: Re: [Gretl-devel] matrix indexing error message? Date: Fri, 08 Feb 2008 20:44:02 -0500 Message-ID: In-Reply-To: alpine.LRH.1.00.0802081744080.17842@ricardo.ecn.wfu.edu MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============4446693886000104703==" --===============4446693886000104703== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit On Fri, 8 Feb 2008, Allin Cottrell wrote: > On Fri, 8 Feb 2008, Sven Schreiber wrote: > > > I don't get any error message when trying to index matrices > > beyond their actual dimensions, see the example script below... Ah, the error message was going to stderr, rather than being printed visibly (for people who don't look at stderr ;-). Fixed in CVS. Allin. --===============4446693886000104703==-- From cottrell@wfu.edu Fri Feb 8 22:35:55 2008 From: Allin Cottrell To: gretl-devel@gretlml.univpm.it Subject: [Gretl-devel] changes regarding genr and lists Date: Fri, 08 Feb 2008 22:42:20 -0500 Message-ID: MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============5155476261084948275==" --===============5155476261084948275== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Fairy long, I'm afraid, but probably worth reading if you do a lot of scripting, particularly with lists or matrices. In working on some scripts lately I've been building lists using the syntax list foo = null loop ... list foo += varname ... endloop This works OK, but I kept forgetting to say "list foo += .." rather than just "foo += ...". The result was an "unknown variable in command" error message, which I found confusing at first, then annoying. (Appearing on the left-hand side of a genr-type expression, "foo" was not recognized as the name of anything, unless you prompted gretl to look for lists with the "list" keyword.) So I've made a start on incorporating lists into the genr mechanism more fully. You no longer have to repeat "list" in front of listnames, as above. Once a list is created, you can add to it, subtract from it, or redefine it, just using its name. While working in this area I discovered a bug or two in genr. For example, up till today, if you typed scalar x = 3 4 you'd get a scalar x with value 3 and no error message, despite the syntactically incorrect trailing " 4". No more. Now, one or more spaces between variables or constants in a genr formula (with no intervening operator or punctuation) has a specific meaning, namely, concatenation of list elements. So, the following is OK: list xlist = 1 2 3 xlist += 4 5 6 But "scalar x = 3 4" will produce an error: it's trying to assign a list to a scalar. One side effect is worth noting. According to the manual, the way to create a matrix out of data series is, e.g., matrix m = { x1, x2, x3 } with the names of the series separated by commas. Up till now, however, this would also work: matrix m = { x1 x2 x3 } This was just sloppiness, and it won't work any more. The other bug I found was the possible masking of lists by scalars or series. E.g. list X = x1 x2 x3 X = log(x1) The second command would go through without flagging any error: you'd get a variable named X, but the list named "X" would now be inaccessible. This can't happen any more: open data4-10 list X = 1 2 3 X = log(ENROLL) > Data types not conformable for operation However, if you replace the third line with list X = log(ENROLL) you get the effect you might expect, namely, replacing the original list with a new one that has one element, l_ENROLL. There are no doubt some new issues introduced by this change that will need to be hashed out. But the warning I gave earlier about the state of CVS related to breakage of previously valid uses of genr, and I believe that problem is now fixed. Allin. --===============5155476261084948275==-- From r.lucchetti@univpm.it Sat Feb 9 03:02:00 2008 From: Riccardo (Jack) Lucchetti To: gretl-devel@gretlml.univpm.it Subject: Re: [Gretl-devel] changes regarding genr and lists Date: Sat, 09 Feb 2008 09:01:54 +0100 Message-ID: In-Reply-To: alpine.LRH.1.00.0802081551310.17842@ricardo.ecn.wfu.edu MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============5512995534300340116==" --===============5512995534300340116== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit On Fri, 8 Feb 2008, Allin Cottrell wrote: [...] > One side effect is worth noting. According to the manual, the way > to create a matrix out of data series is, e.g., > > matrix m = { x1, x2, x3 } > > with the names of the series separated by commas. Up till now, > however, this would also work: > > matrix m = { x1 x2 x3 } > > This was just sloppiness, and it won't work any more. I hope there are not many scripts around that rely on the latter syntax. With a construct like the above, CVS version now simply gives "Syntax error in command line". I do welcome the change, but perhaps we ought to define a new error code and a corresponding error message for cases like this; something like "Obsolete syntax", perhaps? > There are no doubt some new issues introduced by this change > that will need to be hashed out. But the warning I gave earlier > about the state of CVS related to breakage of previously valid > uses of genr, and I believe that problem is now fixed. Thank you, this is really useful. From the user side we have obvious benefits; the benefits on the developer side are maybe less obvious, but even more dramatic: we get rid of a series of ad-hoc treatments and incorporate lists fully into the genr jurisdiction. I guess that in the future, when time allows, we'll have to do the same with strings. Riccardo (Jack) Lucchetti Dipartimento di Economia Università Politecnica delle Marche r.lucchetti(a)univpm.it http://www.econ.univpm.it/lucchetti --===============5512995534300340116==-- From cottrell@wfu.edu Sat Feb 9 08:44:07 2008 From: Allin Cottrell To: gretl-devel@gretlml.univpm.it Subject: Re: [Gretl-devel] changes regarding genr and lists Date: Sat, 09 Feb 2008 08:50:31 -0500 Message-ID: In-Reply-To: alpine.DEB.1.00.0802090851300.22869@ec-4.econ.univpm.it MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============1049162338035752000==" --===============1049162338035752000== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit On Sat, 9 Feb 2008, Riccardo (Jack) Lucchetti wrote: > > Up till now, however, this would also work: > > > > matrix m = { x1 x2 x3 } > > > > This was just sloppiness, and it won't work any more. > > I hope there are not many scripts around that rely on the latter > syntax... After writing my note, I realized that the formulation above actually _should_ work now (though it shouldn't have worked before!). Because, in effect, it's matrix m = { } and lists are supposed to be OK in that context. I'll work on that. (The trouble right now is that only named lists are accepted in that context.) > Thank you, this is really useful. From the user side we have > obvious benefits; the benefits on the developer side are maybe > less obvious, but even more dramatic: we get rid of a series of > ad-hoc treatments and incorporate lists fully into the genr > jurisdiction. I guess that in the future, when time allows, > we'll have to do the same with strings. Yes. Though we're not totally free of ad-hocery on lists just yet; but getting better. Allin. --===============1049162338035752000==-- From svetosch@gmx.net Sat Feb 9 09:24:58 2008 From: Sven Schreiber To: gretl-devel@gretlml.univpm.it Subject: Re: [Gretl-devel] changes regarding genr and lists Date: Sat, 09 Feb 2008 15:24:47 +0100 Message-ID: <47ADB7AF.1060801@gmx.net> In-Reply-To: alpine.LRH.1.00.0802081551310.17842@ricardo.ecn.wfu.edu MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============7590200173367250382==" --===============7590200173367250382== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Am 09.02.2008 04:42, Allin Cottrell schrieb: > > In working on some scripts lately I've been building lists using > the syntax > > list foo = null > loop > ... > list foo += varname > ... > endloop > > This works OK, but I kept forgetting to say "list foo += .." > rather than just "foo += ...". The result was an "unknown > variable in command" error message, which I found confusing at > first, then annoying. (Appearing on the left-hand side of a > genr-type expression, "foo" was not recognized as the name of > anything, unless you prompted gretl to look for lists with the > "list" keyword.) > > So I've made a start on incorporating lists into the genr > mechanism more fully. You no longer have to repeat "list" in > front of listnames, as above. Once a list is created, you can add > to it, subtract from it, or redefine it, just using its name. > That's a nice change, thanks. On a related issue, AFAIK matrix assignments always have to start with 'matrix' as well, or is this no longer true? Apart from the fact that it also gets a bit annoying after a while when you do a lot of matrix stuff, if the behavior for lists changes then it should change for matrices as well, IMHO. If that isn't possible for some internal technical reason, maybe some short alias for 'matrix' could be introduced, like 'mat' or 'mx', or even only 'm' (this last one may be too radical)? thanks, sven --===============7590200173367250382==-- From svetosch@gmx.net Sat Feb 9 09:28:43 2008 From: Sven Schreiber To: gretl-devel@gretlml.univpm.it Subject: Re: [Gretl-devel] changes regarding genr and lists Date: Sat, 09 Feb 2008 15:28:33 +0100 Message-ID: <47ADB891.3060806@gmx.net> In-Reply-To: alpine.LRH.1.00.0802081551310.17842@ricardo.ecn.wfu.edu MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============8636379650327923148==" --===============8636379650327923148== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Am 09.02.2008 04:42, Allin Cottrell schrieb: > > There are no doubt some new issues introduced by this change > that will need to be hashed out. But the warning I gave earlier > about the state of CVS related to breakage of previously valid > uses of genr, and I believe that problem is now fixed. > I'm relieved, because yesterday some weird errors were driving me crazy and I was beginning to doubt my understanding of gretl-script. I hope it was really related to what you have in mind ;-) -sven --===============8636379650327923148==-- From svetosch@gmx.net Sat Feb 9 10:26:50 2008 From: Sven Schreiber To: gretl-devel@gretlml.univpm.it Subject: [Gretl-devel] vecm --quiet behavior Date: Sat, 09 Feb 2008 16:26:40 +0100 Message-ID: <47ADC630.2030906@gmx.net> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============8191682285058391049==" --===============8191682285058391049== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit I just found out that 'vecm' supports the --quiet option, which is useful for me. But that leads to some questions: - Apparently it's not documented, or am I missing something? I could try to add that. - Is --quiet available for all estimation commands? If it is, it also doesn't seem to be documented (apart from ols). If not, the feature would be useful for all estimators I guess. - vecm --quiet still prints beta, alpha, and the cov-matrix omega. Is it feasible to also support some sort of --silent option that doesn't print anything (apart from errors of course)? The same question would apply to all estimation commands, actually. thanks, sven --===============8191682285058391049==-- From svetosch@gmx.net Sat Feb 9 12:31:14 2008 From: Sven Schreiber To: gretl-devel@gretlml.univpm.it Subject: [Gretl-devel] members of lists returned from functions Date: Sat, 09 Feb 2008 18:31:03 +0100 Message-ID: <47ADE357.2080100@gmx.net> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============7548144472682702242==" --===============7548144472682702242== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Sorry for the flood of messages from me, I'm doing some "heavy scripting" ATM and so I stumble over a lot of stuff... The example script below prints two identical series under the name of "s1", which is "obviously" wrong, although I'm not sure which would be the correct behavior -- I can think of two correct variants: 1) "s1" and "s2" are in the namespace of test() and thus should not be accessible at all, so the script should raise an error. (Although then it's not quite clear how to access the members of the returned list.) or 2) "s1" should be properly updated when it is changed inside the function and then returned as a member of the list "myl". This is on today's version from CVS. thanks, sven function test(void) series s1 = randgen(u,0,1) series s2 = randgen(u,2,3) list myl = s1 s2 return list myl end function loop 2 list check = test() print s1 end loop --===============7548144472682702242==-- From r.lucchetti@univpm.it Sat Feb 9 16:20:08 2008 From: Riccardo (Jack) Lucchetti To: gretl-devel@gretlml.univpm.it Subject: Re: [Gretl-devel] changes regarding genr and lists Date: Sat, 09 Feb 2008 22:20:06 +0100 Message-ID: In-Reply-To: 47ADB7AF.1060801@gmx.net MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============3112624500626935127==" --===============3112624500626935127== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit On Sat, 9 Feb 2008, Sven Schreiber wrote: > That's a nice change, thanks. On a related issue, AFAIK matrix assignments > always have to start with 'matrix' as well, or is this no longer true? It hasn't been true for a while. The "matrix", "scalar" and "series" statements are just aliases for "genr"; as such, they can be omitted. However, they may be useful to handle potentially ambiguous cases. For example genr scx = 0 # generates the scalar 0 scalar scx = 0 # same as above series sex = 0 # generates a series full of 0s # (no pun intended on anyone's private life) matrix mx = 0 # generates a 1x1 zero matrix Riccardo (Jack) Lucchetti Dipartimento di Economia Università Politecnica delle Marche r.lucchetti(a)univpm.it http://www.econ.univpm.it/lucchetti --===============3112624500626935127==-- From svetosch@gmx.net Sat Feb 9 16:26:41 2008 From: Sven Schreiber To: gretl-devel@gretlml.univpm.it Subject: [Gretl-devel] is loop_maxiter really honored? Date: Sat, 09 Feb 2008 22:26:30 +0100 Message-ID: <47AE1A86.80400@gmx.net> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============7155165642872699809==" --===============7155165642872699809== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit I'm not complaining when gretl is tolerant, but I'm really wondering why the following script works in the sense that all 20 loop iterations are performed, when I thought it should be interrupted after 10: set loop_maxiter 10 i=1 loop 20 print i i = i+1 end loop thanks, sven --===============7155165642872699809==-- From r.lucchetti@univpm.it Sat Feb 9 16:29:32 2008 From: Riccardo (Jack) Lucchetti To: gretl-devel@gretlml.univpm.it Subject: Re: [Gretl-devel] is loop_maxiter really honored? Date: Sat, 09 Feb 2008 22:29:29 +0100 Message-ID: In-Reply-To: 47AE1A86.80400@gmx.net MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============7690889150788270477==" --===============7690889150788270477== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable On Sat, 9 Feb 2008, Sven Schreiber wrote: > I'm not complaining when gretl is tolerant, but I'm really wondering why th= e=20 > following script works in the sense that all 20 loop iterations are=20 > performed, when I thought it should be interrupted after 10: > > set loop_maxiter 10 > i=3D1 > loop 20 > print i > i =3D i+1 > end loop It only applies to "while" loops. It's used to forcibly break=20 potentially infinite loops. Actually, "help set" could be a little more=20 explicit on this. Riccardo (Jack) Lucchetti Dipartimento di Economia Universit=C3=A0 Politecnica delle Marche r.lucchetti(a)univpm.it http://www.econ.univpm.it/lucchetti --===============7690889150788270477==-- From r.lucchetti@univpm.it Sat Feb 9 16:37:02 2008 From: Riccardo (Jack) Lucchetti To: gretl-devel@gretlml.univpm.it Subject: Re: [Gretl-devel] is loop_maxiter really honored? Date: Sat, 09 Feb 2008 22:36:59 +0100 Message-ID: In-Reply-To: alpine.DEB.1.00.0802092228200.21628@ec-4.econ.univpm.it MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============1006938243535745833==" --===============1006938243535745833== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable On Sat, 9 Feb 2008, Riccardo (Jack) Lucchetti wrote: > It only applies to "while" loops. It's used to forcibly break potentially=20 > infinite loops. Actually, "help set" could be a little more explicit on thi= s. It is now. Riccardo (Jack) Lucchetti Dipartimento di Economia Universit=C3=A0 Politecnica delle Marche r.lucchetti(a)univpm.it http://www.econ.univpm.it/lucchetti --===============1006938243535745833==-- From cottrell@wfu.edu Sat Feb 9 18:08:30 2008 From: Allin Cottrell To: gretl-devel@gretlml.univpm.it Subject: Re: [Gretl-devel] changes regarding genr and lists Date: Sat, 09 Feb 2008 18:14:53 -0500 Message-ID: In-Reply-To: alpine.DEB.1.00.0802092213440.21416@ec-4.econ.univpm.it MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============3729411633111621132==" --===============3729411633111621132== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit On Sat, 9 Feb 2008, Riccardo (Jack) Lucchetti wrote: > On Sat, 9 Feb 2008, Sven Schreiber wrote: > > > That's a nice change, thanks. On a related issue, AFAIK matrix assignments > > always have to start with 'matrix' as well, or is this no longer true? > > It hasn't been true for a while. The "matrix", "scalar" and "series" > statements are just aliases for "genr"; as such, they can be omitted. However, > they may be useful to handle potentially ambiguous cases. For example > > genr scx = 0 # generates the scalar 0 > > scalar scx = 0 # same as above > > series sex = 0 # generates a series full of 0s > # (no pun intended on anyone's private life) > > matrix mx = 0 # generates a 1x1 zero matrix Jack is quite right. I'll expand just a little. In most cases genr x = x = x = are all equivalent, for = {"scalar", "series", "matrix"}. if the variable "x" is being created anew, writing its type explicitly is, IMO, a good idea; and (as Jack says) this is required if you want x to be of a type other than the default or "natural" type that would result from a given -- for example, scalar for = "0". If x is already defined, the type specification should be redundant; it ought to be picked up by gretl. Please submit a bug report if this doesn't happen correctly. That leaves the types "list" and "string". We're working on "list"; it's still somewhat special but becoming less so. As for "string", it's currently handled outside of the "genr" apparatus, so it's still the case that the "string" type-specifier is needed in all string-variable operations that might be confused with genr commands. Allin. --===============3729411633111621132==-- From cottrell@wfu.edu Sun Feb 10 10:47:04 2008 From: Allin Cottrell To: gretl-devel@gretlml.univpm.it Subject: Re: [Gretl-devel] members of lists returned from functions Date: Sun, 10 Feb 2008 10:53:27 -0500 Message-ID: In-Reply-To: 47ADE357.2080100@gmx.net MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============7630282330101936234==" --===============7630282330101936234== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit On Sat, 9 Feb 2008, Sven Schreiber wrote: > The example script below prints two identical series under the > name of "s1", which is "obviously" wrong, although I'm not sure > which would be the correct behavior -- I can think of two > correct variants: > > 1) "s1" and "s2" are in the namespace of test() and thus should > not be accessible at all, so the script should raise an error. > (Although then it's not quite clear how to access the members of > the returned list.) No, s1 and s2 are moved to the namespace of the caller when the caller make use of (assigns) the list return. That's by design. > 2) "s1" should be properly updated when it is changed inside the > function and then returned as a member of the list "myl". Yes. There's something wrong here. I notice that it works as expected if you give the list itself as an argument to "print": function test(void) series s1 = randgen(u,0,1) series s2 = randgen(u,2,3) list myl = s1 s2 return list myl end function nulldata 10 loop 2 list check = test() print check -o end loop I'll try to work out what's happening when you print "s1" rather than "check". Allin --===============7630282330101936234==-- From cottrell@wfu.edu Sun Feb 10 10:58:07 2008 From: Allin Cottrell To: gretl-devel@gretlml.univpm.it Subject: Re: [Gretl-devel] members of lists returned from functions Date: Sun, 10 Feb 2008 11:04:30 -0500 Message-ID: In-Reply-To: 47ADE357.2080100@gmx.net MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============8562658256252108050==" --===============8562658256252108050== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit On Sat, 9 Feb 2008, Sven Schreiber wrote: > The example script below prints two identical series under the > name of "s1", which is "obviously" wrong... Ah, there's a loose end here, in terms of behavior when a function returns a list: what should happen if the list contains one or more variables that have the same name as a variable that already exists at the caller level? What's happening at present can be exposed by this variant on Sven's script: function test(void) series s1 = randgen(u,0,1) series s2 = randgen(u,2,3) list myl = s1 s2 print "in test" print s1 -o return list myl end function nulldata 4 loop 2 list check = test() varlist print "in caller" print s1 -o end loop The last "varlist" produces: Listing 6 variables: 0) const 1) index 2) s1 3) s2 4) s1 5) s2 which is not nice. It seems to me the second iteration should overwrite s1 and s2 -- agreed? Allin. --===============8562658256252108050==-- From svetosch@gmx.net Sun Feb 10 12:05:08 2008 From: Sven Schreiber To: gretl-devel@gretlml.univpm.it Subject: Re: [Gretl-devel] members of lists returned from functions Date: Sun, 10 Feb 2008 18:04:55 +0100 Message-ID: <47AF2EB7.8000709@gmx.net> In-Reply-To: alpine.LRH.1.00.0802101056100.20677@ricardo.ecn.wfu.edu MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============0472041003080447287==" --===============0472041003080447287== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Am 10.02.2008 17:04, Allin Cottrell schrieb: > On Sat, 9 Feb 2008, Sven Schreiber wrote: > >> The example script below prints two identical series under the >> name of "s1", which is "obviously" wrong... > > Ah, there's a loose end here, in terms of behavior when a function > returns a list: what should happen if the list contains > one or more variables that have the same name as a variable that > already exists at the caller level? > > What's happening at present can be exposed by this variant on > Sven's script: > > function test(void) > series s1 = randgen(u,0,1) > series s2 = randgen(u,2,3) > list myl = s1 s2 > print "in test" > print s1 -o > return list myl > end function > > nulldata 4 > loop 2 > list check = test() > varlist > print "in caller" > print s1 -o > end loop > > The last "varlist" produces: > > Listing 6 variables: > 0) const 1) index 2) s1 3) s2 4) s1 > 5) s2 > > which is not nice. It seems to me the second iteration should > overwrite s1 and s2 -- agreed? > At first I thought "yes" (and it was what I was proposing originally), but then it occurred to me that the fact that returning lists from functions would affect the caller's namespaces is a "policy breach". Because in theory it's possible that at the caller level there exists a series of the same name just by coincidence, which would then get deleted. So before you could use a function written by somebody else you would have to study it and make sure it doesn't have this side effect. IMHO that's bad. Ok, so the probability of this problem occurring in practice may be minimal, and so feel free to discard this objection. But without having thought too much about it, let me just give an example of how it could perhaps work: Suppose that "list indexing" is introduced as a new syntax; that would mean that in the above example you could access the series within the list 'check' by a one-dimensional index: check[1], check[2] etc. up to check[nelem(check)]. (And you would not be able to use the names 's1' or 's2' at the caller level, they would be restricted to the scope/namespace of the function.) However, I admit it's not 100% clear how the series would be displayed in the GUI without running into the namespace collision problem again. just a thought, sven --===============0472041003080447287==-- From svetosch@gmx.net Sun Feb 10 13:36:27 2008 From: Sven Schreiber To: gretl-devel@gretlml.univpm.it Subject: [Gretl-devel] matrix from null list Date: Sun, 10 Feb 2008 19:36:14 +0100 Message-ID: <47AF441E.4000702@gmx.net> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============5181984318544033128==" --===============5181984318544033128== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit I propose that the following should work in order to make generic code possible; the matrix should be simply empty ({}). list myl = null matrix checkmat = { myl } thanks, sven --===============5181984318544033128==-- From cottrell@wfu.edu Sun Feb 10 22:00:08 2008 From: Allin Cottrell To: gretl-devel@gretlml.univpm.it Subject: Re: [Gretl-devel] matrix from null list Date: Sun, 10 Feb 2008 22:06:30 -0500 Message-ID: In-Reply-To: 47AF441E.4000702@gmx.net MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============8789454925386901174==" --===============8789454925386901174== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit On Sun, 10 Feb 2008, Sven Schreiber wrote: > I propose that the following should work in order to make generic code > possible; the matrix should be simply empty ({}). > > list myl = null > matrix checkmat = { myl } OK, done in CVS. Also done: list L1 = ... list L2 = ... list L3 = L1 || L2 # union list L3 = L1 && L2 # intersection matrix m = {1,2,3,4} list L = m # OK provided there are at least 4 variables # in the dataset Allin. --===============8789454925386901174==-- From svetosch@gmx.net Mon Feb 11 04:45:02 2008 From: Sven Schreiber To: gretl-devel@gretlml.univpm.it Subject: Re: [Gretl-devel] matrix from null list Date: Mon, 11 Feb 2008 10:44:50 +0100 Message-ID: <47B01912.8090600@gmx.net> In-Reply-To: alpine.LRH.1.00.0802102159570.23989@ricardo.ecn.wfu.edu MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============5755510536185080431==" --===============5755510536185080431== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Am 11.02.2008 04:06, Allin Cottrell schrieb: > On Sun, 10 Feb 2008, Sven Schreiber wrote: > >> I propose that the following should work in order to make generic code >> possible; the matrix should be simply empty ({}). >> >> list myl = null >> matrix checkmat = { myl } > > OK, done in CVS. thank you! Also done: > > list L1 = ... > list L2 = ... > list L3 = L1 || L2 # union > list L3 = L1 && L2 # intersection > nice! > matrix m = {1,2,3,4} > list L = m # OK provided there are at least 4 variables > # in the dataset wasn't this already possible before? -sven --===============5755510536185080431==-- From cottrell@wfu.edu Mon Feb 11 09:42:11 2008 From: Allin Cottrell To: gretl-devel@gretlml.univpm.it Subject: Re: [Gretl-devel] matrix from null list Date: Mon, 11 Feb 2008 09:48:32 -0500 Message-ID: In-Reply-To: 47B01912.8090600@gmx.net MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============6238508950538908033==" --===============6238508950538908033== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit On Mon, 11 Feb 2008, Sven Schreiber wrote: > Am 11.02.2008 04:06, Allin Cottrell schrieb: > > Also done... > > matrix m = {1,2,3,4} > > list L = m # OK provided there are at least 4 variables > > # in the dataset > > wasn't this already possible before? Yes, you're right. Then it disappeared for a while when I shifted list management over to "genr"; but now it's back again. And in its new incarnation it's more flexible: the matrix on the right doesn't have to be a pre-existing named matrix, it can be some expression that evaluates to a matrix, e.g., matrix m = {1,2,3,4} list L = m .+ 1 Allin. --===============6238508950538908033==-- From cottrell@wfu.edu Mon Feb 11 14:28:39 2008 From: Allin Cottrell To: gretl-devel@gretlml.univpm.it Subject: Re: [Gretl-devel] members of lists returned from functions Date: Mon, 11 Feb 2008 14:35:00 -0500 Message-ID: In-Reply-To: 47AF2EB7.8000709@gmx.net MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============7645952557365588336==" --===============7645952557365588336== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit On Sun, 10 Feb 2008, Sven Schreiber wrote: > Am 10.02.2008 17:04, Allin Cottrell schrieb: > > Ah, there's a loose end here, in terms of behavior when a > > function returns a list: what should happen if the list > > contains one or more variables that have the same name as a > > variable that already exists at the caller level? ... [ and went on to suggest that in this case the original values of the variables in question should be overwritten ]. > At first I thought "yes" (and it was what I was proposing > originally), but then it occurred to me that the fact that > returning lists from functions would affect the caller's > namespaces is a "policy breach". Because in theory it's possible > that at the caller level there exists a series of the same name > just by coincidence, which would then get deleted. Yes, I agree that's a possible issue. I was going to say there's a precedent for this sort of thing with various built-in commands/functions -- such as logs, lags, and diff -- which generate automatically-named variables. However, I notice that at some point we adopted the policy of avoiding name collision by mangling the names of the generated series if necessary. After this we have l_ENROLL, which still equals 10, and l_ENROLa, which holds the log of ENROLL. We could try something similar with list-returning user functions, but actually on second thoughts I'm not so sure this is the right thing to do. I'm inclined to say that so long as the names used by the function are clearly stated in its documentation -- so the user can take evasive action if necessary -- the cleaner policy is to overwrite. I was a bit surprised by the behavior of "logs" noted above, and I'm not sure it really conforms to intent; as I recall, the primary intent behind name-mangling was to ensure uniqueness in case the names of the source variables were too long. E.g. logs longnameseries1 longnameseries2 where something has to be done or we'll get 2 variables named l_longnameserie. For now I have it that list-returning user functions just overwrite, but perhaps we need to discuss this some more. Allin. --===============7645952557365588336==-- From r.lucchetti@univpm.it Mon Feb 11 16:12:08 2008 From: Riccardo (Jack) Lucchetti To: gretl-devel@gretlml.univpm.it Subject: Re: [Gretl-devel] members of lists returned from functions Date: Mon, 11 Feb 2008 22:12:04 +0100 Message-ID: In-Reply-To: alpine.LRH.1.00.0802111346510.31463@ricardo.ecn.wfu.edu MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============1626936132204340567==" --===============1626936132204340567== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit On Mon, 11 Feb 2008, Allin Cottrell wrote: > For now I have it that list-returning user functions just > overwrite, but perhaps we need to discuss this some more. I'm personally in favour of the overwrite policy. The logs command generates variables with the prefix "l_" plus the original name. This is consistent, logical and predictable. Imagine this scenario: you have a huge dataset with hundreds of variables, you take logs _en masse_ via the nice and convenient "logs" command, only to find, dozens of lines later, that what you thought was under the name "l_varname34" doesn't contain what you want, because it's under "l_varname34a". Very irritating, and hellish to debug. The only good thing that may come out of this situation is the invention, if you're creative, of swearwords previously unknown to man. Riccardo (Jack) Lucchetti Dipartimento di Economia Università Politecnica delle Marche r.lucchetti(a)univpm.it http://www.econ.univpm.it/lucchetti --===============1626936132204340567==-- From cottrell@wfu.edu Mon Feb 11 16:52:58 2008 From: Allin Cottrell To: gretl-devel@gretlml.univpm.it Subject: Re: [Gretl-devel] members of lists returned from functions Date: Mon, 11 Feb 2008 16:59:19 -0500 Message-ID: In-Reply-To: alpine.DEB.1.00.0802112158540.18642@ec-4.econ.univpm.it MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============3193925933511979974==" --===============3193925933511979974== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit On Mon, 11 Feb 2008, Riccardo (Jack) Lucchetti wrote: > On Mon, 11 Feb 2008, Allin Cottrell wrote: > > > For now I have it that list-returning user functions just > > overwrite, but perhaps we need to discuss this some more. > > I'm personally in favour of the overwrite policy. The logs > command generates variables with the prefix "l_" plus the > original name. This is consistent, logical and predictable. > Imagine this scenario: you have a huge dataset with hundreds of > variables, you take logs _en masse_ via the nice and convenient > "logs" command, only to find, dozens of lines later, that what > you thought was under the name "l_varname34" doesn't contain > what you want, because it's under "l_varname34a". Very > irritating, and hellish to debug. The only good thing that may > come out of this situation is the invention, if you're creative, > of swearwords previously unknown to man. Yes, that's the viewing I'm coming round to ;-). There's still an issue to worry about with long variable names. Obviously we want to ensure that, e.g., logs xlist returns uniquely named variables. And that's not too hard (though making the unique names "nice" in all cases is another matter). We can overwrite any pre-existing variables, but mangle to avoid naming conflicts among the variables that are *generated by this particular command*. But what about successive invocations: logs xlist logs zlist where xlist and zlist contain long names that will yield "cross-conflicting" log names, so to speak? Under the new proposal as it stands, some of the logs created by the first command would be overwritten (I think). But maybe worrying about this falls into the category of trying a little too hard to stop users from shooting themselves in the foot. We can ensure the docs are clear on this point, and leave it up to the user to use variable names of a sane length. Maybe also print a message when an existing variable is redefined via an auto-naming command/function. Allin. --===============3193925933511979974==-- From r.lucchetti@univpm.it Mon Feb 11 17:27:00 2008 From: Riccardo (Jack) Lucchetti To: gretl-devel@gretlml.univpm.it Subject: Re: [Gretl-devel] members of lists returned from functions Date: Mon, 11 Feb 2008 23:26:57 +0100 Message-ID: In-Reply-To: alpine.LRH.1.00.0802111635210.31463@ricardo.ecn.wfu.edu MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============0540365544254352065==" --===============0540365544254352065== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable On Mon, 11 Feb 2008, Allin Cottrell wrote: > But what about successive invocations: > > logs xlist > logs zlist > > where xlist and zlist contain long names that will yield > "cross-conflicting" log names, so to speak? Under the new > proposal as it stands, some of the logs created by the first > command would be overwritten (I think). And rightly so, if you ask me. Now, we may consider raising VNAMELEN to=20 24 or 32 to minimise the chances of this happening, but then formatting=20 the output of estimation commands becomes a problem. The Stata guys=20 solved this issue by truncating variable names on output, using=20 reasonable conventions. Example: . regress very_long_identifier_y very_long_identifier1 very_long_identifier2 Source | SS df MS Number of obs =3D = 753 -------------+------------------------------ F( 2, 750) =3D 45= .82 Model | 860.569119 2 430.284559 Prob > F =3D 0.= 0000 Residual | 7042.54159 750 9.39005546 R-squared =3D 0.= 1089 -------------+------------------------------ Adj R-squared =3D 0.1= 065 Total | 7903.11071 752 10.5094557 Root MSE =3D 3.= 0643 ------------------------------------------------------------------------------ very_long_~y | Coef. Std. Err. t P>|t| [95% Conf. Interval] -------------+---------------------------------------------------------------- very_long~_1 | -.1177097 .0467719 -2.52 0.012 -.209529 -.0258903 very_long_~2 | .5480657 .061962 8.85 0.000 .4264261 .6697053 _cons | -2.889082 .623721 -4.63 0.000 -4.113529 -1.6646= 36 ------------------------------------------------------------------------------ Perhaps we could do the same. > But maybe worrying about this falls into the category of trying a > little too hard to stop users from shooting themselves in the > foot. > > We can ensure the docs are clear on this point, and leave it up to > the user to use variable names of a sane length. Maybe also print > a message when an existing variable is redefined via an > auto-naming command/function. I heartily agree. Riccardo (Jack) Lucchetti Dipartimento di Economia Universit=C3=A0 Politecnica delle Marche r.lucchetti(a)univpm.it http://www.econ.univpm.it/lucchetti --===============0540365544254352065==-- From svetosch@gmx.net Tue Feb 12 04:59:35 2008 From: Sven Schreiber To: gretl-devel@gretlml.univpm.it Subject: Re: [Gretl-devel] members of lists returned from functions Date: Tue, 12 Feb 2008 10:59:19 +0100 Message-ID: <47B16DF7.4070000@gmx.net> In-Reply-To: alpine.DEB.1.00.0802112158540.18642@ec-4.econ.univpm.it MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============8809583770138081480==" --===============8809583770138081480== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Am 11.02.2008 22:12, Riccardo (Jack) Lucchetti schrieb: > On Mon, 11 Feb 2008, Allin Cottrell wrote: > >> For now I have it that list-returning user functions just >> overwrite, but perhaps we need to discuss this some more. > > I'm personally in favour of the overwrite policy. The logs command > generates variables with the prefix "l_" plus the original name. This is > consistent, logical and predictable. Imagine this scenario: you have a > huge dataset with hundreds of variables, you take logs _en masse_ via > the nice and convenient "logs" command, only to find, dozens of lines > later, that what you thought was under the name "l_varname34" doesn't > contain what you want, because it's under "l_varname34a". Very > irritating, and hellish to debug. The only good thing that may come out > of this situation is the invention, if you're creative, of swearwords > previously unknown to man. > Yeah I see your point, but what about the swearwords of those who lose their existing variable that was hand-typed with 15 million observations? (Slight exaggeration to make my point...) I have thought about it a little bit but could only think of a solution for the builtin functions like the ones you're talking about: names starting with 'l_' and the like could be made "semi-reserved" in the manual, explaining that you risk losing them. But IMHO the situation is totally different for user-defined functions: users should not be required to do a risk analysis or thoroughly study the documentation of a function before playing around with it. Otherwise, gretl's new and great function package approach would be unsafe by design and it would ultimately be doomed IMHO. I see no solution for this problem except to disable the mentioned "namespace breach". (Think of how likely it is to have series named 'y' or 'u' or 'x' and a function author choosing those names as well. It seems to me that the clashes I'm talking about are not just theoretical possibilities.) One issue is very important IMHO: dataloss by design should be unacceptable for gretl, no matter how convenient it would be for savvy users (or developers)! thanks, sven --===============8809583770138081480==-- From cottrell@wfu.edu Tue Feb 12 13:46:22 2008 From: Allin Cottrell To: gretl-devel@gretlml.univpm.it Subject: Re: [Gretl-devel] members of lists returned from functions Date: Tue, 12 Feb 2008 13:52:42 -0500 Message-ID: In-Reply-To: 47B16DF7.4070000@gmx.net MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============7456149806566332504==" --===============7456149806566332504== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit On Tue, 12 Feb 2008, Sven Schreiber wrote: > I have thought about it a little bit but could only think of a > solution for the builtin functions like the ones you're talking > about: names starting with 'l_' and the like could be made > "semi-reserved" in the manual, explaining that you risk losing > them. > > But IMHO the situation is totally different for user-defined > functions: users should not be required to do a risk analysis or > thoroughly study the documentation of a function before playing > around with it. Just thinking out loud, but here's one possibility: whenever a function returns a list (I think that's the only case we're talking about) there's an automatically accepted final string argument, namely the "basename" for variables in the returned list, which then (say) get consecutive numeric suffixes. For example, consider function foo (series x, int opt) ... return list xlist end function If you called foo as list mylist = foo(myvar, 4, "myname") then gretl would intercept the list at return time and name its members as myname1, myname2 and so on, before they're shifted into caller space. One could get fancier by allowing a more flexible naming template as the extra argument, rather than just a prefix, but that's the basic idea. Allin. --===============7456149806566332504==-- From cottrell@wfu.edu Wed Feb 13 01:31:51 2008 From: Allin Cottrell To: gretl-devel@gretlml.univpm.it Subject: [Gretl-devel] cross-sectional mean, variance Date: Wed, 13 Feb 2008 01:38:10 -0500 Message-ID: MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============1770433355072966825==" --===============1770433355072966825== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Serendipitous fallout from adding lists to genr. It turns out that two of my students this semester are working on research papers dealing with convergence or non-convergence (of GDP per capita among ASEAN countries in one case, and of employment characteristics among US cities in the other). There are several ways of assessing convergence, but one nice simple way to start is to create a time-series plot of the cross-sectional variance (or coefficient of variation, perhaps) of the variable of interest. Sigma-convergence, it's called: does the variance show a declining trend, or what? You can compute this in gretl, but it's a bit fiddly because gretl is "column-oriented". Suppose you have a time-series data set with GDP for k countries or regions represented as k distinct variables. You can compute the desired time-series of cross-sectional variance by (a) transposing the data set or (b) stacking the data into a panel then looping across sub-samples restricted by year. Perfectly do-able but a bit daunting for a beginner. Lists to the rescue. I've extended the functions mean(), sd() and var() so that if you supply a list argument the result is a series each of whose values is the cross-sectional statistic for the listed variables in the given period. Here's an example illustrating strong sigma-convergence of per capita income across the regions of the US from the onset of the second world war till around 1980. (Run in the GUI when connected to the internet, and I hope you'll agree it's quite cool.) -- Allin Cottrell Department of Economics Wake Forest University, NC --===============1770433355072966825==-- From svetosch@gmx.net Wed Feb 13 03:44:54 2008 From: Sven Schreiber To: gretl-devel@gretlml.univpm.it Subject: Re: [Gretl-devel] cross-sectional mean, variance Date: Wed, 13 Feb 2008 09:44:38 +0100 Message-ID: <47B2ADF6.20403@gmx.net> In-Reply-To: alpine.LRH.1.00.0802130053100.18809@ricardo.ecn.wfu.edu MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============6119999959837660270==" --===============6119999959837660270== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit That's a nice feature, but in general I believe that one needs weighted statistics where the size of the cross-sectional units are taken into account. (From my recent experience with cross-sectional price dispersion.) -sven Am 13.02.2008 07:38, Allin Cottrell schrieb: > Serendipitous fallout from adding lists to genr. > > It turns out that two of my students this semester are working on > research papers dealing with convergence or non-convergence (of > GDP per capita among ASEAN countries in one case, and of > employment characteristics among US cities in the other). > > There are several ways of assessing convergence, but one nice > simple way to start is to create a time-series plot of the > cross-sectional variance (or coefficient of variation, perhaps) > of the variable of interest. Sigma-convergence, it's called: does > the variance show a declining trend, or what? > > You can compute this in gretl, but it's a bit fiddly because gretl > is "column-oriented". Suppose you have a time-series data set > with GDP for k countries or regions represented as k distinct > variables. You can compute the desired time-series of > cross-sectional variance by (a) transposing the data set or (b) > stacking the data into a panel then looping across sub-samples > restricted by year. Perfectly do-able but a bit daunting for a > beginner. > > Lists to the rescue. I've extended the functions mean(), sd() and > var() so that if you supply a list argument the result is a series > each of whose values is the cross-sectional statistic for the > listed variables in the given period. > > Here's an example illustrating strong sigma-convergence of per > capita income across the regions of the US from the onset of the > second world war till around 1980. (Run in the GUI when connected > to the internet, and I hope you'll agree it's quite cool.) > > > --===============6119999959837660270==-- From cri@linux.it Wed Feb 13 04:33:22 2008 From: Cristian Rigamonti To: gretl-devel@gretlml.univpm.it Subject: Re: [Gretl-devel] Re: adkins' manual Date: Wed, 13 Feb 2008 10:20:03 +0100 Message-ID: <20080213092003.GA4097@pegasus> In-Reply-To: alpine.LRH.1.00.0802081549560.17842@ricardo.ecn.wfu.edu Content-Type: multipart/mixed; boundary="===============8122565107382226578==" --===============8122565107382226578== Content-Type: application/pgp-signature Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="signature.asc" MIME-Version: 1.0 LS0tLS1CRUdJTiBQR1AgU0lHTkFUVVJFLS0tLS0KVmVyc2lvbjogR251UEcgdjEuNC42IChHTlUv TGludXgpCgppRDhEQlFGSHNyWkRyU0FhZ1pRNlh3NFJBdXJYQUtDMzRsVnVqb2pVUkM2Uy9lMFhy c0E0SnBxRUZBQ2ZUTFpVCit2YWJyY05yYTBzUDMvSndJSkxMRXVrPQo9cWtNVwotLS0tLUVORCBQ R1AgU0lHTkFUVVJFLS0tLS0K --===============8122565107382226578==-- From cottrell@wfu.edu Wed Feb 13 14:01:56 2008 From: Allin Cottrell To: gretl-devel@gretlml.univpm.it Subject: Re: [Gretl-devel] cross-sectional mean, variance Date: Wed, 13 Feb 2008 14:08:15 -0500 Message-ID: In-Reply-To: 47B2ADF6.20403@gmx.net MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============1316570719647257240==" --===============1316570719647257240== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit On Wed, 13 Feb 2008, Sven Schreiber wrote: > That's a nice feature, but in general I believe that one needs > weighted statistics where the size of the cross-sectional units > are taken into account. (From my recent experience with > cross-sectional price dispersion.) Good point. I've added wmean, wsd and wvar (plus help items). Revised sample script with weighting by population: Allin. --===============1316570719647257240==-- From ignacio.diaz-emparanza@ehu.es Thu Feb 14 11:55:12 2008 From: Ignacio Diaz-Emparanza To: gretl-devel@gretlml.univpm.it Subject: [Gretl-devel] list of lags Date: Thu, 14 Feb 2008 17:55:05 +0100 Message-ID: <200802141755.05337.ignacio.diaz-emparanza@ehu.es> In-Reply-To: alpine.LRH.1.00.0802101056100.20677@ricardo.ecn.wfu.edu MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============4956248234894302218==" --===============4956248234894302218== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable There is a backward compatibility problem with the recent changes in=20 the "list" command. Until now there were no problem with this command list xlist =3D Ct Ct(-1) the contemporaneous value of Ct and the first lag were added to the list. But now I obtain the error "Data types not conformable for operation" As a workaround I can use=20 list laglist =3D lags(1, Ct) list xlist =3D Ct laglist obtaining the same result, but I think the old syntax should be correct now a= s=20 well. --=20 Ignacio Diaz-Emparanza =20 DEPARTAMENTO DE ECONOM=C3=8DA APLICADA III (ECONOMETR=C3=8DA Y ESTAD=C3=8DSTI= CA) =20 UPV/EHU Avda. Lehendakari Aguirre, 83 | 48015 BILBAO T.: +34 946013732 | F.: +34 946013754 www.et.bs.ehu.es=20 --===============4956248234894302218==-- From cottrell@wfu.edu Thu Feb 14 20:10:43 2008 From: Allin Cottrell To: gretl-devel@gretlml.univpm.it Subject: Re: [Gretl-devel] list of lags Date: Thu, 14 Feb 2008 20:17:00 -0500 Message-ID: In-Reply-To: 200802141755.05337.ignacio.diaz-emparanza@ehu.es MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============0725024359150065966==" --===============0725024359150065966== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit On Thu, 14 Feb 2008, Ignacio Diaz-Emparanza wrote: > There is a backward compatibility problem with the recent > changes in the "list" command. Until now there were no problem > with this command > > list xlist = Ct Ct(-1) > > the contemporaneous value of Ct and the first lag were added to > the list. But now I obtain the error > > "Data types not conformable for operation" I believe that syntax should now be OK in CVS. Please come back if it's not working right. Allin. --===============0725024359150065966==-- From r.lucchetti@univpm.it Fri Feb 15 01:50:44 2008 From: Riccardo (Jack) Lucchetti To: gretl-devel@gretlml.univpm.it Subject: Re: [Gretl-devel] list of lags Date: Fri, 15 Feb 2008 07:50:38 +0100 Message-ID: In-Reply-To: alpine.LRH.1.00.0802142015310.5411@ricardo.ecn.wfu.edu MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============1786055128044377172==" --===============1786055128044377172== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit On Thu, 14 Feb 2008, Allin Cottrell wrote: > On Thu, 14 Feb 2008, Ignacio Diaz-Emparanza wrote: > >> There is a backward compatibility problem with the recent >> changes in the "list" command. Until now there were no problem >> with this command >> >> list xlist = Ct Ct(-1) >> >> the contemporaneous value of Ct and the first lag were added to >> the list. But now I obtain the error >> >> "Data types not conformable for operation" > > I believe that syntax should now be OK in CVS. Please come back > if it's not working right. I don't remember if the syntax list X = x(-1 to -4) ever worked (my guess is yes, but I may be wrong). It certainly doesn't now; should it? Riccardo (Jack) Lucchetti Dipartimento di Economia Università Politecnica delle Marche r.lucchetti(a)univpm.it http://www.econ.univpm.it/lucchetti --===============1786055128044377172==-- From svetosch@gmx.net Fri Feb 15 04:35:04 2008 From: Sven Schreiber To: gretl-devel@gretlml.univpm.it Subject: [Gretl-devel] language in output Date: Fri, 15 Feb 2008 10:34:46 +0100 Message-ID: <47B55CB6.1070504@gmx.net> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============1931836227537532569==" --===============1931836227537532569== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Good morning, recently I have started to use gretl's plots for research papers, but there is a little problem: my system (locale) is German, but the papers I write are in English. But some of gretl's graphs automatically include some translated terms, for example "left" and "right" in the legend of a plot with two y-axes. (There are other examples as well.) I have found ways to work around that, so of course it's not terribly urgent, but in the medium term it would be nice if it were somehow user-configurable. thanks, sven --===============1931836227537532569==-- From r.lucchetti@univpm.it Fri Feb 15 07:42:16 2008 From: Riccardo (Jack) Lucchetti To: gretl-devel@gretlml.univpm.it Subject: [Gretl-devel] RFC: time-series filter (long, I'm afraid) Date: Fri, 15 Feb 2008 13:42:08 +0100 Message-ID: Content-Type: multipart/mixed; boundary="===============3337347491029581972==" --===============3337347491029581972== Content-Type: text/x-diff Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="filter.diff" MIME-Version: 1.0 SW5kZXg6IGxpYi9zcmMvZ2VuZXZhbC5jDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQpSQ1MgZmlsZTogL2N2c3Jvb3Qv Z3JldGwvZ3JldGwvbGliL3NyYy9nZW5ldmFsLmMsdg0KcmV0cmlldmluZyByZXZpc2lvbiAxLjIw NQ0KZGlmZiAtdSAtdyAtcjEuMjA1IGdlbmV2YWwuYw0KLS0tIGxpYi9zcmMvZ2VuZXZhbC5jCTE1 IEZlYiAyMDA4IDAxOjEyOjEyIC0wMDAwCTEuMjA1DQorKysgbGliL3NyYy9nZW5ldmFsLmMJMTUg RmViIDIwMDggMTE6MDE6NDUgLTAwMDANCkBAIC0zNzAwLDggKzM3MDAsNDggQEANCiAJaWYgKCFw LT5lcnIpIHsNCiAJICAgIG0gPSB1c2VyX21hdHJpeF9vbHMoWSwgWCwgVW5hbWUsICZwLT5lcnIp Ow0KIAl9DQorDQorICAgIH0gZWxzZSBpZiAodC0+dCA9PSBGSUxURVIpIHsNCisJY29uc3QgZG91 YmxlICp4Ow0KKwlkb3VibGUgKnkgPSBOVUxMOw0KKwlncmV0bF9tYXRyaXggKkEgPSBOVUxMOw0K KwlncmV0bF9tYXRyaXggKkMgPSBOVUxMOw0KKw0KKwlpZiAoayAhPSAzKSB7DQorCSAgICBuX2Fy Z3NfZXJyb3IoaywgMywgImZpbHRlciIsIHApOw0KICAgICB9CQ0KIA0KKwllID0gZXZhbChuLT52 LmJuLm5bMF0sIHApOw0KKwlpZiAoZSA9PSBOVUxMKSB7DQorCSAgICBmcHJpbnRmKHN0ZGVyciwg ImV2YWxfbmFyZ3NfZnVuYzogZmFpbGVkIHRvIGV2YWx1YXRlIGFyZyAlZFxuIiwgaSk7DQorCSAg ICBwLT5lcnIgPSBFX0RBVEE7DQorCX0gZWxzZSBpZiAoIXNlcmllc190eXBlKGUtPnQpKSB7DQor CSAgICBwLT5lcnIgPSBFX1RZUEVTOw0KKwl9IGVsc2Ugew0KKwkgICAgeCA9IGdldHZlYyhlLCBw KTsNCisJfQ0KKw0KKwlmb3IgKGk9MTsgaTxrICYmICFwLT5lcnI7IGkrKykgew0KKwkgICAgZSA9 IGV2YWwobi0+di5ibi5uW2ldLCBwKTsNCisJICAgIGlmIChlID09IE5VTEwpIHsNCisJCWZwcmlu dGYoc3RkZXJyLCAiZXZhbF9uYXJnc19mdW5jOiBmYWlsZWQgdG8gZXZhbHVhdGUgYXJnICVkXG4i LCBpKTsNCisJICAgIH0gZWxzZSBpZiAoaSA9PSAxKSB7DQorCQlBID0gZS0+di5tOw0KKwkgICAg fSBlbHNlIHsNCisJCUMgPSBlLT52Lm07DQorCSAgICB9DQorCX0gDQorCQ0KKwlpZiAoIXAtPmVy cikgew0KKwkgICAgcmV0ID0gYXV4X3ZlY19ub2RlKHAsIHAtPmRpbmZvLT5uKTsNCisJfQ0KKwl5 ID0gcmV0LT52Lnh2ZWM7DQorCWlmICghcC0+ZXJyKSB7DQorCSAgICBwLT5lcnIgPSBmaWx0ZXJf c2VyaWVzKHgsIHksIHAtPmRpbmZvLCBBLCBDKTsNCisJfQ0KKyAgICB9CQ0KKw0KKyAgICBpZiAo ISh0LT50ID09IEZJTFRFUikpIHsNCiAgICAgaWYgKCFwLT5lcnIpIHsNCiAJcmV0ID0gYXV4X21h dHJpeF9ub2RlKHApOw0KICAgICB9DQpAQCAtMzcxMiw3ICszNzUyLDcgQEANCiAJfQ0KIAlyZXQt PnYubSA9IG07DQogICAgIH0NCi0NCisgICAgfQ0KICAgICByZXR1cm4gcmV0Ow0KIH0NCiANCkBA IC00OTcxLDYgKzUwMTEsNyBAQA0KICAgICBjYXNlIE1TSEFQRToNCiAgICAgY2FzZSBTVkQ6DQog ICAgIGNhc2UgTU9MUzoNCisgICAgY2FzZSBGSUxURVI6DQogCS8qIGJ1aWx0LWluIGZ1bmN0aW9u cyB0YWtpbmcgbW9yZSB0aGFuIHR3byBhcmdzICovDQogCXJldCA9IGV2YWxfbmFyZ3NfZnVuYyh0 LCBwKTsNCiAJYnJlYWs7DQpJbmRleDogbGliL3NyYy9nZW5mdW5jcy5jDQo9PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQpS Q1MgZmlsZTogL2N2c3Jvb3QvZ3JldGwvZ3JldGwvbGliL3NyYy9nZW5mdW5jcy5jLHYNCnJldHJp ZXZpbmcgcmV2aXNpb24gMS40NA0KZGlmZiAtdSAtdyAtcjEuNDQgZ2VuZnVuY3MuYw0KLS0tIGxp Yi9zcmMvZ2VuZnVuY3MuYwkxMyBGZWIgMjAwOCAxOTozOTo1MiAtMDAwMAkxLjQ0DQorKysgbGli L3NyYy9nZW5mdW5jcy5jCTE1IEZlYiAyMDA4IDExOjAxOjQ2IC0wMDAwDQpAQCAtNDY2LDYgKzQ2 NiwxMTMgQEANCiAgICAgcmV0dXJuIDA7DQogfQ0KIA0KKy8qKg0KKyAqIGZpbHRlcl9zZXJpZXM6 DQorICogQHg6IGFycmF5IG9mIG9yaWdpbmFsIGRhdGEuDQorICogQHk6IGFycmF5IGludG8gd2hp Y2ggdG8gd3JpdGUgdGhlIHJlc3VsdC4NCisgKiBAcGRpbmZvOiBkYXRhIHNldCBpbmZvcm1hdGlv bi4NCisgKiBAQTogbWF0cml4IGZvciBhdXRvcmVncmVzc2l2ZSBwb2x5bm9taWFsLg0KKyAqIEBD OiBtYXRyaXggZm9yIG1vdmluZyBhdmVyYWdlIHBvbHlub21pYWwuDQorICoNCisgKiBGaWx0ZXJz IHggYWNjb3JkaW5nIHRvIHlfdCA9IEMoTCkvQShMKSB4X3Q7IHRoZSBtYXRyaWNlcyBBIGFuZCBD DQorICogbXVzdCBoYXZlIHR3byBjb2x1bW5zLCBvciBiZSBlbXB0eS4gVGhlIHJvd3Mgb2YgQSBh bmQgQyBtdXN0DQorICogY29udGFpbiB0aGUgY29lZmZpY2llbnRzIGZvciB0aGUgcG93ZXJzIG90 aGVyIHRoYW4gMCAoYXNzdW1lZCAxKSwNCisgKiB3aXRoIHRoZSBleHBvbmVudHMgb24gY29sdW1u IG9uZSBhbmQgdGhlIGNvcnJlc3BvbmRpbmcgY29lZmZpY2llbnQNCisgKiBvbiBjb2x1bW4gdHdv LiBGb3IgZXhhbXBsZSwgdGhlIG1hdHJpeCBjb3JyZXNwb25kaW5nIHRvIHRoZQ0KKyAqIHBvbHlu b21pYWwgQyhMKSA9IDEgLSAwLjc1IExeMiBzaG91bGQgYmUgZ2l2ZW4gYXMgeyAyLCAwLjc1IH07 DQorICogbmVnYXRpdmUgZXhwb25lbnRzIGFyZSBhbGxvd2VkLg0KKyAqDQorICogUmV0dXJuczog MCBvbiBzdWNjZXNzLCBub24temVybyBlcnJvciBjb2RlIG9uIGZhaWx1cmUuDQorICovDQorDQor DQoraW50IGZpbHRlcl9zZXJpZXMoY29uc3QgZG91YmxlICp4LCBkb3VibGUgKnksIGNvbnN0IERB VEFJTkZPICpwZGluZm8sIA0KKwkJICBncmV0bF9tYXRyaXggKkEsIGdyZXRsX21hdHJpeCAqQykN Cit7DQorICAgIGludCB0MSA9IHBkaW5mby0+dDE7DQorICAgIGludCB0MiA9IHBkaW5mby0+dDI7 DQorICAgIGludCBlcnIgPSAwOw0KKw0KKyAgICBpbnQgdCwgcywgaSwgbTsNCisgICAgaW50IGFt aW4sIGFtYXgsIGNtaW4sIGNtYXg7DQorDQorICAgIGVyciA9IGFycmF5X2FkanVzdF90MXQyKHgs ICZ0MSwgJnQyKTsNCisgICAgaWYgKGVycikgew0KKwlyZXR1cm4gRV9EQVRBOw0KKyAgICB9IA0K Kw0KKyAgICBpbnQgbiA9IHQyIC0gdDEgKyAxOw0KKyAgICBkb3VibGUgKmUsIGNvZWY7DQorICAg IGUgPSBtYWxsb2MobiAqIHNpemVvZiAqZSk7DQorDQorICAgIGlmIChlPT1OVUxMKSB7DQorCXJl dHVybiBFX0FMTE9DOw0KKyAgICB9DQorDQorICAgIGlmIChncmV0bF9pc19udWxsX21hdHJpeChD KSkgew0KKwlzID0gMDsNCisJZm9yKHQ9dDE7IHQ8PXQyOyB0KyspIHsNCisJICAgIGVbcysrXSA9 IHhbdF07DQorCX0NCisgICAgfSBlbHNlIHsNCisJY21pbiA9IGNtYXggPSAwOw0KKwlmb3IoaT0w OyBpPEMtPnJvd3M7IGkrKykgew0KKwkgICAgbSA9IGdyZXRsX21hdHJpeF9nZXQoQyxpLDApOw0K KwkgICAgaWYgKG08Y21pbikgew0KKwkJY21pbiA9IG07IA0KKwkgICAgfSBlbHNlIGlmIChtPmNt YXgpIHsNCisJCWNtYXggPSBtOyANCisJICAgIH0gDQorCX0NCisNCisJcyA9IDA7DQorCWZvcih0 PXQxOyB0PD10MjsgdCsrKSB7DQorCSAgICBlW3NdID0geFt0XTsNCisJICAgIGlmICgocz49Y21h eCkgJiYgKHQ8PXMtY21pbikpIHsNCisJCWZvcihpPTA7IGk8Qy0+cm93czsgaSsrKSB7DQorCQkg ICAgbSA9IGdyZXRsX21hdHJpeF9nZXQoQyxpLDApOw0KKwkJICAgIGNvZWYgPSBncmV0bF9tYXRy aXhfZ2V0KEMsaSwxKTsNCisJCSAgICBlW3NdICs9IHhbdC1tXSpjb2VmOw0KKwkJfSANCisJICAg IH0NCisJICAgIHMrKzsNCisJfSANCisgICAgfQ0KKw0KKyAgICBpZiAoZ3JldGxfaXNfbnVsbF9t YXRyaXgoQSkpIHsNCisJcyA9IDA7DQorCWZvcih0PXQxOyB0PD10MjsgdCsrKSB7DQorCSAgICB5 W3RdID0gZVtzKytdOw0KKwl9DQorICAgIH0gZWxzZSB7DQorCWFtaW4gPSBhbWF4ID0gMDsNCisJ Zm9yKGk9MDsgaTxBLT5yb3dzOyBpKyspIHsNCisJICAgIG0gPSBncmV0bF9tYXRyaXhfZ2V0KEEs aSwwKTsNCisJICAgIGlmIChtPGFtaW4pIHsNCisJCWFtaW4gPSBtOyANCisJICAgIH0gZWxzZSBp ZiAobT5hbWF4KSB7DQorCQlhbWF4ID0gbTsgDQorCSAgICB9IA0KKwl9DQorDQorCXMgPSAwOw0K Kwlmb3IodD10MTsgdDw9dDItYW1pbjsgdCsrKSB7DQorCSAgICB5W3RdID0gZVtzXTsNCisJICAg IGZvcihpPTA7IGk8QS0+cm93czsgaSsrKSB7DQorCQltID0gZ3JldGxfbWF0cml4X2dldChBLGks MCk7DQorCQljb2VmID0gZ3JldGxfbWF0cml4X2dldChBLGksMSk7DQorCQlpZiAocyA+PSBtKSB7 DQorCQkgICAgeVt0XSAtPSB5W3QtbV0qY29lZjsNCisJCX0NCisJICAgIH0gDQorCSAgICBzKys7 DQorCX0NCisgICAgfQ0KKw0KKyAgICBmcmVlKGUpOw0KKyAgICByZXR1cm4gZXJyOw0KK30NCisN CiBpbnQgcGFuZWxfbWVhbl9zZXJpZXMgKGNvbnN0IGRvdWJsZSAqeCwgZG91YmxlICp5LCBjb25z dCBEQVRBSU5GTyAqcGRpbmZvKQ0KIHsNCiAgICAgY29uc3QgaW50ICp1bml0Ow0KSW5kZXg6IGxp Yi9zcmMvZ2VuZnVuY3MuaA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KUkNTIGZpbGU6IC9jdnNyb290L2dyZXRsL2dy ZXRsL2xpYi9zcmMvZ2VuZnVuY3MuaCx2DQpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMTANCmRpZmYg LXUgLXcgLXIxLjEwIGdlbmZ1bmNzLmgNCi0tLSBsaWIvc3JjL2dlbmZ1bmNzLmgJMTMgRmViIDIw MDggMTg6NDc6MDkgLTAwMDAJMS4xMA0KKysrIGxpYi9zcmMvZ2VuZnVuY3MuaAkxNSBGZWIgMjAw OCAxMTowMTo0NiAtMDAwMA0KQEAgLTQzLDYgKzQzLDkgQEANCiBpbnQgZnJhY2RpZmZfc2VyaWVz IChjb25zdCBkb3VibGUgKngsIGRvdWJsZSAqeSwgZG91YmxlIGQsDQogCQkgICAgIGNvbnN0IERB VEFJTkZPICpwZGluZm8pOw0KIA0KK2ludCBmaWx0ZXJfc2VyaWVzKGNvbnN0IGRvdWJsZSAqeCwg ZG91YmxlICp5LCBjb25zdCBEQVRBSU5GTyAqcGRpbmZvLCANCisJCSAgZ3JldGxfbWF0cml4ICpB LCBncmV0bF9tYXRyaXggKkMpOw0KKw0KIGludCBwYW5lbF9tZWFuX3NlcmllcyAoY29uc3QgZG91 YmxlICp4LCBkb3VibGUgKnksIGNvbnN0IERBVEFJTkZPICpwZGluZm8pOw0KIA0KIGludCBwYW5l bF9zZF9zZXJpZXMgKGNvbnN0IGRvdWJsZSAqeCwgZG91YmxlICp5LCBjb25zdCBEQVRBSU5GTyAq cGRpbmZvKTsNCkluZGV4OiBsaWIvc3JjL2dlbmxleC5jDQo9PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQpSQ1MgZmlsZTog L2N2c3Jvb3QvZ3JldGwvZ3JldGwvbGliL3NyYy9nZW5sZXguYyx2DQpyZXRyaWV2aW5nIHJldmlz aW9uIDEuMTE1DQpkaWZmIC11IC13IC1yMS4xMTUgZ2VubGV4LmMNCi0tLSBsaWIvc3JjL2dlbmxl eC5jCTEzIEZlYiAyMDA4IDE4OjQ3OjA5IC0wMDAwCTEuMTE1DQorKysgbGliL3NyYy9nZW5sZXgu YwkxNSBGZWIgMjAwOCAxMTowMTo0NiAtMDAwMA0KQEAgLTI1OCw2ICsyNTgsNyBAQA0KICAgICB7 IFdNRUFOLCAgICAid21lYW4iIH0sDQogICAgIHsgV1ZBUiwgICAgICJ3dmFyIiB9LA0KICAgICB7 IFdTRCwgICAgICAid3NkIiB9LA0KKyAgICB7IEZJTFRFUiwgICAiZmlsdGVyIiB9LA0KICAgICB7 IDAsICAgICAgICBOVUxMIH0NCiB9Ow0KIA0KSW5kZXg6IGxpYi9zcmMvZ2VucGFyc2UuaA0KPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQ0KUkNTIGZpbGU6IC9jdnNyb290L2dyZXRsL2dyZXRsL2xpYi9zcmMvZ2VucGFyc2Uu aCx2DQpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMTAzDQpkaWZmIC11IC13IC1yMS4xMDMgZ2VucGFy c2UuaA0KLS0tIGxpYi9zcmMvZ2VucGFyc2UuaAkxMyBGZWIgMjAwOCAxODo0NzowOSAtMDAwMAkx LjEwMw0KKysrIGxpYi9zcmMvZ2VucGFyc2UuaAkxNSBGZWIgMjAwOCAxMTowMTo0NiAtMDAwMA0K QEAgLTIxMywxMiArMjEzLDEzIEBADQogICAgICAgICAgICAgICBNU0hBUEUsDQogCSAgICAgIFNW RCwNCiAgICAgICAgICAgICAgIE1PTFMsDQorCSAgICAgIEZJTFRFUiwNCiAJICAgICAgRk5fTUFY LAkgIC8qIFNFUEFSQVRPUjogZW5kIG9mIG4tYXJnIGZ1bmN0aW9ucyAqLw0KIAkgICAgICBDT00s CSAgLyogY29tbWEgKi8NCiAgICAgICAgICAgICAgIERPVCwJICAvKiBwZXJpb2QgKi8NCiAJICAg ICAgU0VNSSwJICAvKiBzZW1pLWNvbG9uICovDQotCSAgICAgIENPTCwJICAvKiBjb2xvbiAqLw0K LSAgLyogMTkwICovICAgUFVOQ1RfTUFYLCAgLyogU0VQQVJBVE9SOiBlbmQgb2YgcHVuY3R1YXRp b24gbWFya3MgKi8NCisgIC8qIDE5MCAqLyAgIENPTCwJICAvKiBjb2xvbiAqLw0KKwkgICAgICBQ VU5DVF9NQVgsICAvKiBTRVBBUkFUT1I6IGVuZCBvZiBwdW5jdHVhdGlvbiBtYXJrcyAqLw0KICAg ICAgICAgICAgICAgQ09OLAkgIC8qIG5hbWVkIGNvbnN0YW50ICovDQogICAgICAgICAgICAgICBE VU0sCSAgLyogZHVtbXkgdmFyaWFibGUgKi8NCiAJICAgICAgVVNDTFIsCSAgLyogdXNlciB2YXJp YWJsZSwgc2NhbGFyICovDQpAQCAtMjI3LDggKzIyOCw4IEBADQogCSAgICAgIFVPQkosCSAgLyog dXNlci1kZWZpbmVkIG9iamVjdCAoZS5nLiBtb2RlbCkgKi8NCiAJICAgICAgTlVNLAkgIC8qIHNj YWxhciwgZXZhbHVhdGVkICovDQogCSAgICAgIFZFQywJICAvKiBzZXJpZXMsIGV2YWx1YXRlZCAq Lw0KLSAgICAgICAgICAgICAgSVZFQywJICAvKiB2ZWN0b3Igb2YgaW50ZWdlcnMsIGV2YWx1YXRl ZCAqLw0KLSAgLyogMjAwICovICAgTFZFQywgICAgICAgLyogbGlzdCwgYXMgYXJyYXkgb2YgaW50 cyAqLw0KKyAgLyogMjAwICovICAgSVZFQywJICAvKiB2ZWN0b3Igb2YgaW50ZWdlcnMsIGV2YWx1 YXRlZCAqLw0KKwkgICAgICBMVkVDLAkgIC8qIGxpc3QsIGFzIGFycmF5IG9mIGludHMgKi8NCiAJ ICAgICAgTUFULAkgIC8qIG1hdHJpeCwgZXZhbHVhdGVkICovDQogCSAgICAgIE9CUywJICAvKiBv YnNlcnZhdGlvbiBmcm9tIGEgc2VyaWVzICovDQogCSAgICAgIE1TTCwJICAvKiBtYXRyaXggcGx1 cyBzdWJzcGVjICovDQpAQCAtMjM3LDggKzIzOCw4IEBADQogCSAgICAgIE1TTDIsCSAgLyogdW5l dmFsdWF0ZWQgbWF0cml4IHN1YnNwZWMgKi8NCiAgICAgICAgICAgICAgIE1TUEVDLAkgIC8qIGV2 YWx1YXRlZCBtYXRyaXggc3Vic3BlYyAqLw0KIAkgICAgICBTVUJTTCwJICAvKiByb3cgb3IgY29s dW1uIGNvbXBvbmVudCBvZiBNU1BFQyAqLw0KLQkgICAgICBNREVGLAkgIC8qIGV4cGxpY2l0IG1h dHJpeCBkZWZpbml0aW9uIHsuLi59ICovDQotICAvKiAyMTAgKi8gICBMQUcsCSAgDQorICAvKiAy MTAgKi8gICBNREVGLAkgIC8qIGV4cGxpY2l0IG1hdHJpeCBkZWZpbml0aW9uIHsuLi59ICovDQor CSAgICAgIExBRywJICANCiAJICAgICAgRFZBUiwJICAvKiAkIGRhdGFzZXQgdmFyaWFibGUgKHNj YWxhciBvciBzZXJpZXMpICovDQogCSAgICAgIE1WQVIsCSAgLyogJCBtb2RlbCB2YXIgKHNjYWxh ciwgc2VyaWVzLCBvciBtYXRyaXgpICovDQogCSAgICAgIE9WQVIsCSAgLyogb2JqZWN0IHZhcmlh YmxlOiB2YXJpYWJsZSAidW5kZXIiIGFuIG9iamVjdCAqLw0KQEAgLTI0Nyw4ICsyNDgsOCBAQA0K IAkgICAgICBTVFIsCSAgLyogc3RyaW5nICovDQogCSAgICAgIEZBUkdTLAkgIC8qIHNldCBvZiBu IGZ1bmN0aW9uIGFyZ3VtZW50cyAqLw0KIAkgICAgICBFTVBUWSwNCi0JICAgICAgQUJTRU5ULA0K LSAgLyogMjIwICovICAgRFRZUEVfTUFYLCAgLyogU0VQQVJBVE9SOiBlbmQgb2YgImJhcmUiIHR5 cGVzICovDQorICAvKiAyMjAgKi8gICBBQlNFTlQsDQorCSAgICAgIERUWVBFX01BWCwgIC8qIFNF UEFSQVRPUjogZW5kIG9mICJiYXJlIiB0eXBlcyAqLw0KIAkgICAgICBFUk9PVCwJICAvKiBkdW1t eSByb290IGZvciAoLi4uKSBleHByZXNzaW9uICovDQogICAgICAgICAgICAgICBVRlVOLAkgIC8q IHVzZXItZGVmaW5lZCBmdW5jdGlvbiAqLw0KIAkgICAgICBJTkMsICAgDQo= --===============3337347491029581972== Content-Type: chemical/x-gamess-input Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="filter.inp" MIME-Version: 1.0 LyoKZmlsdGVyKCkgZnVuY3Rpb24gc2hvd2Nhc2UKKi8Kc2V0IHNlZWQgMjM0OTc4MjMKbnVsbGRh dGEgOTAwCnNldG9icyAxMiAxOjEgLS1zcGVjaWFsCgp1ID0gbm9ybWFsKCkKCiMgc3ltbWV0cmlj IHR3by1zaWRlZCBtb3ZpbmcgYXZlcmFnZSAobm90ZSB0aGF0CiMgdGhlICcwJyBjb2VmZmljaWVu dCBmb3IgYyBzdWJ0cmFjdHMgMC44IGZyb20gMSkKYSA9IHt9CmMgPSB7LTIsIDAuMjsgLTEsIDAu MjsgMCwgLTAuODsgMSwgMC4yOyAyLCAwLjJ9Cm1hdSA9IGZpbHRlcih1LGEsYykgCgojIGdlbmVy YXRlIGFuIEFSTUEoMSwyKQphID0gezEsIC0wLjd9CmMgPSB7MiwgMC41fQp5ID0gMyArIGZpbHRl cih1LGEsYykKCiMganVzdCBmb3IgZnVuOiBhcHBseSBpbnZlcnNlIGZpbHRlcgojIGFuZCBjaGVj ayBpdCByZXR1cm5zIG9yaWdpbmFsIHNlcmllcwplID0gZmlsdGVyKHktMyxjLGEpCm9scyBlIGNv bnN0IHUKCiMgdXNlIHRoZSBmaWx0ZXIoKSBmdW5jdGlvbiBpbiBoYW5kLW1hZGUgQVJNQSBlc3Rp bWF0aW9uCiMgKGFwcHJveGltYXRlIENNTCkKCnNjYWxhciBtdSA9IDIuNQpzY2FsYXIgcGhpID0g MC42NzUKc2NhbGFyIHRoZXRhID0gMC40NzUKc2NhbGFyIHMyID0gMQoKI2NoZWNrCmFybWEgMSB7 Mn0gOyB5IC0tY29uZGl0aW9uYWwgCgpzY2FsYXIgbXUgPSAkY29lZmZbMV0Kc2NhbGFyIHBoaSA9 ICRjb2VmZlsyXQpzY2FsYXIgdGhldGEgPSAkY29lZmZbM10KCm1sZSBsbCA9IC0wLjUgKiAobG4o czIpICsgZV4yL3MyKQogICAgYVsyXSA9IC1waGkKICAgIGNbMl0gPSB0aGV0YQogICAgc2NhbGFy IG0gPSBtdS8oMS1waGkpCiAgICBlID0gZmlsdGVyKHktbSwgYywgYSkKICAgIHMyID0gbWVhbihl XjIpCiAgICBwYXJhbXMgbXUgcGhpIHRoZXRhIHMyCmVuZCBtbGUgLXYKCgo= --===============3337347491029581972==-- From cottrell@wfu.edu Fri Feb 15 08:18:09 2008 From: Allin Cottrell To: gretl-devel@gretlml.univpm.it Subject: Re: [Gretl-devel] list of lags Date: Fri, 15 Feb 2008 08:24:25 -0500 Message-ID: In-Reply-To: alpine.DEB.1.00.0802150746570.21670@ec-4.econ.univpm.it MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============8852415707388805364==" --===============8852415707388805364== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit On Fri, 15 Feb 2008, Riccardo (Jack) Lucchetti wrote: > I don't remember if the syntax > > list X = x(-1 to -4) > > ever worked (my guess is yes, but I may be wrong). It certainly > doesn't now; should it? At present it works in the context of a regression specification ols y 0 x(-1 to -4) but not in stand-alone list creation. I suppose it could be enabled, though it would be fiddly (" to " is obviously ad hoc, from the genr point of view). Allin. --===============8852415707388805364==-- From cottrell@wfu.edu Fri Feb 15 08:19:09 2008 From: Allin Cottrell To: gretl-devel@gretlml.univpm.it Subject: Re: [Gretl-devel] language in output Date: Fri, 15 Feb 2008 08:25:25 -0500 Message-ID: In-Reply-To: 47B55CB6.1070504@gmx.net MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============7560614054917254436==" --===============7560614054917254436== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit On Fri, 15 Feb 2008, Sven Schreiber wrote: > recently I have started to use gretl's plots for research > papers, but there is a little problem: my system (locale) is > German, but the papers I write are in English. gretl --english Allin. --===============7560614054917254436==-- From svetosch@gmx.net Fri Feb 15 08:46:29 2008 From: Sven Schreiber To: gretl-devel@gretlml.univpm.it Subject: Re: [Gretl-devel] language in output Date: Fri, 15 Feb 2008 14:46:10 +0100 Message-ID: <47B597A2.9020907@gmx.net> In-Reply-To: alpine.LRH.1.00.0802150825000.9942@ricardo.ecn.wfu.edu MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============1529382048793180076==" --===============1529382048793180076== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Am 15.02.2008 14:25, Allin Cottrell schrieb: > On Fri, 15 Feb 2008, Sven Schreiber wrote: > >> recently I have started to use gretl's plots for research >> papers, but there is a little problem: my system (locale) is >> German, but the papers I write are in English. > > gretl --english > yep, that was one of the workarounds I was referring to... -sven --===============1529382048793180076==-- From r.lucchetti@univpm.it Fri Feb 15 08:59:28 2008 From: Riccardo (Jack) Lucchetti To: gretl-devel@gretlml.univpm.it Subject: Re: [Gretl-devel] language in output Date: Fri, 15 Feb 2008 14:59:26 +0100 Message-ID: In-Reply-To: 47B597A2.9020907@gmx.net MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============6397074041529045381==" --===============6397074041529045381== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit On Fri, 15 Feb 2008, Sven Schreiber wrote: > Am 15.02.2008 14:25, Allin Cottrell schrieb: >> On Fri, 15 Feb 2008, Sven Schreiber wrote: >> >>> recently I have started to use gretl's plots for research papers, but >>> there is a little problem: my system (locale) is German, but the papers I >>> write are in English. >> >> gretl --english >> > > yep, that was one of the workarounds I was referring to... "Workaround" doen't sound so hot. Could you say "feature", please? ;-) Riccardo (Jack) Lucchetti Dipartimento di Economia Università Politecnica delle Marche r.lucchetti(a)univpm.it http://www.econ.univpm.it/lucchetti --===============6397074041529045381==-- From cottrell@wfu.edu Fri Feb 15 12:19:39 2008 From: Allin Cottrell To: gretl-devel@gretlml.univpm.it Subject: Re: [Gretl-devel] list of lags (again) Date: Fri, 15 Feb 2008 12:25:55 -0500 Message-ID: In-Reply-To: alpine.DEB.1.00.0802150746570.21670@ec-4.econ.univpm.it MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============1796831359900143762==" --===============1796831359900143762== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit On Fri, 15 Feb 2008, Riccardo (Jack) Lucchetti wrote: > I don't remember if the syntax > > list X = x(-1 to -4) > > ever worked (my guess is yes, but I may be wrong). It certainly > doesn't now; should it? It should work now in CVS. Allin. --===============1796831359900143762==-- From ignacio.diaz-emparanza@ehu.es Fri Feb 15 12:47:33 2008 From: Ignacio Diaz-Emparanza To: gretl-devel@gretlml.univpm.it Subject: Re: [Gretl-devel] RFC: time-series filter (long, I'm afraid) Date: Fri, 15 Feb 2008 18:47:27 +0100 Message-ID: <200802151847.27301.ignacio.diaz-emparanza@ehu.es> In-Reply-To: alpine.DEB.1.00.0802151202430.21991@ec-4.econ.univpm.it MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============8995142129081774996==" --===============8995142129081774996== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable > This is, in some contexts, rather unsatisfactory. However, I see no easy > way out. Ideally, one should be able to indicate what pre-sample values > for x and y should be. I'm a bit wary of adding 2 extra parameter to a > function, so we mat want to turn this functionality into a command, > something like > > filter x A C ; y0 x0 > > and receive output via some dollar accessor. But OTOH it's nice from a > programming viewpoint to use all the genr infrastructure. > > Another issue is computational: there may be some advantage in using > Fourier transforms for this. However, I'm no expert here and if any of you > can give me any hint of the pros and cons, I'd be most grateful. > > Your opinions? (Sorry for the long message) Good work Jack! I was missing this filter command as well. With respect to the initial values may be you want to have a look at the help= =20 of the "filter" command in R: (in the 'stats' package) http://stat.ethz.ch/R-manual/R-patched/library/stats/html/filter.html they allow to assign initial values different from zero only to the "y"=20 variable. --=20 Ignacio Diaz-Emparanza =20 DEPARTAMENTO DE ECONOM=C3=8DA APLICADA III (ECONOMETR=C3=8DA Y ESTAD=C3=8DSTI= CA) =20 UPV/EHU Avda. Lehendakari Aguirre, 83 | 48015 BILBAO T.: +34 946013732 | F.: +34 946013754 www.et.bs.ehu.es=20 --===============8995142129081774996==-- From cottrell@wfu.edu Fri Feb 15 13:05:33 2008 From: Allin Cottrell To: gretl-devel@gretlml.univpm.it Subject: Re: [Gretl-devel] RFC: time-series filter (long, I'm afraid) Date: Fri, 15 Feb 2008 13:11:49 -0500 Message-ID: In-Reply-To: alpine.DEB.1.00.0802151202430.21991@ec-4.econ.univpm.it MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============0293811142914566375==" --===============0293811142914566375== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit On Fri, 15 Feb 2008, Riccardo (Jack) Lucchetti wrote: > I'd like to implement some mechanism for "arma-like" filtering > of a time series, that is, given a time series x_t, compute y_t > that satisfies > > y_t = C(L)/A(L) x_t > > Ideally, one should be able to indicate what pre-sample values > for x and y should be. I'm a bit wary of adding 2 extra > parameter to a function... One possibly relevant point: I've been thinking about implementing optional parameters in genr functions (so instead of having to add "null" or whatever you could just write a function call in shorter form, if you're happy with the defaults for the trailing values). Allin. --===============0293811142914566375==-- From cottrell@wfu.edu Fri Feb 15 13:10:13 2008 From: Allin Cottrell To: gretl-devel@gretlml.univpm.it Subject: Re: [Gretl-devel] list of lags (again) Date: Fri, 15 Feb 2008 13:16:30 -0500 Message-ID: In-Reply-To: alpine.LRH.1.00.0802151225090.9942@ricardo.ecn.wfu.edu MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============1360760546161081182==" --===============1360760546161081182== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit On Fri, 15 Feb 2008, Allin Cottrell wrote: > On Fri, 15 Feb 2008, Riccardo (Jack) Lucchetti wrote: > > > I don't remember if the syntax > > > > list X = x(-1 to -4) > > > > ever worked (my guess is yes, but I may be wrong). It certainly > > doesn't now; should it? > > It should work now in CVS. I've enabled a couple more more things in relation to lists: list L = x1 x2 time ("time" does not have to exist already) list xlist = x1 x2 x3 list L = xpx(xlist) (L holds squares and cross-products) What I'm working towards here is the possibility of trashing the list-parser that still exists in interact.c, for lists provided in the context of, e.g., estimation commands. I'd like to hand it all over to genr at some point. Allin. --===============1360760546161081182==-- From r.lucchetti@univpm.it Fri Feb 15 13:13:05 2008 From: Riccardo (Jack) Lucchetti To: gretl-devel@gretlml.univpm.it Subject: Re: [Gretl-devel] RFC: time-series filter (long, I'm afraid) Date: Fri, 15 Feb 2008 19:13:01 +0100 Message-ID: In-Reply-To: alpine.LRH.1.00.0802151308091.9942@ricardo.ecn.wfu.edu MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============0910696154183701567==" --===============0910696154183701567== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit On Fri, 15 Feb 2008, Allin Cottrell wrote: > > One possibly relevant point: I've been thinking about implementing > optional parameters in genr functions (so instead of having to add > "null" or whatever you could just write a function call in shorter > form, if you're happy with the defaults for the trailing values). > That'd be great. Riccardo (Jack) Lucchetti Dipartimento di Economia Università Politecnica delle Marche r.lucchetti(a)univpm.it http://www.econ.univpm.it/lucchetti --===============0910696154183701567==-- From r.lucchetti@univpm.it Fri Feb 15 13:41:01 2008 From: Riccardo (Jack) Lucchetti To: gretl-devel@gretlml.univpm.it Subject: Re: [Gretl-devel] list of lags (again) Date: Fri, 15 Feb 2008 19:40:58 +0100 Message-ID: In-Reply-To: alpine.LRH.1.00.0802151312040.9942@ricardo.ecn.wfu.edu MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============0942861190985426514==" --===============0942861190985426514== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit On Fri, 15 Feb 2008, Allin Cottrell wrote: > I've enabled a couple more more things in relation to lists: > > list L = x1 x2 time > > ("time" does not have to exist already) > > list xlist = x1 x2 x3 > list L = xpx(xlist) > > (L holds squares and cross-products) > > What I'm working towards here is the possibility of trashing the > list-parser that still exists in interact.c, for lists provided in > the context of, e.g., estimation commands. I'd like to hand it > all over to genr at some point. This is all excellent, and certainly improves scripting a lot. I'm wondering if lists are now mature enough to show up in the GUI: at this point, someone who only uses the GUI may not even know what a list is, which is IMO a shame. Some random thoughts follow: it'd be nice to * highlight one or more variables from the main window, and have "Define as list" in the right-click menu; a similar item could also go in the "Add" menu; * show named lists in the estimation windows, in a separate pane somewhere (under the variables, maybe?); * make defined lists visible, maybe together with variables, like Eviews does for "groups", or in the session icon view. Other ideas? Riccardo (Jack) Lucchetti Dipartimento di Economia Università Politecnica delle Marche r.lucchetti(a)univpm.it http://www.econ.univpm.it/lucchetti --===============0942861190985426514==-- From andreas.rosenblad@ltv.se Wed Feb 20 06:13:00 2008 From: andreas.rosenblad@ltv.se To: gretl-devel@gretlml.univpm.it Subject: [Gretl-devel] A few small feature requests Date: Wed, 20 Feb 2008 12:12:56 +0100 Message-ID: In-Reply-To: OF03F9E5CE.DB1F9B74-ONC12573F3.0064C23D@LocalDomain MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============6195383404704894716==" --===============6195383404704894716== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit A few small feature requests: 1. Add access to the ranking() command from the GUI. For example, a new menu entry: Add > Rankings of selected variables 2. For Spearman's rank correlation procedure one can choose to not print the ranked data by omitting the --verbose command using the CLI. From the GUI one cannot choose to not print the ranked data. Add a check box to the Spearman rank correlation GUI for choosing to print or not print the ranked data. 3. For the command difftest(), the --verbose option results in the printing of the rankings for the Wilcoxon tests. Please add an option (that is also accessible from the GUI) for also saving these rankings as new variables in the data set. Best regards Andreas --===============6195383404704894716==-- From svetosch@gmx.net Wed Feb 20 08:50:28 2008 From: Sven Schreiber To: gretl-devel@gretlml.univpm.it Subject: [Gretl-devel] translation updates before release Date: Wed, 20 Feb 2008 14:50:00 +0100 Message-ID: <47BC3008.5030906@gmx.net> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============6623706016821386623==" --===============6623706016821386623== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit I have just noticed that a couple more strings have recently been added that need to be translated. Will there be more to come before the next release? thanks, sven --===============6623706016821386623==-- From cottrell@wfu.edu Wed Feb 20 15:15:47 2008 From: Allin Cottrell To: gretl-devel@gretlml.univpm.it Subject: Re: [Gretl-devel] translation updates before release Date: Wed, 20 Feb 2008 15:21:57 -0500 Message-ID: In-Reply-To: 47BC3008.5030906@gmx.net MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============8580513951559493179==" --===============8580513951559493179== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit On Wed, 20 Feb 2008, Sven Schreiber wrote: > I have just noticed that a couple more strings have recently > been added that need to be translated. Will there be more to > come before the next release? I think it's time to get a release out, so I don't expect to change translatable strings before that. I've just synced gretl.pot with the current state of things. Allin. --===============8580513951559493179==-- From svetosch@gmx.net Thu Feb 21 06:55:37 2008 From: Sven Schreiber To: gretl-devel@gretlml.univpm.it Subject: [Gretl-devel] minor it.po problem Date: Thu, 21 Feb 2008 12:55:08 +0100 Message-ID: <47BD669C.8050007@gmx.net> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============7929408134916962053==" --===============7929408134916962053== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Compilation from cvs just failed for me due to the following line in it.po: msgstr "Dataset cancellato\c" changing \c to \n (in my local copy only) fixed it of course. If I should change this in cvs as well, please let me know, otherwise I won't touch other people's po files. cheers, sven --===============7929408134916962053==-- From svetosch@gmx.net Thu Feb 21 07:18:25 2008 From: Sven Schreiber To: gretl-devel@gretlml.univpm.it Subject: Re: [Gretl-devel] translation updates before release Date: Thu, 21 Feb 2008 13:17:56 +0100 Message-ID: <47BD6BF4.1090409@gmx.net> In-Reply-To: alpine.LRH.1.00.0802201520350.2444@ricardo.ecn.wfu.edu MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============6050182002875077684==" --===============6050182002875077684== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Am 20.02.2008 21:21, Allin Cottrell schrieb: > On Wed, 20 Feb 2008, Sven Schreiber wrote: > >> I have just noticed that a couple more strings have recently >> been added that need to be translated. Will there be more to >> come before the next release? > > I think it's time to get a release out, so I don't expect to > change translatable strings before that. I've just synced > gretl.pot with the current state of things. > Ok, I have just committed the updated de.po. cheers, sven --===============6050182002875077684==-- From ignacio.diaz-emparanza@ehu.es Thu Feb 21 07:28:27 2008 From: Ignacio Diaz-Emparanza To: gretl-devel@gretlml.univpm.it Subject: Re: [Gretl-devel] translation updates before release Date: Thu, 21 Feb 2008 13:28:22 +0100 Message-ID: <200802211328.22176.ignacio.diaz-emparanza@ehu.es> In-Reply-To: 47BD6BF4.1090409@gmx.net MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============7310121357520767125==" --===============7310121357520767125== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable El Thursday 21 February 2008 13:17:56 Sven Schreiber escribi=C3=B3: > Am 20.02.2008 21:21, Allin Cottrell schrieb: > > On Wed, 20 Feb 2008, Sven Schreiber wrote: > >> I have just noticed that a couple more strings have recently > >> been added that need to be translated. Will there be more to > >> come before the next release? > > > > I think it's time to get a release out, so I don't expect to > > change translatable strings before that. I've just synced > > gretl.pot with the current state of things. > > Ok, I have just committed the updated de.po. > es.po file is done and comitted as well. --=20 Ignacio Diaz-Emparanza =20 DEPARTAMENTO DE ECONOM=C3=8DA APLICADA III (ECONOMETR=C3=8DA Y ESTAD=C3=8DSTI= CA) =20 UPV/EHU Avda. Lehendakari Aguirre, 83 | 48015 BILBAO T.: +34 946013732 | F.: +34 946013754 www.et.bs.ehu.es=20 --===============7310121357520767125==-- From cri@linux.it Thu Feb 21 07:36:25 2008 From: Cristian Rigamonti To: gretl-devel@gretlml.univpm.it Subject: Re: [Gretl-devel] minor it.po problem Date: Thu, 21 Feb 2008 13:36:14 +0100 Message-ID: <20080221123614.GA13366@pegasus> In-Reply-To: 47BD669C.8050007@gmx.net Content-Type: multipart/mixed; boundary="===============0047810874300295385==" --===============0047810874300295385== Content-Type: application/pgp-signature Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="signature.asc" MIME-Version: 1.0 LS0tLS1CRUdJTiBQR1AgU0lHTkFUVVJFLS0tLS0KVmVyc2lvbjogR251UEcgdjEuNC42IChHTlUv TGludXgpCgppRDhEQlFGSHZYQStyU0FhZ1pRNlh3NFJBbTZDQUo5RXNSUUtFa3Y2TjY2MThZenZB STIrcXB1NnBBQ2VMdjIyCnQxRmlpUjBHTDd3czUzTEF6R1ZoN2FFPQo9OEdCSAotLS0tLUVORCBQ R1AgU0lHTkFUVVJFLS0tLS0K --===============0047810874300295385==-- From ignacio.diaz-emparanza@ehu.es Tue Feb 26 10:37:42 2008 From: Ignacio Diaz-Emparanza To: gretl-devel@gretlml.univpm.it Subject: [Gretl-devel] compact weekly to monthly Date: Tue, 26 Feb 2008 16:37:35 +0100 Message-ID: <200802261637.35266.ignacio.diaz-emparanza@ehu.es> In-Reply-To: 20080221123614.GA13366@pegasus MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============8148686794301239347==" --===============8148686794301239347== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable It seems that if we try to compact weekly data to monthly, the command dataset compact 12 sum is not working as expected. I think it is compacting data by averaging. --=20 Ignacio Diaz-Emparanza =20 DEPARTAMENTO DE ECONOM=C3=8DA APLICADA III (ECONOMETR=C3=8DA Y ESTAD=C3=8DSTI= CA) =20 UPV/EHU Avda. Lehendakari Aguirre, 83 | 48015 BILBAO T.: +34 946013732 | F.: +34 946013754 www.et.bs.ehu.es=20 --===============8148686794301239347==-- From cottrell@wfu.edu Tue Feb 26 21:15:50 2008 From: Allin Cottrell To: gretl-devel@gretlml.univpm.it Subject: Re: [Gretl-devel] compact weekly to monthly Date: Tue, 26 Feb 2008 21:21:53 -0500 Message-ID: In-Reply-To: 200802261637.35266.ignacio.diaz-emparanza@ehu.es MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============8295649412290058207==" --===============8295649412290058207== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit On Tue, 26 Feb 2008, Ignacio Diaz-Emparanza wrote: > It seems that if we try to compact weekly data to monthly, the command > > dataset compact 12 sum > > is not working as expected. I think it is compacting data by averaging. You're right: weekly to monthly compaction only supported averaging and (not very nice) was silent about this fact! I think this is fixed in CVS: all the advertised compaction methods ought to work now. Allin. --===============8295649412290058207==-- From andreas.rosenblad@ltv.se Wed Feb 27 02:31:54 2008 From: andreas.rosenblad@ltv.se To: gretl-devel@gretlml.univpm.it Subject: [Gretl-devel] Wrong dating of gretl manuals Date: Wed, 27 Feb 2008 08:31:49 +0100 Message-ID: In-Reply-To: OF203BAA48.385DD660-ONC12573DE.005D6D76@LocalDomain MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============9122672938515415574==" --===============9122672938515415574== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit The Gretl Command Reference and Gretl User's Guide in PDF that is included in gretl 1.7.2 are dated November 2007. Shouldn't this be updated to February 2007? Best regards Andreas --===============9122672938515415574==-- From r.lucchetti@univpm.it Wed Feb 27 03:11:59 2008 From: Riccardo (Jack) Lucchetti To: gretl-devel@gretlml.univpm.it Subject: Re: [Gretl-devel] Wrong dating of gretl manuals Date: Wed, 27 Feb 2008 09:11:50 +0100 Message-ID: In-Reply-To: OF0BE1CADC.0571CA07-ONC12573FC.0028BA03-C12573FC.00295DFA@ltv.se MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============7487218755304858895==" --===============7487218755304858895== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit On Wed, 27 Feb 2008, andreas.rosenblad(a)ltv.se wrote: > > The Gretl Command Reference and Gretl User's Guide in PDF that is included > in gretl 1.7.2 are dated November 2007. Shouldn't this be updated to > February 2007? Done in CVS. Thanks. Riccardo (Jack) Lucchetti Dipartimento di Economia Università Politecnica delle Marche r.lucchetti(a)univpm.it http://www.econ.univpm.it/lucchetti --===============7487218755304858895==-- From ignacio.diaz-emparanza@ehu.es Wed Feb 27 06:01:32 2008 From: Ignacio Diaz-Emparanza To: gretl-devel@gretlml.univpm.it Subject: Re: [Gretl-devel] compact weekly to monthly Date: Wed, 27 Feb 2008 12:01:27 +0100 Message-ID: <200802271201.27397.ignacio.diaz-emparanza@ehu.es> In-Reply-To: alpine.LRH.1.00.0802262119420.11702@ricardo.ecn.wfu.edu MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============8088523964389422736==" --===============8088523964389422736== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable El Wednesday 27 February 2008 03:21:53 Allin Cottrell escribi=C3=B3: > On Tue, 26 Feb 2008, Ignacio Diaz-Emparanza wrote: > > It seems that if we try to compact weekly data to monthly, the command > > > > dataset compact 12 sum > > > > is not working as expected. I think it is compacting data by averaging. > > You're right: weekly to monthly compaction only supported > averaging and (not very nice) was silent about this fact! I think > this is fixed in CVS: all the advertised compaction methods ought > to work now. Yes, I confirm this is working ok now. Thanks a lot --=20 Ignacio Diaz-Emparanza =20 DEPARTAMENTO DE ECONOM=C3=8DA APLICADA III (ECONOMETR=C3=8DA Y ESTAD=C3=8DSTI= CA) =20 UPV/EHU Avda. Lehendakari Aguirre, 83 | 48015 BILBAO T.: +34 946013732 | F.: +34 946013754 www.et.bs.ehu.es=20 --===============8088523964389422736==-- From svetosch@gmx.net Wed Feb 27 07:01:54 2008 From: Sven Schreiber To: gretl-devel@gretlml.univpm.it Subject: Re: [Gretl-devel] Wrong dating of gretl manuals Date: Wed, 27 Feb 2008 13:01:18 +0100 Message-ID: <47C5510E.3040005@gmx.net> In-Reply-To: alpine.DEB.1.00.0802270909400.10227@ec-4.econ.univpm.it MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============0565524503496513725==" --===============0565524503496513725== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Am 27.02.2008 09:11, Riccardo (Jack) Lucchetti schrieb: > On Wed, 27 Feb 2008, andreas.rosenblad(a)ltv.se wrote: > >> >> The Gretl Command Reference and Gretl User's Guide in PDF that is >> included >> in gretl 1.7.2 are dated November 2007. Shouldn't this be updated to >> February 2007? > > Done in CVS. Thanks. > > sorry I had noticed it before as well, but didn't tell. I remember it also happened before, so maybe it would be a good idea to automate this somehow (latex \today ?). And since this is my first post after the release of 1.7.2: Thanks for all the work, it is much appreciated! -sven --===============0565524503496513725==-- From andreas.rosenblad@ltv.se Wed Feb 27 08:33:15 2008 From: andreas.rosenblad@ltv.se To: gretl-devel@gretlml.univpm.it Subject: [Gretl-devel] Outdated figures in Gretl User's Guide Date: Wed, 27 Feb 2008 14:33:11 +0100 Message-ID: In-Reply-To: OF203BAA48.385DD660-ONC12573DE.005D6D76@LocalDomain MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============8403830530564594844==" --===============8403830530564594844== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Outdated figures in Gretl User's Guide: 1. Figure 2.2 (p. 6), Gretl toolbar (p. 11), and maybe others: The current version 1.7.2 has an icon with link to function packages, not the gretl website which the manual shows. 2. Figure 2.4 and maybe others: The "close" button at the bottom of the screen is not seen in version 1.7.2. 3. Figure 2.3 and maybe others: The OK, Clear, Cancel, Help buttons in 1.7.2 does not have the icons that the buttons in the manual have. Best regards Andreas --===============8403830530564594844==-- From andreas.rosenblad@ltv.se Wed Feb 27 08:44:31 2008 From: andreas.rosenblad@ltv.se To: gretl-devel@gretlml.univpm.it Subject: [Gretl-devel] The "dataset resample n" command not documented yet Date: Wed, 27 Feb 2008 14:44:27 +0100 Message-ID: In-Reply-To: OF203BAA48.385DD660-ONC12573DE.005D6D76@LocalDomain MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============1512448893491498304==" --===============1512448893491498304== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit The gretl changelog for version 1.7.1 says: - Add "dataset resample n" command to resample observations with replacement (not documented yet) In gretl 1.7.2 this is still not documented. Please document it. Best regards Andreas --===============1512448893491498304==-- From cottrell@wfu.edu Wed Feb 27 08:50:06 2008 From: Allin Cottrell To: gretl-devel@gretlml.univpm.it Subject: Re: [Gretl-devel] Wrong dating of gretl manuals Date: Wed, 27 Feb 2008 08:56:07 -0500 Message-ID: In-Reply-To: OF0BE1CADC.0571CA07-ONC12573FC.0028BA03-C12573FC.00295DFA@ltv.se MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============0649670666159937448==" --===============0649670666159937448== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit On Wed, 27 Feb 2008, andreas.rosenblad(a)ltv.se wrote: > > The Gretl Command Reference and Gretl User's Guide in PDF that is included > in gretl 1.7.2 are dated November 2007. Shouldn't this be updated to > February 2007? Or -- even better -- February 2008! Allin. --===============0649670666159937448==-- From cottrell@wfu.edu Wed Feb 27 09:29:45 2008 From: Allin Cottrell To: gretl-devel@gretlml.univpm.it Subject: Re: [Gretl-devel] Wrong dating of gretl manuals Date: Wed, 27 Feb 2008 09:35:46 -0500 Message-ID: In-Reply-To: 47C5510E.3040005@gmx.net MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============2273385655371667818==" --===============2273385655371667818== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit On Wed, 27 Feb 2008, Sven Schreiber wrote: > Am 27.02.2008 09:11, Riccardo (Jack) Lucchetti schrieb: > > On Wed, 27 Feb 2008, andreas.rosenblad(a)ltv.se wrote: > > > > > > The Gretl Command Reference and Gretl User's Guide in PDF that is included > > > in gretl 1.7.2 are dated November 2007. Shouldn't this be updated to > > > February 2007? > > > > Done in CVS. Thanks. > > sorry I had noticed it before as well, but didn't tell. I remember it also > happened before, so maybe it would be a good idea to automate this somehow > (latex \today ?). \today is a bit too fine-grained, I think, but I've now committed an auto-dating mechanism using the "date" utility. > And since this is my first post after the release of 1.7.2: > Thanks for all the work, it is much appreciated! Thanks. More good things are on the way. Allin. --===============2273385655371667818==-- From cottrell@wfu.edu Wed Feb 27 10:03:05 2008 From: Allin Cottrell To: gretl-devel@gretlml.univpm.it Subject: Re: [Gretl-devel] Outdated figures in Gretl User's Guide Date: Wed, 27 Feb 2008 10:09:06 -0500 Message-ID: In-Reply-To: OF671334D8.2EED5A1C-ONC12573FC.0041EC28-C12573FC.004A734B@ltv.se MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============4183913062511094036==" --===============4183913062511094036== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit On Wed, 27 Feb 2008, andreas.rosenblad(a)ltv.se wrote: > > Outdated figures in Gretl User's Guide... These are now updated in CVS. Allin. --===============4183913062511094036==-- From andreas.rosenblad@ltv.se Fri Feb 29 09:43:58 2008 From: andreas.rosenblad@ltv.se To: gretl-devel@gretlml.univpm.it Subject: [Gretl-devel] Still several outdated screenshots in User's Guide Date: Fri, 29 Feb 2008 15:43:53 +0100 Message-ID: In-Reply-To: OFF172C758.C96B0027-ONC12573FE.004C5F87@LocalDomain MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============8760648922448059976==" --===============8760648922448059976== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit There are still several outdated screenshots in the Gretl User's Guide: Figure 3.3 and 10.1: Close button still seen Figure 7.1: Labels tab bar missing Figure 16.1: Check buttons for "Show details of iterations" and "Robust standard errors" missing Figure 23.1: Menu entry "Tabular options..." missing Best regards Andreas cottrell(a)wfu.edu @ INTERNET skrev 2008-02-29 14:54:11 : > This is mostly just a quick fix for correct cooperation with lapack > on 64-bit systems. > > http://gretl.sourceforge.net/index.html > > 2/29/2008 version 1.7.3 > - Fix for 64-bit platforms: don't use "long" as the C > counterpart of Fortran 77 "INTEGER" > - Make the rcond function available for asymmetric matrices > - Enable the $yhat accessor for fitted values in equation > systems > - Add Italian function help to Windows build > - Weekly to monthly data compaction: respect the user's > choice of compaction method, as claimed > - Add trimr matrix function (as in Gauss) > - Extend matrix "division" a la Gauss > - Disallow user functions with the same name as a built-in > function > - Update several screenshots in User's Guide > > -- Allin Cottrell > Department of Economics > Wake Forest University, NC --===============8760648922448059976==-- From svetosch@gmx.net Fri Feb 29 09:56:35 2008 From: Sven Schreiber To: gretl-devel@gretlml.univpm.it Subject: Re: [Gretl-devel] Still several outdated screenshots in User's Guide Date: Fri, 29 Feb 2008 15:56:26 +0100 Message-ID: <47C81D1A.8050206@gmx.net> In-Reply-To: OF4AB626C4.E2F4AC7A-ONC12573FE.004FB58E-C12573FE.0050EC1E@ltv.se MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============6683081987008330728==" --===============6683081987008330728== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Until somebody feels like contributing the updated screen-shots, could you add a bug to the tracker so that it doesn't get forgotten? (https://sourceforge.net/tracker/?atid=416803&group_id=36234&func=browse) -> "submit new" thanks, sven Am 29.02.2008 15:43, andreas.rosenblad(a)ltv.se schrieb: > There are still several outdated screenshots in the Gretl User's Guide: > > Figure 3.3 and 10.1: Close button still seen > Figure 7.1: Labels tab bar missing > Figure 16.1: Check buttons for "Show details of iterations" and "Robust > standard errors" missing > Figure 23.1: Menu entry "Tabular options..." missing > > Best regards > Andreas > > > > > > cottrell(a)wfu.edu @ INTERNET skrev 2008-02-29 14:54:11 : > >> This is mostly just a quick fix for correct cooperation with lapack >> on 64-bit systems. >> >> http://gretl.sourceforge.net/index.html >> >> 2/29/2008 version 1.7.3 >> - Fix for 64-bit platforms: don't use "long" as the C >> counterpart of Fortran 77 "INTEGER" >> - Make the rcond function available for asymmetric matrices >> - Enable the $yhat accessor for fitted values in equation >> systems >> - Add Italian function help to Windows build >> - Weekly to monthly data compaction: respect the user's >> choice of compaction method, as claimed >> - Add trimr matrix function (as in Gauss) >> - Extend matrix "division" a la Gauss >> - Disallow user functions with the same name as a built-in >> function >> - Update several screenshots in User's Guide >> >> -- Allin Cottrell >> Department of Economics >> Wake Forest University, NC > > _______________________________________________ > Gretl-devel mailing list > Gretl-devel(a)lists.wfu.edu > http://lists.wfu.edu/mailman/listinfo/gretl-devel > --===============6683081987008330728==--