fix ast tests 69/15869/3
Antoine ELIAS [Tue, 27 Jan 2015 10:06:20 +0000 (11:06 +0100)]
Change-Id: Iab65f78b476c827f20551753a4cec933288a8b3f

17 files changed:
scilab/modules/ast/src/cpp/ast/run_MatrixExp.hpp
scilab/modules/ast/src/cpp/symbol/context.cpp
scilab/modules/ast/src/cpp/types/overload.cpp
scilab/modules/ast/tests/unit_tests/addition_output_type.dia.ref
scilab/modules/ast/tests/unit_tests/addition_output_type.tst
scilab/modules/ast/tests/unit_tests/concatenation.dia.ref
scilab/modules/ast/tests/unit_tests/concatenation.tst
scilab/modules/ast/tests/unit_tests/displaycomplex.dia.ref
scilab/modules/ast/tests/unit_tests/displaycomplex.tst
scilab/modules/ast/tests/unit_tests/dotdivide.dia.ref
scilab/modules/ast/tests/unit_tests/dotdivide.tst
scilab/modules/ast/tests/unit_tests/implicitlist.dia.ref
scilab/modules/ast/tests/unit_tests/implicitlist.tst
scilab/modules/ast/tests/unit_tests/newtype.dia.ref
scilab/modules/localization/Makefile.am
scilab/modules/localization/Makefile.in
scilab/modules/localization/localization.iss

index 5ffaa2d..af4c895 100644 (file)
@@ -301,6 +301,7 @@ void RunVisitorT<T>::visitprivate(const MatrixExp &e)
     }
     catch (ast::ScilabError error)
     {
+        setResult(NULL);
         throw error;
     }
 }
index 856a96b..343b2b4 100644 (file)
@@ -269,14 +269,15 @@ void Context::put(const Symbol& _key, types::InternalType* _pIT)
 
 bool Context::remove(const Symbol& _key)
 {
-    if (variables.remove(_key, m_iLevel))
+    bool ret = variables.remove(_key, m_iLevel);
+
+    if (ret)
     {
         varStack.top()->erase(_key);
-        libraries.remove(_key, m_iLevel);
-        return true;
     }
 
-    return false;
+    ret = ret | libraries.remove(_key, m_iLevel);
+    return ret;
 }
 
 bool Context::removeAll()
index 2b4b367..9fb1005 100644 (file)
@@ -91,7 +91,7 @@ types::Function::ReturnValue Overload::call(std::wstring _stOverloadingFunctionN
             std::wstring wstError(pwstError);
             FREE(pwstError);
             FREE(pstFuncName);
-            throw ast::ScilabError(wstError, 144, *new Location());
+            throw ast::ScilabError(wstError, 999, *new Location());
         }
         else
         {
@@ -101,7 +101,7 @@ types::Function::ReturnValue Overload::call(std::wstring _stOverloadingFunctionN
             std::wstring wstError(pwstError);
             FREE(pwstError);
             FREE(pstFuncName);
-            throw ast::ScilabError(wstError, 246, *new Location());
+            throw ast::ScilabError(wstError, 999, *new Location());
         }
     }
     types::Callable *pCall = pIT->getAs<types::Callable>();
index 2205875..146dea9 100644 (file)
@@ -18,48 +18,7 @@ ref =[  "int8","uint8","int16","uint16","int32","uint32","int64","uint64","int8"
         "int64","uint64","int64","uint64","int64","uint64","int64","uint64","int64","int64"; ...
         "uint64","uint64","uint64","uint64","uint64","uint64","uint64","uint64","uint64","uint64"; ...
         "int8","uint8","int16","uint16","int32","uint32","int64","uint64","constant","constant"; ...
-        "int8","uint8","int16","uint16","int32","uint32","int64","uint64","constant","boolean"]
-ref  = 
-       column 1 to 9
-!int8    uint8   int16   uint16  int32   uint32  int64   uint64  int8      !
-!                                                                          !
-!uint8   uint8   uint16  uint16  uint32  uint32  uint64  uint64  uint8     !
-!                                                                          !
-!int16   uint16  int16   uint16  int32   uint32  int64   uint64  int16     !
-!                                                                          !
-!uint16  uint16  uint16  uint16  uint32  uint32  uint64  uint64  uint16    !
-!                                                                          !
-!int32   uint32  int32   uint32  int32   uint32  int64   uint64  int32     !
-!                                                                          !
-!uint32  uint32  uint32  uint32  uint32  uint32  uint64  uint64  uint32    !
-!                                                                          !
-!int64   uint64  int64   uint64  int64   uint64  int64   uint64  int64     !
-!                                                                          !
-!uint64  uint64  uint64  uint64  uint64  uint64  uint64  uint64  uint64    !
-!                                                                          !
-!int8    uint8   int16   uint16  int32   uint32  int64   uint64  constant  !
-!                                                                          !
-!int8    uint8   int16   uint16  int32   uint32  int64   uint64  constant  !
-       column 10 to 10
-!int8      !
-!          !
-!uint8     !
-!          !
-!int16     !
-!          !
-!uint16    !
-!          !
-!int32     !
-!          !
-!uint32    !
-!          !
-!int64     !
-!          !
-!uint64    !
-!          !
-!constant  !
-!          !
-!boolean   !
+        "int8","uint8","int16","uint16","int32","uint32","int64","uint64","constant","boolean"];
 typesize = size(types);
 //Scalar + Scalar
 for i = 1 : typesize
index 86bd16f..fd12d36 100644 (file)
@@ -22,7 +22,7 @@ ref =[  "int8","uint8","int16","uint16","int32","uint32","int64","uint64","int8"
         "int64","uint64","int64","uint64","int64","uint64","int64","uint64","int64","int64"; ...
         "uint64","uint64","uint64","uint64","uint64","uint64","uint64","uint64","uint64","uint64"; ...
         "int8","uint8","int16","uint16","int32","uint32","int64","uint64","constant","constant"; ...
-        "int8","uint8","int16","uint16","int32","uint32","int64","uint64","constant","boolean"]
+        "int8","uint8","int16","uint16","int32","uint32","int64","uint64","constant","boolean"];
 
 typesize = size(types);
 
index 97ca0f2..7c51b15 100644 (file)
@@ -6,7 +6,7 @@
 // ============================================================================
 // <-- JVM NOT MANDATORY -->
 function checkCallOverload(mat)
-    assert_checkerror(mat, [], 144);
+    assert_checkerror(mat, [], 999);
 endfunction
 ldouble = [1 2 3];
 lbool   = [%t %f %t];
index 244d331..7b8a4e5 100644 (file)
@@ -8,7 +8,7 @@
 // <-- JVM NOT MANDATORY -->
 
 function checkCallOverload(mat)
-    assert_checkerror(mat, [], 144);
+    assert_checkerror(mat, [], 999);
 endfunction
 
 ldouble = [1 2 3];
index 96aa44f..dc7b43f 100644 (file)
@@ -8,74 +8,64 @@
 // Test display of complex matrix, leave each line without semicolon
 complex(ones(1,5), ones(1,5))
  ans  =
-    1. + i      1. + i      1. + i      1. + i      1. + i    
+    1. + i      1. + i      1. + i      1. + i      1. + i  
 complex(ones(1,5), 2*ones(1,5))
  ans  =
-    1. + 2.i    1. + 2.i    1. + 2.i    1. + 2.i    1. + 2.i  
+    1. + 2.i    1. + 2.i    1. + 2.i    1. + 2.i    1. + 2.i
 complex(ones(1,5), zeros(1,5))
  ans  =
-    1.    1.    1.    1.    1.  
+    1.    1.    1.    1.    1.
 [1 + %i, 1 + 2*%i, 1 + 3*%i]
  ans  =
-    1. + i      1. + 2.i    1. + 3.i  
+    1. + i      1. + 2.i    1. + 3.i
 [1 + %i, 1 + 2*%i, 1 + 3*%i ; 1 + 3*%i, 1 + %i, 1+3*%i]
  ans  =
-    1. + i      1. + 2.i    1. + 3.i  
-    1. + 3.i    1. + i      1. + 3.i  
+    1. + i      1. + 2.i    1. + 3.i
+    1. + 3.i    1. + i      1. + 3.i
 [1, 1+%i, 1 + 3*%i ; 1 + 3*%i, 1 + 3*%i, 1 + 3*%i]
  ans  =
-    1.          1. + i      1. + 3.i  
-    1. + 3.i    1. + 3.i    1. + 3.i  
+    1.          1. + i      1. + 3.i
+    1. + 3.i    1. + 3.i    1. + 3.i
 [1, 1+%i, 1 + 3*%i ; 1 + 3*%i, 1 + %i, 1 + 3*%i]
  ans  =
-    1.          1. + i      1. + 3.i  
-    1. + 3.i    1. + i      1. + 3.i  
+    1.          1. + i      1. + 3.i
+    1. + 3.i    1. + i      1. + 3.i
 [rand() + rand()*%i, rand()+rand()*%i;
  1+%i, 1+%i;
  1, 1+%i;
 %i, 2 + 2*%i;
 -2, -2 - 2*%i]
  ans  =
-    0.2113249 + 0.7560439i    0.0002211 + 0.3303271i  
-    1. + i                    1. + i                  
-    1.                        1. + i                  
-    i                         2. + 2.i                
-  - 2.                      - 2. - 2.i                
+    0.2113249 + 0.7560439i    0.0002211 + 0.3303271i
+    1.0000000 + i             1.0000000 + i         
+    1.0000000                 1.0000000 + i         
+    i                         2.0000000 + 2.0000000i
+  - 2.0000000               - 2.0000000 - 2.0000000i
 [ 1+%i, 1+%i;
  1, 1+%i;
 %i, 2 + 2*%i;
 -2, -2 - 2*%i]
  ans  =
-    1. + i      1. + i    
-    1.          1. + i    
-    i           2. + 2.i  
-  - 2.        - 2. - 2.i  
+    1. + i      1. + i  
+    1.          1. + i  
+    i           2. + 2.i
+  - 2.        - 2. - 2.i
 [2+2*%i, 2+2*%i;]
  ans  =
-    2. + 2.i    2. + 2.i  
+    2. + 2.i    2. + 2.i
 [ 1+%i, 1+%i]
  ans  =
-    1. + i      1. + i    
+    1. + i      1. + i  
 [1+%i, 1+%i;
 1+%i, 1+%i;]
  ans  =
-    1. + i      1. + i    
-    1. + i      1. + i    
+    1. + i      1. + i  
+    1. + i      1. + i  
 [%i, 1+%i]
  ans  =
-    i      1. + i    
+    i     1. + i  
 [%i, 1+%i;
-%i, 1+%i];
+%i, 1+%i]
+ ans  =
+    i     1. + i  
+    i     1. + i  
index b63bcd3..da92e2c 100644 (file)
@@ -44,4 +44,4 @@ complex(ones(1,5), zeros(1,5))
 [%i, 1+%i]
 
 [%i, 1+%i;
-%i, 1+%i];
\ No newline at end of file
+%i, 1+%i]
\ No newline at end of file
index 96993b1..32e0a75 100644 (file)
@@ -96,14 +96,14 @@ assert_checkequal(c .\ SP1, sparse([1, 1], 2-%i* 4,[1, 1]));
 assert_checkequal(c .\ SPC1, sparse([1, 1], 2.8+%i* 0.4,[1, 1]));
 assert_checkequal(R .\ empty, []);
 assert_checkequal(R .\ r, [2, 1; (2/3), 0.5]);
-assert_checkequal(R .\ c,  0.2-%i* 0.4);
+assert_checkequal(R .\ c,  [ 1+%i*2, 0.5+%i; (1/3)+%i*(2/3), 0.25+%i*0.5]);
 assert_checkequal(R .\ R, [1, 1; 1, 1]);
 assert_checkequal(R .\ C, [1+%i* 2, 1+%i* 2; 1+%i* 2, 1+%i* 2]);
 assert_checkequal(R .\ p, [1+(1)*s+(- 1)*s^ 2,0.5+(0.5)*s+(- 0.5)*s^ 2;(1/3)+(1/3)*s+(- (1/3))*s^ 2,0.25+(0.25)*s+(- 0.25)*s^ 2]);
 assert_checkequal(R .\ pc, [1+%i* 2+(1-%i* 3)*s+(- 1+%i* 4)*s^ 2,0.5+%i+(0.5-%i* 1.5)*s+(- 0.5+%i* 2)*s^ 2;(1/3)+%i* (2/3)+((1/3)-%i)*s+(- (1/3)+%i* (1+1/3))*s^ 2,0.25+%i* 0.5+(0.25-%i* 0.75)*s+(- 0.25+%i)*s^ 2]);
 assert_checkequal(R .\ P, [2+(2)*s+(- 2)*s^ 2,- 1.5+(- 1.5)*s+(1.5)*s^ 2;(1+1/3)+(1+1/3)*s+(- (1+1/3))*s^ 2,- 1.25+(- 1.25)*s+(1.25)*s^ 2]);
 assert_checkequal(R .\ PC, [2+%i* 4+(2-%i* 6)*s+(- 2+%i* 8)*s^ 2,- 1.5-%i* 3+(- 1.5+%i* 4.5)*s+(1.5-%i* 6)*s^ 2;(1+1/3)+%i* (2+2/3)+((1+1/3)-%i* 4)*s+(- (1+1/3)+%i* (5+1/3))*s^ 2,- 1.25-%i* 2.5+(- 1.25+%i* 3.75)*s+(1.25-%i* 5)*s^ 2]);
-assert_checkequal(R .\ SPC1,  0.05-%i* 0.15);
+assert_checkequal(R .\ SPC1,  [ 2+%i*6, 1+%i*3; (2/3)+%i*2, 0.5+%i*1.5]);
 assert_checkequal(R .\ i8, int8([- 8, - 4; - 2, - 2]));
 assert_checkequal(R .\ I8, int8([- 8, - 8; - 8, - 8]));
 assert_checkequal(R .\ ui8, uint8([8, 4; 2, 2]));
@@ -497,7 +497,7 @@ assert_checkequal(r ./ UI32, uint32([0, 0; 0, 0]));
 assert_checkequal(c ./ empty, []);
 assert_checkequal(c ./ r,  0.5+%i);
 assert_checkequal(c ./ c,  1+%i*0);
-assert_checkequal(c ./ R,  0.2-%i* 0.4);
+assert_checkequal(c ./ R,  [ 1+%i*2, 0.5+%i; (1/3)+%i*(2/3), 0.25+%i*0.5]);
 assert_checkequal(c ./ C, [1, 0.5; (1/3), 0.25]+%i*0);
 assert_checkequal(c ./ e, (1+%i* 2)*eye());
 assert_checkequal(c ./ ec, (7/26+%i* 9/26)*eye());
@@ -679,7 +679,7 @@ assert_checkalmostequal(SP1 ./ SPC1, sparse([1, 1], 0.5-%i* 1.5,[1, 1]));
 assert_checkequal(SPC1 ./ empty, []);
 assert_checkequal(SPC1 ./ r, sparse([1, 1], 1+%i* 3,[1, 1]));
 assert_checkequal(SPC1 ./ c, sparse([1, 1], 2.8+%i* 0.4,[1, 1]));
-assert_checkequal(SPC1 ./ R,  0.05-%i* 0.15);
+assert_checkequal(SPC1 ./ R, [2+%i*6, 1+%i*3; (2/3)+%i*2, 0.5+%i*1.5]);
 assert_checkequal(SPC1 ./ C, [2.8+%i* 0.4, 1.4+%i* 0.2; 14/15+%i* 2/15, 0.7+%i* 0.1]);
 assert_checkequal(SPC1 ./ SP, sparse([1, 2; 3, 10; 4, 5],[2+%i* 6; (2/3)+%i* 2; 1+%i* 3],[4, 10]));
 assert_checkequal(SPC1 ./ SPC, sparse([1, 2; 3, 10; 4, 5],[26/17-%i* 2/17; 26/51-%i* 2/51; 13/17-%i* 1/17],[4, 10]));
index dd5551a..177bbae 100644 (file)
@@ -105,14 +105,14 @@ assert_checkequal(c .\ SPC1, sparse([1, 1], 2.8+%i* 0.4,[1, 1]));
 
 assert_checkequal(R .\ empty, []);
 assert_checkequal(R .\ r, [2, 1; (2/3), 0.5]);
-assert_checkequal(R .\ c,  0.2-%i* 0.4);
+assert_checkequal(R .\ c,  [ 1+%i*2, 0.5+%i; (1/3)+%i*(2/3), 0.25+%i*0.5]);
 assert_checkequal(R .\ R, [1, 1; 1, 1]);
 assert_checkequal(R .\ C, [1+%i* 2, 1+%i* 2; 1+%i* 2, 1+%i* 2]);
 assert_checkequal(R .\ p, [1+(1)*s+(- 1)*s^ 2,0.5+(0.5)*s+(- 0.5)*s^ 2;(1/3)+(1/3)*s+(- (1/3))*s^ 2,0.25+(0.25)*s+(- 0.25)*s^ 2]);
 assert_checkequal(R .\ pc, [1+%i* 2+(1-%i* 3)*s+(- 1+%i* 4)*s^ 2,0.5+%i+(0.5-%i* 1.5)*s+(- 0.5+%i* 2)*s^ 2;(1/3)+%i* (2/3)+((1/3)-%i)*s+(- (1/3)+%i* (1+1/3))*s^ 2,0.25+%i* 0.5+(0.25-%i* 0.75)*s+(- 0.25+%i)*s^ 2]);
 assert_checkequal(R .\ P, [2+(2)*s+(- 2)*s^ 2,- 1.5+(- 1.5)*s+(1.5)*s^ 2;(1+1/3)+(1+1/3)*s+(- (1+1/3))*s^ 2,- 1.25+(- 1.25)*s+(1.25)*s^ 2]);
 assert_checkequal(R .\ PC, [2+%i* 4+(2-%i* 6)*s+(- 2+%i* 8)*s^ 2,- 1.5-%i* 3+(- 1.5+%i* 4.5)*s+(1.5-%i* 6)*s^ 2;(1+1/3)+%i* (2+2/3)+((1+1/3)-%i* 4)*s+(- (1+1/3)+%i* (5+1/3))*s^ 2,- 1.25-%i* 2.5+(- 1.25+%i* 3.75)*s+(1.25-%i* 5)*s^ 2]);
-assert_checkequal(R .\ SPC1,  0.05-%i* 0.15);
+assert_checkequal(R .\ SPC1,  [ 2+%i*6, 1+%i*3; (2/3)+%i*2, 0.5+%i*1.5]);
 assert_checkequal(R .\ i8, int8([- 8, - 4; - 2, - 2]));
 assert_checkequal(R .\ I8, int8([- 8, - 8; - 8, - 8]));
 assert_checkequal(R .\ ui8, uint8([8, 4; 2, 2]));
@@ -534,7 +534,7 @@ assert_checkequal(r ./ UI32, uint32([0, 0; 0, 0]));
 assert_checkequal(c ./ empty, []);
 assert_checkequal(c ./ r,  0.5+%i);
 assert_checkequal(c ./ c,  1+%i*0);
-assert_checkequal(c ./ R,  0.2-%i* 0.4);
+assert_checkequal(c ./ R,  [ 1+%i*2, 0.5+%i; (1/3)+%i*(2/3), 0.25+%i*0.5]);
 assert_checkequal(c ./ C, [1, 0.5; (1/3), 0.25]+%i*0);
 assert_checkequal(c ./ e, (1+%i* 2)*eye());
 assert_checkequal(c ./ ec, (7/26+%i* 9/26)*eye());
@@ -728,7 +728,7 @@ assert_checkalmostequal(SP1 ./ SPC1, sparse([1, 1], 0.5-%i* 1.5,[1, 1]));
 assert_checkequal(SPC1 ./ empty, []);
 assert_checkequal(SPC1 ./ r, sparse([1, 1], 1+%i* 3,[1, 1]));
 assert_checkequal(SPC1 ./ c, sparse([1, 1], 2.8+%i* 0.4,[1, 1]));
-assert_checkequal(SPC1 ./ R,  0.05-%i* 0.15);
+assert_checkequal(SPC1 ./ R, [2+%i*6, 1+%i*3; (2/3)+%i*2, 0.5+%i*1.5]);
 assert_checkequal(SPC1 ./ C, [2.8+%i* 0.4, 1.4+%i* 0.2; 14/15+%i* 2/15, 0.7+%i* 0.1]);
 assert_checkequal(SPC1 ./ SP, sparse([1, 2; 3, 10; 4, 5],[2+%i* 6; (2/3)+%i* 2; 1+%i* 3],[4, 10]));
 assert_checkequal(SPC1 ./ SPC, sparse([1, 2; 3, 10; 4, 5],[26/17-%i* 2/17; 26/51-%i* 2/51; 13/17-%i* 1/17],[4, 10]));
index e8996ad..ce0a2f7 100644 (file)
@@ -10,7 +10,7 @@
 //
 // <-- JVM NOT MANDATORY -->
 function checkCallOverload(mat)
-    assert_checkerror(mat, [], 144);
+    assert_checkerror(mat, [], 999);
 endfunction
 // normal cases
 assert_checkequal(1:3, [1 2 3]);
index e3a5e20..49e1dca 100644 (file)
@@ -12,7 +12,7 @@
 // <-- JVM NOT MANDATORY -->
 
 function checkCallOverload(mat)
-    assert_checkerror(mat, [], 144);
+    assert_checkerror(mat, [], 999);
 endfunction
 
 // normal cases
index ccd37fc..edd8a6c 100644 (file)
@@ -20,7 +20,7 @@ a = newtype();
 assert_checkequal(string(a), "This is my type.");
 // check scilab display
 a
-a  = (1)
+a  = 
 This is my type.
 disp(a)
 This is my type.
@@ -38,7 +38,7 @@ function %nt_p(h)
     disp("%nt_p: This is my type.");
 end
 b
-b  = (1)
+b  = 
  %nt_p: This is my type.
 disp(b)
  %nt_p: This is my type.
index 5d0d4f9..a04b9a1 100644 (file)
@@ -108,6 +108,7 @@ libscilocalization_la_sci_gateway_DATA = sci_gateway/localization_gateway.xml
 ####localization : include files ####
 libscilocalization_la_includedir=$(pkgincludedir)
 libscilocalization_la_include_HEADERS = includes/localization.h \
+includes/localization.hxx \
 includes/setgetlanguage.h \
 includes/charEncoding.h
 
index 247aefd..138d65d 100644 (file)
@@ -672,6 +672,7 @@ libscilocalization_la_sci_gateway_DATA = sci_gateway/localization_gateway.xml
 ####localization : include files ####
 libscilocalization_la_includedir = $(pkgincludedir)
 libscilocalization_la_include_HEADERS = includes/localization.h \
+includes/localization.hxx \
 includes/setgetlanguage.h \
 includes/charEncoding.h
 
index 02b646b..1b52cb8 100644 (file)
@@ -33,6 +33,7 @@ Source: modules\{#LOCALIZATION}\sci_gateway\{#LOCALIZATION}_gateway.xml; DestDir
 ;
 ;Source: modules\{#LOCALIZATION}\includes\*.h; DestDir: {app}\modules\{#LOCALIZATION}\includes; Components: {#COMPN_SCILAB}
 Source: modules\{#LOCALIZATION}\includes\localization.h; DestDir: {app}\modules\{#LOCALIZATION}\includes; Components: {#COMPN_SCILAB}
+Source: modules\{#LOCALIZATION}\includes\localization.hxx; DestDir: {app}\modules\{#LOCALIZATION}\includes; Components: {#COMPN_SCILAB}
 Source: modules\{#LOCALIZATION}\includes\setgetlanguage.h; DestDir: {app}\modules\{#LOCALIZATION}\includes; Components: {#COMPN_SCILAB}
 Source: modules\{#LOCALIZATION}\includes\charEncoding.h; DestDir: {app}\modules\{#LOCALIZATION}\includes; Components: {#COMPN_SCILAB}
 ;