- Any hypermatrix can be sorted along a dimension > 2.
* `unique` is enabled for any 2D sparse arrays, in simple, 'c' and 'r' modes.
* %chars constant added, to easily access to some selected sets of unicode symbols.
+* Lists are displayed in a more compact and comprehensive way.
Help pages:
-----------
* [#12532](https://bugzilla.scilab.org/12532): From `browsevar`, clicking on any function did not edit it with `edit`. The content of libraries could not be displayed either.
* [#12719](https://bugzilla.scilab.org/12719): `A(%s)` gave the same result as `A($)`.
* [#12889](https://bugzilla.scilab.org/12889): In the help browser, add a menu allowing to select the language of help pages, regardless of the language of the session.
+* [#13417](https://bugzilla.scilab.org/13417): `csvRead` page did not document the way to use the `range` up to the last row/column.
* [#13593](https://bugzilla.scilab.org/13593): `csvRead()` did not take the `range` into account when `header` is provided. `[]` could not be used as default `range`.
* [#13762](https://bugzilla.scilab.org/13762): In the `fft` page, the formula for the inverse FFT missed the 1/n normalization factor.
-* [#13417](https://bugzilla.scilab.org/13417): `csvRead` page did not document the way to use the `range` up to the last row/column.
+* [#13985](https://bugzilla.scilab.org/13985): The display of lists was very loose and poor.
* [#14435](https://bugzilla.scilab.org/14435): Errors were not well handled in overloaded functions.
* [#14488](https://bugzilla.scilab.org/14488): The `frameflag=9` and `strf=".9."` values of these `plot2d` options were no longer accepted. Their documentation was ambiguous.
* [#14718](https://bugzilla.scilab.org/14718): `user` is removed for a while but was still documented.
*/
#include <sstream>
+#include "configvariable.hxx"
#include "double.hxx"
+#include "overload.hxx"
#include "list.hxx"
#include "void.hxx"
#include "listinsert.hxx"
#include "scilabWrite.hxx"
#include "types_tools.hxx"
#include "function.hxx"
+#include "scilabWrite.hxx"
#ifndef NDEBUG
#include "inspector.hxx"
*/
bool List::toString(std::wostringstream& ostr)
{
+ //call overload %type_p if exists
+ types::typed_list in;
+ types::typed_list out;
+
+ IncreaseRef();
+ in.push_back(this);
+ switch (Overload::generateNameAndCall(L"p", in, 1, out, false, false)) {
+ case Function::OK_NoResult:
+ // unresolved function, fallback to a basic display
+ break;
+ case Function::Error:
+ ConfigVariable::setError();
+ // fallthrough
+ case Function::OK:
+ ostr.str(L"");
+ DecreaseRef();
+ return true;
+ };
+ DecreaseRef();
+
+ // otherwise, display basic information
if (getSize() == 0)
{
ostr.str(L"");
}
// if overload doesn't existe try with short name
- std::wstring stFunc2 = buildOverloadName(_stFunctionName, in, _iRetCount, _isOperator, errorOnUndefined);
+ std::wstring stFunc2 = buildOverloadName(_stFunctionName, in, _iRetCount, _isOperator, true);
if (symbol::Context::getInstance()->get(symbol::Symbol(stFunc)))
{
types::Function::ReturnValue ret = call(stFunc, in, _iRetCount, out, _isOperator, errorOnUndefined, _Location);
#include "list.hxx"
#include "int.hxx"
#include "localization.hxx"
+#include "overload.hxx"
#include "scilabWrite.hxx"
#include "exp.hxx"
#include "types_tools.hxx"
bool Struct::toString(std::wostringstream& ostr)
{
+ //call overload %type_p if exists
+ types::typed_list in;
+ types::typed_list out;
+
+ IncreaseRef();
+ in.push_back(this);
+ switch (Overload::generateNameAndCall(L"p", in, 1, out, false, false)) {
+ case Function::OK_NoResult:
+ // unresolved function, fallback to a basic display
+ break;
+ case Function::Error:
+ ConfigVariable::setError();
+ // fallthrough
+ case Function::OK:
+ ostr.str(L"");
+ DecreaseRef();
+ return true;
+ };
+ DecreaseRef();
+
+ // otherwise, display basic information
if (getSize() == 0)
{
ostr << L"0x0 struct array with no field.";
IncreaseRef();
in.push_back(this);
-
- try
- {
- if (Overload::generateNameAndCall(L"p", in, 1, out) == Function::Error)
- {
+ switch (Overload::generateNameAndCall(L"p", in, 1, out, false, false)) {
+ case Function::OK_NoResult:
+ // unresolved function, fallback to a basic display
+ break;
+ case Function::Error:
ConfigVariable::setError();
- }
-
- ostr.str(L"");
- DecreaseRef();
- return true;
- }
- catch (ast::InternalError& e)
- {
- if (e.GetErrorType() == ast::TYPE_ERROR)
- {
+ // fallthrough
+ case Function::OK:
+ ostr.str(L"");
DecreaseRef();
- throw e;
- }
-
- // avoid error message about undefined overload %type_p
- ConfigVariable::resetError();
- // reset where error filled by generateNameAndCall
- ConfigVariable::resetWhereError();
- }
-
+ return true;
+ };
DecreaseRef();
// special case for lss
types::Function::ReturnValue VariableToString(types::InternalType* pIT, const wchar_t* wcsVarName)
{
- if (pIT->hasToString() == false || pIT->isStruct())
+ if (pIT->hasToString() == false)
{
types::Function::ReturnValue ret = types::Function::Error;
//call overload %type_p
//
// <-- Short Description -->
//fix issue of crashing in arm when displaying 0
-
a = 0
a =
-
0.
-
This is my type.
l=list(2, a, "test")
l =
- l(1)
- 2.
- l(2)
-This is my type.
- l(3)
- "test"
+ (1) = 2
+ (2) : NewType
+ (3) = "test"
// overload call
b = newtype(%f);
function %nt_p(h)
"%nt_p: This is my type."
l=list(2, b, "test")
l =
- l(1)
- 2.
- l(2)
- "%nt_p: This is my type."
- l(3)
- "test"
+ (1) = 2
+ (2) : NewType
+ (3) = "test"
// <-- TEST WITH GRAPHIC -->
s=poly(0,"s")
s =
-
- s
+ s
num=10*s+20;
den=s^3+14*s^2+35*s-50;
h=syslin("c",num/den);
0.5,0.86];
//The noises covariance matrices
Q_e=eye(ne,ne);
-R_v=diag(1:ny);
+R_v=diag(1:ny);
S_ev=zeros(ne,ny);
S_ev(1,1)=0.8;
// |. |.
<NumericalSpinner gridx="3" gridy="5"
weightx="0"
min-value="0"
- max-value="10"
+ max-value="30"
increment="1"
length="2"
listener="ActionListener"
--- /dev/null
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) ????-2008 - INRIA
+// Copyright (C) 2020 - Samuel GOUGEON
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+//
+// <-- Short Description -->
+// Display of lists unitary tests
+%l_p(list())
+ empty list()
+%l_p(list(1,2,3))
+ (1) = 1
+ (2) = 2
+ (3) = 3
+%l_p(list(list(1,list()),2))
+ (1) : list:
+ (1) = 1
+ (2) : empty list()
+ (2) = 2
+[p, q] = (poly(rand(5,1),"z"), poly(rand(6,1),"z"));
+%l_p(list(rlist(q,p), 1.23))
+ (1) : [1x1 rational] of z
+ (2) = 1.23
+%l_p(list(1,1:$))
+ (1) = 1
+ (2) = 1:$
+%l_p(list(list(1:$)))
+ (1) : list:
+ (1) = 1:$
+%l_p(list(list(1,$),list()))
+ (1) : list:
+ (1) = 1
+ (2) = $
+ (2) : empty list()
+//
+films = struct("Title", "A.I. Artificial Intelligence",..
+ "Year", 2001, ..
+ "Director", "Steven Spielberg", ..
+ "Duration", 140);
+L = list([%t %f %f]', ..
+ $:-1:3, ..
+ int8([1 2 3 ; 4 5 6]), ..
+ [-%inf, -1, 0, %i, 7.1, 3.3e20, %inf, %nan], ..
+ sparse([0 1 2; 3 0 4]), ..
+ ["This" "is" "some" "text"], ..
+ , ..
+ sin, ..
+ logspace, ..
+ iolib, ..
+ {%pi, "abcd" ;
+ list(,)(1),(%i-%s)^3}, ..
+ {}, ..
+ list(["Hello" "Allo" "Hé"], uint64(12345678)^(1:3), ,grand(2,4,"uin",0,10)), ..
+ list(), ..
+ films);
+%l_p(L)
+ (1) : [3x1 boolean]
+ (2) = $:-1:3
+ (3) : [2x3 int8]
+ (4) = [-%inf,-1,0,%i,7.1,3.300D+20,%inf,%nan]
+ (5) : [2x3 sparse]
+ (6) = ["This","is","some","text"]
+ (7) = (void)
+ (8) : fptr
+ (9) : logspace(d1,d2,n) => [y] (42 lines)
+ (10) : iolib library with 5 functions @ SCI\modules\io\macros\
+ (11) : [2x2 cell]
+ (12) = {}
+ (13) : list:
+ (1) = ["Hello","Allo","Hé"]
+ (2) = uint64([12345678,1.524D+14,9.223D+18])
+ (3) = (void)
+ (4) : [2x4 constant]
+ (14) : empty list()
+ (15) : struct with fields:
+ Title = "A.I. Artificial Intelligence"
+ Year = 2001
+ Director = "Steven Spielberg"
+ Duration = 140
+// Tlist overloaded display
+TL = tlist("x",1,2)
+ TL =
+ TL(1)
+ "x"
+ TL(2)
+ 1.
+ TL(3)
+ 2.
+deff("%x_p(x)","disp(''Mydisplay'',x(2),x(3))")
+TL
+ TL =
+ "Mydisplay"
+ 1.
+ 2.
+list(TL)
+ ans =
+ (1) : [x] tlist without field.
+list(list(TL))
+ ans =
+ (1) : list:
+ (1) : [x] tlist without field.
+TL = tlist("x",1:$,2)
+ TL =
+ "Mydisplay"
+ 1:1:$
+ 2.
+list(TL)
+ ans =
+ (1) : [x] tlist without field.
+list(list(TL))
+ ans =
+ (1) : list:
+ (1) : [x] tlist without field.
+TL(2) = TL
+ TL =
+ "Mydisplay"
+ "Mydisplay"
+ 1:1:$
+ 2.
+ 2.
--- /dev/null
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) ????-2008 - INRIA
+// Copyright (C) 2020 - Samuel GOUGEON
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+//
+// <-- Short Description -->
+// Display of lists unitary tests
+
+%l_p(list())
+%l_p(list(1,2,3))
+%l_p(list(list(1,list()),2))
+[p, q] = (poly(rand(5,1),"z"), poly(rand(6,1),"z"));
+%l_p(list(rlist(q,p), 1.23))
+%l_p(list(1,1:$))
+%l_p(list(list(1:$)))
+%l_p(list(list(1,$),list()))
+
+//
+films = struct("Title", "A.I. Artificial Intelligence",..
+ "Year", 2001, ..
+ "Director", "Steven Spielberg", ..
+ "Duration", 140);
+L = list([%t %f %f]', ..
+ $:-1:3, ..
+ int8([1 2 3 ; 4 5 6]), ..
+ [-%inf, -1, 0, %i, 7.1, 3.3e20, %inf, %nan], ..
+ sparse([0 1 2; 3 0 4]), ..
+ ["This" "is" "some" "text"], ..
+ , ..
+ sin, ..
+ logspace, ..
+ iolib, ..
+ {%pi, "abcd" ;
+ list(,)(1),(%i-%s)^3}, ..
+ {}, ..
+ list(["Hello" "Allo" "Hé"], uint64(12345678)^(1:3), ,grand(2,4,"uin",0,10)), ..
+ list(), ..
+ films);
+%l_p(L)
+
+
+// Tlist overloaded display
+TL = tlist("x",1,2)
+deff("%x_p(x)","disp(''Mydisplay'',x(2),x(3))")
+TL
+list(TL)
+list(list(TL))
+TL = tlist("x",1:$,2)
+list(TL)
+list(list(TL))
+TL(2) = TL
x'
ans =
2.6533333
- -0.0002
+ -0.0002
x=[]
x =
[]
//display of rationals
r=num./den
r =
-
1 1
- -
1 1
r'
ans =
-
1
-
1
-
1
-
1
rlist(d,n)
ans =
-
1 +2z +z²
---------
1 +z
rlist(n,d)
ans =
-
1 +z
---------
1 +2z +z²
rlist(d2,n2)
ans =
-
1 +2z +z² 1 +4z +6z² +4z³ +z⁴
--------- -------------------
1 +z 1 +2z +z²
-
1 +z 1 +2z +z²
--------- -------------------
1 +2z +z² 1 +4z +6z² +4z³ +z⁴
rlist(n2,d2)
ans =
-
1 +z 1 +2z +z²
--------- -------------------
1 +2z +z² 1 +4z +6z² +4z³ +z⁴
-
1 +2z +z² 1 +4z +6z² +4z³ +z⁴
--------- -------------------
1 +z 1 +2z +z²
rlist(den,num)
ans =
-
1 +2z +z² 1 +4z +6z² +4z³ +z⁴
--------- -------------------
1 +2z +z² 1 +4z +6z² +4z³ +z⁴
rlist(num,den)
ans =
-
1 +2z +z² 1 +4z +6z² +4z³ +z⁴
--------- -------------------
1 +2z +z² 1 +4z +6z² +4z³ +z⁴
column 1
-
-0.0000078 +0.0351988z -0.3720034z² +1.3432153z³ -1.9632981z⁴ +z⁵
-----------------------------------------------------------------
0.0123314 -0.2684985z +1.5393672z² -4.0114366z³ +5.4004179z⁴
column 2
-
0.1 +2.35z -5.05z³
------------------------
2.56 +0.03z -10.01z² +z⁵
column 1
-
0.0123314 -0.2684985z +1.5393672z² -4.0114366z³ +5.4004179z⁴
-3.6713072z⁵ +z⁶
-----------------------------------------------------------------
column 2
-
2.56 +0.03z -10.01z² +z⁵
------------------------
0.1 +2.35z -5.05z³
rlist(p,q)
ans =
-
-0.0000078 +0.0351988z -0.3720034z² +1.3432153z³ -1.9632981z⁴ +z⁵
-----------------------------------------------------------------
0.0123314 -0.2684985z +1.5393672z² -4.0114366z³ +5.4004179z⁴
-3.6713072z⁵ +z⁶
rlist(q,p)
ans =
-
0.0123314 -0.2684985z +1.5393672z² -4.0114366z³ +5.4004179z⁴
-3.6713072z⁵ +z⁶
-----------------------------------------------------------------
-0.0000078 +0.0351988z -0.3720034z² +1.3432153z³ -1.9632981z⁴ +z⁵
rlist(p,z)
ans =
-
-0.0000078 +0.0351988z -0.3720034z² +1.3432153z³ -1.9632981z⁴ +z⁵
-----------------------------------------------------------------
z
rlist(z,p)
ans =
-
z
-----------------------------------------------------------------
-0.0000078 +0.0351988z -0.3720034z² +1.3432153z³ -1.9632981z⁴ +z⁵
rlist(d1,n1)
ans =
-
1 +2z +z² 1 +4z +6z² +4z³ +z⁴ 1 +2z +z² 1 +4z +6z² +4z³ +z⁴
--------- ------------------- --------- -------------------
1 +z 1 +2z +z² 1 +z 1 +2z +z²
rlist(n1,d1)
ans =
-
1 +z 1 +2z +z² 1 +z 1 +2z +z²
--------- ------------------- --------- -------------------
1 +2z +z² 1 +4z +6z² +4z³ +z⁴ 1 +2z +z² 1 +4z +6z² +4z³ +z⁴
"abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz"
"1234567890"
lines(oldlines);
-// display of list
-list()
- ans =
- ()
-list(1,2,3)
- ans =
- ans(1)
- 1.
- ans(2)
- 2.
- ans(3)
- 3.
-list(list(1,list()),2)
- ans =
- ans(1)
- ans(1)(1)
- 1.
- ans(1)(2)
- ()
- ans(2)
- 2.
-list(rlist(q,p),1.23)
- ans =
- ans(1)
-
- 0.0123314 -0.2684985z +1.5393672z² -4.0114366z³ +5.4004179z⁴
- -3.6713072z⁵ +z⁶
- -----------------------------------------------------------------
- -0.0000078 +0.0351988z -0.3720034z² +1.3432153z³ -1.9632981z⁴ +z⁵
- ans(2)
- 1.23
-// overloading of display
-1:$
- ans =
- 1:1:$
-list(1,1:$)
- ans =
- ans(1)
- 1.
- ans(2)
- 1:1:$
-list(list(1:$))
- ans =
- ans(1)
- ans(1)(1)
- 1:1:$
-list(list(1,$),list())
- ans =
- ans(1)
- ans(1)(1)
- 1.
- ans(1)(2)
- $
- ans(2)
- ()
-// Tlist overloaded display
-TL=tlist("x",1,2)
- TL =
- TL(1)
- "x"
- TL(2)
- 1.
- TL(3)
- 2.
-deff("%x_p(x)","disp(''Mydisplay'',x(2),x(3))")
-TL
- TL =
- "Mydisplay"
- 1.
- 2.
-list(TL)
- ans =
- ans(1)
- "Mydisplay"
- 1.
- 2.
-list(list(TL))
- ans =
- ans(1)
- ans(1)(1)
- "Mydisplay"
- 1.
- 2.
-TL=tlist("x",1:$,2)
- TL =
- "Mydisplay"
- 1:1:$
- 2.
-list(TL)
- ans =
- ans(1)
- "Mydisplay"
- 1:1:$
- 2.
-list(list(TL))
- ans =
- ans(1)
- ans(1)(1)
- "Mydisplay"
- 1:1:$
- 2.
-TL(2)=TL
- TL =
- "Mydisplay"
- "Mydisplay"
- 1:1:$
- 2.
- 2.
// boolean
%t
ans =
lines(oldlines);
-// display of list
-list()
-list(1,2,3)
-list(list(1,list()),2)
-list(rlist(q,p),1.23)
-// overloading of display
-1:$
-list(1,1:$)
-list(list(1:$))
-list(list(1,$),list())
-// Tlist overloaded display
-TL=tlist("x",1,2)
-deff("%x_p(x)","disp(''Mydisplay'',x(2),x(3))")
-TL
-list(TL)
-list(list(TL))
-TL=tlist("x",1:$,2)
-list(TL)
-list(list(TL))
-TL(2)=TL
-
// boolean
%t
%f
2. 5. 8.
3. 6. 9.
[mia,kia]=min(a)
- kia =
- 1. 1.
mia =
1.
+ kia =
+ 1. 1.
[maa,kaa]=max(a)
- kaa =
- 3. 3.
maa =
9.
+ kaa =
+ 3. 3.
b=int16(matrix(1:9,3,3))
b =
1 4 7
2 5 8
3 6 9
[mib,kib]=min(b)
- kib =
- 1. 1.
mib =
1
+ kib =
+ 1. 1.
[mab,kab]=max(b)
- kab =
- 3. 3.
mab =
9
+ kab =
+ 3. 3.
if mia<>mib then bugmes();quit;end
if or(kia<>kib) then bugmes();quit;end
if maa<>mab then bugmes();quit;end
c=mlist(['foo','hello'],list('xxxx','yyyyy','zzzzz'));
[x,y,z]=b.hello()
x =
- ()
+ empty list()
y =
2.
z =
if x<>list()|y<>2|z<>3 then bugmes();quit;end
[x,y,z]=a.hello()
x =
- ()
+ empty list()
y =
2.
z =
whos -name corel
Name Type Size Bytes
-corelib library 1184
+corelib library 1248
whos -type polynomial
Name Type Size Bytes
"hhh hh"
"loop end"
L =
- 1.
- 3.
- 5.
- 6.
- 8.
- 9.
+ 1.
+ 3.
+ 5.
+ 6.
+ 8.
+ 9.
10.
11.
12.
1.
l=list(1,2,3);l(3)=null()
l =
- l(1)
- 1.
- l(2)
- 2.
+ (1) = 1
+ (2) = 2
function []=foo()
[noeuds,triang]=resume(1,2)
endfunction
1.
deff("t1=foo()","t1=list();t1(1)= 44;");foo()
ans =
- ans(1)
- 44.
+ (1) = 44
deff("[a,b,x]=foo()","[a(1),b(1,2),x]=(3,4,5);");[a,b,x]=foo()
a =
3.
function [a,b,x]=foo(),u=5;[a(1),b(1,2),x]=(3,4,u),a(2)=44,endfunction
[a,b,x]=foo()
a =
- 3.
+ 3.
44.
b =
0. 4.
function l=foo(),l=list(1,2,3);l(3)=null();endfunction
foo()
ans =
- ans(1)
- 1.
- ans(2)
- 2.
+ (1) = 1
+ (2) = 2
funcprot(1);
//
// <-- Short Description -->
//Bug in parser while manipulating tlist inside list.
-//Note that the bug is only visible/reproducible in release mode under
+//Note that the bug is only visible/reproducible in release mode under
//Windows. It should also happen in debug but can't be easily seen...
t=list(gca());//create the data
R = t(1).data_bounds(:,1); //crash
l1 = list(stru);
l2 = list(l1, l1)
l2 =
- l2(1)
- l2(1)(1)
- field = "value"
- l2(2)
- l2(2)(1)
- field = "value"
+ (1) : list:
+ (1) : struct with fields:
+ field = "value"
+ (2) : list:
+ (1) : struct with fields:
+ field = "value"
// Bug 11484 (duplicate)
// ---------
x = struct('a',4,'b',3);
list_c(0) = list(x,y);
list_c(0) = list(z)
list_c =
- list_c(1)
- list_c(1)(1)
- a = 7
- b = 2
- list_c(2)
- list_c(2)(1)
- a = 4
- b = 3
- list_c(2)(2)
- a = 5
- b = 6
+ (1) : list:
+ (1) : struct with fields:
+ a = 7
+ b = 2
+ (2) : list:
+ (1) : struct with fields:
+ a = 4
+ b = 3
+ (2) : struct with fields:
+ a = 5
+ b = 6
+++ /dev/null
-// =============================================================================
-// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
-// Copyright (C) 2014-2014 - Scilab Enterprises - Bruno JOFRET
-//
-// This file is distributed under the same license as the Scilab package.
-// =============================================================================
-// <-- CLI SHELL MODE -->
-// test de creation des listes avec des elements null()
-l = list(,);
-m = l(1);
-n = l(2);
-assert_checkfalse(isdef("m"));
-assert_checkfalse(isdef("n"));
-l = list(1,);
-n = l(2);
-assert_checkfalse(isdef("n"));
-assert_checkequal(l(1), 1);
-l = list(,1);
-m = l(1);
-assert_checkfalse(isdef("m"));
-assert_checkequal(l(2), 1);
-l = list(,,);
-m = l(1);
-n = l(2);
-p = l(3);
-assert_checkfalse(isdef("m"));
-assert_checkfalse(isdef("n"));
-assert_checkfalse(isdef("p"));
-l = list(1,,);
-n = l(2);
-p = l(3);
-assert_checkequal(l(1), 1);
-assert_checkfalse(isdef("n"));
-assert_checkfalse(isdef("p"));
-l = list(,1,);
-m = l(1);
-p = l(3);
-assert_checkfalse(isdef("m"));
-assert_checkequal(l(2), 1);
-assert_checkfalse(isdef("p"));
-l = list(,,1);
-m = l(1);
-n = l(2);
-assert_checkfalse(isdef("m"));
-assert_checkfalse(isdef("n"));
-assert_checkequal(l(3), 1);
-l = list(1,1,);
-p = l(3);
-assert_checkequal(l(1), 1);
-assert_checkequal(l(2), 1);
-assert_checkfalse(isdef("p"));
-l = list(1,,1);
-n = l(2);
-assert_checkequal(l(1), 1);
-assert_checkfalse(isdef("n"));
-assert_checkequal(l(3), 1);
-l = list(,1,1);
-m = l(1);
-assert_checkfalse(isdef("m"));
-assert_checkequal(l(2), 1);
-assert_checkequal(l(3), 1);
-a=list(list(1));
-b=a;
-b(1)(1) = 2;
-// a must not be modified !
-assert_checkequal(a, list(list(1)));
-// check error in print overload
-ml=mlist(["test" "f1"], 15);
-function %test_p(varargin)
- error("overload error");
-end
-assert_checkerror("disp(ml)", "overload error");
// =============================================================================
// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
-// Copyright (C) 2014-2014 - Scilab Enterprises - Bruno JOFRET
+// Copyright (C) 2014 - Scilab Enterprises - Bruno JOFRET
//
// This file is distributed under the same license as the Scilab package.
// =============================================================================
// <-- CLI SHELL MODE -->
-
+// <-- NO CHECK REF -->
+//
// test de creation des listes avec des elements null()
l = list(,);
+++ /dev/null
-// =============================================================================
-// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
-// Copyright (C) ????-2008 - INRIA
-//
-// This file is distributed under the same license as the Scilab package.
-// =============================================================================
-// <-- CLI SHELL MODE -->
-// test des insertions dans les listes
-a=1,b=3;c=2;d=[1 2 3];e=[3 4 5];f=[10;20];g=[44 55];
- a =
- 1.
-h=5;i=4;a0=10;c0=20;b0=30;g0=[44 55 66; 10 20 30];
-l=list(a);if l(1)<>a then bugmes();quit;end
-l=list(a);if l(1)(1)<>a(1) then bugmes();quit;end
-l=list(a);if l(1)(1,1)<>a(1,1) then bugmes();quit;end
-l=list(a,d,b);if l(2)<>d then bugmes();quit;end
-l=list(a,d,b);if l(2)(1:2)<>d(1:2) then bugmes();quit;end
-l=list(a,d,b);if l(2)(1,2)<>d(1,2) then bugmes();quit;end
-//
-l=list(a,list(b,c,d));if l(2)(3)<>d then bugmes();quit;end
-l=list(a,list(b,c,d));if l(2)(3)(3)<>d(3) then bugmes();quit;end
-l=list(a,list(b,c,d));if l(2)(3)([3 1])<>d([3 1]) then bugmes();quit;end
-l=list(a,list(b,c,d));if l(2)(3)(1,[3 1])<>d(1,[3 1]) then bugmes();quit;end
-l=list(a,list(b,c,d));if l(2)(3)(:,[3 1])<>d(:,[3 1]) then bugmes();quit;end
-l=list(a,list(b,c,d));if l(2)(3)(:,[$ 1])<>d(:,[$ 1]) then bugmes();quit;end
-l=list(a,list(b,c,d));if l(2)(3)($,[$ 1])<>d($,[$ 1]) then bugmes();quit;end
-//
-l=list(a,list(b,c,d),h);if l(2)(3)<>d then bugmes();quit;end
-l=list(a,list(b,c,d),h);if l(2)(3)(3)<>d(3) then bugmes();quit;end
-l=list(a,list(b,c,d),h);if l(2)(3)([3 1])<>d([3 1]) then bugmes();quit;end
-l=list(a,list(b,c,d),h);if l(2)(3)(1,[3 1])<>d(1,[3 1]) then bugmes();quit;end
-l=list(a,list(b,c,d),h);if l(2)(3)(:,[3 1])<>d(:,[3 1]) then bugmes();quit;end
-l=list(a,list(b,c,d),h);if l(2)(3)(:,[$ 1])<>d(:,[$ 1]) then bugmes();quit;end
-l=list(a,list(b,c,d),h);if l(2)(3)($,[$ 1])<>d($,[$ 1]) then bugmes();quit;end
-//
-l=list(a,1/%s);if l(2)<>1/%s then bugmes();quit;end
-l=list(a,1/%s);if l(2)('num')<>1 then bugmes();quit;end
-l=list(a,1/%s,g);if l(2)('den')(1,1)<>%s then bugmes();quit;end
-l=list(a,1/%s,g);if l(2)<>1/%s then bugmes();quit;end
-l=list(a,1/%s,g);if l(2)('num')<>1 then bugmes();quit;end
-l=list(a,1/%s,g);if l(2)('den')(1,1)<>%s then bugmes();quit;end
-a=1:10,b=3:2:33;c=(-10:0)';d=[1 2+%s 3];e=['1';'2';'3';'4'];
- a =
- 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
-f=[%t %t %f];g=['12345','abcdefghijk'];
-h=rand(3,3);i=eye(10,10);a0=10+%s;c0=20;b0=sparse(eye(30,30));
-l=list(a);if l(1)<>a then bugmes();quit;end
-l=list(a);if l(1)(1)<>a(1) then bugmes();quit;end
-l=list(a);if l(1)(1,1)<>a(1,1) then bugmes();quit;end
-l=list(a,d,b);if l(2)<>d then bugmes();quit;end
-l=list(a,d,b);if l(2)(1:2)<>d(1:2) then bugmes();quit;end
-l=list(a,d,b);if l(2)(1,2)<>d(1,2) then bugmes();quit;end
-//
-l=list(a,list(b,c,d));if l(2)(3)<>d then bugmes();quit;end
-l=list(a,list(b,c,d));if l(2)(3)(3)<>d(3) then bugmes();quit;end
-l=list(a,list(b,c,d));if l(2)(3)([3 1])<>d([3 1]) then bugmes();quit;end
-l=list(a,list(b,c,d));if l(2)(3)(1,[3 1])<>d(1,[3 1]) then bugmes();quit;end
-l=list(a,list(b,c,d));if l(2)(3)(:,[3 1])<>d(:,[3 1]) then bugmes();quit;end
-l=list(a,list(b,c,d));if l(2)(3)(:,[$ 1])<>d(:,[$ 1]) then bugmes();quit;end
-l=list(a,list(b,c,d));if l(2)(3)($,[$ 1])<>d($,[$ 1]) then bugmes();quit;end
-//
-l=list(a,list(b,c,d),h);if l(2)(3)<>d then bugmes();quit;end
-l=list(a,list(b,c,d),h);if l(2)(3)(3)<>d(3) then bugmes();quit;end
-l=list(a,list(b,c,d),h);if l(2)(3)([3 1])<>d([3 1]) then bugmes();quit;end
-l=list(a,list(b,c,d),h);if l(2)(3)(1,[3 1])<>d(1,[3 1]) then bugmes();quit;end
-l=list(a,list(b,c,d),h);if l(2)(3)(:,[3 1])<>d(:,[3 1]) then bugmes();quit;end
-l=list(a,list(b,c,d),h);if l(2)(3)(:,[$ 1])<>d(:,[$ 1]) then bugmes();quit;end
-l=list(a,list(b,c,d),h);if l(2)(3)($,[$ 1])<>d($,[$ 1]) then bugmes();quit;end
-//
-N=[1 2 3];
-l=list(a,N/%s);if l(2)<>N/%s then bugmes();quit;end
-l=list(a,N/%s);if l(2)('num')<>N then bugmes();quit;end
-l=list(a,N/%s,g);if l(2)('den')(1,1)<>%s then bugmes();quit;end
-l=list(a,N/%s,g);if l(2)<>N/%s then bugmes();quit;end
-l=list(a,N/%s,g);if l(2)('num')<>N then bugmes();quit;end
-l=list(a,N/%s,g);if l(2)('den')(1,1)<>%s then bugmes();quit;end
// This file is distributed under the same license as the Scilab package.
// =============================================================================
// <-- CLI SHELL MODE -->
+// <-- NO CHECK REF -->
// test des insertions dans les listes
a=1,b=3;c=2;d=[1 2 3];e=[3 4 5];f=[10;20];g=[44 55];
+++ /dev/null
-// =============================================================================
-// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
-// Copyright (C) ????-2008 - INRIA
-//
-// This file is distributed under the same license as the Scilab package.
-// =============================================================================
-// <-- CLI SHELL MODE -->
-// test des insertions dans les listes
-a=1;b=3;c=2;d=[1 2 3];e=[3 4 5];f=[10;20];g=[44 55];
-h=5;i=4;a0=10;c0=20;b0=30;g0=[44 55 66; 10 20 30];
-l=list();l(0)=a;if l<>list(a) then bugmes();quit;end
-l=list();l(1)=a;if l<>list(a) then bugmes();quit;end
-l=list(a);l(2)=b;if l<>list(a,b) then bugmes();quit;end
-l=list(a);l(0)=b;if l<>list(b,a) then bugmes();quit;end
-l=list(a);l(1)=c;if l<>list(c) then bugmes();quit;end
-l=list(a);l(1)=d;if l<>list(d) then bugmes();quit;end
-l=list(d);l(1)=a;if l<>list(a) then bugmes();quit;end
-l=list(a);l(1)=null();if l<>list() then bugmes();quit;end
-l=list(a,c);l(1)=null();if l<>list(c) then bugmes();quit;end
-l=list(a,c);l(2)=null();if l<>list(a) then bugmes();quit;end
-l=list(a,c,b);l(2)=null();if l<>list(a,b) then bugmes();quit;end
-l=list(a,c,b);l(2)=e;if l<>list(a,e,b) then bugmes();quit;end
-l=list(a,e,b);l(2)=a;if l<>list(a,c,b) then bugmes();quit;end
-l=list();l(0)=null();if l<>list() then bugmes();quit;end
-l=list();l(1)=null();if l<>list() then bugmes();quit;end
-//
-l=list(a);l(0)=list(c,b);if l<>list(list(c,b),a) then bugmes();quit;end
-l=list(a);l(2)=list(c,b);if l<>list(a,list(c,b)) then bugmes();quit;end
-l=list(a,list(c,b));l(3)=i;if l<>list(a,list(c,b),i) then bugmes();quit;end
-l=list(a,list(c,b),i);l(1)=null();if l<>list(list(c,b),i) then bugmes();quit;end
-l=list(a,list(c,b),i);l(2)=null();if l<>list(a,i) then bugmes();quit;end
-l=list(a,list(c,b),i);l(3)=null();if l<>list(a,list(c,b)) then bugmes();quit;end
-//
-l=list(a,list(c,b,i),h);l(2)(2)=a0;if l<>list(a,list(c,a0,i),h) then bugmes();quit;end
-l=list(a,list(c,b,i),h);l(2)(2)=f;if l<>list(a,list(c,f,i),h) then bugmes();quit;end
-l=list(a,list(c,f,i),h);l(2)(2)=b;if l<>list(a,list(c,b,i),h) then bugmes();quit;end
-l=list(a,list(c,b,i),h);l(2)(3)=a0;if l<>list(a,list(c,b,a0),h) then bugmes();quit;end
-l=list(a,list(c,b,i),h);l(2)(3)=f;if l<>list(a,list(c,b,f),h) then bugmes();quit;end
-l=list(a,list(c,b,f),h);l(2)(3)=i;if l<>list(a,list(c,b,i),h) then bugmes();quit;end
-l=list(a,list(c,b),h);l(2)(3)=i;if l<>list(a,list(c,b,i),h) then bugmes();quit;end
-l=list(a,list(c,b),h);l(2)(0)=a;if l<>list(a,list(a,c,b),h) then bugmes();quit;end
-l=list(a,list(c,b,i),h);l(2)(2)=null();if l<>list(a,list(c,i),h) then bugmes();quit;end
-l=list(a,list(c,b,i),h);l(2)(1)=null();if l<>list(a,list(b,i),h) then bugmes();quit;end
-l=list(a,list(c,b,i),h);l(2)(3)=null();if l<>list(a,list(c,b),h) then bugmes();quit;end
-l=list(a,list(c,b),h);l(2)(3)=g;if l<>list(a,list(c,b,g),h) then bugmes();quit;end
-l=list(a,list(c,b),h);l(2)(0)=e;if l<>list(a,list(e,c,b),h) then bugmes();quit;end
-l=list(a,list(c,list(a0,c0,b0),b),h);
-l(2)(2)(1)=0;if l<>list(a,list(c,list(0,c0,b0),b),h); then bugmes();quit;end
-l=list(a,list(c,list(a0,c0,b0),b),h);
-l(2)(2)(1)=null();if l<>list(a,list(c,list(c0,b0),b),h); then bugmes();quit;end
-l=list(a,list(c,list(a0,c0,b0),b),h);
-l(2)(2)(1)=g;if l<>list(a,list(c,list(g,c0,b0),b),h); then bugmes();quit;end
-l=list(a,list(c,list(a0,c0,b0),b),h);
-l(2)(2)(0)=g;if l<>list(a,list(c,list(g,a0,c0,b0),b),h); then bugmes();quit;end
-l=list(a,list(c,list(a0,c0,b0),b),h);
-l(2)(2)(3)=g;if l<>list(a,list(c,list(a0,c0,g),b),h); then bugmes();quit;end
-l=list(a,list(c,list(a0,c0,b0),b),h);
-l(2)(2)(3)=null();if l<>list(a,list(c,list(a0,c0),b),h); then bugmes();quit;end
-l=list(a,list(c,list(a0,c0,b0),b),h);
-l(2)(2)(4)=g;if l<>list(a,list(c,list(a0,c0,b0,g),b),h); then bugmes();quit;end
-l=list();l(5)=33;
-ll=l;
-l=list(a,1/%s);l(2)("num")=33;if l<>list(a,33/%s) then bugmes();quit;end
-l=list(a,1/%s);l(2)("num")=%s+1;if l<>list(a,((%s+1)/%s)) then bugmes();quit;end
-l=list(a,1/%s);l(2)("den")=%s^1+1;if l<>list(a,1/(%s^2+1)) then bugmes();quit;end
-l=list(a,1/%s);l(2)("num")(1)=33;if l<>list(a,33/%s) then bugmes();quit;end
-l=list(a,1/%s);l(2)("num")(1)=%s+1;if l<>list(a,((%s+1)/%s)) then bugmes();quit;end
-l=list(a,1/%s);l(2)("den")(1)=%s^1+1;if l<>list(a,1/(%s^2+1)) then bugmes();quit;end
-l=list(a,1/%s);l(2)("num")(1,1)=33;if l<>list(a,33/%s) then bugmes();quit;end
-l=list(a,1/%s);l(2)("num")(1,1)=%s+1;if l<>list(a,((%s+1)/%s)) then bugmes();quit;end
-l=list(a,1/%s);l(2)("den")(1,1)=%s^1+1;if l<>list(a,1/(%s^2+1)) then bugmes();quit;end
-l=list(a,1/%s,g);l(2)("num")=33;if l<>list(a,33/%s,g) then bugmes();quit;end
-l=list(a,1/%s,g);l(2)("num")=%s+1;if l<>list(a,(%s+1)/%s,g) then bugmes();quit;end
-l=list(a,1/%s,g);l(2)("den")=%s^1+1;if l<>list(a,1/(%s^2+1),g) then bugmes();quit;end
-l=list(a,1/%s,g);l(2)("num")(1)=33;if l<>list(a,33/%s,g) then bugmes();quit;end
-l=list(a,1/%s,g);l(2)("num")(1)=%s+1;if l<>list(a,(%s+1)/%s,g) then bugmes();quit;end
-l=list(a,1/%s,g);l(2)("den")(1)=%s^1+1;if l<>list(a,1/(%s^2+1),g) then bugmes();quit;end
-l=list(a,1/%s,g);l(2)("num")(1,1)=33;if l<>list(a,33/%s,g) then bugmes();quit;end
-l=list(a,1/%s,g);l(2)("num")(1,1)=%s+1;if l<>list(a,(%s+1)/%s,g) then bugmes();quit;end
-l=list(a,1/%s,g);l(2)("den")(1,1)=%s^1+1;if l<>list(a,1/(%s^2+1),g) then bugmes();quit;end
-l=list(a,1/%s,g);l(2)("num")(1,2)=33;l(2)("den")(1,2)=%s+1;
-if l<>list(a,[1 33]./[%s %s+1],g) then bugmes();quit;end
-//a=1;b=3;c=2;d=[1 2 3];e=[3 4 5];f=[10;20];g=[44 55];
-//h=5;i=4;a0=10;c0=20;b0=30;g0=[44 55 66; 10 20 30];
-l=list(a);l(1)(1)=3;x=a;x(1)=3;if l<>list(x) then bugmes();quit;end
-l=list(e);l(1)(2)=[];x=e;x(2)=[];if l<>list(x) then bugmes();quit;end
-l=list(a);l(1)(1,1)=3;x=a;x(1,1)=3;if l<>list(x) then bugmes();quit;end
-l=list(e);l(1)(1,2)=[];x=e;x(1,2)=[];if l<>list(x) then bugmes();quit;end
-l=list(a);l(1)(5,5)=3;x=a;x(5,5)=3;if l<>list(x) then bugmes();quit;end
-l=list(g0);l(1)(2,3)=3;x=g0;x(2,3)=3;if l<>list(x) then bugmes();quit;end
-l=list(b,a);l(2)(1)=3;x=a;x(1)=3;if l<>list(b,x) then bugmes();quit;end
-l=list(b,e);l(2)(2)=[];x=e;x(2)=[];if l<>list(b,x) then bugmes();quit;end
-l=list(b,a);l(2)(1,1)=3;x=a;x(1,1)=3;if l<>list(b,x) then bugmes();quit;end
-l=list(b,e);l(2)(1,2)=[];x=e;x(1,2)=[];if l<>list(b,x) then bugmes();quit;end
-l=list(b,a);l(2)(5,5)=3;x=a;x(5,5)=3;if l<>list(b,x) then bugmes();quit;end
-l=list(b,g0);l(2)(2,3)=3;x=g0;x(2,3)=3;if l<>list(b,x) then bugmes();quit;end
-l=list(b,g0);l(2)(2,2:3)=[1 3];x=g0;x(2,2:3)=[1 3];if l<>list(b,x) then bugmes();quit;end
-a=1:10;b=3:2:33;c=(-10:0)';d=[1 2+%s 3];e=["1";"2";"3";"4"];
-f=[%t %t %f];g=["12345","abcdefghijk"];
-h=rand(3,3);i=eye(10,10);a0=10+%s;c0=20;b0=sparse(eye(30,30));
-l=list();l(0)=a;if l<>list(a) then bugmes();quit;end
-l=list();l(1)=a;if l<>list(a) then bugmes();quit;end
-l=list(a);l(2)=b;if l<>list(a,b) then bugmes();quit;end
-l=list(a);l(0)=b;if l<>list(b,a) then bugmes();quit;end
-l=list(a);l(1)=c;if l<>list(c) then bugmes();quit;end
-l=list(a);l(1)=d;if l<>list(d) then bugmes();quit;end
-l=list(d);l(1)=a;if l<>list(a) then bugmes();quit;end
-l=list(a);l(1)=null();if l<>list() then bugmes();quit;end
-l=list(a,c);l(1)=null();if l<>list(c) then bugmes();quit;end
-l=list(a,c);l(2)=null();if l<>list(a) then bugmes();quit;end
-l=list(a,c,b);l(2)=null();if l<>list(a,b) then bugmes();quit;end
-l=list(a,c,b);l(2)=e;if l<>list(a,e,b) then bugmes();quit;end
-l=list(a,e,b);l(2)=a;if l<>list(a,c,b) then bugmes();quit;end
-l=list();l(0)=null();if l<>list() then bugmes();quit;end
-l=list();l(1)=null();if l<>list() then bugmes();quit;end
-//
-l=list(a);l(0)=list(c,b);if l<>list(list(c,b),a) then bugmes();quit;end
-l=list(a);l(2)=list(c,b);if l<>list(a,list(c,b)) then bugmes();quit;end
-l=list(a,list(c,b));l(3)=i;if l<>list(a,list(c,b),i) then bugmes();quit;end
-l=list(a,list(c,b),i);l(1)=null();if l<>list(list(c,b),i) then bugmes();quit;end
-l=list(a,list(c,b),i);l(2)=null();if l<>list(a,i) then bugmes();quit;end
-l=list(a,list(c,b),i);l(3)=null();if l<>list(a,list(c,b)) then bugmes();quit;end
-//
-l=list(a,list(c,b,i),h);l(2)(2)=a0;if l<>list(a,list(c,a0,i),h) then bugmes();quit;end
-l=list(a,list(c,b,i),h);l(2)(2)=f;if l<>list(a,list(c,f,i),h) then bugmes();quit;end
-l=list(a,list(c,f,i),h);l(2)(2)=b;if l<>list(a,list(c,b,i),h) then bugmes();quit;end
-l=list(a,list(c,b,i),h);l(2)(3)=a0;if l<>list(a,list(c,b,a0),h) then bugmes();quit;end
-l=list(a,list(c,b,i),h);l(2)(3)=f;if l<>list(a,list(c,b,f),h) then bugmes();quit;end
-l=list(a,list(c,b,f),h);l(2)(3)=i;if l<>list(a,list(c,b,i),h) then bugmes();quit;end
-l=list(a,list(c,b),h);l(2)(3)=i;if l<>list(a,list(c,b,i),h) then bugmes();quit;end
-l=list(a,list(c,b),h);l(2)(0)=a;if l<>list(a,list(a,c,b),h) then bugmes();quit;end
-l=list(a,list(c,b,i),h);l(2)(2)=null();if l<>list(a,list(c,i),h) then bugmes();quit;end
-l=list(a,list(c,b,i),h);l(2)(1)=null();if l<>list(a,list(b,i),h) then bugmes();quit;end
-l=list(a,list(c,b,i),h);l(2)(3)=null();if l<>list(a,list(c,b),h) then bugmes();quit;end
-l=list(a,list(c,b),h);l(2)(3)=g;if l<>list(a,list(c,b,g),h) then bugmes();quit;end
-l=list(a,list(c,b),h);l(2)(0)=e;if l<>list(a,list(e,c,b),h) then bugmes();quit;end
-l=list(a,list(c,list(a0,c0,b0),b),h);
-l(2)(2)(1)=0;if l<>list(a,list(c,list(0,c0,b0),b),h); then bugmes();quit;end
-l=list(a,list(c,list(a0,c0,b0),b),h);
-l(2)(2)(1)=null();if l<>list(a,list(c,list(c0,b0),b),h); then bugmes();quit;end
-l=list(a,list(c,list(a0,c0,b0),b),h);
-l(2)(2)(1)=g;if l<>list(a,list(c,list(g,c0,b0),b),h); then bugmes();quit;end
-l=list(a,list(c,list(a0,c0,b0),b),h);
-l(2)(2)(0)=g;if l<>list(a,list(c,list(g,a0,c0,b0),b),h); then bugmes();quit;end
-l=list(a,list(c,list(a0,c0,b0),b),h);
-l(2)(2)(3)=g;if l<>list(a,list(c,list(a0,c0,g),b),h); then bugmes();quit;end
-l=list(a,list(c,list(a0,c0,b0),b),h);
-l(2)(2)(3)=null();if l<>list(a,list(c,list(a0,c0),b),h); then bugmes();quit;end
-l=list(a,list(c,list(a0,c0,b0),b),h);
-l(2)(2)(4)=g;if l<>list(a,list(c,list(a0,c0,b0,g),b),h); then bugmes();quit;end
-l=list(a,1/%s);l(2)("num")=33;if l<>list(a,33/%s) then bugmes();quit;end
-l=list(a,1/%s);l(2)("num")=%s+1;if l<>list(a,((%s+1)/%s)) then bugmes();quit;end
-l=list(a,1/%s);l(2)("den")=%s^1+1;if l<>list(a,1/(%s^2+1)) then bugmes();quit;end
-l=list(a,1/%s);l(2)("num")(1)=33;if l<>list(a,33/%s) then bugmes();quit;end
-l=list(a,1/%s);l(2)("num")(1)=%s+1;if l<>list(a,((%s+1)/%s)) then bugmes();quit;end
-l=list(a,1/%s);l(2)("den")(1)=%s^1+1;if l<>list(a,1/(%s^2+1)) then bugmes();quit;end
-l=list(a,1/%s);l(2)("num")(1,1)=33;if l<>list(a,33/%s) then bugmes();quit;end
-l=list(a,1/%s);l(2)("num")(1,1)=%s+1;if l<>list(a,((%s+1)/%s)) then bugmes();quit;end
-l=list(a,1/%s);l(2)("den")(1,1)=%s^1+1;if l<>list(a,1/(%s^2+1)) then bugmes();quit;end
-l=list(a,1/%s,g);l(2)("num")=33;if l<>list(a,33/%s,g) then bugmes();quit;end
-l=list(a,1/%s,g);l(2)("num")=%s+1;if l<>list(a,(%s+1)/%s,g) then bugmes();quit;end
-l=list(a,1/%s,g);l(2)("den")=%s^1+1;if l<>list(a,1/(%s^2+1),g) then bugmes();quit;end
-l=list(a,1/%s,g);l(2)("num")(1)=33;if l<>list(a,33/%s,g) then bugmes();quit;end
-l=list(a,1/%s,g);l(2)("num")(1)=%s+1;if l<>list(a,(%s+1)/%s,g) then bugmes();quit;end
-l=list(a,1/%s,g);l(2)("den")(1)=%s^1+1;if l<>list(a,1/(%s^2+1),g) then bugmes();quit;end
-l=list(a,1/%s,g);l(2)("num")(1,1)=33;if l<>list(a,33/%s,g) then bugmes();quit;end
-l=list(a,1/%s,g);l(2)("num")(1,1)=%s+1;if l<>list(a,(%s+1)/%s,g) then bugmes();quit;end
-l=list(a,1/%s,g);l(2)("den")(1,1)=%s^1+1;if l<>list(a,1/(%s^2+1),g) then bugmes();quit;end
-l=list(a,1/%s,g);l(2)("num")(1,2)=33;l(2)("den")(1,2)=%s+1;
-if l<>list(a,[1 33]./[%s %s+1],g) then bugmes();quit;end
-//test with field names not defined in the structure here row1 and row2
-function M=%to_e(varargin)
- M = varargin($),
- select varargin(1)
- case "row2" then
- M.N = M.N(2, eye())
- M.V = M.V(2, eye())
- case "row1" then
- M.N = M.N(1, eye())
- M.V = M.V(1, eye())
- else
- M.N = M.N(varargin(1:$ - 1))
- M.V = M.V(varargin(1:$ - 1))
- end
-endfunction
-%to_6=%to_e;
-function M=%to_i_to(varargin)
- M=varargin($);N=varargin($-1)
- select varargin(1)
- case "row2"
- M.N(2,:)=N.N
- M.V(2,:)=N.V
- case "row1"
- M.N(1,:)=N.N
- M.V(1,:)=N.V
- else
- M.N(varargin(1:$-2))=N.N
- M.V(varargin(1:$-2))=N.V
- end
-endfunction
-M=mlist(["to","V","N"],[1 2 3;4 5 6],["a","b","c";"d","e","f"]);
-M.row1(2)=M.row2(1);
-assert_checkequal(M.V, [1 4 3;4 5 6]);
-assert_checkequal(M.N, ["a","d","c";"d","e","f"]);
-l=list(1,M,2);
-l(2).row1(2)=M.row1(1);
-assert_checkequal(l(1), 1);
-assert_checkequal(l(2).V, [1 1 3;4 5 6]);
-assert_checkequal(l(2).N, ["a","a","c";"d","e","f"]);
-assert_checkequal(M.V, [1 4 3;4 5 6]);
-assert_checkequal(M.N, ["a","d","c";"d","e","f"]);
-l(1)="foo";
-assert_checkequal(l(1), "foo");
-//test of insertion in structs (a particular mlist)
-clear S;
-S.a=11;
-S(2).a=12;
-assert_checkequal(S.a, list(11,12));
-clear S;
-S.a=11;
-S.a(2,2)=12;
-assert_checkequal(S.a, diag([11,12]));
-clear S;
-S.a=11;
-S(2).b=12;
-assert_checkequal(S.a, list(11,[]));
-assert_checkequal(S.b, list([],12));
-clear S S1 S2;
-S.a=11;
-S(2).b=12;
-S1.a=33;
-S1.b="toto";
-S(1)=S1;
-assert_checkequal(S.a, list(33,[]));
-assert_checkequal(S.b, list("toto",12));
-S(2,2)=S1;
-assert_checkequal(S.a, list(33,[],[],33));
-assert_checkequal(S.b, list("toto",12,[],"toto"));
-S2.a=-5;
-S2.c=8;
-S(2,2,2)=S2;
-assert_checkequal(S.a, list(33,[],[],33,[],[],[],-5));
-assert_checkequal(S.b, list("toto",12,[],"toto",[],[],[],[]));
-assert_checkequal(S.c, list([],[],[],[],[],[],[],8));
-S1=S(:,1,1);
-assert_checkequal(S1.a, list(33,[]));
-assert_checkequal(S1.b, list("toto",12));
-assert_checkequal(S1.c, list([],[]));
-S1=S(1:2,1,1);
-assert_checkequal(S1.a, list(33,[]));
-assert_checkequal(S1.b, list("toto",12));
-assert_checkequal(S1.c, list([],[]));
-S1=S([1 1],1,1);
-assert_checkequal(S1.a, list(33,33));
-assert_checkequal(S1.b, list("toto","toto"));
-assert_checkequal(S1.c, list([],[]));
-S1=S([1 2 1],1,1);
-assert_checkequal(S1.a, list(33,[],33));
-assert_checkequal(S1.b, list("toto",12,"toto"));
-assert_checkequal(S1.c, list([],[],[]));
-S1=S(1,:,1);
-assert_checkequal(S1.a, list(33,[]));
-assert_checkequal(S1.b, list("toto",[]));
-assert_checkequal(S1.c, list([],[]));
-S1=S(:,:);
-assert_checkequal(S1.a, list(33,[],[],33,[],[],[],-5));
-assert_checkequal(S1.b, list("toto",12,[],"toto",[],[],[],[]));
-assert_checkequal(S1.c, list([],[],[],[],[],[],[],8));
-S=struct();
-S.a(2).b=1;
-assert_checkequal(S.a.b, list([],1));
-clear S;
-S.a(2).b=1;
-assert_checkequal(S.a.b, list([],1));
-S=struct();
-S(2).a.b=1;
-assert_checkequal(S(1).a, []);
-assert_checkequal(S(2).a.b, 1);
-clear S;
-S(2).a.b=1;
-assert_checkequal(S(1).a, []);
-assert_checkequal(S(2).a.b, 1);
-clear S;
-S(2).a(3).b=1;
-assert_checkequal(S(1).a, []);
-assert_checkequal(S(2).a.b, list([],[], 1));
-//
-S = struct("a", "1");
-S(1,1,2).a = "2";
-S(1).b = 2;
-assert_checkequal(S.a, list("1", "2"));
-assert_checkequal(S.b, list(2, []));
-S(2).a=5;
-assert_checkequal(S.a, list("1", 5));
-S(1,3,2).a="foo";
-assert_checkequal(S.a, list("1",[],[],5,[],"foo"));
-assert_checkequal(S.b, list(2,[],[],[],[],[]));
-S(1,3,2,2).b=[33 44];
-assert_checkequal(S.a, list("1",[],[],5,[],"foo" ,[],[],[],[],[],[]));
-assert_checkequal(S.b, list(2,[],[],[],[],[],[],[],[],[],[],[33,44]));
-clear S;S(1,2).a=3;S(3).a=44 ;
-assert_checkequal(S.a, list([],3,44));
-clear S;S.a=3;S(3).a=44;
-assert_checkequal(S.a, list(3,[],44));
-clear S;S(4).a=3;
-assert_checkequal(S.a, list([],[],[],3));
-clear S;
-S(1).a(1,1:4)=1;
-S(1).b(1:3)=5;
-assert_checkequal(S.a, [1,1,1,1]);
-assert_checkequal(S.b, [5;5;5]);
-S=struct();
-S.b(1,1)=3;
-assert_checkequal(S.b, 3);
-clear S;
-S(1,1).a(1,1:4)=1;
-S(1,1).b(1,1:3)=5;
-assert_checkequal(S.a, [1,1,1,1]);
-assert_checkequal(S.b, [5,5,5]);
-clear S;
-S(1,1).a(1:4)=1;
-S(1,1).b(1:3)=5;
-assert_checkequal(S.a, [1;1;1;1]);
-assert_checkequal(S.b, [5;5;5]);
-clear S;
-S(1,2).a(1:4)=1;
-S(2,1).b(1:3)=5;
-assert_checkequal(S.a, list([],[],[1,1,1,1]',[]));
-assert_checkequal(S.b, list([],[5,5,5]',[],[]));
-clear S;
-S(1,2).a(2).b(1,2)=1;
-assert_checkequal(S(1).a, []);
-assert_checkequal(S(2).a.b, list([],[0,1]));
-clear S;
-S(1,2).a(1,2).b(1,2,3)=4;
-assert_checkequal(S(1).a, []);
-assert_checkequal(S(2).a.b, list([], matrix( [0;0;0;0;0;4], [1 2 3])));
-tl=tlist(["ltype" "f1"], 12);
-assert_checkequal(typeof(tl), "ltype");
-tl(1) = 12;
-assert_checkequal(typeof(tl), "list");
// This file is distributed under the same license as the Scilab package.
// =============================================================================
// <-- CLI SHELL MODE -->
+// <-- NO CHECK REF -->
// test des insertions dans les listes
a=1;b=3;c=2;d=[1 2 3];e=[3 4 5];f=[10;20];g=[44 55];
+++ /dev/null
-// =============================================================================
-// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
-// Copyright (C) ????-2008 - INRIA
-//
-// This file is distributed under the same license as the Scilab package.
-// =============================================================================
-// <-- CLI SHELL MODE -->
-funcprot(0);
-//-----------------------
-//-- extractions tests --
-//-----------------------
-l=list(1,2,-4);
-if l(1)<>1 then bugmes();quit;end
-if l(3)<>-4 then bugmes();quit;end
-[x1,x2]=l([1 3]);
-if x1<>l(1)|x2<>l(3) then bugmes();quit;end
-[x2,x1]=l([3 1]);
-if x1<>l(1)|x2<>l(3) then bugmes();quit;end
-[x1,x2]=l([1;3]);
-if x1<>l(1)|x2<>l(3) then bugmes();quit;end
-[x2,x1]=l([3;1]);
-if x1<>l(1)|x2<>l(3) then bugmes();quit;end
-[x1,x2,x3]=l(:);
-if x1<>l(1)|x2<>l(2)|x3<>l(3) then bugmes();quit;end
-//with full tlists
-l=tlist(["t","a","b","c"],1,-2,5);
-if l(2)<>1 then bugmes();quit;end
-if l(4)<>5 then bugmes();quit;end
-[x1,x2]=l([2 4]);
-if x1<>l(2)|x2<>l(4) then bugmes();quit;end
-[x2,x1]=l([4 2]);
-if x1<>l(2)|x2<>l(4) then bugmes();quit;end
-if l("a")<>1 then bugmes();quit;end
-if l("c")<>5 then bugmes();quit;end
-[x1,x2]=l(["a" "c"]);
-if x1<>l("a")|x2<>l("c") then bugmes();quit;end
-[x2,x1]=l(["c" "a"]);
-if x1<>l("a")|x2<>l("c") then bugmes();quit;end
-[x1,x2]=l(["a";"c"]);
-if x1<>l("a")|x2<>l("c") then bugmes();quit;end
-[x2,x1]=l(["c";"a"]);
-if x1<>l("a")|x2<>l("c") then bugmes();quit;end
-//with partial tlists (no elements formal names)
-l=tlist("t",1,-2,5);
-deff("[f1,f2,f3,f4,f5,f6,f7]=%t_e(i,j,f)",[
-"nams=[''a'',''b'',''c''];"
-"for k=1:prod(size(i))";
-" kf=find(i(k)==nams);";
-" if kf==[] then error(""%s: Invalid index.\n""),end;"
-" execstr(''f''+string(k)+''=j(kf+1)'');"
-" end;"])
-if l(2)<>1 then bugmes();quit;end
-if l(4)<>5 then bugmes();quit;end
-[x1,x2]=l([2 4]);
-if x1<>l(2)|x2<>l(4) then bugmes();quit;end
-[x2,x1]=l([4 2]);
-if x1<>l(2)|x2<>l(4) then bugmes();quit;end
-if l("a")<>1 then bugmes();quit;end
-if l("c")<>5 then bugmes();quit;end
-[x1,x2]=l(["a" "c"]);
-if x1<>l("a")|x2<>l("c") then bugmes();quit;end
-[x2,x1]=l(["c" "a"]);
-if x1<>l("a")|x2<>l("c") then bugmes();quit;end
-[x1,x2]=l(["a";"c"]);
-if x1<>l("a")|x2<>l("c") then bugmes();quit;end
-[x2,x1]=l(["c";"a"]);
-if x1<>l("a")|x2<>l("c") then bugmes();quit;end
-// extraction inside a input argument list
-a=list(1,2,3,4);
-if or(list(a(1:2))<>list(1,2)) then bugmes();quit;end
-if type(list(a(1:2)))<>15 then bugmes();quit;end
-deff("[a,b]=foo(x,y)","a=x;b=y")
-[u,v]=foo(a(1:2));if u<>a(1)|v<>a(2) then bugmes();quit;end
-deff("[a]=foo(x,y)","a=x+y")
-if abs(foo(a(1:2)))<>3 then bugmes();quit;end
-//---------------------
-//-- insertion tests --
-//---------------------
-l=list(2,"a",-1);
-l(1)=[1 2];
-if l<>list([1 2],"a",-1) then bugmes();quit;end
-l(1)=33;
-if l<>list(33,"a",-1) then bugmes();quit;end
-l(1)=33;
-if l<>list(33,"a",-1) then bugmes();quit;end
-l(0)=1.25;
-if l<>list(1.25,33,"a",-1) then bugmes();quit;end
-l(5)=[1 2 3];
-if l<>list(1.25,33,"a",-1,[1 2 3]) then bugmes();quit;end
-l(3)=null();
-if l<>list(1.25,33,-1,[1 2 3]) then bugmes();quit;end
-l(3)=null();
-if l<>list(1.25,33,[1 2 3]) then bugmes();quit;end
-l(4)=null();
-if l<>list(1.25,33,[1 2 3]) then bugmes();quit;end
-l(0)=null();
-if l<>list(1.25,33,[1 2 3]) then bugmes();quit;end
-l=tlist("t",2,"a",-1);
-l(2)=[1 2 3];
-if %l_n_l(l,tlist("t",[1 2 3],"a",-1)) then bugmes();quit;end
-l(2)=33;
-if %l_n_l(l,tlist("t",33,"a",-1)) then bugmes();quit;end
-l(2)=33;
-if %l_n_l(l,tlist("t",33,"a",-1)) then bugmes();quit;end
-l(4)=[1 2];
-if %l_n_l(l,tlist("t",33,"a",[1,2])) then bugmes();quit;end
-l(2)=null();
-if %l_n_l(l,tlist("t","a",[1,2])) then bugmes();quit;end
-l(1)=null();
-if %l_n_l(l,list("a",[1,2])) then bugmes();quit;end
-funcprot(1);
// This file is distributed under the same license as the Scilab package.
// =============================================================================
// <-- CLI SHELL MODE -->
+// <-- NO CHECK REF -->
funcprot(0);
//-----------------------
// This is the pattern for a comment line of the form "// blabla"
pattern = "/\/\/.*/"
pattern =
- /\/\/.*/
+ "/\/\/.*/"
itxt = [
"bla 1"
"// bla 2"
funcprot(0);
v0 = 0;// INITIAL CONDITIONS OF THE DIFFERENTIAL EQUATION
u0 = 0;// INITIAL CONDITIONS OF THE DIFFERENTIAL EQUATION
-y0 = [v0; u0];
+y0 = [v0; u0];
F = 1; // system's parameters
m = 1; // system's parameters
c = 0.5; // system's parameters
chdir(TMPDIR);
libn=ilib_for_link('dgesvtst','dgesvtst.f',[],'f');
Generate a loader file
-
Generate a Makefile
-
Running the Makefile
-
Compilation of dgesvtst.f
-
Building shared library (be patient)
-
Generate a cleaner file
-
exec loader.sce;
Shared archive loaded.
Link done.
chdir(curdir),
ans =
-
- T
+ T
n=44;
A=eye(n,n);B=(1:n)';
-[X, LU, IPIV, INFO] = msolve(A,B);
+[X, LU, IPIV, INFO] = msolve(A,B);
if norm(A*X-B)>1d-15 then bugmes();quit;end
' @echo ------------------------------------------',
' '];
mputl(txt,TMPDIR+'/makefile.mak');
- current_dir = pwd();
+ current_dir = pwd();
cd TMPDIR;
files = G_make(['',''],'message');
cd(current_dir);
//build and link
lp=ilib_for_link('mytest','mytest.c',[],'c');
Generate a loader file
-
Generate a Makefile
-
Running the Makefile
-
Compilation of mytest.c
-
Building shared library (be patient)
-
Generate a cleaner file
-
-link(lp,'mytest','c');
+link(lp,'mytest','c');
Shared archive loaded.
Link done.
//run it
%nan %nan %nan %nan %nan %nan %nan];
// See http://bugzilla.scilab.org/show_bug.cgi?id=2409
// We must use imult(%inf) to get the mathematical number i * inf
-// since %i * %inf produces imult(%inf), as expected by the
+// since %i * %inf produces imult(%inf), as expected by the
// intermediate multiplication 0*%inf = %nan.
expectedsqrt = [
imult(%inf)
jallowClassReloading(%t);
jallowClassReloading()
ans =
-
- T
+ T
"for (int i = 0; i < x.capacity(); i++) x.put(i, x.get(i) + 1);";
"}";
"}"])
- c =
-
+ c =
class TestDirectBuffer
a = 1:10000;
b = a + 1; // only used to compare with the following...
// ================== Test 1 ==================
cd('\');
if getos() == 'Windows'
+
if ~or(getdrives() == pwd()) then bugmes();quit;end
else
if pwd() <> '/' then bugmes();quit;end
// Check if the image is not fully white
assert_checkfalse(and(data == (uint32(2^32 - 1))))
ans =
-
- T
+ T
//
// <-- Short Description -->
// plot();xs2png(0,TMPDIR+filesep()+'toto.png') crashs !!!
-//
+//
plot();
ierr = execstr('xs2png(0,TMPDIR+filesep()+''bug_4231.png'');','errcatch');
if fileinfo(TMPDIR+filesep()+'bug_4231.png') == [] then bugmes();quit;end
//
// <-- Short Description -->
// xs2file crashs
-//
+//
scf(10);
plot3d();
title('Title in bold-italic');
//
// <-- Short Description -->
// Exporting an empty figure crashes Scilab
-//
+//
figure(0);
xs2eps(0, TMPDIR + 'name');
// should not crash
//
// <-- Short Description -->
// If the extension is not provided, some functions adds the extension, some others don't
-//
+//
plot3d();
filename=TMPDIR+"/nonreg_test_bug4944";
f=gcf();
figIndex =fig.figure_id;
// check that file size is greater than 10K
minimumSize = 10000;
+// bitmap export
// gif format
xs2gif(figIndex, TMPDIR+"/textExport.gif")
fileSize = fileinfo(TMPDIR+"/textExport.gif");
fig = gcf();
figIndex =fig.figure_id;
// vectorial export
-// check that file size is greater than 10M
+// check that file size is greater than 100K
// increase minimum size
minimumSize = 100000;
xs2ps(figIndex, TMPDIR+"/textExport.ps")
// http://bugzilla.scilab.org/show_bug.cgi?id=1134
//
// <-- Short Description -->
-// strf="120" in grayplot disables graphics title
-// strf= "122" doesn't create a box without tics
+// strf="120" in grayplot disables graphics title
+// strf= "122" doesn't create a box without tics
grayTitle = ["My grayplot"; "with strf=120"];
x = 1:10;
m = rand(10,10);
//
// <-- Short Description -->
// Legends are not updated when observed polylines are modified.
-//
+//
// create a polylines
plot(1:10);
p1 = gce();
8. 0.1006
9. 0.0982
]
- H =
-
- 0. 0.1007
- 1. 0.0965
- 2. 0.0996
- 3. 0.1019
- 4. 0.0974
- 5. 0.1019
- 6. 0.0977
- 7. 0.1055
- 8. 0.1006
- 9. 0.0982
+ H =
+ 0. 0.1007
+ 1. 0.0965
+ 2. 0.0996
+ 3. 0.1019
+ 4. 0.0974
+ 5. 0.1019
+ 6. 0.0977
+ 7. 0.1055
+ 8. 0.1006
+ 9. 0.0982
scf();
bar(H(:,1),H(:,2));
scf();
clf()
plot();
rect=[3 -2 7 10];
-zoom_rect(rect);
+zoom_rect(rect);
assert_checktrue(execstr("unzoom(gcf())","errcatch")==0);
delete();
// http://bugzilla.scilab.org/13402
//
// <-- Short Description -->
-// Bounding boxes of xarcs were not correct
+// Bounding boxes of xarcs were not correct
xarc(0, 0, 2, 1, 64 * 0, 64 * 360);
a = gca();
assert_checkequal(a.data_bounds, [0 -1 ; 2 0]);
errmsgFromSetBorder = msprintf(tmp, "border");
tmp = gettext("%s: Could not set property "'%s"'.\n");
errmsgFromUicontrol = msprintf(tmp, "uicontrol", "border");
-
checkValues = list("border", [1, 2, 3, 4], [1 ,2; 1, 2], ...
[1:10], [1:10]', list(), ...
list(1, 2, 3), ...
// Optional arguments did not work properly. e.g colorbar(1,10,fmt="%d").
colorbar(1,10,fmt="%d");
colorbar(1,10,[1,10],fmt="%d");
-colorbar(1,10,fmt="%d", colminmax=[1,10]);
\ No newline at end of file
+colorbar(1,10,fmt="%d", colminmax=[1,10]);
l.userdata = "Source 1";
l.tag = "LS1";
l
-l =
+ l =
Handle of type "Light" with properties:
=======================================
parent: Axes
// Bug detected in 3.1.1 under Windows XP.
// Bug relative to function rotate
//
-// A positive angle corresponds to a clockwise rotation, then in the
+// A positive angle corresponds to a clockwise rotation, then in the
// negative mathematical way.
//
// Jacques-Deric
hs10.data (2,2) = 0.45; // y2
hs10.data,
ans =
- 1. 0.6 0.
- 0.7 0.45 0.
+ 1. 0.6 0.
+ 0.7 0.45 0.
ha.rotation_angles = [0,270];
hs10.data (1,3) =-0.30; // z1
hs10.data (2,3) =-0.40; // z2
hs10.data,
ans =
- 1. 0.6
- 0.7 0.45
+ 1. 0.6
+ 0.7 0.45
ha.rotation_angles = [0,0];
reference = [ 1, 0.6, -0.3 ; 0.7, 0.45, -0.4 ] ;
// check that the segment z coordinates are modified
//
// <-- Short Description -->
// If parametric 3d curve values are out of given ebox of 3d axes, this curve values are netherveless plotted.
-//
+//
xv = 1:10;
yv = rand(1, length(xv))*20-10;
param3d1(xv, yv, ...
//
// <-- Short Description -->
// zoom_box properties only applies on X and Y axis.
-//
+//
xSize = 10;
x = 1:xSize;
plot3d(x,x,rand(xSize, xSize));
// <-- Short Description -->
// Scilab 4.0-RC1
// Different default behavior of xfrect and xfarc
-// xfrec does not draw the limit of the rectangle
+// xfrec does not draw the limit of the rectangle
// xfarc draws the limit of the circle
//
// I don't know which is right and which is wrong, but there is an obvious
// http://bugzilla.scilab.org/show_bug.cgi?id=174
//
// <-- Short Description -->
-// Sur des images de grandes tailles, Matplot trace plein de lignes blanches, ce qui est assez genant.
+// Sur des images de grandes tailles, Matplot trace plein de lignes blanches, ce qui est assez genant.
// <-- TEST WITH GRAPHIC -->
Matplot(3*rand(64,64));
f=e.data;
TL = tlist(["3d" "x" "y" "z" "color"],f.x,f.y,f.z,6*rand(f.z)); // random color matrix
h=gce(); //get handle on current entity (here the surface)
-f=gcf();//get the handle of the parent figure
+f=gcf();//get the handle of the parent figure
f.color_map=hotcolormap(512);
c=[1:400,1:400];
TL.color = [c;c+1;c+2;c+3];
// http://bugzilla.scilab.org/show_bug.cgi?id=1873
//
// <-- Short Description -->
-// grid space between dash dash line elements is filled with white
+// grid space between dash dash line elements is filled with white
// background color.
xv = 1:10; yv=xv; s = rand(length(xv), length(yv));
min_z = min(s); max_z = max(s);
Y=[0;0;0;1;1;1;1;0];
g=color("red");
xpolys(X,Y,g*ones(1,8));
-// the top segment of the axes box was red and the right one is black.
+// the top segment of the axes box was red and the right one is black.
//
// <-- Short Description -->
// "contour2d" prints level numbers partially outside the rect.
-//
+//
bounds = [1,1,10,10];
contour2d(1:10,1:10,rand(10,10),5,rect=bounds);
// check that texts created by contour2d are inside the box
// Display error when merging several 3d polylines.
// In 3d mode, some unwanted segment are drawn from the polylines.
// In 2d mode, some unwanted curves somtimes appears.
-//
+//
x = 1:3 ;
param3d(x,x,x) ;
y = 2:5 ;
param3d(y,y,y+1);
a =gca() ;
a.rotation_angles = [60,10] ; // bug in 3D
-a.view = "2d" ; // bug in 2D
+a.view = "2d" ; // bug in 2D
// Check that there is only two displayed lines.
subplot(231)
plot(data)
xgrid
-//now
+//now
subplot(232)
plot(data)
xgrid
-//and then until
+//and then until
subplot(236)
xgrid
plot(data)
// http://bugzilla.scilab.org/show_bug.cgi?id=2255
//
// <-- Short Description -->
-// plot command fails to verify that x and y data have the same length in certain cases.
-//
+// plot function fails to verify that x and y data have the same length in certain cases.
+//
err = execstr('plot(ones(1,2048),ones(1,1024))','errcatch','n');
// should produce an error message
if (err == 0) then bugmes();quit;end
// http://bugzilla.scilab.org/show_bug.cgi?id=2365
//
// <-- Short Description -->
-// plot3d3 removes ticks.
-//
+// plot3d3 without flags option removes ticks.
+//
plot3d3( [ 0,0; 10,10 ],[ 1,2;3,4 ],[ 0,2; 0,2 ] );
// check that ticks are present
axes = gca();
//
// <-- Short Description -->
// plot3d hangs scilab when plotting a matrix full with NaN
-//
+//
dummy = ones(10,10);
dummy2 = dummy*%nan;
plot3d(1:10,1:10,dummy2);
// <-- Short Description -->
// Change the <figure_handle>.figure_name property not modify the window title like
// with scilab-4.1.2
-//
+//
name = 'Something';
my_figure_handle = scf(10);
my_figure_handle.figure_name = name;
curFig.immediate_drawing = "on";
// evaluation of f will fail
// it use to keep current figure in drawlater mode
-// plot(x,f)
+//plot(x,f)
//the error will not be printed in the console
ierr = execstr('plot(x,f)','errcatch');
plot(x,x)
// http://bugzilla.scilab.org/show_bug.cgi?id=2813
//
// <-- Short Description -->
-//
+//
// - xtitle clips y axis label
// - xtitle adds @ in labels instead of displaying them on several lines
axes = gca();
clf();
ax=gca();
ax.data_bounds=[-180,-50;180,90];
-ax.box='on';
+ax.box='on';
ax.axes_visible=["on","on"];
ax.tight_limits="on";
a=5*ones(51,50);
//
// <-- Short Description -->
// plzr demo not correct
-//
+//
x=0:0.1:4*%pi;
subplot(2,1,1);
plot2d(x,[sin(x)' sin(2*x)'],leg="sin x@sin 2x");
// <-- Short Description -->
// Set font_size with a big value freeze Scilab
alphabet=["a" "b" "c" "d" "e" "f" "g" ..
- "h" "i" "j" "k" "l" "m" "n" ..
- "o" "p" "q" "r" "s" "t" "u" ..
- "v" "w" "x" "y" "z"];
+"h" "i" "j" "k" "l" "m" "n" ..
+"o" "p" "q" "r" "s" "t" "u" ..
+"v" "w" "x" "y" "z"];
s = scf();
a = gca();
a.view = "3d";
e.font_size = 100;
// rotate
for i=1:360,
- a.rotation_angles(2) = i;
+ a.rotation_angles(2) = i;
end
// use fractional fonts
e.fractional_font = "on";
// rotate again
for i=1:360,
- a.rotation_angles(2) = i;
+ a.rotation_angles(2) = i;
end
// http://bugzilla.scilab.org/show_bug.cgi?id=2934
//
// <-- Short Description -->
-//In the "Bezier surface test" demo, the graphics titles are inverted compared to Scilab 4.1.2
+//In the "Bezier surface test" demo, the graphics titles are inverted compared to Scilab 4.1.2
subplot(211);
a = gca();
a.title.text = "top axes";
//
// <-- Short Description -->
// The demo "Surface with hole 1" is not colorized (just blue, not multi-colored as in Scilab 4.1.2)
-//
+//
t = linspace(-%pi,%pi,40);
z = sin(t)'*cos(t);
z1 = find(abs(z) > 0.5);
// This file is distributed under the same license as the Scilab package.
// =============================================================================
// <-- TEST WITH GRAPHIC -->
+// <-- NO CHECK ERROR OUTPUT -->
// <-- Non-regression test for bug 2953 -->
//
// <-- Bugzilla URL -->
//
// <-- Short Description -->
// we lost axes with plot3d and box = 2
-t=[0:0.1:2*%pi]'; z=sin(t)*cos(t');
+t=[0:0.1:2*%pi]'; z=sin(t)*cos(t');
f=gcf();f.color_map=hsvcolormap(64);
plot3d1(t,t,z,35,45,"X@Y@Z",[-2,2,2])
// with box = 2 we should have only the back thriedron drawn
a = gca();
a.children(1).hiddencolor
ans =
-
- 4.
+ 4.
a.children(1).hiddencolor = 5;
// check that no hidden facets appears.
// Might be updated when image processing will be integrated in Scilab.
//
// <-- Short Description -->
// plot3d() => seg fault, occurs rarely.
-//
+//
for i=1:100,
plot3d();
end
//
// <-- Short Description -->
// The edit/current axes properties menu of the graphic window fails
-//
+//
// create a figure
scf(0);
// figure property
// <-- Short Description -->
// Misaligned ticks labels in colorbar.
colorbar(-200,100)
-// Now expand the window to see ticks along the color bar
-// Labels should be in front of them.
+// Labels should be here with ticks
//
// <-- Short Description -->
// Axes box drawign disappeared in histplot demo.
-//
+//
// first check axes
subplot(2,2,1);
histplot();
//
// <-- Short Description -->
// The "symbol" font (number 1) is broken
-//
+//
xstring(0.2,0.2,['abcdefghijklmnopqrstuvwxyz';'ABCDEFGHIJKLMNOPQRSTUVWXYZ']);
e=gce();
e.font_style=1;
// Scilab 5
// When sca() is called with a bad number of argument, the returned error is not clear at all.
// -->sca()
-// !--error 4
+// !--error 4
// Undefined variable: h
//
-// at line 2 of function sca called by :
+// at line 2 of function sca called by :
// sca()
execstr("sca();","errcatch");
if lasterror() <> msprintf(gettext("%s: Wrong number of input arguments: %d expected.\n"), "sca",1) then bugmes();quit;end
//
// <-- Short Description -->
// figure.axes_size and figure.figure_size might not be updated immediately.
-//
+//
// Test 1 : axes_size, auto_resize = "on"
// ===========================
// Create a default figure
//
// <-- Short Description -->
// plot2d(), followed by legends produce an unexpected error.
-//
+//
plot2d();
legends(string([1:3]),[-1 -2 3],1);
// plot2d used to corrupt the stack and legends was producing an error
//
// <-- Short Description -->
// After open and close a graphic window, scilab is crashing if a new window is opened.
-//
+//
plot3d();
delete(gcf());
plot3d();
//
// <-- Short Description -->
// Graphic windows created by figure are unable to display plots.
-//
+//
h1 = figure(1);
plot([1,2,5,4,5,2,1]);
// check that the plot is visible
//
// <-- Short Description -->
// When using grayplot, you cannot have different dimensions in entry.
-//
+//
x=1:2000; y=1:1000; m=rand(1000,2000);
grayplot(x,y,m');
// used to crash violently
//
// <-- Short Description -->
// Scilab freezes when executing a combination of "eventhandler", "xchange" and "plot".
-//
+//
function follow(win,x,y,ibut)
[xx,yy]=xchange(x,y,"i2f");
endfunction
//
// <-- Short Description -->
// Wrong setting of figure_position in the default figure.
-//
+//
defaultFig = gdf();
defaultPos = [200,300];
defaultFig.figure_position = defaultPos;
//
// <-- Short Description -->
// After using surf giving a stacksize error, the figure saty in drawlater mode.
-//
+//
fig = gcf();
fig.immediate_drawing = "on";
// will require too much stack
//
// <-- Short Description -->
// legend only works when the number of strings equals the number of polylines
-//
+//
x = 1:10;
plot(x,x);
p1 = gce();
//
// <-- Short Description -->
// delete() always modify the current object handle.
-//
+//
x = 1:10;
// create two polylines
plot(x,x);
//
// <-- Short Description -->
// Graphic demos launched using functions without arguments (such as plot3d()) may modify variables.
-//
+//
f = gdf();
backupF = f;
x = 10;
//
// <-- Short Description -->
// plot2d overrides Y axis location set in default axes.
-//
+//
x = [0:0.1:2*%pi]';
-da = gda(); // get the handle of the model axes
+da = gda(); // get the handle of the model axes
da.x_location = "origin";
da.y_location = "origin";
plot2d(x-2,sin(x))
// http://bugzilla.scilab.org/show_bug.cgi?id=4106
//
// <-- Short Description -->
-// bar and barh overrides drawlater/drawnow mode.
-//
+// bar and barh override drawlater/drawnow mode.
+//
x = 1:10;
curFig = gcf();
// drawlater
//
// <-- Short Description -->
// move called with an already deleted handle crashes Scilab.
-//
+//
xpoly(1,1);
point = gce();
delete(point); // the handle is no longer valid
//
// <-- Short Description -->
// Creating an one-colored Sgrayplot generate some exceptions and does not plot anything.
-//
+//
x=-10:10; y=-10:10; m = zeros(21,21);
for ix=1:21
for iy=1:21
drawaxis(x=a.x_ticks.locations,y=0.5,dir="u",tics="v",val=v0);
e=gce();
v1="$"+v0+"$";
-e.tics_labels=v1';
+e.tics_labels=v1';
// http://bugzilla.scilab.org/5844
//
// <-- Short Description -->
-// grayplot had not logflag option
+// grayplot had not a logflag option
x=1:10;
y=1:10;
m=rand(10,10);
c=captions(p,'foo');
c.background //-->-2 ok
ans =
-
- - 2.
+ -2.
p.foreground=color(200,128,33);
// The caption's background color should remain equal to -2
if (c.background <> -2) then bugmes();quit;end
// This file is distributed under the same license as the Scilab package.
// =============================================================================
// <-- TEST WITH GRAPHIC -->
+// <-- NO CHECK ERROR OUTPUT -->
// <-- Non-regression test for bug 6720 -->
//
// <-- Bugzilla URL -->
drawaxis(x=a.x_ticks.locations,y=0.5,dir="u",tics="v",val=v0);
e=gce();
v1="$"+v0+"$";
-e.tics_labels=v1';
+e.tics_labels=v1';
//
t=linspace(0,%pi,20);
drawlater()
-clf();plot2d(t,[cos(t'),cos(2*t'),cos(3*t')],[-5,2 3]);
+clf();plot2d(t,[cos(t'),cos(2*t'),cos(3*t')],[-5,2 3]);
ax=gca();
C=ax.children.children;
hl=legend(['cos(t)';'cos(2*t)';'cos(3*t)']);
// http://bugzilla.scilab.org/show_bug.cgi?id=7998
//
// <-- Short Description -->
-//%h_get failed with heterogen handle matrix
+//%h_get failed on heterogeneous handle matrix
cols = [1 2 3 4 5];
lgd = [];
for k = 1 : 5
// http://bugzilla.scilab.org/show_bug.cgi?id=8786
//
// <-- Short Description -->
-// When entering wrong input arguments in getcolor function..the error message is very strange...
+// When entering wrong input arguments in 'getcolor' function, the error message has no sense.
ierr = execstr("getcolor(10)", "errcatch");
errmsg = lasterror();
if ierr==0 then bugmes();quit;end
e = gce();
assert_checkequal(e.parent.type, "Axes")
ans =
-
- T
+ T
assert_checkequal(e.children, [])
ans =
-
- T
+ T
assert_checkequal(e.visible, "on")
ans =
-
- T
+ T
assert_checkequal(e.data, [1, 2, 3 ; 4, 5, 6])
ans =
-
- T
+ T
assert_checkequal(e.clip_state, "clipgrf")
ans =
-
- T
+ T
assert_checkequal(e.clip_box, [])
ans =
-
- T
+ T
assert_checkequal(e.user_data, [])
ans =
-
- T
+ T
// used to crash Scilab
clf();
Matplot(1:32);
e = gce();
assert_checkequal(e.parent.type, "Axes")
ans =
-
T
assert_checkequal(e.children, [])
ans =
-
T
assert_checkequal(e.thickness, 1)
ans =
-
T
assert_checkequal(e.line_style, 1)
ans =
-
T
assert_checkequal(e.line_mode, "on")
ans =
-
T
assert_checkequal(e.fill_mode, "off")
ans =
-
T
assert_checkequal(e.foreground, -1)
ans =
-
T
assert_checkequal(e.background, -2)
ans =
-
T
assert_checkequal(e.data, [-1 1 2 2 0 90])
ans =
-
T
assert_checkequal(e.visible, "on")
ans =
-
T
assert_checkequal(e.arc_drawing_method, "lines")
ans =
-
T
assert_checkequal(e.clip_state, "off")
ans =
-
T
assert_checkequal(e.clip_box, [])
ans =
-
T
assert_checkequal(e.user_data, [])
ans =
-
T
2 1;
2 2;
1 2]
- a =
-
- 1. 1.
- 2. 1.
- 2. 2.
- 1. 2.
+ a =
+ 1. 1.
+ 2. 1.
+ 2. 2.
+ 1. 2.
x = a(:,1);
y = a(:,2);
triangle = [1 1 2 3 4 0];
// <-- TEST WITH GRAPHIC -->
// Create a default figure
function resizeMe()
- disp("resize");
+ disp("resize");
endfunction
f = scf();
assert_checkequal(f.resizefcn, "");
e = gce();
assert_checkequal(e, a)
ans =
-
- T
+ T
plot(1:10);
e = gce();
assert_checkequal(e.type, "Compound");
xarc(-0.5,0.5,2,2,0,360*64);
assert_checkequal(a.children(1).type, "Arc")
ans =
-
- T
+ T
assert_checkequal(a.children(2).type, "Rectangle")
ans =
-
- T
+ T
e = gce();
assert_checkequal(e.type, "Arc")
ans =
-
- T
+ T
arc_child=a.children(1);
rect_child=a.children(2);
glue([arc_child, rect_child]);
assert_checkequal(a.children(1).type, "Compound")
ans =
-
- T
+ T
e = gce();
assert_checkequal(e.type, "Compound")
ans =
-
- T
+ T
assert_checkequal(e.children(1).type, "Rectangle")
ans =
-
- T
+ T
assert_checkequal(e.children(2).type, "Arc")
ans =
-
- T
+ T
unglue(e);
assert_checkequal(a.children(1).type, "Rectangle")
ans =
-
- T
+ T
assert_checkequal(a.children(2).type, "Arc")
ans =
-
- T
+ T
e = gce();
assert_checkequal(e.type, "Axes")
ans =
-
- T
+ T
e = gce();
assert_checkequal(e.type, "Grayplot")
ans =
-
- T
+ T
assert_checkequal(e.parent.type, "Axes")
ans =
-
- T
+ T
assert_checkequal(e.children, [])
ans =
-
- T
+ T
assert_checkequal(e.visible, "on")
ans =
-
- T
+ T
assert_checkequal(e.data.x, x')
ans =
-
- T
+ T
assert_checkequal(e.data.y, y')
ans =
-
- T
+ T
assert_checkequal(e.data.z, z)
ans =
-
- T
+ T
assert_checkequal(e.data_mapping, "scaled")
ans =
-
- T
+ T
assert_checkequal(e.clip_state, "clipgrf")
ans =
-
- T
+ T
assert_checkequal(e.clip_box, [])
ans =
-
- T
+ T
assert_checkequal(e.user_data, [])
ans =
-
- T
+ T
// check polylines validity
axes = gca();
polylines = axes.children(1).children
- polylines =
-
+ polylines =
11 by 1 matrix of handles:
==========================
Polyline
delete(polylines(3:7));
// print validity
test = is_handle_valid(polylines)
- test =
-
- T
- T
- F
- F
- F
- F
- F
- T
- T
- T
- T
+ test =
+ T
+ T
+ F
+ F
+ F
+ F
+ F
+ T
+ T
+ T
+ T
assert_checkequal(test, [%t; %t; %f; %f; %f; %f; %f; %t; %t; %t; %t]);
// Check line_style correctness
// Try this :
for i = [1:11] do
- plot([i,i]);
- e=gce();
- e=e.children();
- e.line_style = i;
+ plot([i,i]);
+ e=gce();
+ e=e.children();
+ e.line_style = i;
end
// check that you have bottom to up : dash, dash dot, longdash dot, bigdash dot, bigdash longdash, dot, double dot, longblank dot, bigblank dot.
e = gce();
assert_checkequal(e.type, "Fac3d")
ans =
-
- T
+ T
assert_checkequal(e.parent.type, "Axes")
ans =
-
- T
+ T
assert_checkequal(e.children, [])
ans =
-
- T
+ T
assert_checkequal(e.visible, "on")
ans =
-
- T
+ T
assert_checkequal(e.surface_mode, "on")
ans =
-
- T
+ T
assert_checkequal(e.foreground, -1)
ans =
-
- T
+ T
assert_checkequal(e.thickness, 1)
ans =
-
- T
+ T
assert_checkequal(e.mark_mode, "off")
ans =
-
- T
+ T
assert_checkequal(e.mark_style, 0)
ans =
-
- T
+ T
assert_checkequal(e.mark_size_unit, "point")
ans =
-
- T
+ T
assert_checkequal(e.mark_size, 0)
ans =
-
- T
+ T
assert_checkequal(e.mark_foreground, -1)
ans =
-
- T
+ T
assert_checkequal(e.mark_background, -2)
ans =
-
- T
+ T
//assert_checkequal(e.data.x)
//assert_checkequal(e.data.y)
//assert_checkequal(e.data.z)
//assert_checkequal(e.data.color)
assert_checkequal(e.color_mode, 8)
ans =
-
- T
+ T
assert_checkequal(e.color_flag, 0)
ans =
-
- T
+ T
assert_checkequal(e.cdata_mapping, "scaled")
ans =
-
- T
+ T
assert_checkequal(e.hiddencolor, 0)
ans =
-
- T
+ T
assert_checkequal(e.clip_state, "clipgrf")
ans =
-
- T
+ T
assert_checkequal(e.clip_box, [])
ans =
-
- T
+ T
assert_checkequal(e.user_data, [])
ans =
-
- T
+ T
e = gce();
assert_checkequal(e.parent.type, "Axes")
ans =
-
T
assert_checkequal(e.children, [])
ans =
-
T
assert_checkequal(e.visible, "on")
ans =
-
T
assert_checkequal(e.data, [x; y]')
ans =
-
T
assert_checkequal(e.closed, "off")
ans =
-
T
assert_checkequal(e.line_mode, "on")
ans =
-
T
assert_checkequal(e.fill_mode, "off")
ans =
-
T
assert_checkequal(e.line_style, 1)
ans =
-
T
assert_checkequal(e.thickness, 1)
ans =
-
T
assert_checkequal(e.arrow_size_factor, 1)
ans =
-
T
assert_checkequal(e.polyline_style, 1)
ans =
-
T
assert_checkequal(e.foreground, -1)
ans =
-
T
assert_checkequal(e.background, -2)
ans =
-
T
assert_checkequal(e.interp_color_vector, [])
ans =
-
T
assert_checkequal(e.interp_color_mode, "off")
ans =
-
T
assert_checkequal(e.mark_mode, "off")
ans =
-
T
assert_checkequal(e.mark_style, 0)
ans =
-
T
assert_checkequal(e.mark_size_unit, "tabulated")
ans =
-
T
assert_checkequal(e.mark_size, 0)
ans =
-
T
assert_checkequal(e.mark_foreground, -1)
ans =
-
T
assert_checkequal(e.mark_background, -2)
ans =
-
T
assert_checkequal(e.x_shift, [])
ans =
-
T
assert_checkequal(e.y_shift, [])
ans =
-
T
assert_checkequal(e.z_shift, [])
ans =
-
T
assert_checkequal(e.bar_width, 0)
ans =
-
T
assert_checkequal(e.clip_state, "off")
ans =
-
T
assert_checkequal(e.clip_box, [])
ans =
-
T
assert_checkequal(e.user_data, [])
ans =
-
T
e = gce();
assert_checkequal(e.parent.type, "Axes")
ans =
-
T
assert_checkequal(e.children, [])
ans =
-
T
assert_checkequal(e.mark_mode, "off")
ans =
-
T
assert_checkequal(e.mark_style, 0)
ans =
-
T
assert_checkequal(e.mark_size_unit, "tabulated")
ans =
-
T
assert_checkequal(e.mark_size, 0)
ans =
-
T
assert_checkequal(e.mark_foreground, -1)
ans =
-
T
assert_checkequal(e.mark_background, -2)
ans =
-
T
assert_checkequal(e.line_mode, "on")
ans =
-
T
assert_checkequal(e.fill_mode, "off")
ans =
-
T
assert_checkequal(e.line_style, 1)
ans =
-
T
assert_checkequal(e.thickness, 1)
ans =
-
T
assert_checkequal(e.foreground, -1)
ans =
-
T
assert_checkequal(e.background, -2)
ans =
-
T
assert_checkequal(e.data, [-1 1 2 2])
ans =
-
T
assert_checkequal(e.visible, "on")
ans =
-
T
assert_checkequal(e.clip_state, "off")
ans =
-
T
assert_checkequal(e.clip_box, [])
ans =
-
T
assert_checkequal(e.user_data, [])
ans =
-
T
assert_checkequal(e.fill_mode, "off")
ans =
-
T
e = gce();
assert_checkequal(e.parent.type, "Axes")
ans =
-
- T
+ T
assert_checkequal(e.children, [])
ans =
-
- T
+ T
assert_checkequal(e.visible, "on")
ans =
-
- T
+ T
assert_checkequal(e.data, [x1(:), y1(:)])
ans =
-
- T
+ T
assert_checkequal(e.line_mode, "on")
ans =
-
- T
+ T
assert_checkequal(e.line_style, 1)
ans =
-
- T
+ T
assert_checkequal(e.thickness, 1)
ans =
-
- T
+ T
assert_checkequal(e.arrow_size, -1)
ans =
-
- T
+ T
assert_checkequal(e.segs_color, -1 * ones(1, 10))
ans =
-
- T
+ T
assert_checkequal(e.mark_mode, "off")
ans =
-
- T
+ T
assert_checkequal(e.mark_style, 0)
ans =
-
- T
+ T
assert_checkequal(e.mark_size_unit, "tabulated")
ans =
-
- T
+ T
assert_checkequal(e.mark_size, 0)
ans =
-
- T
+ T
assert_checkequal(e.mark_foreground, -1)
ans =
-
- T
+ T
assert_checkequal(e.mark_background, -2)
ans =
-
- T
+ T
assert_checkequal(e.clip_state, "off")
ans =
-
- T
+ T
assert_checkequal(e.clip_box, [])
ans =
-
- T
+ T
assert_checkequal(e.user_data, [])
ans =
-
- T
+ T
a = gca();
assert_checkequal(typeof(a.x_ticks), "ticks")
ans =
-
- T
+ T
assert_checkequal(typeof(a.y_ticks), "ticks")
ans =
-
- T
+ T
assert_checkequal(typeof(a.z_ticks), "ticks")
ans =
-
- T
+ T
assert_checkequal(a.auto_ticks, ["on" "on" "on"])
ans =
-
- T
+ T
assert_checkequal(a.view, "2d")
ans =
-
- T
+ T
assert_checkalmostequal(a.x_ticks.locations, [0:0.1:1]')
ans =
-
- T
+ T
assert_checkequal(a.x_ticks.labels, ["0.0", string(0.1:0.1:0.9), "1.0"]')
ans =
-
- T
+ T
assert_checkalmostequal(a.y_ticks.locations, [0:0.1:1]')
ans =
-
- T
+ T
assert_checkequal(a.y_ticks.labels, ["0.0", string(0.1:0.1:0.9), "1.0"]')
ans =
-
- T
+ T
assert_checkequal(a.z_ticks.locations, [])
ans =
-
- T
+ T
assert_checkequal(a.z_ticks.labels, [])
ans =
-
- T
+ T
newTicks = tlist(["ticks" "locations" "labels"], [0:0.01:1]', string([0:0.01:1])');
// Change x_ticks
// auto_ticks wil move to ["off" "on" "on"]
a.x_ticks = newTicks;
assert_checkalmostequal(a.x_ticks.locations, [0:0.01:1]')
ans =
-
- T
+ T
assert_checkequal(a.x_ticks.labels, string([0:0.01:1])')
ans =
-
- T
+ T
assert_checkequal(a.auto_ticks, ["off" "on" "on"])
ans =
-
- T
+ T
// Try to change z_ticks
// View is "2d" => no changes made !!!
// except auto_ticks wil move to ["off" "on" "off"]
a.z_ticks = newTicks;
assert_checkequal(a.z_ticks.locations, [])
ans =
-
- T
+ T
assert_checkequal(a.z_ticks.labels, [])
ans =
-
- T
+ T
assert_checkequal(a.auto_ticks, ["off" "on" "off"])
ans =
-
- T
+ T
// Reset auto_ticks and move to 3d view
a.auto_ticks = ["on" "on" "on"];
a.view = "3d";
assert_checkequal(a.auto_ticks, ["on" "on" "on"])
ans =
-
- T
+ T
assert_checkequal(a.view, "3d")
ans =
-
- T
+ T
// z_ticks now have default values
assert_checkalmostequal(a.z_ticks.locations, [-1:0.2:1]')
ans =
-
- T
+ T
assert_checkequal(a.z_ticks.labels, ["-1.0", string(-0.8:0.2:-0.2),"0.0", string(0.2:0.2:0.8) "1.0"]')
ans =
-
- T
+ T
// Try to change z_ticks
// auto_ticks wil move to ["on" "on" "off"]
a.z_ticks = newTicks;
assert_checkequal(a.auto_ticks, ["on" "on" "off"])
ans =
-
- T
+ T
assert_checkalmostequal(a.z_ticks.locations, [0:0.01:1]')
ans =
-
- T
+ T
assert_checkequal(a.z_ticks.labels, [string(0:0.01:1)]')
ans =
-
- T
+ T
clf();
plot(1d3:2d3, 1d3:2d3);
a = gca();
e = gce();
assert_checkequal(e.type, "Text")
ans =
-
- T
+ T
assert_checkequal(e.parent.type, "Axes")
ans =
-
- T
+ T
assert_checkequal(e.children, [])
ans =
-
- T
+ T
assert_checkequal(e.text, ["$\overbrace{Scilab}$","n''est";"pas","$\underbrace{Matlab}$"])
ans =
-
- T
+ T
assert_checkequal(e.alignment, "left")
ans =
-
- T
+ T
assert_checkequal(e.data, [0.5 0.5])
ans =
-
- T
+ T
assert_checkequal(e.box, "off")
ans =
-
- T
+ T
assert_checkequal(e.line_mode, "on")
ans =
-
- T
+ T
assert_checkequal(e.fill_mode, "off")
ans =
-
- T
+ T
assert_checkequal(e.text_box, [0 0])
ans =
-
- T
+ T
assert_checkequal(e.text_box_mode, "off")
ans =
-
- T
+ T
assert_checkequal(e.font_foreground, -1)
ans =
-
- T
+ T
assert_checkequal(e.foreground, -1)
ans =
-
- T
+ T
assert_checkequal(e.background, -2)
ans =
-
- T
+ T
assert_checkequal(e.font_style, 6)
ans =
-
- T
+ T
assert_checkequal(e.font_size, 1)
ans =
-
- T
+ T
assert_checkequal(e.fractional_font, "off")
ans =
-
- T
+ T
assert_checkequal(e.auto_dimensionning, "on")
ans =
-
- T
+ T
assert_checkequal(e.font_angle, 0)
ans =
-
- T
+ T
assert_checkequal(e.clip_state, "off")
ans =
-
- T
+ T
assert_checkequal(e.clip_box, [])
ans =
-
- T
+ T
assert_checkequal(e.user_data, [])
ans =
-
- T
+ T
"position",[10 10 150 150],..
"string",["\Q\q"]);
if get(h,"string") <> "\Q\q" then bugmes();quit;end
-set(h,"string",["\Q","\q"])
+set(h,"string",["\Q","\q"])
if or(get(h,"string") <> ["\Q","\q"]) then bugmes();quit;end
//
// This file is distributed under the same license as the Scilab package.
// =============================================================================
-//
// <-- Non-regression test for bug 8827 -->
//
// <-- TEST WITH GRAPHIC -->
listvarinfile(path);
Name Type Size Bytes
-------------------------------------------------------------
-c cell 1 by 3 68
+c cell 1 by 3 62
"</refentry>"], tmpfile);
cd(tmpdir);
jar = xmltojar('.', 'foo', 'en_US');
-
Building the master document:
TMPDIR\testxml\en_US
-
Building the manual file [javaHelp] in TMPDIR\testxml\en_US.
if ~isfile(jar) then bugmes();quit;end
mkdir(TMPDIR+"/bug_1768/help/en_US");
mputl(T,TMPDIR+"/bug_1768/help/en_US/foo1.xml");
index_file = xmltohtml(TMPDIR+"/bug_1768/help/en_US","Bug 1768 Manual");
-
Building the master document:
TMPDIR\bug_1768\help\en_US
-
Building the manual file [html] in TMPDIR\bug_1768\help\en_US.
-
- Generate image ./foo1_1.png from Scilab code from file foo1.xml
+Generate image ./foo1_1.png from Scilab code from file foo1.xml
if ~isdir(TMPDIR+"/bug_1768/help/en_US/scilab_en_US_help") then bugmes();quit;end
if fileinfo(index_file) == [] then bugmes();quit;end
"</refentry>"], tmpfile);
cd(tmpdir);
jar = xmltojar('.', 'foo', 'en_US');
-
Building the master document:
TMPDIR\testxml\en_US
-
Building the manual file [javaHelp] in TMPDIR\testxml\en_US.
if ~isfile(jar) then bugmes();quit;end
my_french_help_dir = my_module_path+"/help/fr_FR";
my_french_help_title = "TEST 1 [fr_FR]";
xmltohtml(my_french_help_dir,my_french_help_title,"fr_FR");
-
Génération du document maître :
TMPDIR\examples\example_1\help\fr_FR
-
Génération du fichier d'aide [html] in TMPDIR\examples\example_1\help\fr_FR.
html_info = fileinfo(my_module_path+"/html/fr_FR/index.html");
if html_info == [] then bugmes();quit;end // file existence
my_english_help_dir = my_module_path+"/help/en_US";
my_english_help_title = "TEST 1 [en_US]";
xmltohtml(my_english_help_dir,my_english_help_title,'en_US');
-
Building the master document:
TMPDIR\examples\example_1\help\en_US
-
Building the manual file [html] in TMPDIR\examples\example_1\help\en_US.
html_info = fileinfo(my_module_path+"/html/en_US/index.html");
if html_info == [] then bugmes();quit;end // file existence
my_french_help_dir = my_module_path+"/help/fr_FR";
my_french_help_title = "TEST 2 [fr_FR]";
xmltohtml(my_french_help_dir,my_french_help_title,'fr_FR');
-
Génération du document maître :
TMPDIR\examples\example_2\help\fr_FR
-
Génération du fichier d'aide [html] in TMPDIR\examples\example_2\help\fr_FR.
html_info = fileinfo(my_module_path+"/html/fr_FR/index.html");
if html_info == [] then bugmes();quit;end // file existence
my_english_help_dir = my_module_path+"/help/en_US";
my_english_help_title = "TEST 2 [en_US]";
xmltohtml(my_english_help_dir,my_english_help_title,'en_US');
-
Building the master document:
TMPDIR\examples\example_2\help\en_US
-
Building the manual file [html] in TMPDIR\examples\example_2\help\en_US.
html_info = fileinfo(my_module_path+"/html/en_US/index.html");
if html_info == [] then bugmes();quit;end // file existence
my_french_help_dir = my_module_path+"/help/fr_FR";
my_french_help_title = "TEST 3 [fr_FR]";
xmltohtml(my_french_help_dir,my_french_help_title,"fr_FR");
-
Génération du document maître :
TMPDIR\examples\example_3\help\fr_FR
-
Génération du fichier d'aide [html] in TMPDIR\examples\example_3\help\fr_FR.
html_info = fileinfo(my_module_path+"/html/fr_FR/index.html");
if html_info == [] then bugmes();quit;end // file existence
my_english_help_dir = my_module_path+"/help/en_US";
my_english_help_title = "TEST 3 [en_US]";
xmltohtml(my_english_help_dir,my_english_help_title,"en_US","fr_FR");
-
Building the master document:
TMPDIR\examples\example_3\help\en_US
-
Building the manual file [html] in TMPDIR\examples\example_3\help\en_US.
html_info = fileinfo(my_module_path+"/html/en_US/index.html");
if html_info == [] then bugmes();quit;end // file existence
my_french_help_dir = my_module_path+"/help/fr_FR";
my_french_help_title = "TEST 1 [fr_FR]";
xmltojar(my_french_help_dir,my_french_help_title,"fr_FR");
-
Génération du document maître :
TMPDIR\examples\example_1\help\fr_FR
-
Génération du fichier d'aide [javaHelp] in TMPDIR\examples\example_1\help\fr_FR.
jar_info = fileinfo(my_module_path+"/jar/scilab_fr_FR_help.jar");
if jar_info == [] then bugmes();quit;end // file existence
my_english_help_dir = my_module_path+"/help/en_US";
my_english_help_title = "TEST 1 [en_US]";
xmltojar(my_english_help_dir,my_english_help_title,'en_US');
-
Building the master document:
TMPDIR\examples\example_1\help\en_US
-
Building the manual file [javaHelp] in TMPDIR\examples\example_1\help\en_US.
jar_info = fileinfo(my_module_path+"/jar/scilab_en_US_help.jar");
if jar_info == [] then bugmes();quit;end // file existence
my_french_help_dir = my_module_path+"/help/fr_FR";
my_french_help_title = "TEST 2 [fr_FR]";
xmltojar(my_french_help_dir,my_french_help_title,'fr_FR');
-
Génération du document maître :
TMPDIR\examples\example_2\help\fr_FR
-
Génération du fichier d'aide [javaHelp] in TMPDIR\examples\example_2\help\fr_FR.
jar_info = fileinfo(my_module_path+"/jar/scilab_fr_FR_help.jar");
if jar_info == [] then bugmes();quit;end // file existence
my_english_help_dir = my_module_path+"/help/en_US";
my_english_help_title = "TEST 2 [en_US]";
xmltojar(my_english_help_dir,my_english_help_title,'en_US');
-
Building the master document:
TMPDIR\examples\example_2\help\en_US
-
Building the manual file [javaHelp] in TMPDIR\examples\example_2\help\en_US.
jar_info = fileinfo(my_module_path+"/jar/scilab_en_US_help.jar");
if jar_info == [] then bugmes();quit;end // file existence
my_french_help_dir = my_module_path+"/help/fr_FR";
my_french_help_title = "TEST 3 [fr_FR]";
xmltojar(my_french_help_dir,my_french_help_title,"fr_FR");
-
Génération du document maître :
TMPDIR\examples\example_3\help\fr_FR
-
Génération du fichier d'aide [javaHelp] in TMPDIR\examples\example_3\help\fr_FR.
jar_info = fileinfo(my_module_path+"/jar/scilab_fr_FR_help.jar");
if jar_info == [] then bugmes();quit;end // file existence
my_english_help_dir = my_module_path+"/help/en_US";
my_english_help_title = "TEST 3 [en_US]";
xmltojar(my_english_help_dir,my_english_help_title,"en_US","fr_FR");
-
Building the master document:
TMPDIR\examples\example_3\help\en_US
-
Building the manual file [javaHelp] in TMPDIR\examples\example_3\help\en_US.
jar_info = fileinfo(my_module_path+"/jar/scilab_en_US_help.jar");
if jar_info == [] then bugmes();quit;end // file existence
my_french_help_dir = my_module_path+"/help/fr_FR";
my_french_help_title = "TEST 1 [fr_FR]";
xmltopdf(my_french_help_dir,my_french_help_title,"fr_FR");
-
Génération du document maître :
TMPDIR\examples\example_1\help\fr_FR
-
Génération du fichier d'aide [pdf] in TMPDIR\examples\example_1\help\fr_FR.
pdf_info = fileinfo(my_module_path+"/pdf/scilab_fr_FR_help.pdf");
if pdf_info == [] then bugmes();quit;end // file existence
my_english_help_dir = my_module_path+"/help/en_US";
my_english_help_title = "TEST 1 [en_US]";
xmltopdf(my_english_help_dir,my_english_help_title,'en_US');
-
Building the master document:
TMPDIR\examples\example_1\help\en_US
-
Building the manual file [pdf] in TMPDIR\examples\example_1\help\en_US.
pdf_info = fileinfo(my_module_path+"/pdf/scilab_en_US_help.pdf");
if pdf_info == [] then bugmes();quit;end // file existence
my_french_help_dir = my_module_path+"/help/fr_FR";
my_french_help_title = "TEST 2 [fr_FR]";
xmltopdf(my_french_help_dir,my_french_help_title,'fr_FR');
-
Génération du document maître :
TMPDIR\examples\example_2\help\fr_FR
-
Génération du fichier d'aide [pdf] in TMPDIR\examples\example_2\help\fr_FR.
pdf_info = fileinfo(my_module_path+"/pdf/scilab_fr_FR_help.pdf");
if pdf_info == [] then bugmes();quit;end // file existence
my_english_help_dir = my_module_path+"/help/en_US";
my_english_help_title = "TEST 2 [en_US]";
xmltopdf(my_english_help_dir,my_english_help_title,'en_US');
-
Building the master document:
TMPDIR\examples\example_2\help\en_US
-
Building the manual file [pdf] in TMPDIR\examples\example_2\help\en_US.
pdf_info = fileinfo(my_module_path+"/pdf/scilab_en_US_help.pdf");
if pdf_info == [] then bugmes();quit;end // file existence
my_french_help_dir = my_module_path+"/help/fr_FR";
my_french_help_title = "TEST 3 [fr_FR]";
xmltopdf(my_french_help_dir,my_french_help_title,"fr_FR");
-
Génération du document maître :
TMPDIR\examples\example_3\help\fr_FR
-
Génération du fichier d'aide [pdf] in TMPDIR\examples\example_3\help\fr_FR.
pdf_info = fileinfo(my_module_path+"/pdf/scilab_fr_FR_help.pdf");
if pdf_info == [] then bugmes();quit;end // file existence
my_english_help_dir = my_module_path+"/help/en_US";
my_english_help_title = "TEST 3 [en_US]";
xmltopdf(my_english_help_dir,my_english_help_title,"en_US","fr_FR");
-
Building the master document:
TMPDIR\examples\example_3\help\en_US
-
Building the manual file [pdf] in TMPDIR\examples\example_3\help\en_US.
pdf_info = fileinfo(my_module_path+"/pdf/scilab_en_US_help.pdf");
if pdf_info == [] then bugmes();quit;end // file existence
my_french_help_dir = my_module_path+"/help/fr_FR";
my_french_help_title = "TEST 1 [fr_FR]";
xmltops(my_french_help_dir,my_french_help_title,"fr_FR");
-
Génération du document maître :
TMPDIR\examples\example_1\help\fr_FR
-
Génération du fichier d'aide [ps] in TMPDIR\examples\example_1\help\fr_FR.
ps_info = fileinfo(my_module_path+"/ps/scilab_fr_FR_help.ps");
if ps_info == [] then bugmes();quit;end // file existence
my_english_help_dir = my_module_path+"/help/en_US";
my_english_help_title = "TEST 1 [en_US]";
xmltops(my_english_help_dir,my_english_help_title,'en_US');
-
Building the master document:
TMPDIR\examples\example_1\help\en_US
-
Building the manual file [ps] in TMPDIR\examples\example_1\help\en_US.
ps_info = fileinfo(my_module_path+"/ps/scilab_en_US_help.ps");
if ps_info == [] then bugmes();quit;end // file existence
my_french_help_dir = my_module_path+"/help/fr_FR";
my_french_help_title = "TEST 2 [fr_FR]";
xmltops(my_french_help_dir,my_french_help_title,'fr_FR');
-
Génération du document maître :
TMPDIR\examples\example_2\help\fr_FR
-
Génération du fichier d'aide [ps] in TMPDIR\examples\example_2\help\fr_FR.
ps_info = fileinfo(my_module_path+"/ps/scilab_fr_FR_help.ps");
if ps_info == [] then bugmes();quit;end // file existence
my_english_help_dir = my_module_path+"/help/en_US";
my_english_help_title = "TEST 2 [en_US]";
xmltops(my_english_help_dir,my_english_help_title,'en_US');
-
Building the master document:
TMPDIR\examples\example_2\help\en_US
-
Building the manual file [ps] in TMPDIR\examples\example_2\help\en_US.
ps_info = fileinfo(my_module_path+"/ps/scilab_en_US_help.ps");
if ps_info == [] then bugmes();quit;end // file existence
my_french_help_dir = my_module_path+"/help/fr_FR";
my_french_help_title = "TEST 3 [fr_FR]";
xmltops(my_french_help_dir,my_french_help_title,"fr_FR");
-
Génération du document maître :
TMPDIR\examples\example_3\help\fr_FR
-
Génération du fichier d'aide [ps] in TMPDIR\examples\example_3\help\fr_FR.
ps_info = fileinfo(my_module_path+"/ps/scilab_fr_FR_help.ps");
if ps_info == [] then bugmes();quit;end // file existence
my_english_help_dir = my_module_path+"/help/en_US";
my_english_help_title = "TEST 3 [en_US]";
xmltops(my_english_help_dir,my_english_help_title,"en_US","fr_FR");
-
Building the master document:
TMPDIR\examples\example_3\help\en_US
-
Building the manual file [ps] in TMPDIR\examples\example_3\help\en_US.
ps_info = fileinfo(my_module_path+"/ps/scilab_en_US_help.ps");
if ps_info == [] then bugmes();quit;end // file existence
// call to getenv with an big environment variable leads to memory corruption
a = "azerty"
a =
- azerty
+ "azerty"
b = "";
for i = 1:4000
b = b + a;
toto
A = 1;
write(%io(2),A);
- 1.0000000000D+00
+ 1.0000000000E+00
B = [1 2];
write(%io(2),B);
- 1.0000000000D+00 2.0000000000D+00
+ 1.0000000000E+00 2.0000000000E+00
// setdefaultlanguage does not set correctly in Windows registry
old = getlanguage();
lang = [ ...
- "zh_TW" ...
- "zh_CN" ...
- "uk_UA" ...
- "ru_RU" ...
- "pt_BR" ...
- "pl_PL" ...
- "ja_JP" ...
- "it_IT" ...
- "fr_FR" ...
- "es_ES" ...
- "en_US" ...
- "de_DE" ...
- "cs_CZ" ...
- "ca_ES"];
+"zh_TW" ...
+"zh_CN" ...
+"uk_UA" ...
+"ru_RU" ...
+"pt_BR" ...
+"pl_PL" ...
+"ja_JP" ...
+"it_IT" ...
+"fr_FR" ...
+"es_ES" ...
+"en_US" ...
+"de_DE" ...
+"cs_CZ" ...
+"ca_ES"];
for l = lang
setdefaultlanguage(l);
val = winqueryreg("HKEY_CURRENT_USER", "SOFTWARE\Scilab\" + getversion() + "\Settings", "LANGUAGE");
No es pot canviar l'idioma dels menús en una consola en execució.
Reinicieu el Scilab per aplicar-ho als menús.
setdefaultlanguage(old);
-Le langage des menus ne peut pas être changé dans une console en cours de fonctionnement.
-Redémarrer Scilab pour appliquer les changements aux menus.
+The language for menus cannot be changed on a running console.
+Restart Scilab to apply to menus.
1.
txt = "é"
txt =
- é
+ "é"
txt = "définie"
txt =
- définie
+ "définie"
txt = "dé"
txt =
- dé
+ "dé"
txt = "éd"
txt =
- éd
+ "éd"
// UTF-8 3 bytes
€ = 1
€ =
1.
txt = "€"
txt =
- €
+ "€"
txt = "d€finie"
txt =
- d€finie
+ "d€finie"
txt = "d€"
txt =
- d€
+ "d€"
txt = "€d"
txt =
- €d
+ "€d"
豈 = 42
豈 =
42.
42.
txt = "豈"
txt =
- 豈
+ "豈"
txt = "豈bla"
txt =
- 豈bla
+ "豈bla"
txt = "bla豈"
txt =
- bla豈
+ "bla豈"
txt = "豈bla"
txt =
- 豈bla
+ "豈bla"
// UTF-8 4 bytes
= 51
=
51.
txt = ""
txt =
-
+ ""
txt = "blabla"
txt =
- blabla
+ "blabla"
txt = "bla"
txt =
- bla
+ "bla"
txt = "bla"
txt =
- bla
+ "bla"
lang="en_US"; if setlanguage(lang) <> %T then bugmes();quit;end
getlanguage()
ans =
- en_US
+ "en_US"
// Switch to english with small code
lang="en"; if setlanguage(lang) <> %T then bugmes();quit;end
getlanguage()
ans =
- en_US
+ "en_US"
// Switch to french with small code
lang="fr"; if setlanguage(lang) <> %T then bugmes();quit;end
getlanguage()
ans =
- fr_FR
+ "fr_FR"
// Switch to russian with full code
lang="ru_RU"; if setlanguage(lang) <> %T then bugmes();quit;end
getlanguage()
ans =
- ru_RU
+ "ru_RU"
// Switch to a wrong code
lang="f"; if setlanguage(lang) <> %F then bugmes();quit;end
setlanguage: Язык 'f' не поддерживается.
getlanguage()
ans =
- ru_RU
+ "ru_RU"
// Switch to a wrong code
lang="ff"; if setlanguage(lang) <> %F then bugmes();quit;end
setlanguage: Язык 'ff' не поддерживается.
// Classic display
disp(text(i));
end
- 中文測試
- азеазеясдвклгхклмвцмзер
- ድቅስድቅስግጅክልውሽችክልዝ
- すべての人間は、生まれながらにして自由であり、かつ、尊厳と権利と について平等である。人間は、理性と良心とを授けられており、互いに同 胞の精
- 神をもって行動しなければならない。
- 人 人 生 而 自 由, 在 尊 严 和 权 利 上 一 律 平 等。 他 们 赋 有 理 性 和 良 心, 并 应 以 兄 弟 关 系 的
- 精 神 相 对 待。
- ราทุกคนเกิดมาอย่างอิสระ เราทุกคนมีความคิดและความเข้าใจเป็นของเราเอง เร
- าทุกคนควรได้รับการปฏิบัติในทางเดียวกัน.
- 모든 인간은 태어날 때부터 자유로우며 그 존엄과 권리에 있어 동등하다. 인간은 천부적으로 이성과 양심을 부여받았으며 서로 형제
- 애의 정신으로 행동하여야 한다.
- لد جميع الناس أحرارًا متساوين في الكرامة والحقوق. وقد وهبوا عقلاً وضمي
- رًا وعليهم أن يعامل بعضهم بعضًا بروح الإخاء
- כל בני האדם נולדו בני חורין ושווים בערכם ובזכיותיהם. כולם חוננו בתבונה
- ובמצפון, לפיכך חובה עליהם לנהג איש ברעהו ברוח של אחוה
+ "中文測試"
+ "азеазеясдвклгхклмвцмзер"
+ "ድቅስድቅስግጅክልውሽችክልዝ"
+ "すべての人間は、生まれながらにして自由であり、かつ、尊厳と権利と について平等である。人間は、理性と良心とを授けられており、互いに同 胞の精神をもって行動しなければならない。"
+ "人 人 生 而 自 由, 在 尊 严 和 权 利 上 一 律 平 等。 他 们 赋 有 理 性 和 良 心, 并 应 以 兄 弟 关 系 的 精 神 相 对 待。"
+ "ราทุกคนเกิดมาอย่างอิสระ เราทุกคนมีความคิดและความเข้าใจเป็นของเราเอง เราทุกคนควรได้รับการปฏิบัติในทางเดียวกัน."
+ "모든 인간은 태어날 때부터 자유로우며 그 존엄과 권리에 있어 동등하다. 인간은 천부적으로 이성과 양심을 부여받았으며 서로 형제애의 정신으로 행동하여야 한다."
+ "لد جميع الناس أحرارًا متساوين في الكرامة والحقوق. وقد وهبوا عقلاً وضميرًا وعليهم أن يعامل بعضهم بعضًا بروح الإخاء"
+ "כל בני האדם נולדו בני חורין ושווים בערכם ובזכיותיהם. כולם חוננו בתבונה ובמצפון, לפיכך חובה עליהם לנהג איש ברעהו ברוח של אחוה"
//title('title test'+text); t=0:0.1:2*%pi; //<------Test 7 text drawing test
//plot2d(t,[sin(t'),cos(t')],[-1,2]);
//legends(['legends test'+text ;'text B '+text],[-1,2], opt=3 );
// <-- Non-regression test for bug 1636 -->
//
// <-- Bugzilla URL -->
-// http://bugzilla.scilab.org/show_bug.cgi?id=1636
+// http://bugzilla.scilab.org/1636
//
// <-- Short Description -->
// When processing an m-file with multiple continuation lines in the
****** End of mfile2sci() session ******
SCIFILECONTENTS=mgetl(SCIFILE);
SCIFILECONTENTSREF=[
- ""
- "a = 1;"
- "while a==1"
- " a = 2;"
- "end;"
- "a = 3"];
+ ""
+ "a = 1;"
+ "while a==1"
+ " a = 2;"
+ "end;"
+ "a = 3"];
if or(SCIFILECONTENTSREF<>SCIFILECONTENTS) then bugmes();quit;end
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2005-2006 - INRIA - Farid Belahcene
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
// <-- Non-regression test for bug 1725 -->
//
// <-- Bugzilla URL -->
// http://bugzilla.scilab.org/show_bug.cgi?id=1725
//
// <-- Short Description -->
-// the function mtlb_axis returns an index error when called with an
+// the function mtlb_axis returns an index error when called with an
// argument of [ 1 500 -22.3 1.4] or any other argument.
//
-// This was traced to varargout(1) not being set to a.data_bounds within
+// This was traced to varargout(1) not being set to a.data_bounds within
// the code segment
// if rhs>0 then
//
// end
// endfunction
//
-// Changing this to
+// Changing this to
// if rhs>0 then
//
// statements
// varargout(1)=a.data_bounds;
// ...
-// Copyright INRIA
-// Scilab Project - Farid Belahcene
-// Copyright INRIA 2005
-// Date : 09 janvier 2006
a = mtlb_axis([ 1 500 -22.3 1.4]);
if or(a <> [1 500 -22.3 1.4]) then bugmes();quit;end
// <-- Short Description -->
// loadmatfile could not load hypermatrices of integer types.
loadmatfile(SCI + "/modules/matio/tests/nonreg_tests/bug_8783.mat")
+ ans =
+ []
int8hmref(:,:,1) = [
127 127 127 127;
127 127 127 127;
//
assert_checkequal(eye100x100 , eye(100,100));
end
- cplxdoublecolvector-v4.mat
- cplxdoublematrix-v4.mat
- cplxdoublerowvector-v4.mat
- cplxdoublescalar-v4.mat
- emptydoublematrix-v4.mat
- emptystringmatrix-v4.mat
- eye100x100-v4.mat
- realdoublecolvector-v4.mat
- realdoublematrix-v4.mat
- realdoublerowvector-v4.mat
- realdoublescalar-v4.mat
- stringcolvector-v4.mat
- stringmatrix-v4.mat
- stringrowvector-v4.mat
- stringscalar-v4.mat
- arraycell-v6.mat
- arraystruct-v6.mat
- colcell-v6.mat
- colstruct-v6.mat
- complexdoubleNDarray-v6.mat
- cplxdoublecolvector-v6.mat
- cplxdoublematrix-v6.mat
- cplxdoublerowvector-v6.mat
- cplxdoublescalar-v6.mat
- emptyNDarray-v6.mat
- emptycell-v6.mat
- emptydoublematrix-v6.mat
- emptyint16matrix-v6.mat
- emptyint32matrix-v6.mat
- emptyint64matrix-v6.mat
- emptyint8matrix-v6.mat
- emptysparse-v6.mat
- emptystringmatrix-v6.mat
- emptystruct-v6.mat
- emptyuint16matrix-v6.mat
- emptyuint32matrix-v6.mat
- emptyuint64matrix-v6.mat
- emptyuint8matrix-v6.mat
- eye100x100-v6.mat
- int16colvector-v6.mat
- int16matrix-v6.mat
- int16rowvector-v6.mat
- int16scalar-v6.mat
- int32colvector-v6.mat
- int32matrix-v6.mat
- int32rowvector-v6.mat
- int32scalar-v6.mat
- int64colvector-v6.mat
- int64matrix-v6.mat
- int64rowvector-v6.mat
- int64scalar-v6.mat
- int8colvector-v6.mat
- int8matrix-v6.mat
- int8rowvector-v6.mat
- int8scalar-v6.mat
- realcolvectorsparse-v6.mat
- realdoubleNDarray-v6.mat
- realdoublecolvector-v6.mat
- realdoublematrix-v6.mat
- realdoublerowvector-v6.mat
- realdoublescalar-v6.mat
- realmatrixsparse-v6.mat
- realrowvectorsparse-v6.mat
- realscalarsparse-v6.mat
- rowcell-v6.mat
- rowstruct-v6.mat
- scalarcell-v6.mat
- scalarstruct-v6.mat
- stringcell-v6.mat
- stringcolvector-v6.mat
- stringmatrix-v6.mat
- stringrowvector-v6.mat
- stringscalar-v6.mat
- uint16colvector-v6.mat
- uint16matrix-v6.mat
- uint16rowvector-v6.mat
- uint16scalar-v6.mat
- uint32colvector-v6.mat
- uint32matrix-v6.mat
- uint32rowvector-v6.mat
- uint32scalar-v6.mat
- uint64colvector-v6.mat
- uint64matrix-v6.mat
- uint64rowvector-v6.mat
- uint64scalar-v6.mat
- uint8colvector-v6.mat
- uint8matrix-v6.mat
- uint8rowvector-v6.mat
- uint8scalar-v6.mat
- arraycell-v7.mat
- arraystruct-v7.mat
- colcell-v7.mat
- colstruct-v7.mat
- complexdoubleNDarray-v7.mat
- cplxdoublecolvector-v7.mat
- cplxdoublematrix-v7.mat
- cplxdoublerowvector-v7.mat
- cplxdoublescalar-v7.mat
- emptyNDarray-v7.mat
- emptycell-v7.mat
- emptydoublematrix-v7.mat
- emptyint16matrix-v7.mat
- emptyint32matrix-v7.mat
- emptyint64matrix-v7.mat
- emptyint8matrix-v7.mat
- emptysparse-v7.mat
- emptystringmatrix-v7.mat
- emptystruct-v7.mat
- emptyuint16matrix-v7.mat
- emptyuint32matrix-v7.mat
- emptyuint64matrix-v7.mat
- emptyuint8matrix-v7.mat
- eye100x100-v7.mat
- int16colvector-v7.mat
- int16matrix-v7.mat
- int16rowvector-v7.mat
- int16scalar-v7.mat
- int32colvector-v7.mat
- int32matrix-v7.mat
- int32rowvector-v7.mat
- int32scalar-v7.mat
- int64colvector-v7.mat
- int64matrix-v7.mat
- int64rowvector-v7.mat
- int64scalar-v7.mat
- int8colvector-v7.mat
- int8matrix-v7.mat
- int8rowvector-v7.mat
- int8scalar-v7.mat
- realcolvectorsparse-v7.mat
- realdoubleNDarray-v7.mat
- realdoublecolvector-v7.mat
- realdoublematrix-v7.mat
- realdoublerowvector-v7.mat
- realdoublescalar-v7.mat
- realmatrixsparse-v7.mat
- realrowvectorsparse-v7.mat
- realscalarsparse-v7.mat
- rowcell-v7.mat
- rowstruct-v7.mat
- scalarcell-v7.mat
- scalarstruct-v7.mat
- stringcell-v7.mat
- stringcolvector-v7.mat
- stringmatrix-v7.mat
- stringrowvector-v7.mat
- stringscalar-v7.mat
- structsparse-v7.mat
- uint16colvector-v7.mat
- uint16matrix-v7.mat
- uint16rowvector-v7.mat
- uint16scalar-v7.mat
- uint32colvector-v7.mat
- uint32matrix-v7.mat
- uint32rowvector-v7.mat
- uint32scalar-v7.mat
- uint64colvector-v7.mat
- uint64matrix-v7.mat
- uint64rowvector-v7.mat
- uint64scalar-v7.mat
- uint8colvector-v7.mat
- uint8matrix-v7.mat
- uint8rowvector-v7.mat
- uint8scalar-v7.mat
+ "cplxdoublecolvector-v4.mat"
+ "cplxdoublematrix-v4.mat"
+ "cplxdoublerowvector-v4.mat"
+ "cplxdoublescalar-v4.mat"
+ "emptydoublematrix-v4.mat"
+ "emptystringmatrix-v4.mat"
+ "eye100x100-v4.mat"
+ "realdoublecolvector-v4.mat"
+ "realdoublematrix-v4.mat"
+ "realdoublerowvector-v4.mat"
+ "realdoublescalar-v4.mat"
+ "stringcolvector-v4.mat"
+ "stringmatrix-v4.mat"
+ "stringrowvector-v4.mat"
+ "stringscalar-v4.mat"
+ "arraycell-v6.mat"
+ "arraystruct-v6.mat"
+ "colcell-v6.mat"
+ "colstruct-v6.mat"
+ "complexdoubleNDarray-v6.mat"
+ "cplxdoublecolvector-v6.mat"
+ "cplxdoublematrix-v6.mat"
+ "cplxdoublerowvector-v6.mat"
+ "cplxdoublescalar-v6.mat"
+ "emptyNDarray-v6.mat"
+ "emptycell-v6.mat"
+ "emptydoublematrix-v6.mat"
+ "emptyint16matrix-v6.mat"
+ "emptyint32matrix-v6.mat"
+ "emptyint64matrix-v6.mat"
+ "emptyint8matrix-v6.mat"
+ "emptysparse-v6.mat"
+ "emptystringmatrix-v6.mat"
+ "emptystruct-v6.mat"
+ "emptyuint16matrix-v6.mat"
+ "emptyuint32matrix-v6.mat"
+ "emptyuint64matrix-v6.mat"
+ "emptyuint8matrix-v6.mat"
+ "eye100x100-v6.mat"
+ "int16colvector-v6.mat"
+ "int16matrix-v6.mat"
+ "int16rowvector-v6.mat"
+ "int16scalar-v6.mat"
+ "int32colvector-v6.mat"
+ "int32matrix-v6.mat"
+ "int32rowvector-v6.mat"
+ "int32scalar-v6.mat"
+ "int64colvector-v6.mat"
+ "int64matrix-v6.mat"
+ "int64rowvector-v6.mat"
+ "int64scalar-v6.mat"
+ "int8colvector-v6.mat"
+ "int8matrix-v6.mat"
+ "int8rowvector-v6.mat"
+ "int8scalar-v6.mat"
+ "realcolvectorsparse-v6.mat"
+ "realdoubleNDarray-v6.mat"
+ "realdoublecolvector-v6.mat"
+ "realdoublematrix-v6.mat"
+ "realdoublerowvector-v6.mat"
+ "realdoublescalar-v6.mat"
+ "realmatrixsparse-v6.mat"
+ "realrowvectorsparse-v6.mat"
+ "realscalarsparse-v6.mat"
+ "rowcell-v6.mat"
+ "rowstruct-v6.mat"
+ "scalarcell-v6.mat"
+ "scalarstruct-v6.mat"
+ "stringcell-v6.mat"
+ "stringcolvector-v6.mat"
+ "stringmatrix-v6.mat"
+ "stringrowvector-v6.mat"
+ "stringscalar-v6.mat"
+ "uint16colvector-v6.mat"
+ "uint16matrix-v6.mat"
+ "uint16rowvector-v6.mat"
+ "uint16scalar-v6.mat"
+ "uint32colvector-v6.mat"
+ "uint32matrix-v6.mat"
+ "uint32rowvector-v6.mat"
+ "uint32scalar-v6.mat"
+ "uint64colvector-v6.mat"
+ "uint64matrix-v6.mat"
+ "uint64rowvector-v6.mat"
+ "uint64scalar-v6.mat"
+ "uint8colvector-v6.mat"
+ "uint8matrix-v6.mat"
+ "uint8rowvector-v6.mat"
+ "uint8scalar-v6.mat"
+ "arraycell-v7.mat"
+ "arraystruct-v7.mat"
+ "colcell-v7.mat"
+ "colstruct-v7.mat"
+ "complexdoubleNDarray-v7.mat"
+ "cplxdoublecolvector-v7.mat"
+ "cplxdoublematrix-v7.mat"
+ "cplxdoublerowvector-v7.mat"
+ "cplxdoublescalar-v7.mat"
+ "emptyNDarray-v7.mat"
+ "emptycell-v7.mat"
+ "emptydoublematrix-v7.mat"
+ "emptyint16matrix-v7.mat"
+ "emptyint32matrix-v7.mat"
+ "emptyint64matrix-v7.mat"
+ "emptyint8matrix-v7.mat"
+ "emptysparse-v7.mat"
+ "emptystringmatrix-v7.mat"
+ "emptystruct-v7.mat"
+ "emptyuint16matrix-v7.mat"
+ "emptyuint32matrix-v7.mat"
+ "emptyuint64matrix-v7.mat"
+ "emptyuint8matrix-v7.mat"
+ "eye100x100-v7.mat"
+ "int16colvector-v7.mat"
+ "int16matrix-v7.mat"
+ "int16rowvector-v7.mat"
+ "int16scalar-v7.mat"
+ "int32colvector-v7.mat"
+ "int32matrix-v7.mat"
+ "int32rowvector-v7.mat"
+ "int32scalar-v7.mat"
+ "int64colvector-v7.mat"
+ "int64matrix-v7.mat"
+ "int64rowvector-v7.mat"
+ "int64scalar-v7.mat"
+ "int8colvector-v7.mat"
+ "int8matrix-v7.mat"
+ "int8rowvector-v7.mat"
+ "int8scalar-v7.mat"
+ "realcolvectorsparse-v7.mat"
+ "realdoubleNDarray-v7.mat"
+ "realdoublecolvector-v7.mat"
+ "realdoublematrix-v7.mat"
+ "realdoublerowvector-v7.mat"
+ "realdoublescalar-v7.mat"
+ "realmatrixsparse-v7.mat"
+ "realrowvectorsparse-v7.mat"
+ "realscalarsparse-v7.mat"
+ "rowcell-v7.mat"
+ "rowstruct-v7.mat"
+ "scalarcell-v7.mat"
+ "scalarstruct-v7.mat"
+ "stringcell-v7.mat"
+ "stringcolvector-v7.mat"
+ "stringmatrix-v7.mat"
+ "stringrowvector-v7.mat"
+ "stringscalar-v7.mat"
+ "structsparse-v7.mat"
+ "uint16colvector-v7.mat"
+ "uint16matrix-v7.mat"
+ "uint16rowvector-v7.mat"
+ "uint16scalar-v7.mat"
+ "uint32colvector-v7.mat"
+ "uint32matrix-v7.mat"
+ "uint32rowvector-v7.mat"
+ "uint32scalar-v7.mat"
+ "uint64colvector-v7.mat"
+ "uint64matrix-v7.mat"
+ "uint64rowvector-v7.mat"
+ "uint64scalar-v7.mat"
+ "uint8colvector-v7.mat"
+ "uint8matrix-v7.mat"
+ "uint8rowvector-v7.mat"
+ "uint8scalar-v7.mat"
// TODO: read all variables from a single file ?
-- Creation of [fooboxlib] (Macros) --
genlib: Processing file: baz.sci
genlib: Processing file: foo.sci
+tbx_build_localization: The module 'foobox' has no entry to be localized.
Building help...
Building the master document:
TMPDIR\foobox\help\en_US
Start foobox
Load macros
Load help
+clear oldlines oldmode;
b = foo("testing it works", 42);
- testing it works
+ "testing it works"
42.
baz("World");
- Hello World!
+ "Hello World!"
assert_checktrue(b);
// testing default compilation
mytb_dir = TMPDIR + "/testbox";
Generate a cleaner file
Generating loader_gateway.sce...
Generating cleaner_gateway.sce...
+Generating localization
+-- Building for "en_US" --
+-- Building for "fr_FR" --
Building help...
Building the master document:
TMPDIR\testbox\help\en_US
Load gateways
Load Java libraries
Load help
+clear oldlines oldmode;
b = csum6(2, 40);
assert_checkequal(b, 42);
fn_1($+1) = f_tmp;
gn_1($+1) = df_tmp
gn_1 =
- gn_1(1)
- -1.1934401
- 17.095542
+ (1) : [2x1 constant]
to_record = %f;
[fopt,xopt,gopt]=optim(myf,x0,algo="nd","ar",nap=20,iter=10,epsg=1e-1,epsf=1e-1,epsx=[1e-2;1e-2],iprint=0);
list_to_plot = xn_1;
//
a = list()
a =
- ()
+ empty list()
assert_checkequal(isempty(a), %T);
-1.837D-16 - i 1. - 2.449D-16i
exp(%i*%pi*X/4)
ans =
- 0.7071068 + 0.7071068i 6.123D-17 + i
+ 0.7071068 + 0.7071068i 6.123D-17 + i
-0.7071068 + 0.7071068i -1. + 1.225D-16i
X=[1 20;300 4000]
X =
--- /dev/null
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2019 - 2020 - Samuel GOUGEON
+//
+// This file is hereby licensed under the terms of the GNU GPL v2.0,
+// pursuant to article 5.3.4 of the CeCILL v.2.1.
+// This file was originally licensed under the terms of the CeCILL v2.1,
+// and continues to be available under such terms.
+// For more information, see the COPYING file which you should have received
+// along with this program.
+
+function %l_p(s, parentType)
+ if ~isdef("parentType","l") then
+ parentType = "list"
+ end
+ recursive = 0
+ tmp = xmlGetValues("//general/body/environment","container_disp_max_depth")
+ maxDisplayDepth = evstr(tmp)
+ consoleWidth = lines()(1)
+ //l_p_compacity = ""; // "" vspacing of blocks
+ l_p_compacity = []; // for compact display
+ t = %l_p_inc(s, parentType)
+ if t<>[] then
+ mprintf(" %s\n", t)
+ else
+ mprintf(" empty list()\n")
+ end
+ mprintf("\n")
+endfunction
--- /dev/null
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2020 - Samuel GOUGEON
+//
+// This file is hereby licensed under the terms of the GNU GPL v2.0,
+// pursuant to article 5.3.4 of the CeCILL v.2.1.
+// This file was originally licensed under the terms of the CeCILL v2.1,
+// and continues to be available under such terms.
+// For more information, see the COPYING file which you should have received
+// along with this program.
+
+function t = %l_p_inc(s, parentType)
+ // Internal function called by %st_p, %l_p, and %l_p_inc itself
+ // Can be called with s = struct | Tlist | list
+
+ ll = lines()
+ t = []
+ indentFields = " "
+ if parentType=="list" then
+ eq = "= "
+ else
+ eq = " = "
+ end
+
+ if typeof(s)=="st"
+ // No fields
+ if isempty(fieldnames(s)) then
+ t = msprintf(_("%s struct with no field"), ..
+ strcat(msprintf("%d\n",size(s)'), "x"));
+ return
+ end
+
+ multi = size(s,"*")
+
+ // 0x0 struct with fields
+ if multi == 0 then
+ t = _("0x0 struct with fields:")
+ for field = fieldnames(s)'
+ t = [t ; " "+field]
+ end
+ return
+ end
+
+ // axb struct where a<>0 & b<>0
+ if multi > 1 | recursive > maxDisplayDepth then
+ if ~recursive
+ t = msprintf(_("%s struct with fields:"), ..
+ strcat(msprintf("%d\n", size(s)'), "x"));
+ end
+ tmp = sci2exp(fieldnames(s)', consoleWidth-10)
+ tmp = strsubst(strsubst(tmp, """""", """"), ",", ", ")
+ t = [t ; tmp]
+ return
+ end
+ end
+
+ recursive0 = recursive
+ if type(s)==15 then
+ Fields = 1:length(s)
+ else
+ Fields = fieldnames(s)'
+ end
+
+ // MAIN LOOP
+ // ---------
+ for field = Fields
+ sep = ": " // field_name<sep> ...
+ if type(s)==15 then
+ fieldn = msprintf("(%d) ", field)
+ else
+ fieldn = field
+ end
+ clear value
+ value = s(field)
+ if isdef("value","l") then
+ tp = typeof(value)
+ else
+ tp = "void"
+ end
+
+ if tp=="void" then
+ str = _("(void)")
+ sep = eq
+
+ elseif tp == "st" then
+ recursive = recursive + 1
+ str = %l_p_inc(value, "st")
+
+ elseif tp == "implicitlist"
+ str = sci2exp(value)
+ sep = eq
+
+ elseif tp == "function"
+ [out,inp,?] = string(value)
+ if inp==[], inp = "", end
+ if out==[], out = "", end
+ p = macr2tree(value)
+ str = p.name+"("+strcat(inp,",")+") => ["+strcat(out,",")+"] ";
+ str = str + msprintf(_("(%d lines)"),p.nblines)
+ txt = fieldn + ": " + str
+
+ elseif tp == "rational"
+ str = strcat(msprintf("%d\n", size(value)'), "x")
+ tmp = _("rational")
+ if ~isreal(value,0)
+ tmp = _("complex rational")
+ end
+ str = msprintf(_("[%s %s] of %s"), str, tmp, varn(value));
+
+ elseif tp == "ce"
+ if length(value)==0 then
+ str = "{}"
+ txt = fieldn + eq + str
+ else
+ str = strcat(msprintf("%d\n", size(value)'), "x")
+ str = msprintf("[%s %s]", str, _("cell"));
+ txt = fieldn + ": " + str
+ end
+
+ elseif type(value)==15
+ if length(value)==0 then
+ str = _("empty list()")
+ else
+ if recursive < maxDisplayDepth
+ recursive = recursive + 1
+ tmp = %l_p_inc(value, "list")
+ str = ["list:" ; tmp]
+ else
+ str = msprintf("list with %d elements.\n", length(value))
+ end
+ end
+
+ elseif or(type(value)==[16 17])
+ // Tlists or Mlists
+ Tfields = fieldnames(value);
+ sz = []
+ try
+ sz = size(value)
+ end
+ signature = tp
+ if length(sz) > 1
+ signature = strcat(msprintf("%d\n", sz'), "x") + " " + tp
+ end
+ listType = "tlist"
+ if type(value)==17
+ listType = "mlist"
+ end
+ if Tfields==[]
+ str = msprintf(_("[%s] %s without field."), signature, listType);
+ else
+ str = msprintf(_("[%s] %s with fields:"), signature, listType);
+ if recursive < maxDisplayDepth
+ recursive = recursive + 1
+ tmp = %l_p_inc(value, "mtlist")
+ str = [str ; tmp]
+ else
+ tmp = sci2exp(Tfields', consoleWidth-10)
+ tmp = strsubst(strsubst(tmp, """", ""), ",", ", ")
+ str = [str ; tmp]
+ end
+ end
+
+ elseif type(value)==14 // Library
+ tmp = string(value)
+ p = tmp(1)
+ libname = xmlGetValues("/scilablib","name",p + "lib")
+ str = msprintf("%s library with %d functions @ %s", ..
+ libname, size(tmp,1)-1, p)
+
+ elseif type(value)> 10 then
+ str = tp
+
+ else
+ sz = size(value)
+ // If number of elements in value is greater than ll(1) (current
+ // page width) then we do not call sci2exp because the returned
+ // value will be ignored at line 68: size(str,"*")==1
+ // Note that ll(1)/2 elements could be the max because of colon,
+ // semi-colon and brackets added between elements by sci2exp
+ if sz(1) <= 1 & type(value) <> 9 & prod(sz) < ll(1) then
+ // This line can avoid some memory issues when
+ // field contains a big matrix
+ str = sci2exp(value, ll(1))
+ sep = eq
+ else
+ str = "[" + strcat(msprintf("%d\n",sz'), "x") + " " + tp + "]"
+ end
+ end
+ // ---------------------------
+ if size(str,"*") == 1 & ..
+ and(tp <> ["st" "function" "rational" "ce"])
+ txt = fieldn + sep + str
+
+ elseif and(tp <> ["function" "ce"])
+ if recursive
+ txt0 = indentFields // indentation for fields list
+ //txt0 = field + "." // to display the chain of parent fields
+ else
+ txt0 = fieldn
+ end
+ if tp == "st"
+ txt = fieldn + ": "
+ if size(value,"*")==0
+ txt = txt + _("[0x0 struct] with no field")
+ else
+ sv = size(value)'
+ if prod(sv)==1 then
+ txt = txt + "struct with fields:"
+ else
+ txt = txt + msprintf(_("[%s struct] with fields:"), ..
+ strcat(msprintf("%d\n", sv), "x"));
+ end
+ txt = [txt ; txt0 + str]
+ if stripblanks(t($)) <> ""
+ txt = [l_p_compacity ; txt]
+ end
+ end
+
+ elseif or(type(value)==[15 16 17])
+ txt = fieldn + ": " + str(1)
+ if size(str,1)>1
+ txt = [txt ; indentFields + str(2:$)]
+ end
+ if stripblanks(t($)) <> ""
+ txt = [l_p_compacity ; txt]
+ end
+
+ else
+ txt = txt0 + ..
+ ": " + "[" + strcat(msprintf("%d\n",size(value)'), "x") ..
+ + " " + tp + "]"
+ end
+ end
+ t = [t ; txt]
+ recursive = recursive0
+ end
+ // Display a blank line after each field that is a non-empty
+ // struct or tlist:
+ if recursive & stripblanks(t($)) <> ""
+ t = [t ; l_p_compacity]
+ end
+endfunction
// Copyright (C) 2010 - DIGITEO - Vincent COUVERT <vincent.couvert@scilab.org>
// Copyright (C) 2012 - 2016 - Scilab Enterprises
// Copyright (C) 2018 - Stéphane MOTTELET
-// Copyright (C) 2019-2020 - Samuel GOUGEON
+// Copyright (C) 2019 - 2020 - Samuel GOUGEON
//
// This file is hereby licensed under the terms of the GNU GPL v2.0,
// pursuant to article 5.3.4 of the CeCILL v.2.1.
// along with this program.
function %st_p(s)
- recursive = 0
- tmp = xmlGetValues("//general/body/environment","container_disp_max_depth")
- maxDisplayDepth = evstr(tmp)
- consoleWidth = lines()(1)
- //st_p_compacity = ""; // "" vspacing of blocks
- st_p_compacity = []; // for compact display
- t = %st_p_inc(s, "st")
- mprintf(" %s\n", t);
-endfunction
-
-// -------------------------------------------------------------------
-
-function t = %st_p_inc(s, parentType)
- // Can be called with s = struct | Tlist | list
-
- ll = lines()
- t = []
- indentFields = " "
- if parentType=="list" then
- eq = "= "
- else
- eq = " = "
- end
-
- if typeof(s)=="st"
- // No fields
- if isempty(fieldnames(s)) then
- t = msprintf(_("%s struct with no field"), ..
- strcat(msprintf("%d\n",size(s)'), "x"));
- return
- end
-
- multi = size(s,"*")
-
- // 0x0 struct with fields
- if multi == 0 then
- t = _("0x0 struct with fields:")
- for field = fieldnames(s)'
- t = [t ; " "+field]
- end
- return
- end
-
- // axb struct where a<>0 & b<>0
- if multi > 1 | recursive > maxDisplayDepth then
- if ~recursive
- t = msprintf(_("%s struct with fields:"), ..
- strcat(msprintf("%d\n", size(s)'), "x"));
- end
- tmp = sci2exp(fieldnames(s)', consoleWidth-10)
- tmp = strsubst(strsubst(tmp, """""", """"), ",", ", ")
- t = [t ; tmp]
- return
- end
- end
-
- recursive0 = recursive
- if type(s)==15 then
- Fields = 1:length(s)
- else
- Fields = fieldnames(s)'
- end
-
- // MAIN LOOP
- // ---------
- for field = Fields
- sep = ": " // field_name<sep> ...
- if type(s)==15 then
- fieldn = msprintf("(%d) ", field)
- else
- fieldn = field
- end
- clear value
- value = s(field)
- if isdef("value","l") then
- tp = typeof(value)
- else
- tp = "void"
- end
-
- if tp=="void" then
- str = _("(void)")
- sep = eq
-
- elseif tp == "st" then
- recursive = recursive + 1
- str = %st_p_inc(value, "st")
-
- elseif tp == "implicitlist"
- str = sci2exp(value)
- sep = eq
-
- elseif tp == "function"
- [out,inp,?] = string(value)
- if inp==[], inp = "", end
- if out==[], out = "", end
- p = macr2tree(value)
- str = p.name+"("+strcat(inp,",")+") => ["+strcat(out,",")+"] ";
- str = str + msprintf(_("(%d lines)"),p.nblines)
- txt = fieldn + ": " + str
-
- elseif tp == "rational"
- str = strcat(msprintf("%d\n", size(value)'), "x")
- tmp = _("rational")
- if ~isreal(value,0)
- tmp = _("complex rational")
- end
- str = msprintf(_("[%s %s] of %s"), str, tmp, varn(value));
-
- elseif tp == "ce"
- if length(value)==0 then
- str = "{}"
- txt = fieldn + eq + str
- else
- str = strcat(msprintf("%d\n", size(value)'), "x")
- str = msprintf("[%s %s]", str, _("cell"));
- txt = fieldn + ": " + str
- end
-
- elseif type(value)==15
- if length(value)==0 then
- str = _(" empty list()")
- else
- if recursive < maxDisplayDepth
- recursive = recursive + 1
- tmp = %st_p_inc(value, "list")
- str = ["list:" ; tmp]
- else
- str = msprintf("list with %d elements.\n", length(value))
- end
- end
-
- elseif or(type(value)==[16 17])
- // Tlists or Mlists
- Tfields = fieldnames(value);
- sz = []
- try
- sz = size(value)
- end
- signature = tp
- if length(sz) > 1
- signature = strcat(msprintf("%d\n", sz'), "x") + " " + tp
- end
- listType = "tlist"
- if type(value)==17
- listType = "mlist"
- end
- if Tfields==[]
- str = msprintf(_("[%s] %s without field."), signature, listType);
- else
- str = msprintf(_("[%s] %s with fields:"), signature, listType);
- if recursive < maxDisplayDepth
- recursive = recursive + 1
- tmp = %st_p_inc(value, "mtlist")
- str = [str ; tmp]
- else
- tmp = sci2exp(Tfields', consoleWidth-10)
- tmp = strsubst(strsubst(tmp, """", ""), ",", ", ")
- str = [str ; tmp]
- end
- end
-
- elseif type(value)==14 // Library
- tmp = string(value)
- p = tmp(1)
- libname = xmlGetValues("/scilablib","name",p + "lib")
- str = msprintf("%s library with %d functions @ %s", ..
- libname, size(tmp,1)-1, p)
-
- elseif type(value)> 10 then
- str = tp
-
- else
- sz = size(value)
- // If number of elements in value is greater than ll(1) (current
- // page width) then we do not call sci2exp because the returned
- // value will be ignored at line 68: size(str,"*")==1
- // Note that ll(1)/2 elements could be the max because of colon,
- // semi-colon and brackets added between elements by sci2exp
- if sz(1) <= 1 & type(value) <> 9 & prod(sz) < ll(1) then
- // This line can avoid some memory issues when
- // field contains a big matrix
- str = sci2exp(value, ll(1))
- sep = eq
- else
- str = "[" + strcat(msprintf("%d\n",sz'), "x") + " " + tp + "]"
- end
- end
- // ---------------------------
- if size(str,"*") == 1 & ..
- and(tp <> ["st" "function" "rational" "ce"])
- txt = fieldn + sep + str
-
- elseif and(tp <> ["function" "ce"])
- if recursive
- txt0 = indentFields // indentation for fields list
- //txt0 = field + "." // to display the chain of parent fields
- else
- txt0 = fieldn
- end
- if tp == "st"
- txt = fieldn + ": "
- if size(value,"*")==0
- txt = txt + _("[0x0 struct] with no field")
- else
- sv = size(value)'
- if prod(sv)==1 then
- txt = txt + "struct with fields:"
- else
- txt = txt + msprintf(_("[%s struct] with fields:"), ..
- strcat(msprintf("%d\n", sv), "x"));
- end
- txt = [txt ; txt0 + str]
- if stripblanks(t($)) <> ""
- txt = [st_p_compacity ; txt]
- end
- end
-
- elseif or(type(value)==[15 16 17])
- txt = fieldn + ": " + str(1)
- if size(str,1)>1
- txt = [txt ; indentFields + str(2:$)]
- end
- if stripblanks(t($)) <> ""
- txt = [st_p_compacity ; txt]
- end
-
- else
- txt = txt0 + ..
- ": " + "[" + strcat(msprintf("%d\n",size(value)'), "x") ..
- + " " + tp + "]"
- end
- end
- t = [t ; txt]
- recursive = recursive0
- end
- // Display a blank line after each field that is a non-empty
- // struct or tlist:
- if recursive & stripblanks(t($)) <> ""
- t = [t ; st_p_compacity]
- end
+ %l_p(s, "st")
endfunction
tic();
a
a =
- toto: [1x100000 constant]
- titi: [1x100000 constant]
+ toto: [1x100000 constant]
+ titi: [1x100000 constant]
timeSpent=toc();
assert_checktrue(timeSpent<1);
q0 = new([])
q0 =
q0(1)
-!X x !
+ "X" "x"
q0(2)
[]
q1 = new([91,93])
q1 =
q1(1)
-!X x !
+ "X" "x"
q1(2)
91. 93.
q2 = new([10,20,30,40])
q2 =
q2(1)
-!X x !
+ "X" "x"
q2(2)
10. 20. 30. 40.
q2([1,3]) = q1;
if typeof(M) <> "unknown" then bugmes();quit;end
M
M =
- Calling %unknown_p...
+ "Calling %unknown_p..."
M(1)
- Calling %unknown_e...
+ "Calling %unknown_e..."
ans =
[]
M(1,2)
- Calling %unknown_e...
+ "Calling %unknown_e..."
ans =
[]
N = M
N =
- Calling %unknown_p...
+ "Calling %unknown_p..."
N(2) = M
- Calling %unknown_i_unknown...
+ "Calling %unknown_i_unknown..."
N =
[]
M'
- Calling %unknown_t...
+ "Calling %unknown_t..."
ans =
[]
M.'
- Calling %unknown_0...
+ "Calling %unknown_0..."
ans =
[]
M + M
- Calling %unknown_a_unknown...
+ "Calling %unknown_a_unknown..."
ans =
[]
M - M
- Calling %unknown_s_unknown...
+ "Calling %unknown_s_unknown..."
ans =
[]
M * M
- Calling %unknown_m_unknown...
+ "Calling %unknown_m_unknown..."
ans =
[]
M .* M
- Calling %unknown_x_unknown...
+ "Calling %unknown_x_unknown..."
ans =
[]
M *. M
- Calling %unknown_u_unknown...
+ "Calling %unknown_u_unknown..."
ans =
[]
M .*. M
- Calling %unknown_k_unknown...
+ "Calling %unknown_k_unknown..."
ans =
[]
M / M
- Calling %unknown_r_unknown...
+ "Calling %unknown_r_unknown..."
ans =
[]
M ./ M
- Calling %unknown_d_unknown...
+ "Calling %unknown_d_unknown..."
ans =
[]
M /. M
- Calling %unknown_v_unknown...
+ "Calling %unknown_v_unknown..."
ans =
[]
M ./. M
- Calling %unknown_y_unknown...
+ "Calling %unknown_y_unknown..."
ans =
[]
M \ M
- Calling %unknown_l_unknown...
+ "Calling %unknown_l_unknown..."
ans =
[]
M .\ M
- Calling %unknown_q_unknown...
+ "Calling %unknown_q_unknown..."
ans =
[]
M \. M
- Calling %unknown_w_unknown...
+ "Calling %unknown_w_unknown..."
ans =
[]
M .\. M
- Calling %unknown_z_unknown...
+ "Calling %unknown_z_unknown..."
ans =
[]
M ^ M
- Calling %unknown_p_unknown...
+ "Calling %unknown_p_unknown..."
ans =
[]
M ** M
- Calling %unknown_p_unknown...
+ "Calling %unknown_p_unknown..."
ans =
[]
M .^ M
- Calling %unknown_j_unknown...
+ "Calling %unknown_j_unknown..."
ans =
[]
// M .** M <-- This does not exist in Scilab ... Wired ...
M:M
- Calling %unknown_b_unknown...
+ "Calling %unknown_b_unknown..."
ans =
[]
M == M
- Calling %unknown_o_unknown...
+ "Calling %unknown_o_unknown..."
ans =
[]
M <> M
- Calling %unknown_n_unknown...
+ "Calling %unknown_n_unknown..."
ans =
[]
M ~= M
- Calling %unknown_n_unknown...
+ "Calling %unknown_n_unknown..."
ans =
[]
M @= M
- Calling %unknown_n_unknown...
+ "Calling %unknown_n_unknown..."
ans =
[]
M < M
- Calling %unknown_1_unknown...
+ "Calling %unknown_1_unknown..."
ans =
[]
M > M
- Calling %unknown_2_unknown...
+ "Calling %unknown_2_unknown..."
ans =
[]
M <= M
- Calling %unknown_3_unknown...
+ "Calling %unknown_3_unknown..."
ans =
[]
M >= M
- Calling %unknown_4_unknown...
+ "Calling %unknown_4_unknown..."
ans =
[]
M | M
- Calling %unknown_g_unknown...
+ "Calling %unknown_g_unknown..."
ans =
[]
M & M
- Calling %unknown_h_unknown...
+ "Calling %unknown_h_unknown..."
ans =
[]
~M
- Calling %unknown_5...
+ "Calling %unknown_5..."
ans =
[]
@M
- Calling %unknown_5...
+ "Calling %unknown_5..."
ans =
[]
// Clear all added functions
A(3,1) = 2;
string(A)
ans =
-!(3,2) sparse matrix !
-! !
-!(3,1) 2 !
+ "(3,2) sparse matrix"
+ "(3,1) 2"
column 1
-
1
-------------------------------------------------------------
1 +x +x² +x³ +x⁴ +x⁵ +x⁶ +x⁷ +x⁸ +x⁹ +x¹⁰ +x¹¹ +x¹² +x¹³ +x¹⁴
column 2
-
2
-------------------------------------------------------------
1 +x +x² +x³ +x⁴ +x⁵ +x⁶ +x⁷ +x⁸ +x⁹ +x¹⁰ +x¹¹ +x¹² +x¹³ +x¹⁴
column 3
-
3
-------------------------------------------------------------
1 +x +x² +x³ +x⁴ +x⁵ +x⁶ +x⁷ +x⁸ +x⁹ +x¹⁰ +x¹¹ +x¹² +x¹³ +x¹⁴
column 1
-
1
-------------------------------------------------------------
1 +x +x² +x³ +x⁴ +x⁵ +x⁶ +x⁷ +x⁸ +x⁹ +x¹⁰ +x¹¹ +x¹² +x¹³ +x¹⁴
-
1
-------------------------------------------------------------
1 +x +x² +x³ +x⁴ +x⁵ +x⁶ +x⁷ +x⁸ +x⁹ +x¹⁰ +x¹¹ +x¹² +x¹³ +x¹⁴
column 2
-
2
-------------------------------------------------------------
1 +x +x² +x³ +x⁴ +x⁵ +x⁶ +x⁷ +x⁸ +x⁹ +x¹⁰ +x¹¹ +x¹² +x¹³ +x¹⁴
-
2
-------------------------------------------------------------
1 +x +x² +x³ +x⁴ +x⁵ +x⁶ +x⁷ +x⁸ +x⁹ +x¹⁰ +x¹¹ +x¹² +x¹³ +x¹⁴
column 3
-
3
-------------------------------------------------------------
1 +x +x² +x³ +x⁴ +x⁵ +x⁶ +x⁷ +x⁸ +x⁹ +x¹⁰ +x¹¹ +x¹² +x¹³ +x¹⁴
-
3
-------------------------------------------------------------
1 +x +x² +x³ +x⁴ +x⁵ +x⁶ +x⁷ +x⁸ +x⁹ +x¹⁰ +x¹¹ +x¹² +x¹³ +x¹⁴
columns 1 to 2
-
1 2
------------------------ ------------------------
1 +x +x² +x³ +x⁴ +x⁵ +x⁶ 1 +x +x² +x³ +x⁴ +x⁵ +x⁶
column 3
-
3
------------------------
1 +x +x² +x³ +x⁴ +x⁵ +x⁶
columns 1 to 2
-
1 2
------------------------ ------------------------
1 +x +x² +x³ +x⁴ +x⁵ +x⁶ 1 +x +x² +x³ +x⁴ +x⁵ +x⁶
-
1 2
------------------------ ------------------------
1 +x +x² +x³ +x⁴ +x⁵ +x⁶ 1 +x +x² +x³ +x⁴ +x⁵ +x⁶
column 3
-
3
------------------------
1 +x +x² +x³ +x⁴ +x⁵ +x⁶
-
3
------------------------
1 +x +x² +x³ +x⁴ +x⁵ +x⁶
// =============================================================================
// <-- TEST WITH GRAPHIC -->
//
-// These tests makes comparisons between the empirical cumulated
+// These tests makes comparisons between the empirical cumulated
// distribution function and the theoretical distribution function.
// They do not make use of the Chi-square distribution function,
// and, therefore, are not Kolmogorov-Smirnov tests.
-// The tester is asked to visually compare the two plots, which
+// The tester is asked to visually compare the two plots, which
// cannot be automated.
//
-//Comparison of pseudo-random numbers following an exponential distribution
+//Comparison of pseudo-random numbers following an exponential distribution
//and the density of this distribution
//Parameter of the distribution which can be modified
lambda=1.6;
classes = linspace(0,12,25);
//Draw in histogram
histplot(classes,X);
-//Draw the density
+//Draw the density
x=linspace(0,12,25);
y = (1/lambda)*exp(-(1/lambda)*x);
plot2d(x,y,3);
f=gcf();
delete(f);
-//Comparison of pseudo-random numbers following a beta distribution
+//Comparison of pseudo-random numbers following a beta distribution
//and the density of this distribution
//Parameters of the distribution which can be modified
A=1;B=3;
classes = linspace(0,1,50);
//Draw in histogram
histplot(classes,X);
-//Draw the density
+//Draw the density
x=linspace(0,1,50);
y = (1/(beta(A,B))).*(x.^(A-1)).*((1-x).^(B-1)) ;
plot2d(x,y,2);
f=gcf();
delete(f);
-//Comparison of pseudo-random numbers following a gamma distribution
+//Comparison of pseudo-random numbers following a gamma distribution
//and the density of this distribution
//Parameters of the distribution which can be modified
A=2;B=1;
classes = linspace(0,2,50);
//Draw in histogram
histplot(classes,X);
-//Draw the density
+//Draw the density
x=linspace(0,2,50);
y = (B/(gamma(A))).*exp(-B*x).*(B*x).^(A-1);
plot2d(x,y,2);
f=gcf();
delete(f);
-//Comparison of pseudo-random numbers following a binomial distribution
+//Comparison of pseudo-random numbers following a binomial distribution
//and the density of this distribution
//Parameters of the distribution which can be modified
n=50;p=0.3;
plot2d(x,y,2);
f=gcf();
delete(f);
-//Comparison of pseudo-random numbers following a poisson distribution
+//Comparison of pseudo-random numbers following a poisson distribution
//and the density of this distribution
//Parameters of the distribution which can be modified
mu=50;
--- /dev/null
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2019 - Stéphane MOTTELET
+//
+//// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- TEST WITH GRAPHIC -->
+// <-- MACOSX ONLY-->
+// <-- NO CHECK REF-->
+//
+// <-- Non-regression test for bug 15984 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/15984
+//
+// <-- Short Description -->
+// display scale is wrong for Retina displays under OSX
+plot(1:10,sin(1:10))
+ax = gca();
+assert_checkequal(ax.x_ticks.locations,(1:10)');
plot(x,y2,"r.");// %nan & mark_mode "on"
cd TMPDIR
ans =
-
- TMPDIR
+ "TMPDIR"
xs2svg(2,"kaboom.eps");
"BIGSOM_f"
o.doc
ans =
- ()
+ empty list()
// Set the block to itself without making any modification
// (scicos_getvalue returns BIGSOM_f default parameters)
p = funcprot();
Xcos trace: propertyUpdated( 5 , BLOCK , EVENT_INPUTS ) : NO_CHANGES
Xcos trace: propertyUpdated( 5 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
Xcos trace: propertyUpdated( 5 , BLOCK , PARENT_BLOCK ) : NO_CHANGES
-Xcos trace: propertyUpdated( 8 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
-Xcos trace: propertyUpdated( 7 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
Xcos trace: propertyUpdated( 6 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
+Xcos trace: propertyUpdated( 7 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
+Xcos trace: propertyUpdated( 8 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
Xcos trace: propertyUpdated( 5 , BLOCK , CHILDREN ) : NO_CHANGES
Xcos trace: objectReferenced( 5 , BLOCK ) : 1
Xcos trace: propertyUpdated( 5 , BLOCK , GEOMETRY ) : NO_CHANGES
Xcos trace: propertyUpdated( 9 , BLOCK , EVENT_INPUTS ) : NO_CHANGES
Xcos trace: propertyUpdated( 9 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
Xcos trace: propertyUpdated( 9 , BLOCK , PARENT_BLOCK ) : NO_CHANGES
-Xcos trace: propertyUpdated( 12 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
-Xcos trace: propertyUpdated( 11 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
Xcos trace: propertyUpdated( 10 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
+Xcos trace: propertyUpdated( 11 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
+Xcos trace: propertyUpdated( 12 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
Xcos trace: propertyUpdated( 9 , BLOCK , CHILDREN ) : NO_CHANGES
Xcos trace: objectReferenced( 9 , BLOCK ) : 1
Xcos trace: propertyUpdated( 9 , BLOCK , GEOMETRY ) : NO_CHANGES
Xcos trace: propertyUpdated( 13 , BLOCK , EVENT_INPUTS ) : NO_CHANGES
Xcos trace: propertyUpdated( 13 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
Xcos trace: propertyUpdated( 13 , BLOCK , PARENT_BLOCK ) : NO_CHANGES
-Xcos trace: propertyUpdated( 16 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
-Xcos trace: propertyUpdated( 15 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
Xcos trace: propertyUpdated( 14 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
+Xcos trace: propertyUpdated( 15 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
+Xcos trace: propertyUpdated( 16 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
Xcos trace: propertyUpdated( 13 , BLOCK , CHILDREN ) : NO_CHANGES
Xcos trace: objectReferenced( 13 , BLOCK ) : 1
Xcos trace: propertyUpdated( 13 , BLOCK , GEOMETRY ) : NO_CHANGES
Xcos trace: propertyUpdated( 18 , BLOCK , EVENT_INPUTS ) : NO_CHANGES
Xcos trace: propertyUpdated( 18 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
Xcos trace: propertyUpdated( 18 , BLOCK , PARENT_BLOCK ) : NO_CHANGES
-Xcos trace: propertyUpdated( 22 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
-Xcos trace: propertyUpdated( 21 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
-Xcos trace: propertyUpdated( 20 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
Xcos trace: propertyUpdated( 19 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
+Xcos trace: propertyUpdated( 20 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
+Xcos trace: propertyUpdated( 21 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
+Xcos trace: propertyUpdated( 22 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
Xcos trace: propertyUpdated( 18 , BLOCK , CHILDREN ) : NO_CHANGES
Xcos trace: objectReferenced( 18 , BLOCK ) : 1
Xcos trace: propertyUpdated( 18 , BLOCK , GEOMETRY ) : NO_CHANGES
"CSCOPE"
o.doc
ans =
- ()
+ empty list()
// Set the block to itself without making any modification
// (scicos_getvalue returns CSCOPE_f default parameters)
p = funcprot();
Xcos debug: propertyUpdated( 26 , BLOCK , EVENT_INPUTS ) : SUCCESS
Xcos trace: propertyUpdated( 26 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
Xcos trace: propertyUpdated( 26 , BLOCK , PARENT_BLOCK ) : NO_CHANGES
-Xcos trace: propertyUpdated( 28 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
Xcos trace: propertyUpdated( 27 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
+Xcos trace: propertyUpdated( 28 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
Xcos trace: propertyUpdated( 26 , BLOCK , CHILDREN ) : NO_CHANGES
Xcos trace: objectReferenced( 26 , BLOCK ) : 1
Xcos trace: propertyUpdated( 26 , BLOCK , GEOMETRY ) : NO_CHANGES
Xcos trace: propertyUpdated( 27 , PORT , IMPLICIT ) : NO_CHANGES
Xcos trace: propertyUpdated( 27 , PORT , STYLE ) : NO_CHANGES
Xcos trace: propertyUpdated( 27 , PORT , LABEL ) : NO_CHANGES
-Xcos trace: propertyUpdated( 26 , BLOCK , STYLE ) : NO_CHANGES
+Xcos debug: propertyUpdated( 26 , BLOCK , STYLE ) : SUCCESS
Xcos trace: objectUnreferenced( 26 , BLOCK ) : 0
Xcos trace: objectReferenced( 26 , BLOCK ) : 1
Xcos trace: propertyUpdated( 26 , BLOCK , SIM_FUNCTION_NAME ) : NO_CHANGES
out_style = ""
in_label = ""
out_label = ""
- style = ""
+ style = "CSCOPE;verticalLabelPosition=bottom;verticalAlign=top;spacing=2;displayedLabel="
Model :
Xcos trace: objectReferenced( 26 , BLOCK ) : 1
Xcos trace: objectUnreferenced( 26 , BLOCK ) : 0
Xcos trace: objectReferenced( 29 , BLOCK ) : 1
Xcos trace: objectUnreferenced( 29 , BLOCK ) : 0
ans =
- ans(1)
- 0
- 0
- 0
- 1
+ (1) : [4x1 int8]
assert_checkequal(typeof(o.model.opar(1)), "int8");
Xcos trace: objectReferenced( 29 , BLOCK ) : 1
Xcos trace: objectUnreferenced( 29 , BLOCK ) : 0
ans(4)
"n"
ans(5)
- ans(5)(1)
- "VA"
- "f"
- ans(5)(2)
- ans(5)(2)(1)
- 220.
- ans(5)(2)(2)
- 50.
+ (1) : [2x1 string]
+ (2) : list:
+ (1) = 220
+ (2) = 50
listRef = modelica();
o.model.equations = listRef;
Xcos trace: objectReferenced( 34 , BLOCK ) : 1
ans(6)
"["R";"L"]"
ans(7)
- ans(7)(1)
- "0.1"
- ans(7)(2)
- "0.0001"
+ (1) = "0.1"
+ (2) = "0.0001"
ans(8)
"[0;0]"
ans(9)
"y1"
"y2"
ans(5)
- ans(5)(1)
- "R"
- "L"
- ans(5)(2)
- ans(5)(2)(1)
- 0.1
- ans(5)(2)(2)
- 0.0001
+ (1) : [2x1 string]
+ (2) : list:
+ (1) = 0.1
+ (2) = 0.0001
// Test 'exprs' with SuperBlock, CBLOCK, scifunc_block_m and default fortran_block
// SuperBlock with no parameter
lS = list([],list([],"Configuration des Paramètres du bloc",list([])));
Xcos trace: objectReferenced( 52 , BLOCK ) : 1
Xcos trace: objectUnreferenced( 52 , BLOCK ) : 0
ans =
- ans(1)
- ans(1)(1)
- "paramspde"
- "a"
- "b"
- "txt_exp"
- "check_op1"
- "a1"
- "b1"
- "check_op2"
- "a2"
- "b2"
- "check_op3"
- "a3"
- "b3"
- "check_op4"
- "a4"
- "b4"
- "check_op5"
- "a5"
- "b5"
- "check_op6"
- "a6"
- "b6"
- "check_op7"
- "a7"
- "b7"
- "discr_cst"
- "discr_non_cst"
- "signe"
- "rad_automatique"
- "rad_manuel"
- "methode"
- "ord1"
- "ord2"
- "ord3"
- "degre"
- "nnode"
- "txt_pas"
- "CI"
- "dCI"
- "CLa"
- "CLa_exp"
- "CLb"
- "CLb_exp"
- "points"
- ans(1)(2)
- ""
- ans(1)(3)
- ""
- ans(1)(4)
- ""
- ans(1)(5)
- "0"
- ans(1)(6)
- ""
- ans(1)(7)
- "IN_EDP1(t)"
- ans(1)(8)
- "0"
- ans(1)(9)
- ""
- ans(1)(10)
- "IN_EDP2(t)"
- ans(1)(11)
- "0"
- ans(1)(12)
- ""
- ans(1)(13)
- "IN_EDP3(t)"
- ans(1)(14)
- "0"
- ans(1)(15)
- ""
- ans(1)(16)
- "IN_EDP4(t)"
- ans(1)(17)
- "0"
- ans(1)(18)
- ""
- ans(1)(19)
- "IN_EDP5(t)"
- ans(1)(20)
- "0"
- ans(1)(21)
- ""
- ans(1)(22)
- "IN_EDP6(t)"
- ans(1)(23)
- "0"
- ans(1)(24)
- ""
- ans(1)(25)
- "IN_EDP7(t)"
- ans(1)(26)
- "0"
- ans(1)(27)
- "0"
- ans(1)(28)
- "0"
- ans(1)(29)
- "0"
- ans(1)(30)
- "0"
- ans(1)(31)
- "0"
- ans(1)(32)
- ""
- ans(1)(33)
- ""
- ans(1)(34)
- ""
- ans(1)(35)
- ""
- ans(1)(36)
- ""
- ans(1)(37)
- ""
- ans(1)(38)
- ""
- ans(1)(39)
- ""
- ans(1)(40)
- "0"
- ans(1)(41)
- "IN_CL1(t)"
- ans(1)(42)
- "0"
- ans(1)(43)
- "IN_CL2(t)"
- ans(1)(44)
- ""
- ans(2)
- []
- ans(3)
- ""
+ (1) : [paramspde] tlist with fields:
+ a = ""
+ b = ""
+ txt_exp = ""
+ check_op1 = "0"
+ a1 = ""
+ b1 = "IN_EDP1(t)"
+ check_op2 = "0"
+ a2 = ""
+ b2 = "IN_EDP2(t)"
+ check_op3 = "0"
+ a3 = ""
+ b3 = "IN_EDP3(t)"
+ check_op4 = "0"
+ a4 = ""
+ b4 = "IN_EDP4(t)"
+ check_op5 = "0"
+ a5 = ""
+ b5 = "IN_EDP5(t)"
+ check_op6 = "0"
+ a6 = ""
+ b6 = "IN_EDP6(t)"
+ check_op7 = "0"
+ a7 = ""
+ b7 = "IN_EDP7(t)"
+ discr_cst = "0"
+ discr_non_cst = "0"
+ signe = "0"
+ rad_automatique = "0"
+ rad_manuel = "0"
+ methode = "0"
+ ord1 = ""
+ ord2 = ""
+ ord3 = ""
+ degre = ""
+ nnode = ""
+ txt_pas = ""
+ CI = ""
+ dCI = ""
+ CLa = "0"
+ CLa_exp = "IN_CL1(t)"
+ CLb = "0"
+ CLb_exp = "IN_CL2(t)"
+ points = ""
+ (2) = []
+ (3) = ""
// Test 'ipar', 'nzcross' and 'nmode' fields
o = scicos_block();
Xcos info: objectCreated( 60 , BLOCK )
Xcos trace: propertyUpdated( 15 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
Xcos debug: propertyUpdated( 13 , BLOCK , EVENT_OUTPUTS ) : SUCCESS
Xcos trace: propertyUpdated( 13 , BLOCK , PARENT_BLOCK ) : NO_CHANGES
-Xcos trace: propertyUpdated( 15 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
Xcos trace: propertyUpdated( 14 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
+Xcos trace: propertyUpdated( 15 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
Xcos trace: propertyUpdated( 13 , BLOCK , CHILDREN ) : NO_CHANGES
Xcos trace: objectReferenced( 13 , BLOCK ) : 1
Xcos debug: propertyUpdated( 13 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
Xcos trace: propertyUpdated( 21 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
Xcos debug: propertyUpdated( 18 , BLOCK , EVENT_OUTPUTS ) : SUCCESS
Xcos trace: propertyUpdated( 18 , BLOCK , PARENT_BLOCK ) : NO_CHANGES
-Xcos trace: propertyUpdated( 21 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
-Xcos trace: propertyUpdated( 20 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
Xcos trace: propertyUpdated( 19 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
+Xcos trace: propertyUpdated( 20 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
+Xcos trace: propertyUpdated( 21 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
Xcos trace: propertyUpdated( 18 , BLOCK , CHILDREN ) : NO_CHANGES
Xcos trace: objectReferenced( 18 , BLOCK ) : 1
Xcos debug: propertyUpdated( 18 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
Xcos trace: propertyUpdated( 32 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
Xcos debug: propertyUpdated( 30 , BLOCK , EVENT_OUTPUTS ) : SUCCESS
Xcos trace: propertyUpdated( 30 , BLOCK , PARENT_BLOCK ) : NO_CHANGES
-Xcos trace: propertyUpdated( 32 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
-Xcos trace: propertyUpdated( 31 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
Xcos trace: propertyUpdated( 29 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
+Xcos trace: propertyUpdated( 31 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
+Xcos trace: propertyUpdated( 32 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
Xcos trace: propertyUpdated( 30 , BLOCK , CHILDREN ) : NO_CHANGES
Xcos info: objectCreated( 33 , LINK )
Xcos info: objectCloned( 17 , 33 , LINK )
Xcos trace: propertyUpdated( 37 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
Xcos debug: propertyUpdated( 34 , BLOCK , EVENT_OUTPUTS ) : SUCCESS
Xcos trace: propertyUpdated( 34 , BLOCK , PARENT_BLOCK ) : NO_CHANGES
-Xcos trace: propertyUpdated( 37 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
-Xcos trace: propertyUpdated( 36 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
Xcos trace: propertyUpdated( 35 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
+Xcos trace: propertyUpdated( 36 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
Xcos trace: propertyUpdated( 29 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
Xcos trace: propertyUpdated( 31 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
Xcos debug: propertyUpdated( 32 , PORT , CONNECTED_SIGNALS ) : SUCCESS
Xcos trace: propertyUpdated( 33 , LINK , SOURCE_PORT ) : NO_CHANGES
Xcos trace: propertyUpdated( 33 , LINK , DESTINATION_PORT ) : NO_CHANGES
+Xcos trace: propertyUpdated( 37 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
Xcos trace: propertyUpdated( 34 , BLOCK , CHILDREN ) : NO_CHANGES
Xcos info: objectCreated( 38 , LINK )
Xcos info: objectCloned( 23 , 38 , LINK )
Xcos debug: propertyUpdated( 43 , BLOCK , EVENT_INPUTS ) : SUCCESS
Xcos trace: propertyUpdated( 43 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
Xcos debug: propertyUpdated( 43 , BLOCK , PARENT_BLOCK ) : SUCCESS
-Xcos trace: propertyUpdated( 44 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
Xcos trace: propertyUpdated( 42 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
+Xcos trace: propertyUpdated( 44 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
Xcos trace: propertyUpdated( 43 , BLOCK , CHILDREN ) : NO_CHANGES
Xcos info: objectCreated( 45 , BLOCK )
Xcos info: objectCloned( 30 , 45 , BLOCK )
Xcos trace: propertyUpdated( 47 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
Xcos debug: propertyUpdated( 45 , BLOCK , EVENT_OUTPUTS ) : SUCCESS
Xcos debug: propertyUpdated( 45 , BLOCK , PARENT_BLOCK ) : SUCCESS
-Xcos trace: propertyUpdated( 47 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
Xcos trace: propertyUpdated( 42 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
Xcos trace: propertyUpdated( 44 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
Xcos trace: propertyUpdated( 46 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
+Xcos trace: propertyUpdated( 47 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
Xcos trace: propertyUpdated( 45 , BLOCK , CHILDREN ) : NO_CHANGES
Xcos info: objectCreated( 48 , LINK )
Xcos info: objectCloned( 33 , 48 , LINK )
Xcos trace: propertyUpdated( 52 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
Xcos debug: propertyUpdated( 49 , BLOCK , EVENT_OUTPUTS ) : SUCCESS
Xcos debug: propertyUpdated( 49 , BLOCK , PARENT_BLOCK ) : SUCCESS
-Xcos trace: propertyUpdated( 52 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
-Xcos trace: propertyUpdated( 51 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
-Xcos trace: propertyUpdated( 50 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
-Xcos trace: propertyUpdated( 48 , LINK , SOURCE_PORT ) : NO_CHANGES
-Xcos debug: propertyUpdated( 48 , LINK , DESTINATION_PORT ) : SUCCESS
-Xcos debug: propertyUpdated( 47 , PORT , CONNECTED_SIGNALS ) : SUCCESS
Xcos trace: propertyUpdated( 42 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
Xcos trace: propertyUpdated( 44 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
Xcos trace: propertyUpdated( 46 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
+Xcos debug: propertyUpdated( 47 , PORT , CONNECTED_SIGNALS ) : SUCCESS
+Xcos trace: propertyUpdated( 48 , LINK , SOURCE_PORT ) : NO_CHANGES
+Xcos debug: propertyUpdated( 48 , LINK , DESTINATION_PORT ) : SUCCESS
+Xcos trace: propertyUpdated( 50 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
+Xcos trace: propertyUpdated( 51 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
+Xcos trace: propertyUpdated( 52 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
Xcos trace: propertyUpdated( 49 , BLOCK , CHILDREN ) : NO_CHANGES
Xcos info: objectCreated( 53 , LINK )
Xcos info: objectCloned( 38 , 53 , LINK )
Xcos debug: propertyUpdated( 54 , LINK , PARENT_BLOCK ) : SUCCESS
Xcos debug: propertyUpdated( 54 , LINK , SOURCE_PORT ) : SUCCESS
Xcos debug: propertyUpdated( 54 , LINK , DESTINATION_PORT ) : SUCCESS
-Xcos trace: propertyUpdated( 54 , LINK , SOURCE_PORT ) : NO_CHANGES
-Xcos trace: propertyUpdated( 54 , LINK , DESTINATION_PORT ) : NO_CHANGES
-Xcos trace: propertyUpdated( 53 , LINK , SOURCE_PORT ) : NO_CHANGES
-Xcos trace: propertyUpdated( 53 , LINK , DESTINATION_PORT ) : NO_CHANGES
-Xcos debug: propertyUpdated( 52 , PORT , CONNECTED_SIGNALS ) : SUCCESS
-Xcos debug: propertyUpdated( 51 , PORT , CONNECTED_SIGNALS ) : SUCCESS
-Xcos trace: propertyUpdated( 50 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
-Xcos trace: propertyUpdated( 48 , LINK , SOURCE_PORT ) : NO_CHANGES
-Xcos trace: propertyUpdated( 48 , LINK , DESTINATION_PORT ) : NO_CHANGES
-Xcos trace: propertyUpdated( 47 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
Xcos trace: propertyUpdated( 42 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
Xcos debug: propertyUpdated( 44 , PORT , CONNECTED_SIGNALS ) : SUCCESS
Xcos debug: propertyUpdated( 46 , PORT , CONNECTED_SIGNALS ) : SUCCESS
+Xcos trace: propertyUpdated( 47 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
+Xcos trace: propertyUpdated( 48 , LINK , SOURCE_PORT ) : NO_CHANGES
+Xcos trace: propertyUpdated( 48 , LINK , DESTINATION_PORT ) : NO_CHANGES
+Xcos trace: propertyUpdated( 50 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
+Xcos debug: propertyUpdated( 51 , PORT , CONNECTED_SIGNALS ) : SUCCESS
+Xcos debug: propertyUpdated( 52 , PORT , CONNECTED_SIGNALS ) : SUCCESS
+Xcos trace: propertyUpdated( 53 , LINK , SOURCE_PORT ) : NO_CHANGES
+Xcos trace: propertyUpdated( 53 , LINK , DESTINATION_PORT ) : NO_CHANGES
+Xcos trace: propertyUpdated( 54 , LINK , SOURCE_PORT ) : NO_CHANGES
+Xcos trace: propertyUpdated( 54 , LINK , DESTINATION_PORT ) : NO_CHANGES
Xcos debug: propertyUpdated( 41 , BLOCK , CHILDREN ) : SUCCESS
Xcos trace: objectReferenced( 41 , BLOCK ) : 1
Xcos debug: propertyUpdated( 41 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
Xcos debug: propertyUpdated( 58 , BLOCK , EVENT_INPUTS ) : SUCCESS
Xcos trace: propertyUpdated( 58 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
Xcos debug: propertyUpdated( 58 , BLOCK , PARENT_BLOCK ) : SUCCESS
-Xcos trace: propertyUpdated( 59 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
Xcos trace: propertyUpdated( 57 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
+Xcos trace: propertyUpdated( 59 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
Xcos trace: propertyUpdated( 58 , BLOCK , CHILDREN ) : NO_CHANGES
Xcos info: objectCreated( 60 , BLOCK )
Xcos info: objectCloned( 45 , 60 , BLOCK )
Xcos trace: propertyUpdated( 62 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
Xcos debug: propertyUpdated( 60 , BLOCK , EVENT_OUTPUTS ) : SUCCESS
Xcos debug: propertyUpdated( 60 , BLOCK , PARENT_BLOCK ) : SUCCESS
-Xcos trace: propertyUpdated( 62 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
-Xcos trace: propertyUpdated( 61 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
Xcos trace: propertyUpdated( 57 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
Xcos trace: propertyUpdated( 59 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
+Xcos trace: propertyUpdated( 61 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
+Xcos trace: propertyUpdated( 62 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
Xcos trace: propertyUpdated( 60 , BLOCK , CHILDREN ) : NO_CHANGES
Xcos info: objectCreated( 63 , LINK )
Xcos info: objectCloned( 48 , 63 , LINK )
Xcos trace: propertyUpdated( 67 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
Xcos debug: propertyUpdated( 64 , BLOCK , EVENT_OUTPUTS ) : SUCCESS
Xcos debug: propertyUpdated( 64 , BLOCK , PARENT_BLOCK ) : SUCCESS
-Xcos trace: propertyUpdated( 67 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
-Xcos trace: propertyUpdated( 66 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
-Xcos trace: propertyUpdated( 65 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
Xcos trace: propertyUpdated( 63 , LINK , SOURCE_PORT ) : NO_CHANGES
Xcos debug: propertyUpdated( 63 , LINK , DESTINATION_PORT ) : SUCCESS
-Xcos debug: propertyUpdated( 62 , PORT , CONNECTED_SIGNALS ) : SUCCESS
-Xcos trace: propertyUpdated( 61 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
Xcos trace: propertyUpdated( 57 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
Xcos trace: propertyUpdated( 59 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
+Xcos trace: propertyUpdated( 61 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
+Xcos debug: propertyUpdated( 62 , PORT , CONNECTED_SIGNALS ) : SUCCESS
+Xcos trace: propertyUpdated( 65 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
+Xcos trace: propertyUpdated( 66 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
+Xcos trace: propertyUpdated( 67 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
Xcos trace: propertyUpdated( 64 , BLOCK , CHILDREN ) : NO_CHANGES
Xcos info: objectCreated( 68 , LINK )
Xcos info: objectCloned( 53 , 68 , LINK )
Xcos debug: propertyUpdated( 69 , LINK , PARENT_BLOCK ) : SUCCESS
Xcos debug: propertyUpdated( 69 , LINK , SOURCE_PORT ) : SUCCESS
Xcos debug: propertyUpdated( 69 , LINK , DESTINATION_PORT ) : SUCCESS
-Xcos trace: propertyUpdated( 69 , LINK , SOURCE_PORT ) : NO_CHANGES
-Xcos trace: propertyUpdated( 69 , LINK , DESTINATION_PORT ) : NO_CHANGES
-Xcos trace: propertyUpdated( 68 , LINK , SOURCE_PORT ) : NO_CHANGES
-Xcos trace: propertyUpdated( 68 , LINK , DESTINATION_PORT ) : NO_CHANGES
-Xcos debug: propertyUpdated( 67 , PORT , CONNECTED_SIGNALS ) : SUCCESS
-Xcos debug: propertyUpdated( 66 , PORT , CONNECTED_SIGNALS ) : SUCCESS
-Xcos trace: propertyUpdated( 65 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
Xcos trace: propertyUpdated( 63 , LINK , SOURCE_PORT ) : NO_CHANGES
Xcos trace: propertyUpdated( 63 , LINK , DESTINATION_PORT ) : NO_CHANGES
-Xcos trace: propertyUpdated( 62 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
-Xcos debug: propertyUpdated( 61 , PORT , CONNECTED_SIGNALS ) : SUCCESS
Xcos trace: propertyUpdated( 57 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
Xcos debug: propertyUpdated( 59 , PORT , CONNECTED_SIGNALS ) : SUCCESS
-Xcos debug: propertyUpdated( 56 , BLOCK , CHILDREN ) : SUCCESS
-Xcos trace: propertyUpdated( 69 , LINK , SOURCE_PORT ) : NO_CHANGES
-Xcos trace: propertyUpdated( 69 , LINK , DESTINATION_PORT ) : NO_CHANGES
+Xcos debug: propertyUpdated( 61 , PORT , CONNECTED_SIGNALS ) : SUCCESS
+Xcos trace: propertyUpdated( 62 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
+Xcos trace: propertyUpdated( 65 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
+Xcos debug: propertyUpdated( 66 , PORT , CONNECTED_SIGNALS ) : SUCCESS
+Xcos debug: propertyUpdated( 67 , PORT , CONNECTED_SIGNALS ) : SUCCESS
Xcos trace: propertyUpdated( 68 , LINK , SOURCE_PORT ) : NO_CHANGES
Xcos trace: propertyUpdated( 68 , LINK , DESTINATION_PORT ) : NO_CHANGES
-Xcos trace: propertyUpdated( 67 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
-Xcos trace: propertyUpdated( 66 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
-Xcos trace: propertyUpdated( 65 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
+Xcos trace: propertyUpdated( 69 , LINK , SOURCE_PORT ) : NO_CHANGES
+Xcos trace: propertyUpdated( 69 , LINK , DESTINATION_PORT ) : NO_CHANGES
+Xcos debug: propertyUpdated( 56 , BLOCK , CHILDREN ) : SUCCESS
Xcos trace: propertyUpdated( 63 , LINK , SOURCE_PORT ) : NO_CHANGES
Xcos trace: propertyUpdated( 63 , LINK , DESTINATION_PORT ) : NO_CHANGES
-Xcos trace: propertyUpdated( 62 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
-Xcos trace: propertyUpdated( 61 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
Xcos trace: propertyUpdated( 57 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
Xcos trace: propertyUpdated( 59 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
+Xcos trace: propertyUpdated( 61 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
+Xcos trace: propertyUpdated( 62 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
+Xcos trace: propertyUpdated( 65 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
+Xcos trace: propertyUpdated( 66 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
+Xcos trace: propertyUpdated( 67 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
+Xcos trace: propertyUpdated( 68 , LINK , SOURCE_PORT ) : NO_CHANGES
+Xcos trace: propertyUpdated( 68 , LINK , DESTINATION_PORT ) : NO_CHANGES
+Xcos trace: propertyUpdated( 69 , LINK , SOURCE_PORT ) : NO_CHANGES
+Xcos trace: propertyUpdated( 69 , LINK , DESTINATION_PORT ) : NO_CHANGES
Xcos debug: propertyUpdated( 55 , DIAGRAM , CHILDREN ) : SUCCESS
Xcos trace: objectReferenced( 55 , DIAGRAM ) : 1
Xcos trace: objectUnreferenced( 55 , DIAGRAM ) : 0
Xcos trace: propertyUpdated( 7 , BLOCK , EVENT_INPUTS ) : NO_CHANGES
Xcos trace: propertyUpdated( 7 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
Xcos trace: propertyUpdated( 7 , BLOCK , PARENT_BLOCK ) : NO_CHANGES
-Xcos trace: propertyUpdated( 9 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
Xcos trace: propertyUpdated( 8 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
+Xcos trace: propertyUpdated( 9 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
Xcos trace: propertyUpdated( 7 , BLOCK , CHILDREN ) : NO_CHANGES
Xcos trace: objectReferenced( 7 , BLOCK ) : 1
Xcos debug: propertyUpdated( 7 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
Xcos trace: propertyUpdated( 11 , BLOCK , EVENT_INPUTS ) : NO_CHANGES
Xcos trace: propertyUpdated( 11 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
Xcos trace: propertyUpdated( 11 , BLOCK , PARENT_BLOCK ) : NO_CHANGES
-Xcos trace: propertyUpdated( 13 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
Xcos trace: propertyUpdated( 12 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
+Xcos trace: propertyUpdated( 13 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
Xcos trace: propertyUpdated( 11 , BLOCK , CHILDREN ) : NO_CHANGES
Xcos info: objectCreated( 14 , LINK )
Xcos info: objectCloned( 10 , 14 , LINK )
Xcos trace: propertyUpdated( 17 , BLOCK , EVENT_INPUTS ) : NO_CHANGES
Xcos trace: propertyUpdated( 17 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
Xcos debug: propertyUpdated( 17 , BLOCK , PARENT_BLOCK ) : SUCCESS
-Xcos trace: propertyUpdated( 19 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
Xcos trace: propertyUpdated( 18 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
+Xcos trace: propertyUpdated( 19 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
Xcos trace: propertyUpdated( 17 , BLOCK , CHILDREN ) : NO_CHANGES
Xcos info: objectCreated( 20 , LINK )
Xcos info: objectCloned( 14 , 20 , LINK )
Xcos debug: propertyUpdated( 20 , LINK , PARENT_BLOCK ) : SUCCESS
Xcos debug: propertyUpdated( 20 , LINK , SOURCE_PORT ) : SUCCESS
Xcos debug: propertyUpdated( 20 , LINK , DESTINATION_PORT ) : SUCCESS
+Xcos debug: propertyUpdated( 18 , PORT , CONNECTED_SIGNALS ) : SUCCESS
+Xcos debug: propertyUpdated( 19 , PORT , CONNECTED_SIGNALS ) : SUCCESS
Xcos trace: propertyUpdated( 20 , LINK , SOURCE_PORT ) : NO_CHANGES
Xcos trace: propertyUpdated( 20 , LINK , DESTINATION_PORT ) : NO_CHANGES
-Xcos debug: propertyUpdated( 19 , PORT , CONNECTED_SIGNALS ) : SUCCESS
-Xcos debug: propertyUpdated( 18 , PORT , CONNECTED_SIGNALS ) : SUCCESS
Xcos debug: propertyUpdated( 16 , BLOCK , CHILDREN ) : SUCCESS
Xcos trace: objectReferenced( 16 , BLOCK ) : 1
Xcos debug: propertyUpdated( 16 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
Xcos trace: propertyUpdated( 32 , BLOCK , EVENT_INPUTS ) : NO_CHANGES
Xcos trace: propertyUpdated( 32 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
Xcos trace: propertyUpdated( 32 , BLOCK , PARENT_BLOCK ) : NO_CHANGES
-Xcos trace: propertyUpdated( 35 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
-Xcos trace: propertyUpdated( 34 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
Xcos trace: propertyUpdated( 33 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
+Xcos trace: propertyUpdated( 34 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
+Xcos trace: propertyUpdated( 35 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
Xcos trace: propertyUpdated( 32 , BLOCK , CHILDREN ) : NO_CHANGES
Xcos trace: objectReferenced( 32 , BLOCK ) : 1
Xcos debug: propertyUpdated( 32 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
Xcos trace: propertyUpdated( 36 , BLOCK , EVENT_INPUTS ) : NO_CHANGES
Xcos trace: propertyUpdated( 36 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
Xcos trace: propertyUpdated( 36 , BLOCK , PARENT_BLOCK ) : NO_CHANGES
-Xcos trace: propertyUpdated( 39 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
-Xcos trace: propertyUpdated( 38 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
Xcos trace: propertyUpdated( 37 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
+Xcos trace: propertyUpdated( 38 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
+Xcos trace: propertyUpdated( 39 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
Xcos trace: propertyUpdated( 36 , BLOCK , CHILDREN ) : NO_CHANGES
Xcos trace: objectReferenced( 36 , BLOCK ) : 1
Xcos debug: propertyUpdated( 36 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
Xcos trace: propertyUpdated( 41 , BLOCK , EVENT_INPUTS ) : NO_CHANGES
Xcos trace: propertyUpdated( 41 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
Xcos trace: propertyUpdated( 41 , BLOCK , PARENT_BLOCK ) : NO_CHANGES
-Xcos trace: propertyUpdated( 44 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
-Xcos trace: propertyUpdated( 43 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
Xcos trace: propertyUpdated( 42 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
+Xcos trace: propertyUpdated( 43 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
+Xcos trace: propertyUpdated( 44 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
Xcos trace: propertyUpdated( 41 , BLOCK , CHILDREN ) : NO_CHANGES
Xcos info: objectCreated( 45 , BLOCK )
Xcos info: objectCloned( 36 , 45 , BLOCK )
Xcos trace: propertyUpdated( 45 , BLOCK , EVENT_INPUTS ) : NO_CHANGES
Xcos trace: propertyUpdated( 45 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
Xcos trace: propertyUpdated( 45 , BLOCK , PARENT_BLOCK ) : NO_CHANGES
-Xcos trace: propertyUpdated( 48 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
-Xcos trace: propertyUpdated( 47 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
Xcos trace: propertyUpdated( 42 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
Xcos trace: propertyUpdated( 43 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
Xcos trace: propertyUpdated( 44 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
Xcos trace: propertyUpdated( 46 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
+Xcos trace: propertyUpdated( 47 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
+Xcos trace: propertyUpdated( 48 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
Xcos trace: propertyUpdated( 45 , BLOCK , CHILDREN ) : NO_CHANGES
Xcos info: objectCreated( 49 , LINK )
Xcos info: objectCloned( 40 , 49 , LINK )
Xcos trace: propertyUpdated( 52 , BLOCK , EVENT_INPUTS ) : NO_CHANGES
Xcos trace: propertyUpdated( 52 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
Xcos debug: propertyUpdated( 52 , BLOCK , PARENT_BLOCK ) : SUCCESS
-Xcos trace: propertyUpdated( 55 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
-Xcos trace: propertyUpdated( 54 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
Xcos trace: propertyUpdated( 53 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
+Xcos trace: propertyUpdated( 54 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
+Xcos trace: propertyUpdated( 55 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
Xcos trace: propertyUpdated( 52 , BLOCK , CHILDREN ) : NO_CHANGES
Xcos info: objectCreated( 56 , BLOCK )
Xcos info: objectCloned( 45 , 56 , BLOCK )
Xcos trace: propertyUpdated( 56 , BLOCK , EVENT_INPUTS ) : NO_CHANGES
Xcos trace: propertyUpdated( 56 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
Xcos debug: propertyUpdated( 56 , BLOCK , PARENT_BLOCK ) : SUCCESS
-Xcos trace: propertyUpdated( 59 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
-Xcos trace: propertyUpdated( 58 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
-Xcos trace: propertyUpdated( 57 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
Xcos trace: propertyUpdated( 53 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
Xcos trace: propertyUpdated( 54 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
Xcos trace: propertyUpdated( 55 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
+Xcos trace: propertyUpdated( 57 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
+Xcos trace: propertyUpdated( 58 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
+Xcos trace: propertyUpdated( 59 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
Xcos trace: propertyUpdated( 56 , BLOCK , CHILDREN ) : NO_CHANGES
Xcos info: objectCreated( 60 , LINK )
Xcos info: objectCloned( 49 , 60 , LINK )
Xcos debug: propertyUpdated( 60 , LINK , PARENT_BLOCK ) : SUCCESS
Xcos debug: propertyUpdated( 60 , LINK , SOURCE_PORT ) : SUCCESS
Xcos debug: propertyUpdated( 60 , LINK , DESTINATION_PORT ) : SUCCESS
-Xcos trace: propertyUpdated( 60 , LINK , SOURCE_PORT ) : NO_CHANGES
-Xcos trace: propertyUpdated( 60 , LINK , DESTINATION_PORT ) : NO_CHANGES
-Xcos trace: propertyUpdated( 59 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
-Xcos trace: propertyUpdated( 58 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
-Xcos debug: propertyUpdated( 57 , PORT , CONNECTED_SIGNALS ) : SUCCESS
Xcos trace: propertyUpdated( 53 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
Xcos trace: propertyUpdated( 54 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
Xcos debug: propertyUpdated( 55 , PORT , CONNECTED_SIGNALS ) : SUCCESS
+Xcos debug: propertyUpdated( 57 , PORT , CONNECTED_SIGNALS ) : SUCCESS
+Xcos trace: propertyUpdated( 58 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
+Xcos trace: propertyUpdated( 59 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
+Xcos trace: propertyUpdated( 60 , LINK , SOURCE_PORT ) : NO_CHANGES
+Xcos trace: propertyUpdated( 60 , LINK , DESTINATION_PORT ) : NO_CHANGES
Xcos debug: propertyUpdated( 51 , BLOCK , CHILDREN ) : SUCCESS
Xcos trace: objectReferenced( 51 , BLOCK ) : 1
Xcos debug: propertyUpdated( 51 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
Xcos trace: propertyUpdated( 75 , BLOCK , EVENT_INPUTS ) : NO_CHANGES
Xcos trace: propertyUpdated( 75 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
Xcos trace: propertyUpdated( 75 , BLOCK , PARENT_BLOCK ) : NO_CHANGES
-Xcos trace: propertyUpdated( 76 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
Xcos trace: propertyUpdated( 74 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
+Xcos trace: propertyUpdated( 76 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
Xcos trace: propertyUpdated( 75 , BLOCK , CHILDREN ) : NO_CHANGES
Xcos trace: objectReferenced( 73 , BLOCK ) : 1
Xcos trace: propertyUpdated( 73 , BLOCK , PARENT_DIAGRAM ) : NO_CHANGES
Xcos trace: propertyUpdated( 81 , BLOCK , EVENT_INPUTS ) : NO_CHANGES
Xcos trace: propertyUpdated( 81 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
Xcos debug: propertyUpdated( 81 , BLOCK , PARENT_BLOCK ) : SUCCESS
-Xcos trace: propertyUpdated( 82 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
-Xcos trace: propertyUpdated( 80 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
Xcos trace: propertyUpdated( 79 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
+Xcos trace: prope