Aquileo | Recent changes to bugshttps://sourceforge.net/p/freemat/bugs/Recent changes to bugsenSat, 20 May 2023 15:17:35 -0000Aquileo | #614 overloading a builtin functionhttps://sourceforge.net/p/freemat/bugs/614/?limit=25#defc<div class="markdown_content"><p>I'm using 4.2 on Windows. </p></div>VicSat, 20 May 2023 15:17:35 -0000https://sourceforge.net5ce0bd2f3c359853e9dabd8e6140435ae1a1677eAquileo | overloading a builtin functionhttps://sourceforge.net/p/freemat/bugs/614/<div class="markdown_content"><p>After overloading a builtin function, when I call 'builtin' function, it calls my overloaded function instead of the builtin version...<br/>
For example: <br/>
in current folder, in file 'sin.m' I define:</p>
<div class="codehilite"><pre><span></span><code><span class="k">function</span><span class="w"> </span>y<span class="w"> </span><span class="p">=</span><span class="w"> </span><span class="nf">sin </span><span class="p">(</span>x<span class="p">)</span>
<span class="w"> </span><span class="n">y</span><span class="w"> </span><span class="p">=</span><span class="w"> </span><span class="mi">100</span><span class="p">;</span><span class="w"> </span>
<span class="k">end</span>
</code></pre></div>
<p>Then on command line:<br/>
~~~<br/>
--> sin(0)<br/>
ans =<br/>
100<br/>
--> builtin('sin',0)<br/>
ans =<br/>
100 <br/>
~~~</p>
<p>Is there a way to fix this or a workaround I could use?<br/>
thanks</p></div>VicSat, 20 May 2023 15:16:17 -0000https://sourceforge.netc2dcc802f8542eaa6b69f785cc9e7f9a690ad15eAquileo | crash on version 4.2https://sourceforge.net/p/freemat/bugs/613/<div class="markdown_content"><p>It looks like Freemat 4.2 crashes in some cases of stack overflow. Here is an easy-to-reproduce example (observed with 4.2 on MacOSX 10.14.4), with a recursive implementation of the Fibonacci sequence.</p>
<div class="codehilite"><pre><span></span><span class="kd">function</span> <span class="nx">u</span> <span class="o">=</span> <span class="nx">fibrec</span><span class="p">(</span><span class="nx">n</span><span class="p">)</span>
<span class="o">%</span> <span class="nx">computes</span> <span class="nx">the</span> <span class="nx">n</span><span class="o">-</span><span class="nx">th</span> <span class="nx">term</span> <span class="nx">of</span> <span class="nx">the</span> <span class="p">(</span><span class="mi">0</span><span class="p">,</span><span class="mi">1</span><span class="p">)</span><span class="o">-</span><span class="nx">Fibonacci</span> <span class="nx">sequence</span><span class="p">;</span> <span class="nx">recursive</span> <span class="nx">version</span>
<span class="nx">a</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
<span class="nx">b</span> <span class="o">=</span> <span class="mi">1</span><span class="p">;</span>
<span class="k">if</span> <span class="p">(</span><span class="nx">n</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span>
<span class="nx">u</span> <span class="o">=</span> <span class="nx">a</span><span class="p">;</span>
<span class="nx">elseif</span> <span class="p">(</span><span class="nx">n</span> <span class="o">==</span> <span class="mi">1</span><span class="p">);</span>
<span class="nx">u</span> <span class="o">=</span> <span class="nx">b</span><span class="p">;</span>
<span class="k">else</span>
<span class="nx">u</span> <span class="o">=</span> <span class="nx">fibrec</span><span class="p">(</span><span class="nx">n</span> <span class="o">-</span> <span class="mi">2</span><span class="p">)</span> <span class="o">+</span> <span class="nx">fibrec</span><span class="p">(</span><span class="nx">n</span> <span class="o">-</span> <span class="mi">1</span><span class="p">);</span>
<span class="nx">end</span><span class="p">;</span>
<span class="nx">end</span>
</pre></div>
<div class="codehilite"><pre><span></span>--> fibrec(5)
ans =
5
--> fibrec(100)
</pre></div>
<p><strong><crash></crash></strong></p></div>Fabrice DucosWed, 01 May 2019 21:57:55 -0000https://sourceforge.netd0046e60878000b80bd7b3c17e93bd3d96d76b8fAquileo | Build fails in clang-6https://sourceforge.net/p/freemat/bugs/612/<div class="markdown_content"><p>I'm getting these warnings and erros on FreeBSD 12:</p>
<div class="codehilite"><pre><span></span>/wrkdirs/usr/ports/math/freemat/work/FreeMat-4.2-Source/libs/libMatC/CArray.cpp:125:1: warning: control may reach end of non-void function [-Wreturn-type]
}
^
/wrkdirs/usr/ports/math/freemat/work/FreeMat-4.2-Source/libs/libMatC/CArray.cpp:208:1: warning: control may reach end of non-void function [-Wreturn-type]
}
^
/wrkdirs/usr/ports/math/freemat/work/FreeMat-4.2-Source/libs/libMatC/CArray.cpp:234:1: warning: control may reach end of non-void function [-Wreturn-type]
}
^
/wrkdirs/usr/ports/math/freemat/work/FreeMat-4.2-Source/libs/libMatC/CArray.cpp:537:21: error: cannot initialize return object of type 'double' with an rvalue of type 'nullptr_t'
if (*flag) return NULL;
^~~~
/usr/include/sys/_null.h:37:14: note: expanded from macro 'NULL'
#define NULL nullptr
^~~~~~~
/wrkdirs/usr/ports/math/freemat/work/FreeMat-4.2-Source/libs/libMatC/CArray.cpp:572:21: error: cannot initialize return object of type 'double' with an rvalue of type 'nullptr_t'
if (*flag) return NULL;
^~~~
/usr/include/sys/_null.h:37:14: note: expanded from macro 'NULL'
#define NULL nullptr
^~~~~~~
3 warnings and 2 errors generated.
</pre></div>
</div>YuriThu, 26 Apr 2018 05:15:06 -0000https://sourceforge.netbc041bba64066c2cba32f34d0464e999f8cfedc5Aquileo | #489 Freemat GUI fails if it sees a file named "Private"https://sourceforge.net/p/freemat/bugs/489/?limit=25#5883<div class="markdown_content"><p>Below is a patch fixing the issue. We want to scanDirectory() if fileBaseName matches 'private' case-insensitively.</p>
<p>--- a/libs/libFreeMat/Interpreter.cpp<br/>
+++ b/libs/libFreeMat/Interpreter.cpp<br/>
@@ -364,7 +364,7 @@<br/>
procFileP(prefix + ":" + fileBaseName,fileAbsoluteFilePath,tempfunc);<br/>
else if (fileBaseName<span>[0]</span> == '@')<br/>
scanDirectory(fileAbsoluteFilePath,tempfunc,fileBaseName);<br/>
- else if (fileBaseName == "private")<br/>
+ else if (fileBaseName.toUpper() == "PRIVATE")<br/>
scanDirectory(fileAbsoluteFilePath,tempfunc,fileAbsoluteFilePath);<br/>
else<br/>
procFileMex(fileBaseName,fileAbsoluteFilePath,tempfunc);</p></div>Graham InggsWed, 07 Jun 2017 20:12:22 -0000https://sourceforge.netf30aa479c6002b43332b763b881f2e99d57f51e2Aquileo | #563 Help->About doesn't give versionhttps://sourceforge.net/p/freemat/bugs/563/?limit=25#3d59<div class="markdown_content"><p>Below is a patch fixing the issue. FREEMAT_VERSION is already quoted.</p>
<p>--- a/src/application.cpp<br/>
+++ b/src/application.cpp<br/>
@@ -429,7 +429,7 @@<br/>
void ApplicationWindow::about() {<br/>
QString text;<br/>
text += "FreeMat Version ";<br/>
- text += QUOTEME(FREEMAT_VERSION);<br/>
+ text += FREEMAT_VERSION;<br/>
text += "\n\n";<br/>
text += "Licensed under the GNU Public License Ver 2\n";<br/>
text += "Web: <a href="http://freemat.sf.net\n">http://freemat.sf.net\n</a>";</p></div>Graham InggsWed, 07 Jun 2017 20:08:36 -0000https://sourceforge.netd542752470379d2cf300f1f558a4aaaebdf44a2bAquileo | #604 Sign of polynomial return for polyderhttps://sourceforge.net/p/freemat/bugs/604/?limit=25#c263<div class="markdown_content"><p>Hi,</p>
<p>back in 2007 I contributed a polyder function (and other functions) to FREEMAT. I see now that it has been replaced by a different, possibly more complete, function that, unfortunately is yielding a wrong result.</p>
<p>I am posting here again my original contribution in the hope that it will help someone in the future. If the FREEMAT development team wishes, they can use it to correct their own version:</p>
<div class="codehilite"><pre><span class="c1">% POLYDER POLYDER Polynomial Differentiation</span>
<span class="c1">% </span>
<span class="c1">% Usage</span>
<span class="c1">% </span>
<span class="c1">% The polyder function returns the polynomial coefficients resulting</span>
<span class="c1">% from differentiation of polynomial p. The syntax for its use is either</span>
<span class="c1">% </span>
<span class="c1">% pder = polyder(p)</span>
<span class="c1">% </span>
<span class="c1">% for the derivitave of polynomial p, or</span>
<span class="c1">% </span>
<span class="c1">% convp1p2der = polyder(p1,p2)</span>
<span class="c1">% </span>
<span class="c1">% for the derivitave of polynomial conv(p1,p2), or still</span>
<span class="c1">% </span>
<span class="c1">% [nder,dder] = polyder(n,d)</span>
<span class="c1">% </span>
<span class="c1">% for the derivative of polynomial n/d (nder/dder). In all cases the</span>
<span class="c1">% polynomial coefficients are assumed to be in decreasing degree.</span>
<span class="c1">% </span>
<span class="c1">% This is a small contribution to FreeMat</span>
<span class="c1">% made by Paulo Xavier Candeias under GPL</span>
<span class="c1">% (2007-06-14)</span>
<span class="c1">% </span>
<span class="s-Atom">function</span> <span class="p">[</span><span class="s-Atom">pder1</span><span class="p">,</span><span class="s-Atom">pder2</span><span class="p">]</span> <span class="o">=</span> <span class="nf">polyder</span><span class="p">(</span><span class="s-Atom">p1</span><span class="p">,</span><span class="s-Atom">p2</span><span class="p">)</span>
<span class="s-Atom">if</span> <span class="s-Atom">nargin</span> <span class="o"><</span> <span class="mi">1</span> <span class="p">||</span> <span class="s-Atom">nargout</span> <span class="o">></span> <span class="s-Atom">nargin</span>
<span class="nf">error</span><span class="p">(</span><span class="s-Atom">'wrong use (see help polyder)'</span><span class="p">);</span>
<span class="s-Atom">elseif</span> <span class="s-Atom">nargin</span> <span class="o"><</span> <span class="mi">2</span>
<span class="s-Atom">p2</span> <span class="o">=</span> <span class="mi">1</span><span class="p">;</span>
<span class="s-Atom">end</span>
<span class="s-Atom">zp1</span> <span class="o">=</span> <span class="p">[</span><span class="mi">0</span><span class="p">,</span><span class="nf">p1</span><span class="p">(</span><span class="s-Atom">:</span><span class="p">).</span><span class="s-Atom">'];</span>
<span class="s-Atom"> zp2 = [0,p2(:).'</span><span class="p">];</span>
<span class="s-Atom">pd1p2</span> <span class="o">=</span> <span class="nf">conv</span><span class="p">(</span><span class="nf">zp1</span><span class="p">(</span><span class="mi">1</span><span class="s-Atom">:end</span><span class="o">-</span><span class="mi">1</span><span class="p">).</span><span class="s-Atom">*</span><span class="p">(</span><span class="nf">length</span><span class="p">(</span><span class="s-Atom">zp1</span><span class="p">)</span><span class="o">-</span><span class="mi">1</span><span class="p">:-</span><span class="mi">1</span><span class="s-Atom">:</span><span class="mi">1</span><span class="p">),</span><span class="s-Atom">zp2</span><span class="p">);</span>
<span class="s-Atom">p1pd2</span> <span class="o">=</span> <span class="nf">conv</span><span class="p">(</span><span class="s-Atom">zp1</span><span class="p">,</span><span class="nf">zp2</span><span class="p">(</span><span class="mi">1</span><span class="s-Atom">:end</span><span class="o">-</span><span class="mi">1</span><span class="p">).</span><span class="s-Atom">*</span><span class="p">(</span><span class="nf">length</span><span class="p">(</span><span class="s-Atom">zp2</span><span class="p">)</span><span class="o">-</span><span class="mi">1</span><span class="p">:-</span><span class="mi">1</span><span class="s-Atom">:</span><span class="mi">1</span><span class="p">));</span>
<span class="s-Atom">if</span> <span class="s-Atom">nargout</span> <span class="o"><</span> <span class="mi">2</span>
<span class="s-Atom">pder1</span> <span class="o">=</span> <span class="s-Atom">pd1p2</span><span class="o">+</span><span class="s-Atom">p1pd2</span><span class="p">;</span>
<span class="s-Atom">pder2</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
<span class="s-Atom">else</span>
<span class="s-Atom">pder1</span> <span class="o">=</span> <span class="s-Atom">pd1p2</span><span class="o">-</span><span class="s-Atom">p1pd2</span><span class="p">;</span>
<span class="s-Atom">pder2</span> <span class="o">=</span> <span class="nf">conv</span><span class="p">(</span><span class="s-Atom">zp2</span><span class="p">,</span><span class="s-Atom">zp2</span><span class="p">);</span>
<span class="s-Atom">end</span>
<span class="s-Atom">pder1</span> <span class="o">=</span> <span class="nf">pder1</span><span class="p">(</span><span class="nf">min</span><span class="p">(</span><span class="nf">find</span><span class="p">(</span><span class="s-Atom">pder1</span><span class="p">,</span><span class="mi">1</span><span class="p">),</span><span class="nf">length</span><span class="p">(</span><span class="s-Atom">pder1</span><span class="p">))</span><span class="s-Atom">:end</span><span class="p">);</span>
<span class="s-Atom">pder2</span> <span class="o">=</span> <span class="nf">pder2</span><span class="p">(</span><span class="nf">min</span><span class="p">(</span><span class="nf">find</span><span class="p">(</span><span class="s-Atom">pder2</span><span class="p">,</span><span class="mi">1</span><span class="p">),</span><span class="nf">length</span><span class="p">(</span><span class="s-Atom">pder2</span><span class="p">))</span><span class="s-Atom">:end</span><span class="p">);</span>
</pre></div>
<p>Happy coding,<br/>
Paulo</p></div>engpxcSun, 28 May 2017 23:14:23 -0000https://sourceforge.netc1d0a04da497436f5947b9b8a7ca51f70c33fbaeAquileo | bug in dec2binhttps://sourceforge.net/p/freemat/bugs/611/<div class="markdown_content"><p>Bug, with 2^(*)<br/>
--> dec2bin(2^35)</p>
<p>ans = <br/>
00000000000000000000000000000000000<br/>
,but<br/>
--> dec2bin(2^35,36)</p>
<p>ans = <br/>
100000000000000000000000000000000000</p></div>Aleksey NurutdinovWed, 31 Aug 2016 20:14:13 -0000https://sourceforge.net7c0e88d146a58cc060647d73a7209a1e2d68e188Aquileo | Freemat 5?https://sourceforge.net/p/freemat/bugs/610/<div class="markdown_content"><p>I noticed that Samit has recently submitted several items that were from a folder/directory named "Freemat5". Does that mean there's a new version on the horizon?</p></div>Gene StuffleWed, 25 May 2016 04:48:52 -0000https://sourceforge.netca1d400a595f664fb3c49b0caea8ba841dcce4b6Aquileo | problem with function wavwrite()https://sourceforge.net/p/freemat/bugs/609/<div class="markdown_content"><p>To convert a.csv file to a.wav file I was tried to use wavwrite() function.but it doesn't work.<br/>
every time it says<br/>
wavwrite(x1,'L:\TRC01.wav');<br/>
In L:/FreeMatPortable/App/FreeMat/toolbox/io/wavwrite.m(wavwrite) at line 64<br/>
In docli(builtin) at line 1<br/>
In base(base)<br/>
In base()<br/>
In global()<br/>
Error: Illegal request for real part of scalar - this is bug</p></div>subbireddy pochamreddyThu, 10 Dec 2015 13:27:44 -0000https://sourceforge.net840d34ead8d890167e4788b82a74c2f30ba2d304