Improve the modulo unitary tests wrt Samuel modifications 62/13062/4
Sylvestre Ledru [Fri, 1 Nov 2013 02:06:13 +0000 (03:06 +0100)]
Change-Id: Ibefd75ad81d3af3c831bb4af819d2bddd9f44ec2

scilab/modules/elementary_functions/tests/unit_tests/modulo.dia.ref
scilab/modules/elementary_functions/tests/unit_tests/modulo.tst
scilab/modules/javasci/Makefile.in
scilab/modules/mpi/Makefile.in

index 1957054..521c077 100644 (file)
@@ -8,10 +8,10 @@
 // unit tests for modulo() function
 // =============================================================================
 assert_checkerror("modulo()", msprintf(_("%s: Wrong number of input argument(s): %d expected.\n"),"modulo", 2));
-assert_checkerror("modulo(''a'',1)", msprintf(_("%s: Wrong type for input argument #%d: A real expected.\n"), "modulo", 1));
-assert_checkerror("modulo(1,''a'')", msprintf(_("%s: Wrong type for input argument #%d: A real expected.\n"), "modulo", 2));
-assert_checkerror("modulo(%pi+%i,1)", msprintf(_("%s: Wrong type for input argument #%d: A real expected.\n"), "modulo", 1));
-assert_checkerror("modulo(1,1+%i)", msprintf(_("%s: Wrong type for input argument #%d: A real expected.\n"), "modulo", 2));
+assert_checkerror("modulo(''a'',1)", msprintf(_("%s: Wrong type for input argument #%d: Reals, encoded integers or polynomials expected.\n"), "modulo", 1));
+assert_checkerror("modulo(1,''a'')", msprintf(_("%s: Wrong type for input argument #%d: Reals, encoded integers or polynomials expected.\n"), "modulo", 2));
+assert_checkerror("modulo(%pi+%i,1)", msprintf(_("%s: Wrong type for input argument #%d: Reals, encoded integers or polynomials expected.\n"), "modulo", 1));
+assert_checkerror("modulo(1,1+%i)", msprintf(_("%s: Wrong type for input argument #%d: Reals, encoded integers or polynomials expected.\n"), "modulo", 2));
 n=[1,2,10,15];
 m=[2,2,3,5];
 r = modulo(n,m);
@@ -22,3 +22,45 @@ r = modulo(n,m);
 computed_r = n - m .* int (n ./ m);
 assert_checkequal(r, computed_r);
 assert_checkequal(modulo(%z^2,%z),0);
+// Encoded integers
+assert_checkequal(modulo( int8(-123), int16(-7)), int8(-4));
+assert_checkequal(pmodulo(int8(-123), int16(-7)), int8(3));
+assert_checkequal(modulo( int8(-123), int16([-7 5])),int8([-4,-3]));
+assert_checkequal(pmodulo(int8(-123), int16([-7 5])),int8([3,2]));
+assert_checkequal(modulo( int8([-123 51]), int16(-7)),  int8([-4,2]));
+assert_checkequal(pmodulo(int8([-123 51]), int16(-7)),int8([3,2]));
+assert_checkequal(modulo( int8([-123 51]), int16([-7 5])),int8([-4,1]) );
+assert_checkequal(pmodulo(int8([-123 51]), int16([-7 5])),  int8([3,1]));
+// Hypermatrices
+m = hypermat([2 2 2],1:8);
+n = hypermat([2 2 2],-9:-2)
+ n  =
+(:,:,1)
+  - 9.  - 7.  
+  - 8.  - 6.  
+(:,:,2)
+  - 5.  - 3.  
+  - 4.  - 2.  
+a=[1 3;2 4];a(:,:,2)=[0 2; 1 3];
+assert_checkequal(modulo(m, 5), a );
+assert_checkequal(pmodulo(m,5), a);
+a=[6 2;3 3];a(:,:,2)=[1 0; 3 1];
+assert_checkequal(modulo(51, n), a);
+assert_checkequal(pmodulo(51,n), a);
+a=[1 3;2 4];a(:,:,2)=[0 1; 2 0];
+assert_checkequal(modulo(m, n), a);
+assert_checkequal(pmodulo(m,n), a);
+// Polynomials
+assert_checkequal(modulo( %z^2+1, %z), 1);
+assert_checkequal(pmodulo(%z^2+1, %z), 1);
+assert_checkequal(modulo(     -9 ,     [-7 5]) ,[-2 -4]);
+assert_checkequal(modulo(int8(-9),int8([-7 5])),int8([-2 -4]));
+assert_checkequal(modulo(      9 ,     [-7 5]) ,[2 4]);
+assert_checkequal(modulo( int8(9),int8([-7 5])),int8([2 4]));
+assert_checkequal(pmodulo(     -9,      [-7 5]) ,[5 1]);
+assert_checkequal(pmodulo(int8(-9),int8([-7 5])),int8([5 1]));
+assert_checkequal(pmodulo(      9,      [-7 5]) ,[2 4]);
+assert_checkequal(pmodulo( int8(9),int8([-7 5])),int8([2 4]));
index 7c0c6e6..2a68614 100644 (file)
 // =============================================================================
 
 assert_checkerror("modulo()", msprintf(_("%s: Wrong number of input argument(s): %d expected.\n"),"modulo", 2));
-assert_checkerror("modulo(''a'',1)", msprintf(_("%s: Wrong type for input argument #%d: A real expected.\n"), "modulo", 1));
-assert_checkerror("modulo(1,''a'')", msprintf(_("%s: Wrong type for input argument #%d: A real expected.\n"), "modulo", 2));
-assert_checkerror("modulo(%pi+%i,1)", msprintf(_("%s: Wrong type for input argument #%d: A real expected.\n"), "modulo", 1));
-assert_checkerror("modulo(1,1+%i)", msprintf(_("%s: Wrong type for input argument #%d: A real expected.\n"), "modulo", 2));
+assert_checkerror("modulo(''a'',1)", msprintf(_("%s: Wrong type for input argument #%d: Reals, encoded integers or polynomials expected.\n"), "modulo", 1));
+assert_checkerror("modulo(1,''a'')", msprintf(_("%s: Wrong type for input argument #%d: Reals, encoded integers or polynomials expected.\n"), "modulo", 2));
+assert_checkerror("modulo(%pi+%i,1)", msprintf(_("%s: Wrong type for input argument #%d: Reals, encoded integers or polynomials expected.\n"), "modulo", 1));
+assert_checkerror("modulo(1,1+%i)", msprintf(_("%s: Wrong type for input argument #%d: Reals, encoded integers or polynomials expected.\n"), "modulo", 2));
 
 n=[1,2,10,15];
 m=[2,2,3,5];
@@ -28,3 +28,41 @@ computed_r = n - m .* int (n ./ m);
 assert_checkequal(r, computed_r);
 
 assert_checkequal(modulo(%z^2,%z),0);
+// Encoded integers
+assert_checkequal(modulo( int8(-123), int16(-7)), int8(-4));
+assert_checkequal(pmodulo(int8(-123), int16(-7)), int8(3));
+assert_checkequal(modulo( int8(-123), int16([-7 5])),int8([-4,-3]));
+assert_checkequal(pmodulo(int8(-123), int16([-7 5])),int8([3,2]));
+assert_checkequal(modulo( int8([-123 51]), int16(-7)),  int8([-4,2]));
+assert_checkequal(pmodulo(int8([-123 51]), int16(-7)),int8([3,2]));
+assert_checkequal(modulo( int8([-123 51]), int16([-7 5])),int8([-4,1]) );
+assert_checkequal(pmodulo(int8([-123 51]), int16([-7 5])),  int8([3,1]));
+
+// Hypermatrices
+m = hypermat([2 2 2],1:8);
+n = hypermat([2 2 2],-9:-2)
+a=[1 3;2 4];a(:,:,2)=[0 2; 1 3];
+assert_checkequal(modulo(m, 5), a );
+assert_checkequal(pmodulo(m,5), a);
+a=[6 2;3 3];a(:,:,2)=[1 0; 3 1];
+assert_checkequal(modulo(51, n), a);
+assert_checkequal(pmodulo(51,n), a);
+a=[1 3;2 4];a(:,:,2)=[0 1; 2 0];
+assert_checkequal(modulo(m, n), a);
+assert_checkequal(pmodulo(m,n), a);
+
+// Polynomials
+assert_checkequal(modulo( %z^2+1, %z), 1);
+assert_checkequal(pmodulo(%z^2+1, %z), 1);
+
+
+assert_checkequal(modulo(     -9 ,     [-7 5]) ,[-2 -4]);
+assert_checkequal(modulo(int8(-9),int8([-7 5])),int8([-2 -4]));
+assert_checkequal(modulo(      9 ,     [-7 5]) ,[2 4]);
+assert_checkequal(modulo( int8(9),int8([-7 5])),int8([2 4]));
+
+assert_checkequal(pmodulo(     -9,      [-7 5]) ,[5 1]);
+assert_checkequal(pmodulo(int8(-9),int8([-7 5])),int8([5 1]));
+assert_checkequal(pmodulo(      9,      [-7 5]) ,[2 4]);
+assert_checkequal(pmodulo( int8(9),int8([-7 5])),int8([2 4]));
+
index 9413e82..805beb4 100644 (file)
@@ -938,8 +938,8 @@ maintainer-clean-generic:
        -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
 @JAVASCI_FALSE@distclean-local:
 @JAVASCI_FALSE@install-data-local:
-@JAVASCI_FALSE@clean-local:
 @JAVASCI_FALSE@install-html-local:
+@JAVASCI_FALSE@clean-local:
 clean: clean-am
 
 clean-am: clean-generic clean-libtool clean-local \
index 29b8727..47f997b 100644 (file)
@@ -1235,8 +1235,8 @@ check-code:
 # We call the target swig-build on the variable SWIG_WRAPPERS
 
 @GIWS_TRUE@giws: $(GIWS_WRAPPERS)
-@GIWS_TRUE@    @GIWS_OUTPUTDIR=src/jni/;\
-@GIWS_TRUE@    MANDATORY_OPTIONS=--throws-exception-on-error --description-file;\
+@GIWS_TRUE@    @GIWS_OUTPUTDIR=src/jni/; \
+@GIWS_TRUE@    MANDATORY_OPTIONS="--throws-exception-on-error --description-file"; \
 @GIWS_TRUE@    if test -n "$(GIWS_WRAPPERS)"; then \
 @GIWS_TRUE@            for file in $(GIWS_WRAPPERS) ; do \
 @GIWS_TRUE@                    echo "GIWS process of $$file ..."; \