summaryrefslogtreecommitdiffstats
path: root/tests/nonRegression/bug857.sci
blob: aa4d5a6f4b135efd94baf8bd00400fe479736dfb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
// <-- Non-regression test for bug 857 -->
//
// <-- Bugzilla URL -->
// http://www.scilab.org/cgi-bin/bugzilla_bug_II/show_bug.cgi?id=857
//
// <-- Short Description -->
//    Imaginary unit i and index loop i in an M-file are both
//    converted to %i in Scilab...
//
//    for i=1:10
//    disp(i)
//    end
//
//    is converted as follows :
//
//    for i=1:10
//    disp(%i)
//    end
//
//    TOO BAD !

// Copyright INRIA
// Scilab Project - V. Couvert

// Modified by Pierre MARECHAL
// Copyright INRIA
// Date : 18 Mar 2005

MFILECONTENTS=["% i and j do not exist as variables -> Imaginary unit";
		"a=1+2*i";
		"b=1+2*j";
		"% Two complex values";
		"icplxnumber=1+2i;";
		"jcplxnumber=1+2j;";
		"chgt_rampe=[];";
		"for k=1:10";
		"  for i=1:10";
		"    for j=1:10";
		"      chgt_rampe(k)=2*i-j+1;";
		"    end;";
		"  end;";
		"end;";
		"% Two complex values";
		"icplxnumber2=1+3i;";
		"jcplxnumber2=1+3j;";
		"% Two real values";
		"irealnumber=1+4*i;";
		"jrealnumber=1+4*j;";
		"nbrserie=30";
		"for i=1:nbrserie";
		"  if nbrserie==24";
		"    switch i";
		"     case 1";
		"      disp(i)";
		"    else";
		"      disp(''abcd'')";
		"    end;";
		"  end;";
		"end;"]

MFILE=TMPDIR+"/bug857.m"
SCIFILE=TMPDIR+"/bug857.sci"

mputl(MFILECONTENTS,MFILE);
mfile2sci(MFILE,TMPDIR);
SCIFILECONTENTS=mgetl(SCIFILE);

SCIFILECONTENTSREF=["";
		"// Display mode";
		"mode(0);";
		"";
		"// Display warning for floating point exception";
		"ieee(1);";
		"";
		"// i and j do not exist as variables -> Imaginary unit";
		"a = 1+2*%i";
		"b = 1+2*%i";
		"// Two complex values";
		"icplxnumber = 1+2*%i;";
		"jcplxnumber = 1+2*%i;";
		"chgt_rampe = [];";
		"for k = 1:10";
		"  for i = 1:10";
		"    for j = 1:10";
		"      chgt_rampe(1,k) = 2*i-j+1;";
		"    end;";
		"  end;";
		"end;";
		"// Two complex values";
		"icplxnumber2 = 1+3*%i;";
		"jcplxnumber2 = 1+3*%i;";
		"// Two real values";
		"irealnumber = 1+4*i;";
		"jrealnumber = 1+4*j;";
		"nbrserie = 30";
		"for i = 1:nbrserie";
		"  if nbrserie==24 then";
		"    select i";
		"      case 1 then";
		"        disp(i)";
		"      else";
		"        disp(""abcd"")";
		"    end;";
		"  end;";
		"end;"]
		
if or(SCIFILECONTENTSREF<>SCIFILECONTENTS) then
	affich_result(%F,857);
else
	affich_result(%T,857);
end