* Bug 16259 fixed: * and .* with (sparse) booleans extended
[scilab.git] / scilab / modules / ast / tests / unit_tests / multiplication_with_booleans.tst
1 // ============================================================================
2 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3 // Copyright (C) 2019 - Samuel GOUGEON
4 //
5 //  This file is distributed under the same license as the Scilab package.
6 // ============================================================================
7
8 // <-- CLI SHELL MODE -->
9 // <-- NO CHECK REF -->
10
11 // ------------------------------------------------------
12 // Unit tests for mixed {boolean, double} multiplications
13 // ------------------------------------------------------
14
15 b = [%T %T %F ; %F %T %F];
16 spb = sparse(b);
17 d = [1 2 3; 4 5 6];
18 spd = sparse(d);
19 ref =  [3 9 ; 2 5];
20 spref = sparse(ref);
21
22 assert_checkequal(b*d', ref);
23 assert_checkequal(d*b', ref');
24
25 assert_checkequal(spb*d', spref);
26 assert_checkequal(d*spb', spref');
27 assert_checkequal(spb*spd', spref);
28 assert_checkequal(spd*spb', spref');
29 assert_checkequal(b*spd', spref);
30 assert_checkequal(spd*b', spref');
31
32 // -------------------------------------------------
33 // Unit tests for boolean * boolean multiplications
34 // ------------------------------------------------
35
36 b = [%T %T %F ; %F %T %F];
37 spb = sparse(b);
38 ref =  [2 1 ; 1 1];
39 spref = sparse(ref);
40
41 assert_checkequal(b*b', ref);
42 assert_checkequal(spb*b', spref);
43 assert_checkequal(b*spb', spref');
44 assert_checkequal(spb*spb', spref');