1// ============================================================================ 2// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab 3// Copyright (C) 2014 - Scilab Enterprises - Sylvain GENIN 4// Copyright (C) 2021 - Samuel GOUGEON 5// 6// This file is distributed under the same license as the Scilab package. 7// ============================================================================ 8// <-- NO CHECK REF --> 9// <-- CLI SHELL MODE --> 10 11s = %s; 12 13empty = []; 14 15r = 2; 16R = [1,2;3,4]; 17R3(:,:,1) = R; 18R3(:,:,2) = R'; 19c = 1 + 2*%i; 20C = [1+2*%i,2+4*%i;3+6*%i,4+8*%i]; 21C3(:,:,1) = C; 22C3(:,:,2) = C'; 23 24e = eye(); 25ec = (5+%i) * eye(); 26 27p = 1 + %s - %s**2; 28pc = 1 + %s - %s**2 + ( 2 - 3 * %s + 4 * %s**2 ) * %i; 29P = [2*p, 2;4*p,-5*p]; 30PC = [2*pc, 2;4*pc,-5*pc]; 31 32SP = sparse([1,2;4,5;3,10],[1,2,3]); 33SPC = sparse([1,2;4,5;3,10],[1,2,3]) * ( 1 + 4*%i); 34SPB = sparse([1,2;2,1],[%t;%t],[2,2]); 35SP1 = sparse([1,1],[10]); 36SPC1 = sparse([1,1],[1]) * ( 2 + 6*%i); 37 38i8 = int8(-8); 39ui8 = uint8(8); 40I8 = int8([-8 2 ; -24 -32]); 41UI8 = uint8([8 2 ; 24 32]); 42 43I16 = int16([-16 2 ; -48 -64]); 44UI16 = uint16([16 2 ; 48 64]); 45i16 = int16(-16); 46ui16 = uint16(16); 47 48i32 = int32(-32); 49ui32 = uint32(32); 50I32 = int32([-32 2 ; -96 -128]); 51UI32 = uint32([32 2 ; 96 128]); 52 53str = "string"; 54STR = ["string1" "string2";"string3" "string4"]; 55 56b = %f; 57B = [%t %f;%f %t]; 58 59assert_checkequal(empty <> empty, %f); 60assert_checkequal(empty <> r, %t); 61assert_checkequal(empty <> c, %t); 62assert_checkequal(empty <> R, %t); 63assert_checkequal(empty <> C, %t); 64assert_checkequal(empty <> e, %t); 65assert_checkequal(empty <> ec, %t); 66assert_checkequal(empty <> p, %t); 67assert_checkequal(empty <> pc, %t); 68assert_checkequal(empty <> P, %t); 69assert_checkequal(empty <> PC, %t); 70assert_checkequal(empty <> SP, %t); 71assert_checkequal(empty <> SPC, %t); 72assert_checkequal(empty <> SP1, %t); 73assert_checkequal(empty <> SPC1, %t); 74assert_checkequal(empty <> i8, %t); 75assert_checkequal(empty <> I8, %t); 76assert_checkequal(empty <> ui8, %t); 77assert_checkequal(empty <> UI8, %t); 78assert_checkequal(empty <> i16, %t); 79assert_checkequal(empty <> I16, %t); 80assert_checkequal(empty <> ui16, %t); 81assert_checkequal(empty <> UI16, %t); 82assert_checkequal(empty <> i32, %t); 83assert_checkequal(empty <> I32, %t); 84assert_checkequal(empty <> ui32, %t); 85assert_checkequal(empty <> UI32, %t); 86assert_checkequal(empty <> str, %t); 87assert_checkequal(empty <> STR, %t); 88assert_checkequal(empty <> b, %t); 89assert_checkequal(empty <> B, %t); 90assert_checkequal(empty <> SPB, %t); 91 92assert_checkequal(r <> empty, %t); 93assert_checkequal(r <> r, %f); 94assert_checkequal(r <> c, %t); 95assert_checkequal(r <> R, [%t,%f;%t,%t]); 96assert_checkequal(r <> C, [%t,%t;%t,%t]); 97assert_checkequal(r <> e, %t); 98assert_checkequal(r <> ec, %t); 99assert_checkequal(r <> p, %t); 100assert_checkequal(r <> pc, %t); 101assert_checkequal(r <> P, [%t,%f;%t,%t]); 102assert_checkequal(r <> PC, [%t,%f;%t,%t]); 103assert_checkequal(r <> SP, sparse([1,1;1,2;1,3;1,4;1,5;1,6;1,7;1,8;1,9;1,10;2,1;2,2;2,3;2,4;2,5;2,6;2,7;2,8;2,9;2,10;3,1;3,2;3,3;3,4;3,5;3,6;3,7;3,8;3,9;3,10;4,1;4,2;4,3;4,4;4,6;4,7;4,8;4,9;4,10],[%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t],[4,10])); 104assert_checkequal(r <> SPC, sparse([1,1;1,2;1,3;1,4;1,5;1,6;1,7;1,8;1,9;1,10;2,1;2,2;2,3;2,4;2,5;2,6;2,7;2,8;2,9;2,10;3,1;3,2;3,3;3,4;3,5;3,6;3,7;3,8;3,9;3,10;4,1;4,2;4,3;4,4;4,5;4,6;4,7;4,8;4,9;4,10],[%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t],[4,10])); 105assert_checkequal(r <> SP1, sparse([1,1],%t,[1,1])); 106assert_checkequal(r <> SPC1, sparse([1,1],%t,[1,1])); 107assert_checkequal(r <> i8, %t); 108assert_checkequal(r <> I8, [%t,%f;%t,%t]); 109assert_checkequal(r <> ui8, %t); 110assert_checkequal(r <> UI8, [%t,%f;%t,%t]); 111assert_checkequal(r <> i16, %t); 112assert_checkequal(r <> I16, [%t,%f;%t,%t]); 113assert_checkequal(r <> ui16, %t); 114assert_checkequal(r <> UI16, [%t,%f;%t,%t]); 115assert_checkequal(r <> i32, %t); 116assert_checkequal(r <> I32, [%t,%f;%t,%t]); 117assert_checkequal(r <> ui32, %t); 118assert_checkequal(r <> UI32, [%t,%f;%t,%t]); 119assert_checkequal(r <> str, %t); 120assert_checkequal(r <> STR, %t); 121assert_checkequal(r <> b, %t); 122assert_checkequal(r <> B, %t); 123assert_checkequal(r <> SPB, %t); 124 125assert_checkequal(c <> empty, %t); 126assert_checkequal(c <> r, %t); 127assert_checkequal(c <> c, %f); 128assert_checkequal(c <> R, [%t,%t;%t,%t]); 129assert_checkequal(c <> C, [%f,%t;%t,%t]); 130assert_checkequal(c <> e, %t); 131assert_checkequal(c <> ec, %t); 132assert_checkequal(c <> p, %t); 133assert_checkequal(c <> pc, %t); 134assert_checkequal(c <> P, [%t,%t;%t,%t]); 135assert_checkequal(c <> PC, [%t,%t;%t,%t]); 136assert_checkequal(c <> SP, sparse([1,1;1,2;1,3;1,4;1,5;1,6;1,7;1,8;1,9;1,10;2,1;2,2;2,3;2,4;2,5;2,6;2,7;2,8;2,9;2,10;3,1;3,2;3,3;3,4;3,5;3,6;3,7;3,8;3,9;3,10;4,1;4,2;4,3;4,4;4,5;4,6;4,7;4,8;4,9;4,10],[%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t],[4,10])); 137assert_checkequal(c <> SPC, sparse([1,1;1,2;1,3;1,4;1,5;1,6;1,7;1,8;1,9;1,10;2,1;2,2;2,3;2,4;2,5;2,6;2,7;2,8;2,9;2,10;3,1;3,2;3,3;3,4;3,5;3,6;3,7;3,8;3,9;3,10;4,1;4,2;4,3;4,4;4,5;4,6;4,7;4,8;4,9;4,10],[%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t],[4,10])); 138assert_checkequal(c <> SP1, sparse([1,1],%t,[1,1])); 139assert_checkequal(c <> SPC1, sparse([1,1],%t,[1,1])); 140assert_checkequal(c <> i8, %t); 141assert_checkequal(c <> I8, [%t,%t;%t,%t]); 142assert_checkequal(c <> ui8, %t); 143assert_checkequal(c <> UI8, [%t,%t;%t,%t]); 144assert_checkequal(c <> i16, %t); 145assert_checkequal(c <> I16, [%t,%t;%t,%t]); 146assert_checkequal(c <> ui16, %t); 147assert_checkequal(c <> UI16, [%t,%t;%t,%t]); 148assert_checkequal(c <> i32, %t); 149assert_checkequal(c <> I32, [%t,%t;%t,%t]); 150assert_checkequal(c <> ui32, %t); 151assert_checkequal(c <> UI32, [%t,%t;%t,%t]); 152assert_checkequal(c <> str, %t); 153assert_checkequal(c <> STR, %t); 154assert_checkequal(c <> b, %t); 155assert_checkequal(c <> B, %t); 156assert_checkequal(c <> SPB, %t); 157 158assert_checkequal(R <> empty, %t); 159assert_checkequal(R <> r, [%t,%f;%t,%t]); 160assert_checkequal(R <> c, [%t,%t;%t,%t]); 161assert_checkequal(R <> R, [%f,%f;%f,%f]); 162assert_checkequal(R <> C, [%t,%t;%t,%t]); 163assert_checkequal(R <> e, [%f,%t;%t,%t]); 164assert_checkequal(R <> ec, [%t,%t;%t,%t]); 165assert_checkequal(R <> p, [%t,%t;%t,%t]); 166assert_checkequal(R <> pc, [%t,%t;%t,%t]); 167assert_checkequal(R <> P, [%t,%f;%t,%t]); 168assert_checkequal(R <> PC, [%t,%f;%t,%t]); 169assert_checkequal(R <> SP, %t); 170assert_checkequal(R <> SPC, %t); 171assert_checkequal(R <> SP1, %t); 172assert_checkequal(R <> SPC1, %t); 173assert_checkequal(R <> i8, [%t,%t;%t,%t]); 174assert_checkequal(R <> I8, [%t,%f;%t,%t]); 175assert_checkequal(R <> ui8, [%t,%t;%t,%t]); 176assert_checkequal(R <> UI8, [%t,%f;%t,%t]); 177assert_checkequal(R <> i16, [%t,%t;%t,%t]); 178assert_checkequal(R <> I16, [%t,%f;%t,%t]); 179assert_checkequal(R <> ui16, [%t,%t;%t,%t]); 180assert_checkequal(R <> UI16, [%t,%f;%t,%t]); 181assert_checkequal(R <> i32, [%t,%t;%t,%t]); 182assert_checkequal(R <> I32, [%t,%f;%t,%t]); 183assert_checkequal(R <> ui32, [%t,%t;%t,%t]); 184assert_checkequal(R <> UI32, [%t,%f;%t,%t]); 185assert_checkequal(R <> str, %t); 186assert_checkequal(R <> STR, %t); 187assert_checkequal(R <> b, %t); 188assert_checkequal(R <> B, %t); 189assert_checkequal(R <> SPB, %t); 190 191assert_checkequal(C <> empty, %t); 192assert_checkequal(C <> r, [%t,%t;%t,%t]); 193assert_checkequal(C <> c, [%f,%t;%t,%t]); 194assert_checkequal(C <> R, [%t,%t;%t,%t]); 195assert_checkequal(C <> C, [%f,%f;%f,%f]); 196assert_checkequal(C <> e, [%t,%t;%t,%t]); 197assert_checkequal(C <> ec, [%t,%t;%t,%t]); 198assert_checkequal(C <> p, [%t,%t;%t,%t]); 199assert_checkequal(C <> pc, [%t,%t;%t,%t]); 200assert_checkequal(C <> P, [%t,%t;%t,%t]); 201assert_checkequal(C <> PC, [%t,%t;%t,%t]); 202assert_checkequal(C <> SP, %t); 203assert_checkequal(C <> SPC, %t); 204assert_checkequal(C <> SP1, %t); 205assert_checkequal(C <> SPC1, %t); 206assert_checkequal(C <> i8, [%t,%t;%t,%t]); 207assert_checkequal(C <> I8, [%t,%t;%t,%t]); 208assert_checkequal(C <> ui8, [%t,%t;%t,%t]); 209assert_checkequal(C <> UI8, [%t,%t;%t,%t]); 210assert_checkequal(C <> i16, [%t,%t;%t,%t]); 211assert_checkequal(C <> I16, [%t,%t;%t,%t]); 212assert_checkequal(C <> ui16, [%t,%t;%t,%t]); 213assert_checkequal(C <> UI16, [%t,%t;%t,%t]); 214assert_checkequal(C <> i32, [%t,%t;%t,%t]); 215assert_checkequal(C <> I32, [%t,%t;%t,%t]); 216assert_checkequal(C <> ui32, [%t,%t;%t,%t]); 217assert_checkequal(C <> UI32, [%t,%t;%t,%t]); 218assert_checkequal(C <> str, %t); 219assert_checkequal(C <> STR, %t); 220assert_checkequal(C <> b, %t); 221assert_checkequal(C <> B, %t); 222assert_checkequal(C <> SPB, %t); 223 224assert_checkequal(e <> empty, %t); 225assert_checkequal(e <> r, %t); 226assert_checkequal(e <> c, %t); 227assert_checkequal(e <> R, [%f,%t;%t,%t]); 228assert_checkequal(e <> C, [%t,%t;%t,%t]); 229assert_checkequal(e <> e, %f); 230assert_checkequal(e <> ec, %t); 231assert_checkequal(e <> p, %t); 232assert_checkequal(e <> pc, %t); 233assert_checkequal(e <> P, [%t,%t;%t,%t]); 234assert_checkequal(e <> PC, [%t,%t;%t,%t]); 235assert_checkequal(e <> SP, %t); 236assert_checkequal(e <> SPC, %t); 237assert_checkequal(e <> SP1, %t); 238assert_checkequal(e <> SPC1, %t); 239assert_checkequal(e <> i8, %t); 240assert_checkequal(e <> I8, [%t,%t;%t,%t]); 241assert_checkequal(e <> ui8, %t); 242assert_checkequal(e <> UI8, [%t,%t;%t,%t]); 243assert_checkequal(e <> i16, %t); 244assert_checkequal(e <> I16, [%t,%t;%t,%t]); 245assert_checkequal(e <> ui16, %t); 246assert_checkequal(e <> UI16, [%t,%t;%t,%t]); 247assert_checkequal(e <> i32, %t); 248assert_checkequal(e <> I32, [%t,%t;%t,%t]); 249assert_checkequal(e <> ui32, %t); 250assert_checkequal(e <> UI32, [%t,%t;%t,%t]); 251assert_checkequal(e <> str, %t); 252assert_checkequal(e <> STR, %t); 253assert_checkequal(e <> b, %t); 254assert_checkequal(e <> B, %t); 255assert_checkequal(e <> SPB, %t); 256 257assert_checkequal(ec <> empty, %t); 258assert_checkequal(ec <> r, %t); 259assert_checkequal(ec <> c, %t); 260assert_checkequal(ec <> R, [%t,%t;%t,%t]); 261assert_checkequal(ec <> C, [%t,%t;%t,%t]); 262assert_checkequal(ec <> e, %t); 263assert_checkequal(ec <> ec, %f); 264assert_checkequal(ec <> p, %t); 265assert_checkequal(ec <> pc, %t); 266assert_checkequal(ec <> P, [%t,%t;%t,%t]); 267assert_checkequal(ec <> PC, [%t,%t;%t,%t]); 268assert_checkequal(ec <> SP, %t); 269assert_checkequal(ec <> SPC, %t); 270assert_checkequal(ec <> SP1, %t); 271assert_checkequal(ec <> SPC1, %t); 272assert_checkequal(ec <> i8, %t); 273assert_checkequal(ec <> I8, [%t,%t;%t,%t]); 274assert_checkequal(ec <> ui8, %t); 275assert_checkequal(ec <> UI8, [%t,%t;%t,%t]); 276assert_checkequal(ec <> i16, %t); 277assert_checkequal(ec <> I16, [%t,%t;%t,%t]); 278assert_checkequal(ec <> ui16, %t); 279assert_checkequal(ec <> UI16, [%t,%t;%t,%t]); 280assert_checkequal(ec <> i32, %t); 281assert_checkequal(ec <> I32, [%t,%t;%t,%t]); 282assert_checkequal(ec <> ui32, %t); 283assert_checkequal(ec <> UI32, [%t,%t;%t,%t]); 284assert_checkequal(ec <> str, %t); 285assert_checkequal(ec <> STR, %t); 286assert_checkequal(ec <> b, %t); 287assert_checkequal(ec <> B, %t); 288assert_checkequal(ec <> SPB, %t); 289 290assert_checkequal(p <> empty, %t); 291assert_checkequal(p <> r, %t); 292assert_checkequal(p <> c, %t); 293assert_checkequal(p <> R, [%t,%t;%t,%t]); 294assert_checkequal(p <> C, [%t,%t;%t,%t]); 295assert_checkequal(p <> e, %t); 296assert_checkequal(p <> ec, %t); 297assert_checkequal(p <> p, %f); 298assert_checkequal(p <> pc, %t); 299assert_checkequal(p <> P, [%t,%t;%t,%t]); 300assert_checkequal(p <> PC, [%t,%t;%t,%t]); 301assert_checkequal(p <> i8, %t); 302assert_checkequal(p <> I8, [%t,%t;%t,%t]); 303assert_checkequal(p <> ui8, %t); 304assert_checkequal(p <> UI8, [%t,%t;%t,%t]); 305assert_checkequal(p <> i16, %t); 306assert_checkequal(p <> I16, [%t,%t;%t,%t]); 307assert_checkequal(p <> ui16, %t); 308assert_checkequal(p <> UI16, [%t,%t;%t,%t]); 309assert_checkequal(p <> i32, %t); 310assert_checkequal(p <> I32, [%t,%t;%t,%t]); 311assert_checkequal(p <> ui32, %t); 312assert_checkequal(p <> UI32, [%t,%t;%t,%t]); 313assert_checkequal(p <> str, %t); 314assert_checkequal(p <> STR, %t); 315assert_checkequal(p <> b, %t); 316assert_checkequal(p <> B, %t); 317 318assert_checkequal(pc <> empty, %t); 319assert_checkequal(pc <> r, %t); 320assert_checkequal(pc <> c, %t); 321assert_checkequal(pc <> R, [%t,%t;%t,%t]); 322assert_checkequal(pc <> C, [%t,%t;%t,%t]); 323assert_checkequal(pc <> e, %t); 324assert_checkequal(pc <> ec, %t); 325assert_checkequal(pc <> p, %t); 326assert_checkequal(pc <> pc, %f); 327assert_checkequal(pc <> P, [%t,%t;%t,%t]); 328assert_checkequal(pc <> PC, [%t,%t;%t,%t]); 329assert_checkequal(pc <> i8, %t); 330assert_checkequal(pc <> I8, [%t,%t;%t,%t]); 331assert_checkequal(pc <> ui8, %t); 332assert_checkequal(pc <> UI8, [%t,%t;%t,%t]); 333assert_checkequal(pc <> i16, %t); 334assert_checkequal(pc <> I16, [%t,%t;%t,%t]); 335assert_checkequal(pc <> ui16, %t); 336assert_checkequal(pc <> UI16, [%t,%t;%t,%t]); 337assert_checkequal(pc <> i32, %t); 338assert_checkequal(pc <> I32, [%t,%t;%t,%t]); 339assert_checkequal(pc <> ui32, %t); 340assert_checkequal(pc <> UI32, [%t,%t;%t,%t]); 341assert_checkequal(pc <> str, %t); 342assert_checkequal(pc <> STR, %t); 343assert_checkequal(pc <> b, %t); 344assert_checkequal(pc <> B, %t); 345 346assert_checkequal(P <> empty, %t); 347assert_checkequal(P <> r, [%t,%f;%t,%t]); 348assert_checkequal(P <> c, [%t,%t;%t,%t]); 349assert_checkequal(P <> R, [%t,%f;%t,%t]); 350assert_checkequal(P <> C, [%t,%t;%t,%t]); 351assert_checkequal(P <> e, [%t,%t;%t,%t]); 352assert_checkequal(P <> ec, [%t,%t;%t,%t]); 353assert_checkequal(P <> p, [%t,%t;%t,%t]); 354assert_checkequal(P <> pc, [%t,%t;%t,%t]); 355assert_checkequal(P <> P, [%f,%f;%f,%f]); 356assert_checkequal(P <> PC, [%t,%f;%t,%t]); 357assert_checkequal(P <> i8, [%t,%t;%t,%t]); 358assert_checkequal(P <> I8, [%t,%f;%t,%t]); 359assert_checkequal(P <> ui8, [%t,%t;%t,%t]); 360assert_checkequal(P <> UI8, [%t,%f;%t,%t]); 361assert_checkequal(P <> i16, [%t,%t;%t,%t]); 362assert_checkequal(P <> I16, [%t,%f;%t,%t]); 363assert_checkequal(P <> ui16, [%t,%t;%t,%t]); 364assert_checkequal(P <> UI16, [%t,%f;%t,%t]); 365assert_checkequal(P <> i32, [%t,%t;%t,%t]); 366assert_checkequal(P <> I32, [%t,%f;%t,%t]); 367assert_checkequal(P <> ui32, [%t,%t;%t,%t]); 368assert_checkequal(P <> UI32, [%t,%f;%t,%t]); 369assert_checkequal(P <> str, %t); 370assert_checkequal(P <> STR, %t); 371assert_checkequal(P <> b, %t); 372assert_checkequal(P <> B, %t); 373 374assert_checkequal(PC <> empty, %t); 375assert_checkequal(PC <> r, [%t,%f;%t,%t]); 376assert_checkequal(PC <> c, [%t,%t;%t,%t]); 377assert_checkequal(PC <> R, [%t,%f;%t,%t]); 378assert_checkequal(PC <> C, [%t,%t;%t,%t]); 379assert_checkequal(PC <> e, [%t,%t;%t,%t]); 380assert_checkequal(PC <> ec, [%t,%t;%t,%t]); 381assert_checkequal(PC <> p, [%t,%t;%t,%t]); 382assert_checkequal(PC <> pc, [%t,%t;%t,%t]); 383assert_checkequal(PC <> P, [%t,%f;%t,%t]); 384assert_checkequal(PC <> PC, [%f,%f;%f,%f]); 385assert_checkequal(PC <> i8, [%t,%t;%t,%t]); 386assert_checkequal(PC <> I8, [%t,%f;%t,%t]); 387assert_checkequal(PC <> ui8, [%t,%t;%t,%t]); 388assert_checkequal(PC <> UI8, [%t,%f;%t,%t]); 389assert_checkequal(PC <> i16, [%t,%t;%t,%t]); 390assert_checkequal(PC <> I16, [%t,%f;%t,%t]); 391assert_checkequal(PC <> ui16, [%t,%t;%t,%t]); 392assert_checkequal(PC <> UI16, [%t,%f;%t,%t]); 393assert_checkequal(PC <> i32, [%t,%t;%t,%t]); 394assert_checkequal(PC <> I32, [%t,%f;%t,%t]); 395assert_checkequal(PC <> ui32, [%t,%t;%t,%t]); 396assert_checkequal(PC <> UI32, [%t,%f;%t,%t]); 397assert_checkequal(PC <> str, %t); 398assert_checkequal(PC <> STR, %t); 399assert_checkequal(PC <> b, %t); 400assert_checkequal(PC <> B, %t); 401 402assert_checkequal(SP <> empty, %t); 403assert_checkequal(SP <> r, sparse([1,1;1,2;1,3;1,4;1,5;1,6;1,7;1,8;1,9;1,10;2,1;2,2;2,3;2,4;2,5;2,6;2,7;2,8;2,9;2,10;3,1;3,2;3,3;3,4;3,5;3,6;3,7;3,8;3,9;3,10;4,1;4,2;4,3;4,4;4,6;4,7;4,8;4,9;4,10],[%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t],[4,10])); 404assert_checkequal(SP <> c, sparse([1,1;1,2;1,3;1,4;1,5;1,6;1,7;1,8;1,9;1,10;2,1;2,2;2,3;2,4;2,5;2,6;2,7;2,8;2,9;2,10;3,1;3,2;3,3;3,4;3,5;3,6;3,7;3,8;3,9;3,10;4,1;4,2;4,3;4,4;4,5;4,6;4,7;4,8;4,9;4,10],[%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t],[4,10])); 405assert_checkequal(SP <> R, %t); 406assert_checkequal(SP <> C, %t); 407assert_checkequal(SP <> e, %t); 408assert_checkequal(SP <> ec, %t); 409assert_checkequal(SP <> SP, sparse([1,1],[%f],[4,10])); 410assert_checkequal(SP <> SPC, sparse([1,2;3,10;4,5],[%t;%t;%t],[4,10])); 411assert_checkequal(SP <> SP1, sparse([1,1;1,2;1,3;1,4;1,5;1,6;1,7;1,8;1,9;1,10;2,1;2,2;2,3;2,4;2,5;2,6;2,7;2,8;2,9;2,10;3,1;3,2;3,3;3,4;3,5;3,6;3,7;3,8;3,9;3,10;4,1;4,2;4,3;4,4;4,5;4,6;4,7;4,8;4,9;4,10],[%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t],[4,10])); 412assert_checkequal(SP <> SPC1, sparse([1,1;1,2;1,3;1,4;1,5;1,6;1,7;1,8;1,9;1,10;2,1;2,2;2,3;2,4;2,5;2,6;2,7;2,8;2,9;2,10;3,1;3,2;3,3;3,4;3,5;3,6;3,7;3,8;3,9;3,10;4,1;4,2;4,3;4,4;4,5;4,6;4,7;4,8;4,9;4,10],[%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t],[4,10])); 413assert_checkequal(SP <> i8, sparse([1,1;1,2;1,3;1,4;1,5;1,6;1,7;1,8;1,9;1,10;2,1;2,2;2,3;2,4;2,5;2,6;2,7;2,8;2,9;2,10;3,1;3,2;3,3;3,4;3,5;3,6;3,7;3,8;3,9;3,10;4,1;4,2;4,3;4,4;4,5;4,6;4,7;4,8;4,9;4,10],[%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t],[4,10])); 414assert_checkequal(SP <> I8, %t); 415assert_checkequal(SP <> ui8, sparse([1,1;1,2;1,3;1,4;1,5;1,6;1,7;1,8;1,9;1,10;2,1;2,2;2,3;2,4;2,5;2,6;2,7;2,8;2,9;2,10;3,1;3,2;3,3;3,4;3,5;3,6;3,7;3,8;3,9;3,10;4,1;4,2;4,3;4,4;4,5;4,6;4,7;4,8;4,9;4,10],[%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t],[4,10])); 416assert_checkequal(SP <> UI8, %t); 417assert_checkequal(SP <> i16, sparse([1,1;1,2;1,3;1,4;1,5;1,6;1,7;1,8;1,9;1,10;2,1;2,2;2,3;2,4;2,5;2,6;2,7;2,8;2,9;2,10;3,1;3,2;3,3;3,4;3,5;3,6;3,7;3,8;3,9;3,10;4,1;4,2;4,3;4,4;4,5;4,6;4,7;4,8;4,9;4,10],[%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t],[4,10])); 418assert_checkequal(SP <> I16, %t); 419assert_checkequal(SP <> ui16, sparse([1,1;1,2;1,3;1,4;1,5;1,6;1,7;1,8;1,9;1,10;2,1;2,2;2,3;2,4;2,5;2,6;2,7;2,8;2,9;2,10;3,1;3,2;3,3;3,4;3,5;3,6;3,7;3,8;3,9;3,10;4,1;4,2;4,3;4,4;4,5;4,6;4,7;4,8;4,9;4,10],[%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t],[4,10])); 420assert_checkequal(SP <> UI16, %t); 421assert_checkequal(SP <> i32, sparse([1,1;1,2;1,3;1,4;1,5;1,6;1,7;1,8;1,9;1,10;2,1;2,2;2,3;2,4;2,5;2,6;2,7;2,8;2,9;2,10;3,1;3,2;3,3;3,4;3,5;3,6;3,7;3,8;3,9;3,10;4,1;4,2;4,3;4,4;4,5;4,6;4,7;4,8;4,9;4,10],[%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t],[4,10])); 422assert_checkequal(SP <> I32, %t); 423assert_checkequal(SP <> ui32, sparse([1,1;1,2;1,3;1,4;1,5;1,6;1,7;1,8;1,9;1,10;2,1;2,2;2,3;2,4;2,5;2,6;2,7;2,8;2,9;2,10;3,1;3,2;3,3;3,4;3,5;3,6;3,7;3,8;3,9;3,10;4,1;4,2;4,3;4,4;4,5;4,6;4,7;4,8;4,9;4,10],[%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t],[4,10])); 424assert_checkequal(SP <> UI32, %t); 425assert_checkequal(SP <> str, %t); 426assert_checkequal(SP <> STR, %t); 427assert_checkequal(SP <> b, %t); 428assert_checkequal(SP <> B, %t); 429assert_checkequal(SP <> SPB, %t); 430 431assert_checkequal(SPC <> empty, %t); 432assert_checkequal(SPC <> r, sparse([1,1;1,2;1,3;1,4;1,5;1,6;1,7;1,8;1,9;1,10;2,1;2,2;2,3;2,4;2,5;2,6;2,7;2,8;2,9;2,10;3,1;3,2;3,3;3,4;3,5;3,6;3,7;3,8;3,9;3,10;4,1;4,2;4,3;4,4;4,5;4,6;4,7;4,8;4,9;4,10],[%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t],[4,10])); 433assert_checkequal(SPC <> c, sparse([1,1;1,2;1,3;1,4;1,5;1,6;1,7;1,8;1,9;1,10;2,1;2,2;2,3;2,4;2,5;2,6;2,7;2,8;2,9;2,10;3,1;3,2;3,3;3,4;3,5;3,6;3,7;3,8;3,9;3,10;4,1;4,2;4,3;4,4;4,5;4,6;4,7;4,8;4,9;4,10],[%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t],[4,10])); 434assert_checkequal(SPC <> R, %t); 435assert_checkequal(SPC <> C, %t); 436assert_checkequal(SPC <> e, %t); 437assert_checkequal(SPC <> ec, %t); 438assert_checkequal(SPC <> SP, sparse([1,2;3,10;4,5],[%t;%t;%t],[4,10])); 439assert_checkequal(SPC <> SPC, sparse([1,1],[%f],[4,10])); 440assert_checkequal(SPC <> SP1, sparse([1,1;1,2;1,3;1,4;1,5;1,6;1,7;1,8;1,9;1,10;2,1;2,2;2,3;2,4;2,5;2,6;2,7;2,8;2,9;2,10;3,1;3,2;3,3;3,4;3,5;3,6;3,7;3,8;3,9;3,10;4,1;4,2;4,3;4,4;4,5;4,6;4,7;4,8;4,9;4,10],[%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t],[4,10])); 441assert_checkequal(SPC <> SPC1, sparse([1,1;1,2;1,3;1,4;1,5;1,6;1,7;1,8;1,9;1,10;2,1;2,2;2,3;2,4;2,5;2,6;2,7;2,8;2,9;2,10;3,1;3,2;3,3;3,4;3,5;3,6;3,7;3,8;3,9;3,10;4,1;4,2;4,3;4,4;4,5;4,6;4,7;4,8;4,9;4,10],[%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t],[4,10])); 442assert_checkequal(SPC <> i8, sparse([1,1;1,2;1,3;1,4;1,5;1,6;1,7;1,8;1,9;1,10;2,1;2,2;2,3;2,4;2,5;2,6;2,7;2,8;2,9;2,10;3,1;3,2;3,3;3,4;3,5;3,6;3,7;3,8;3,9;3,10;4,1;4,2;4,3;4,4;4,5;4,6;4,7;4,8;4,9;4,10],[%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t],[4,10])); 443assert_checkequal(SPC <> I8, %t); 444assert_checkequal(SPC <> ui8, sparse([1,1;1,2;1,3;1,4;1,5;1,6;1,7;1,8;1,9;1,10;2,1;2,2;2,3;2,4;2,5;2,6;2,7;2,8;2,9;2,10;3,1;3,2;3,3;3,4;3,5;3,6;3,7;3,8;3,9;3,10;4,1;4,2;4,3;4,4;4,5;4,6;4,7;4,8;4,9;4,10],[%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t],[4,10])); 445assert_checkequal(SPC <> UI8, %t); 446assert_checkequal(SPC <> i16, sparse([1,1;1,2;1,3;1,4;1,5;1,6;1,7;1,8;1,9;1,10;2,1;2,2;2,3;2,4;2,5;2,6;2,7;2,8;2,9;2,10;3,1;3,2;3,3;3,4;3,5;3,6;3,7;3,8;3,9;3,10;4,1;4,2;4,3;4,4;4,5;4,6;4,7;4,8;4,9;4,10],[%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t],[4,10])); 447assert_checkequal(SPC <> I16, %t); 448assert_checkequal(SPC <> ui16, sparse([1,1;1,2;1,3;1,4;1,5;1,6;1,7;1,8;1,9;1,10;2,1;2,2;2,3;2,4;2,5;2,6;2,7;2,8;2,9;2,10;3,1;3,2;3,3;3,4;3,5;3,6;3,7;3,8;3,9;3,10;4,1;4,2;4,3;4,4;4,5;4,6;4,7;4,8;4,9;4,10],[%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t],[4,10])); 449assert_checkequal(SPC <> UI16, %t); 450assert_checkequal(SPC <> i32, sparse([1,1;1,2;1,3;1,4;1,5;1,6;1,7;1,8;1,9;1,10;2,1;2,2;2,3;2,4;2,5;2,6;2,7;2,8;2,9;2,10;3,1;3,2;3,3;3,4;3,5;3,6;3,7;3,8;3,9;3,10;4,1;4,2;4,3;4,4;4,5;4,6;4,7;4,8;4,9;4,10],[%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t],[4,10])); 451assert_checkequal(SPC <> I32, %t); 452assert_checkequal(SPC <> ui32, sparse([1,1;1,2;1,3;1,4;1,5;1,6;1,7;1,8;1,9;1,10;2,1;2,2;2,3;2,4;2,5;2,6;2,7;2,8;2,9;2,10;3,1;3,2;3,3;3,4;3,5;3,6;3,7;3,8;3,9;3,10;4,1;4,2;4,3;4,4;4,5;4,6;4,7;4,8;4,9;4,10],[%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t],[4,10])); 453assert_checkequal(SPC <> UI32, %t); 454assert_checkequal(SPC <> str, %t); 455assert_checkequal(SPC <> STR, %t); 456assert_checkequal(SPC <> b, %t); 457assert_checkequal(SPC <> B, %t); 458assert_checkequal(SPC <> SPB, %t); 459 460assert_checkequal(SP1 <> empty, %t); 461assert_checkequal(SP1 <> r, sparse([1,1],%t,[1,1])); 462assert_checkequal(SP1 <> c, sparse([1,1],%t,[1,1])); 463assert_checkequal(SP1 <> R, %t); 464assert_checkequal(SP1 <> C, %t); 465assert_checkequal(SP1 <> e, %t); 466assert_checkequal(SP1 <> ec, %t); 467assert_checkequal(SP1 <> SP, sparse([1,1;1,2;1,3;1,4;1,5;1,6;1,7;1,8;1,9;1,10;2,1;2,2;2,3;2,4;2,5;2,6;2,7;2,8;2,9;2,10;3,1;3,2;3,3;3,4;3,5;3,6;3,7;3,8;3,9;3,10;4,1;4,2;4,3;4,4;4,5;4,6;4,7;4,8;4,9;4,10],[%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t],[4,10])); 468assert_checkequal(SP1 <> SPC, sparse([1,1;1,2;1,3;1,4;1,5;1,6;1,7;1,8;1,9;1,10;2,1;2,2;2,3;2,4;2,5;2,6;2,7;2,8;2,9;2,10;3,1;3,2;3,3;3,4;3,5;3,6;3,7;3,8;3,9;3,10;4,1;4,2;4,3;4,4;4,5;4,6;4,7;4,8;4,9;4,10],[%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t],[4,10])); 469assert_checkequal(SP1 <> SP1, sparse([1,1],[%f],[1,1])); 470assert_checkequal(SP1 <> SPC1, sparse([1,1],%t,[1,1])); 471assert_checkequal(SP1 <> i8, sparse([1,1],%t,[1,1])); 472assert_checkequal(SP1 <> I8, %t); 473assert_checkequal(SP1 <> ui8, sparse([1,1],%t,[1,1])); 474assert_checkequal(SP1 <> UI8, %t); 475assert_checkequal(SP1 <> i16, sparse([1,1],%t,[1,1])); 476assert_checkequal(SP1 <> I16, %t); 477assert_checkequal(SP1 <> ui16, sparse([1,1],%t,[1,1])); 478assert_checkequal(SP1 <> UI16, %t); 479assert_checkequal(SP1 <> i32, sparse([1,1],%t,[1,1])); 480assert_checkequal(SP1 <> I32, %t); 481assert_checkequal(SP1 <> ui32, sparse([1,1],%t,[1,1])); 482assert_checkequal(SP1 <> UI32, %t); 483assert_checkequal(SP1 <> str, %t); 484assert_checkequal(SP1 <> STR, %t); 485assert_checkequal(SP1 <> b, %t); 486assert_checkequal(SP1 <> B, %t); 487assert_checkequal(SP1 <> SPB, %t); 488 489assert_checkequal(SPC1 <> empty, %t); 490assert_checkequal(SPC1 <> r, sparse([1,1],%t,[1,1])); 491assert_checkequal(SPC1 <> c, sparse([1,1],%t,[1,1])); 492assert_checkequal(SPC1 <> R, %t); 493assert_checkequal(SPC1 <> C, %t); 494assert_checkequal(SPC1 <> e, %t); 495assert_checkequal(SPC1 <> ec, %t); 496assert_checkequal(SPC1 <> SP, sparse([1,1;1,2;1,3;1,4;1,5;1,6;1,7;1,8;1,9;1,10;2,1;2,2;2,3;2,4;2,5;2,6;2,7;2,8;2,9;2,10;3,1;3,2;3,3;3,4;3,5;3,6;3,7;3,8;3,9;3,10;4,1;4,2;4,3;4,4;4,5;4,6;4,7;4,8;4,9;4,10],[%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t],[4,10])); 497assert_checkequal(SPC1 <> SPC, sparse([1,1;1,2;1,3;1,4;1,5;1,6;1,7;1,8;1,9;1,10;2,1;2,2;2,3;2,4;2,5;2,6;2,7;2,8;2,9;2,10;3,1;3,2;3,3;3,4;3,5;3,6;3,7;3,8;3,9;3,10;4,1;4,2;4,3;4,4;4,5;4,6;4,7;4,8;4,9;4,10],[%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t],[4,10])); 498assert_checkequal(SPC1 <> SP1, sparse([1,1],%t,[1,1])); 499assert_checkequal(SPC1 <> SPC1, sparse([1,1],[%f],[1,1])); 500assert_checkequal(SPC1 <> i8, sparse([1,1],%t,[1,1])); 501assert_checkequal(SPC1 <> I8, %t); 502assert_checkequal(SPC1 <> ui8, sparse([1,1],%t,[1,1])); 503assert_checkequal(SPC1 <> UI8, %t); 504assert_checkequal(SPC1 <> i16, sparse([1,1],%t,[1,1])); 505assert_checkequal(SPC1 <> I16, %t); 506assert_checkequal(SPC1 <> ui16, sparse([1,1],%t,[1,1])); 507assert_checkequal(SPC1 <> UI16, %t); 508assert_checkequal(SPC1 <> i32, sparse([1,1],%t,[1,1])); 509assert_checkequal(SPC1 <> I32, %t); 510assert_checkequal(SPC1 <> ui32, sparse([1,1],%t,[1,1])); 511assert_checkequal(SPC1 <> UI32, %t); 512assert_checkequal(SPC1 <> str, %t); 513assert_checkequal(SPC1 <> STR, %t); 514assert_checkequal(SPC1 <> b, %t); 515assert_checkequal(SPC1 <> B, %t); 516assert_checkequal(SPC1 <> SPB, %t); 517 518assert_checkequal(i8 <> empty, %t); 519assert_checkequal(i8 <> r, %t); 520assert_checkequal(i8 <> c, %t); 521assert_checkequal(i8 <> R, [%t,%t;%t,%t]); 522assert_checkequal(i8 <> C, [%t,%t;%t,%t]); 523assert_checkequal(i8 <> e, %t); 524assert_checkequal(i8 <> ec, %t); 525assert_checkequal(i8 <> p, %t); 526assert_checkequal(i8 <> pc, %t); 527assert_checkequal(i8 <> P, [%t,%t;%t,%t]); 528assert_checkequal(i8 <> PC, [%t,%t;%t,%t]); 529assert_checkequal(i8 <> SP, sparse([1,1;1,2;1,3;1,4;1,5;1,6;1,7;1,8;1,9;1,10;2,1;2,2;2,3;2,4;2,5;2,6;2,7;2,8;2,9;2,10;3,1;3,2;3,3;3,4;3,5;3,6;3,7;3,8;3,9;3,10;4,1;4,2;4,3;4,4;4,5;4,6;4,7;4,8;4,9;4,10],[%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t],[4,10])); 530assert_checkequal(i8 <> SPC, sparse([1,1;1,2;1,3;1,4;1,5;1,6;1,7;1,8;1,9;1,10;2,1;2,2;2,3;2,4;2,5;2,6;2,7;2,8;2,9;2,10;3,1;3,2;3,3;3,4;3,5;3,6;3,7;3,8;3,9;3,10;4,1;4,2;4,3;4,4;4,5;4,6;4,7;4,8;4,9;4,10],[%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t],[4,10])); 531assert_checkequal(i8 <> SP1, sparse([1,1],%t,[1,1])); 532assert_checkequal(i8 <> SPC1, sparse([1,1],%t,[1,1])); 533assert_checkequal(i8 <> i8, %f); 534assert_checkequal(i8 <> I8, [%f,%t;%t,%t]); 535assert_checkequal(i8 <> ui8, %t); 536assert_checkequal(i8 <> UI8, [%t,%t;%t,%t]); 537assert_checkequal(i8 <> i16, %t); 538assert_checkequal(i8 <> I16, [%t,%t;%t,%t]); 539assert_checkequal(i8 <> ui16, %t); 540assert_checkequal(i8 <> UI16, [%t,%t;%t,%t]); 541assert_checkequal(i8 <> i32, %t); 542assert_checkequal(i8 <> I32, [%t,%t;%t,%t]); 543assert_checkequal(i8 <> ui32, %t); 544assert_checkequal(i8 <> UI32, [%t,%t;%t,%t]); 545assert_checkequal(i8 <> str, %t); 546assert_checkequal(i8 <> STR, %t); 547assert_checkequal(i8 <> b, %t); 548assert_checkequal(i8 <> B, [%t,%t;%t,%t]); 549assert_checkequal(i8 <> SPB, %t); 550 551assert_checkequal(I8 <> empty, %t); 552assert_checkequal(I8 <> r, [%t,%f;%t,%t]); 553assert_checkequal(I8 <> c, [%t,%t;%t,%t]); 554assert_checkequal(I8 <> R, [%t,%f;%t,%t]); 555assert_checkequal(I8 <> C, [%t,%t;%t,%t]); 556assert_checkequal(I8 <> e, [%t,%t;%t,%t]); 557assert_checkequal(I8 <> ec, [%t,%t;%t,%t]); 558assert_checkequal(I8 <> p, [%t,%t;%t,%t]); 559assert_checkequal(I8 <> pc, [%t,%t;%t,%t]); 560assert_checkequal(I8 <> P, [%t,%f;%t,%t]); 561assert_checkequal(I8 <> PC, [%t,%f;%t,%t]); 562assert_checkequal(I8 <> SP, %t); 563assert_checkequal(I8 <> SPC, %t); 564assert_checkequal(I8 <> SP1, %t); 565assert_checkequal(I8 <> SPC1, %t); 566assert_checkequal(I8 <> i8, [%f,%t;%t,%t]); 567assert_checkequal(I8 <> I8, [%f,%f;%f,%f]); 568assert_checkequal(I8 <> ui8, [%t,%t;%t,%t]); 569assert_checkequal(I8 <> UI8, [%t,%f;%t,%t]); 570assert_checkequal(I8 <> i16, [%t,%t;%t,%t]); 571assert_checkequal(I8 <> I16, [%t,%f;%t,%t]); 572assert_checkequal(I8 <> ui16, [%t,%t;%t,%t]); 573assert_checkequal(I8 <> UI16, [%t,%f;%t,%t]); 574assert_checkequal(I8 <> i32, [%t,%t;%t,%f]); 575assert_checkequal(I8 <> I32, [%t,%f;%t,%t]); 576assert_checkequal(I8 <> ui32, [%t,%t;%t,%t]); 577assert_checkequal(I8 <> UI32, [%t,%f;%t,%t]); 578assert_checkequal(I8 <> str, %t); 579assert_checkequal(I8 <> STR, %t); 580assert_checkequal(I8 <> b, [%t,%t;%t,%t]); 581assert_checkequal(I8 <> B, [%t,%t;%t,%t]); 582assert_checkequal(I8 <> SPB, %t); 583 584assert_checkequal(ui8 <> empty, %t); 585assert_checkequal(ui8 <> r, %t); 586assert_checkequal(ui8 <> c, %t); 587assert_checkequal(ui8 <> R, [%t,%t;%t,%t]); 588assert_checkequal(ui8 <> C, [%t,%t;%t,%t]); 589assert_checkequal(ui8 <> e, %t); 590assert_checkequal(ui8 <> ec, %t); 591assert_checkequal(ui8 <> p, %t); 592assert_checkequal(ui8 <> pc, %t); 593assert_checkequal(ui8 <> P, [%t,%t;%t,%t]); 594assert_checkequal(ui8 <> PC, [%t,%t;%t,%t]); 595assert_checkequal(ui8 <> SP, sparse([1,1;1,2;1,3;1,4;1,5;1,6;1,7;1,8;1,9;1,10;2,1;2,2;2,3;2,4;2,5;2,6;2,7;2,8;2,9;2,10;3,1;3,2;3,3;3,4;3,5;3,6;3,7;3,8;3,9;3,10;4,1;4,2;4,3;4,4;4,5;4,6;4,7;4,8;4,9;4,10],[%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t],[4,10])); 596assert_checkequal(ui8 <> SPC, sparse([1,1;1,2;1,3;1,4;1,5;1,6;1,7;1,8;1,9;1,10;2,1;2,2;2,3;2,4;2,5;2,6;2,7;2,8;2,9;2,10;3,1;3,2;3,3;3,4;3,5;3,6;3,7;3,8;3,9;3,10;4,1;4,2;4,3;4,4;4,5;4,6;4,7;4,8;4,9;4,10],[%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t],[4,10])); 597assert_checkequal(ui8 <> SP1, sparse([1,1],%t,[1,1])); 598assert_checkequal(ui8 <> SPC1, sparse([1,1],%t,[1,1])); 599assert_checkequal(ui8 <> i8, %t); 600assert_checkequal(ui8 <> I8, [%t,%t;%t,%t]); 601assert_checkequal(ui8 <> ui8, %f); 602assert_checkequal(ui8 <> UI8, [%f,%t;%t,%t]); 603assert_checkequal(ui8 <> i16, %t); 604assert_checkequal(ui8 <> I16, [%t,%t;%t,%t]); 605assert_checkequal(ui8 <> ui16, %t); 606assert_checkequal(ui8 <> UI16, [%t,%t;%t,%t]); 607assert_checkequal(ui8 <> i32, %t); 608assert_checkequal(ui8 <> I32, [%t,%t;%t,%t]); 609assert_checkequal(ui8 <> ui32, %t); 610assert_checkequal(ui8 <> UI32, [%t,%t;%t,%t]); 611assert_checkequal(ui8 <> str, %t); 612assert_checkequal(ui8 <> STR, %t); 613assert_checkequal(ui8 <> b, %t); 614assert_checkequal(ui8 <> B, [%t,%t;%t,%t]); 615assert_checkequal(ui8 <> SPB, %t); 616 617assert_checkequal(UI8 <> empty, %t); 618assert_checkequal(UI8 <> r, [%t,%f;%t,%t]); 619assert_checkequal(UI8 <> c, [%t,%t;%t,%t]); 620assert_checkequal(UI8 <> R, [%t,%f;%t,%t]); 621assert_checkequal(UI8 <> C, [%t,%t;%t,%t]); 622assert_checkequal(UI8 <> e, [%t,%t;%t,%t]); 623assert_checkequal(UI8 <> ec, [%t,%t;%t,%t]); 624assert_checkequal(UI8 <> p, [%t,%t;%t,%t]); 625assert_checkequal(UI8 <> pc, [%t,%t;%t,%t]); 626assert_checkequal(UI8 <> P, [%t,%f;%t,%t]); 627assert_checkequal(UI8 <> PC, [%t,%f;%t,%t]); 628assert_checkequal(UI8 <> SP, %t); 629assert_checkequal(UI8 <> SPC, %t); 630assert_checkequal(UI8 <> SP1, %t); 631assert_checkequal(UI8 <> SPC1, %t); 632assert_checkequal(UI8 <> i8, [%t,%t;%t,%t]); 633assert_checkequal(UI8 <> I8, [%t,%f;%t,%t]); 634assert_checkequal(UI8 <> ui8, [%f,%t;%t,%t]); 635assert_checkequal(UI8 <> UI8, [%f,%f;%f,%f]); 636assert_checkequal(UI8 <> i16, [%t,%t;%t,%t]); 637assert_checkequal(UI8 <> I16, [%t,%f;%t,%t]); 638assert_checkequal(UI8 <> ui16, [%t,%t;%t,%t]); 639assert_checkequal(UI8 <> UI16, [%t,%f;%t,%t]); 640assert_checkequal(UI8 <> i32, [%t,%t;%t,%t]); 641assert_checkequal(UI8 <> I32, [%t,%f;%t,%t]); 642assert_checkequal(UI8 <> ui32, [%t,%t;%t,%f]); 643assert_checkequal(UI8 <> UI32, [%t,%f;%t,%t]); 644assert_checkequal(UI8 <> str, %t); 645assert_checkequal(UI8 <> STR, %t); 646assert_checkequal(UI8 <> b, [%t,%t;%t,%t]); 647assert_checkequal(UI8 <> B, [%t,%t;%t,%t]); 648assert_checkequal(UI8 <> SPB, %t); 649 650assert_checkequal(i16 <> empty, %t); 651assert_checkequal(i16 <> r, %t); 652assert_checkequal(i16 <> c, %t); 653assert_checkequal(i16 <> R, [%t,%t;%t,%t]); 654assert_checkequal(i16 <> C, [%t,%t;%t,%t]); 655assert_checkequal(i16 <> e, %t); 656assert_checkequal(i16 <> ec, %t); 657assert_checkequal(i16 <> p, %t); 658assert_checkequal(i16 <> pc, %t); 659assert_checkequal(i16 <> P, [%t,%t;%t,%t]); 660assert_checkequal(i16 <> PC, [%t,%t;%t,%t]); 661assert_checkequal(i16 <> SP, sparse([1,1;1,2;1,3;1,4;1,5;1,6;1,7;1,8;1,9;1,10;2,1;2,2;2,3;2,4;2,5;2,6;2,7;2,8;2,9;2,10;3,1;3,2;3,3;3,4;3,5;3,6;3,7;3,8;3,9;3,10;4,1;4,2;4,3;4,4;4,5;4,6;4,7;4,8;4,9;4,10],[%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t],[4,10])); 662assert_checkequal(i16 <> SPC, sparse([1,1;1,2;1,3;1,4;1,5;1,6;1,7;1,8;1,9;1,10;2,1;2,2;2,3;2,4;2,5;2,6;2,7;2,8;2,9;2,10;3,1;3,2;3,3;3,4;3,5;3,6;3,7;3,8;3,9;3,10;4,1;4,2;4,3;4,4;4,5;4,6;4,7;4,8;4,9;4,10],[%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t],[4,10])); 663assert_checkequal(i16 <> SP1, sparse([1,1],%t,[1,1])); 664assert_checkequal(i16 <> SPC1, sparse([1,1],%t,[1,1])); 665assert_checkequal(i16 <> i8, %t); 666assert_checkequal(i16 <> I8, [%t,%t;%t,%t]); 667assert_checkequal(i16 <> ui8, %t); 668assert_checkequal(i16 <> UI8, [%t,%t;%t,%t]); 669assert_checkequal(i16 <> i16, %f); 670assert_checkequal(i16 <> I16, [%f,%t;%t,%t]); 671assert_checkequal(i16 <> ui16, %t); 672assert_checkequal(i16 <> UI16, [%t,%t;%t,%t]); 673assert_checkequal(i16 <> i32, %t); 674assert_checkequal(i16 <> I32, [%t,%t;%t,%t]); 675assert_checkequal(i16 <> ui32, %t); 676assert_checkequal(i16 <> UI32, [%t,%t;%t,%t]); 677assert_checkequal(i16 <> str, %t); 678assert_checkequal(i16 <> STR, %t); 679assert_checkequal(i16 <> b, %t); 680assert_checkequal(i16 <> B, [%t,%t;%t,%t]); 681assert_checkequal(i16 <> SPB, %t); 682 683assert_checkequal(I16 <> empty, %t); 684assert_checkequal(I16 <> r, [%t,%f;%t,%t]); 685assert_checkequal(I16 <> c, [%t,%t;%t,%t]); 686assert_checkequal(I16 <> R, [%t,%f;%t,%t]); 687assert_checkequal(I16 <> C, [%t,%t;%t,%t]); 688assert_checkequal(I16 <> e, [%t,%t;%t,%t]); 689assert_checkequal(I16 <> ec, [%t,%t;%t,%t]); 690assert_checkequal(I16 <> p, [%t,%t;%t,%t]); 691assert_checkequal(I16 <> pc, [%t,%t;%t,%t]); 692assert_checkequal(I16 <> P, [%t,%f;%t,%t]); 693assert_checkequal(I16 <> PC, [%t,%f;%t,%t]); 694assert_checkequal(I16 <> SP, %t); 695assert_checkequal(I16 <> SPC, %t); 696assert_checkequal(I16 <> SP1, %t); 697assert_checkequal(I16 <> SPC1, %t); 698assert_checkequal(I16 <> i8, [%t,%t;%t,%t]); 699assert_checkequal(I16 <> I8, [%t,%f;%t,%t]); 700assert_checkequal(I16 <> ui8, [%t,%t;%t,%t]); 701assert_checkequal(I16 <> UI8, [%t,%f;%t,%t]); 702assert_checkequal(I16 <> i16, [%f,%t;%t,%t]); 703assert_checkequal(I16 <> I16, [%f,%f;%f,%f]); 704assert_checkequal(I16 <> ui16, [%t,%t;%t,%t]); 705assert_checkequal(I16 <> UI16, [%t,%f;%t,%t]); 706assert_checkequal(I16 <> i32, [%t,%t;%t,%t]); 707assert_checkequal(I16 <> I32, [%t,%f;%t,%t]); 708assert_checkequal(I16 <> ui32, [%t,%t;%t,%t]); 709assert_checkequal(I16 <> UI32, [%t,%f;%t,%t]); 710assert_checkequal(I16 <> str, %t); 711assert_checkequal(I16 <> STR, %t); 712assert_checkequal(I16 <> b, [%t,%t;%t,%t]); 713assert_checkequal(I16 <> B, [%t,%t;%t,%t]); 714assert_checkequal(I16 <> SPB, %t); 715 716assert_checkequal(ui16 <> empty, %t); 717assert_checkequal(ui16 <> r, %t); 718assert_checkequal(ui16 <> c, %t); 719assert_checkequal(ui16 <> R, [%t,%t;%t,%t]); 720assert_checkequal(ui16 <> C, [%t,%t;%t,%t]); 721assert_checkequal(ui16 <> e, %t); 722assert_checkequal(ui16 <> ec, %t); 723assert_checkequal(ui16 <> p, %t); 724assert_checkequal(ui16 <> pc, %t); 725assert_checkequal(ui16 <> P, [%t,%t;%t,%t]); 726assert_checkequal(ui16 <> PC, [%t,%t;%t,%t]); 727assert_checkequal(ui16 <> SP, sparse([1,1;1,2;1,3;1,4;1,5;1,6;1,7;1,8;1,9;1,10;2,1;2,2;2,3;2,4;2,5;2,6;2,7;2,8;2,9;2,10;3,1;3,2;3,3;3,4;3,5;3,6;3,7;3,8;3,9;3,10;4,1;4,2;4,3;4,4;4,5;4,6;4,7;4,8;4,9;4,10],[%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t],[4,10])); 728assert_checkequal(ui16 <> SPC, sparse([1,1;1,2;1,3;1,4;1,5;1,6;1,7;1,8;1,9;1,10;2,1;2,2;2,3;2,4;2,5;2,6;2,7;2,8;2,9;2,10;3,1;3,2;3,3;3,4;3,5;3,6;3,7;3,8;3,9;3,10;4,1;4,2;4,3;4,4;4,5;4,6;4,7;4,8;4,9;4,10],[%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t],[4,10])); 729assert_checkequal(ui16 <> SP1, sparse([1,1],%t,[1,1])); 730assert_checkequal(ui16 <> SPC1, sparse([1,1],%t,[1,1])); 731assert_checkequal(ui16 <> i8, %t); 732assert_checkequal(ui16 <> I8, [%t,%t;%t,%t]); 733assert_checkequal(ui16 <> ui8, %t); 734assert_checkequal(ui16 <> UI8, [%t,%t;%t,%t]); 735assert_checkequal(ui16 <> i16, %t); 736assert_checkequal(ui16 <> I16, [%t,%t;%t,%t]); 737assert_checkequal(ui16 <> ui16, %f); 738assert_checkequal(ui16 <> UI16, [%f,%t;%t,%t]); 739assert_checkequal(ui16 <> i32, %t); 740assert_checkequal(ui16 <> I32, [%t,%t;%t,%t]); 741assert_checkequal(ui16 <> ui32, %t); 742assert_checkequal(ui16 <> UI32, [%t,%t;%t,%t]); 743assert_checkequal(ui16 <> str, %t); 744assert_checkequal(ui16 <> STR, %t); 745assert_checkequal(ui16 <> b, %t); 746assert_checkequal(ui16 <> B, [%t,%t;%t,%t]); 747assert_checkequal(ui16 <> SPB, %t); 748 749assert_checkequal(UI16 <> empty, %t); 750assert_checkequal(UI16 <> r, [%t,%f;%t,%t]); 751assert_checkequal(UI16 <> c, [%t,%t;%t,%t]); 752assert_checkequal(UI16 <> R, [%t,%f;%t,%t]); 753assert_checkequal(UI16 <> C, [%t,%t;%t,%t]); 754assert_checkequal(UI16 <> e, [%t,%t;%t,%t]); 755assert_checkequal(UI16 <> ec, [%t,%t;%t,%t]); 756assert_checkequal(UI16 <> p, [%t,%t;%t,%t]); 757assert_checkequal(UI16 <> pc, [%t,%t;%t,%t]); 758assert_checkequal(UI16 <> P, [%t,%f;%t,%t]); 759assert_checkequal(UI16 <> PC, [%t,%f;%t,%t]); 760assert_checkequal(UI16 <> SP, %t); 761assert_checkequal(UI16 <> SPC, %t); 762assert_checkequal(UI16 <> SP1, %t); 763assert_checkequal(UI16 <> SPC1, %t); 764assert_checkequal(UI16 <> i8, [%t,%t;%t,%t]); 765assert_checkequal(UI16 <> I8, [%t,%f;%t,%t]); 766assert_checkequal(UI16 <> ui8, [%t,%t;%t,%t]); 767assert_checkequal(UI16 <> UI8, [%t,%f;%t,%t]); 768assert_checkequal(UI16 <> i16, [%t,%t;%t,%t]); 769assert_checkequal(UI16 <> I16, [%t,%f;%t,%t]); 770assert_checkequal(UI16 <> ui16, [%f,%t;%t,%t]); 771assert_checkequal(UI16 <> UI16, [%f,%f;%f,%f]); 772assert_checkequal(UI16 <> i32, [%t,%t;%t,%t]); 773assert_checkequal(UI16 <> I32, [%t,%f;%t,%t]); 774assert_checkequal(UI16 <> ui32, [%t,%t;%t,%t]); 775assert_checkequal(UI16 <> UI32, [%t,%f;%t,%t]); 776assert_checkequal(UI16 <> str, %t); 777assert_checkequal(UI16 <> STR, %t); 778assert_checkequal(UI16 <> b, [%t,%t;%t,%t]); 779assert_checkequal(UI16 <> B, [%t,%t;%t,%t]); 780assert_checkequal(UI16 <> SPB, %t); 781 782assert_checkequal(i32 <> empty, %t); 783assert_checkequal(i32 <> r, %t); 784assert_checkequal(i32 <> c, %t); 785assert_checkequal(i32 <> R, [%t,%t;%t,%t]); 786assert_checkequal(i32 <> C, [%t,%t;%t,%t]); 787assert_checkequal(i32 <> e, %t); 788assert_checkequal(i32 <> ec, %t); 789assert_checkequal(i32 <> p, %t); 790assert_checkequal(i32 <> pc, %t); 791assert_checkequal(i32 <> P, [%t,%t;%t,%t]); 792assert_checkequal(i32 <> PC, [%t,%t;%t,%t]); 793assert_checkequal(i32 <> SP, sparse([1,1;1,2;1,3;1,4;1,5;1,6;1,7;1,8;1,9;1,10;2,1;2,2;2,3;2,4;2,5;2,6;2,7;2,8;2,9;2,10;3,1;3,2;3,3;3,4;3,5;3,6;3,7;3,8;3,9;3,10;4,1;4,2;4,3;4,4;4,5;4,6;4,7;4,8;4,9;4,10],[%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t],[4,10])); 794assert_checkequal(i32 <> SPC, sparse([1,1;1,2;1,3;1,4;1,5;1,6;1,7;1,8;1,9;1,10;2,1;2,2;2,3;2,4;2,5;2,6;2,7;2,8;2,9;2,10;3,1;3,2;3,3;3,4;3,5;3,6;3,7;3,8;3,9;3,10;4,1;4,2;4,3;4,4;4,5;4,6;4,7;4,8;4,9;4,10],[%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t],[4,10])); 795assert_checkequal(i32 <> SP1, sparse([1,1],%t,[1,1])); 796assert_checkequal(i32 <> SPC1, sparse([1,1],%t,[1,1])); 797assert_checkequal(i32 <> i8, %t); 798assert_checkequal(i32 <> I8, [%t,%t;%t,%f]); 799assert_checkequal(i32 <> ui8, %t); 800assert_checkequal(i32 <> UI8, [%t,%t;%t,%t]); 801assert_checkequal(i32 <> i16, %t); 802assert_checkequal(i32 <> I16, [%t,%t;%t,%t]); 803assert_checkequal(i32 <> ui16, %t); 804assert_checkequal(i32 <> UI16, [%t,%t;%t,%t]); 805assert_checkequal(i32 <> i32, %f); 806assert_checkequal(i32 <> I32, [%f,%t;%t,%t]); 807assert_checkequal(i32 <> ui32, %t); 808assert_checkequal(i32 <> UI32, [%t,%t;%t,%t]); 809assert_checkequal(i32 <> str, %t); 810assert_checkequal(i32 <> STR, %t); 811assert_checkequal(i32 <> b, %t); 812assert_checkequal(i32 <> B, [%t,%t;%t,%t]); 813assert_checkequal(i32 <> SPB, %t); 814 815assert_checkequal(I32 <> empty, %t); 816assert_checkequal(I32 <> r, [%t,%f;%t,%t]); 817assert_checkequal(I32 <> c, [%t,%t;%t,%t]); 818assert_checkequal(I32 <> R, [%t,%f;%t,%t]); 819assert_checkequal(I32 <> C, [%t,%t;%t,%t]); 820assert_checkequal(I32 <> e, [%t,%t;%t,%t]); 821assert_checkequal(I32 <> ec, [%t,%t;%t,%t]); 822assert_checkequal(I32 <> p, [%t,%t;%t,%t]); 823assert_checkequal(I32 <> pc, [%t,%t;%t,%t]); 824assert_checkequal(I32 <> P, [%t,%f;%t,%t]); 825assert_checkequal(I32 <> PC, [%t,%f;%t,%t]); 826assert_checkequal(I32 <> SP, %t); 827assert_checkequal(I32 <> SPC, %t); 828assert_checkequal(I32 <> SP1, %t); 829assert_checkequal(I32 <> SPC1, %t); 830assert_checkequal(I32 <> i8, [%t,%t;%t,%t]); 831assert_checkequal(I32 <> I8, [%t,%f;%t,%t]); 832assert_checkequal(I32 <> ui8, [%t,%t;%t,%t]); 833assert_checkequal(I32 <> UI8, [%t,%f;%t,%t]); 834assert_checkequal(I32 <> i16, [%t,%t;%t,%t]); 835assert_checkequal(I32 <> I16, [%t,%f;%t,%t]); 836assert_checkequal(I32 <> ui16, [%t,%t;%t,%t]); 837assert_checkequal(I32 <> UI16, [%t,%f;%t,%t]); 838assert_checkequal(I32 <> i32, [%f,%t;%t,%t]); 839assert_checkequal(I32 <> I32, [%f,%f;%f,%f]); 840assert_checkequal(I32 <> ui32, [%t,%t;%t,%t]); 841assert_checkequal(I32 <> UI32, [%t,%f;%t,%t]); 842assert_checkequal(I32 <> str, %t); 843assert_checkequal(I32 <> STR, %t); 844assert_checkequal(I32 <> b, [%t,%t;%t,%t]); 845assert_checkequal(I32 <> B, [%t,%t;%t,%t]); 846assert_checkequal(I32 <> SPB, %t); 847 848assert_checkequal(ui32 <> empty, %t); 849assert_checkequal(ui32 <> r, %t); 850assert_checkequal(ui32 <> c, %t); 851assert_checkequal(ui32 <> R, [%t,%t;%t,%t]); 852assert_checkequal(ui32 <> C, [%t,%t;%t,%t]); 853assert_checkequal(ui32 <> e, %t); 854assert_checkequal(ui32 <> ec, %t); 855assert_checkequal(ui32 <> p, %t); 856assert_checkequal(ui32 <> pc, %t); 857assert_checkequal(ui32 <> P, [%t,%t;%t,%t]); 858assert_checkequal(ui32 <> PC, [%t,%t;%t,%t]); 859assert_checkequal(ui32 <> SP, sparse([1,1;1,2;1,3;1,4;1,5;1,6;1,7;1,8;1,9;1,10;2,1;2,2;2,3;2,4;2,5;2,6;2,7;2,8;2,9;2,10;3,1;3,2;3,3;3,4;3,5;3,6;3,7;3,8;3,9;3,10;4,1;4,2;4,3;4,4;4,5;4,6;4,7;4,8;4,9;4,10],[%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t],[4,10])); 860assert_checkequal(ui32 <> SPC, sparse([1,1;1,2;1,3;1,4;1,5;1,6;1,7;1,8;1,9;1,10;2,1;2,2;2,3;2,4;2,5;2,6;2,7;2,8;2,9;2,10;3,1;3,2;3,3;3,4;3,5;3,6;3,7;3,8;3,9;3,10;4,1;4,2;4,3;4,4;4,5;4,6;4,7;4,8;4,9;4,10],[%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t],[4,10])); 861assert_checkequal(ui32 <> SP1, sparse([1,1],%t,[1,1])); 862assert_checkequal(ui32 <> SPC1, sparse([1,1],%t,[1,1])); 863assert_checkequal(ui32 <> i8, %t); 864assert_checkequal(ui32 <> I8, [%t,%t;%t,%t]); 865assert_checkequal(ui32 <> ui8, %t); 866assert_checkequal(ui32 <> UI8, [%t,%t;%t,%f]); 867assert_checkequal(ui32 <> i16, %t); 868assert_checkequal(ui32 <> I16, [%t,%t;%t,%t]); 869assert_checkequal(ui32 <> ui16, %t); 870assert_checkequal(ui32 <> UI16, [%t,%t;%t,%t]); 871assert_checkequal(ui32 <> i32, %t); 872assert_checkequal(ui32 <> I32, [%t,%t;%t,%t]); 873assert_checkequal(ui32 <> ui32, %f); 874assert_checkequal(ui32 <> UI32, [%f,%t;%t,%t]); 875assert_checkequal(ui32 <> str, %t); 876assert_checkequal(ui32 <> STR, %t); 877assert_checkequal(ui32 <> b, %t); 878assert_checkequal(ui32 <> B, [%t,%t;%t,%t]); 879assert_checkequal(ui32 <> SPB, %t); 880 881assert_checkequal(UI32 <> empty, %t); 882assert_checkequal(UI32 <> r, [%t,%f;%t,%t]); 883assert_checkequal(UI32 <> c, [%t,%t;%t,%t]); 884assert_checkequal(UI32 <> R, [%t,%f;%t,%t]); 885assert_checkequal(UI32 <> C, [%t,%t;%t,%t]); 886assert_checkequal(UI32 <> e, [%t,%t;%t,%t]); 887assert_checkequal(UI32 <> ec, [%t,%t;%t,%t]); 888assert_checkequal(UI32 <> p, [%t,%t;%t,%t]); 889assert_checkequal(UI32 <> pc, [%t,%t;%t,%t]); 890assert_checkequal(UI32 <> P, [%t,%f;%t,%t]); 891assert_checkequal(UI32 <> PC, [%t,%f;%t,%t]); 892assert_checkequal(UI32 <> SP, %t); 893assert_checkequal(UI32 <> SPC, %t); 894assert_checkequal(UI32 <> SP1, %t); 895assert_checkequal(UI32 <> SPC1, %t); 896assert_checkequal(UI32 <> i8, [%t,%t;%t,%t]); 897assert_checkequal(UI32 <> I8, [%t,%f;%t,%t]); 898assert_checkequal(UI32 <> ui8, [%t,%t;%t,%t]); 899assert_checkequal(UI32 <> UI8, [%t,%f;%t,%t]); 900assert_checkequal(UI32 <> i16, [%t,%t;%t,%t]); 901assert_checkequal(UI32 <> I16, [%t,%f;%t,%t]); 902assert_checkequal(UI32 <> ui16, [%t,%t;%t,%t]); 903assert_checkequal(UI32 <> UI16, [%t,%f;%t,%t]); 904assert_checkequal(UI32 <> i32, [%t,%t;%t,%t]); 905assert_checkequal(UI32 <> I32, [%t,%f;%t,%t]); 906assert_checkequal(UI32 <> ui32, [%f,%t;%t,%t]); 907assert_checkequal(UI32 <> UI32, [%f,%f;%f,%f]); 908assert_checkequal(UI32 <> str, %t); 909assert_checkequal(UI32 <> STR, %t); 910assert_checkequal(UI32 <> b, [%t,%t;%t,%t]); 911assert_checkequal(UI32 <> B, [%t,%t;%t,%t]); 912assert_checkequal(UI32 <> SPB, %t); 913 914assert_checkequal(str <> empty, %t); 915assert_checkequal(str <> r, %t); 916assert_checkequal(str <> c, %t); 917assert_checkequal(str <> R, %t); 918assert_checkequal(str <> C, %t); 919assert_checkequal(str <> e, %t); 920assert_checkequal(str <> ec, %t); 921assert_checkequal(str <> p, %t); 922assert_checkequal(str <> pc, %t); 923assert_checkequal(str <> P, %t); 924assert_checkequal(str <> PC, %t); 925assert_checkequal(str <> SP, %t); 926assert_checkequal(str <> SPC, %t); 927assert_checkequal(str <> SP1, %t); 928assert_checkequal(str <> SPC1, %t); 929assert_checkequal(str <> i8, %t); 930assert_checkequal(str <> I8, %t); 931assert_checkequal(str <> ui8, %t); 932assert_checkequal(str <> UI8, %t); 933assert_checkequal(str <> i16, %t); 934assert_checkequal(str <> I16, %t); 935assert_checkequal(str <> ui16, %t); 936assert_checkequal(str <> UI16, %t); 937assert_checkequal(str <> i32, %t); 938assert_checkequal(str <> I32, %t); 939assert_checkequal(str <> ui32, %t); 940assert_checkequal(str <> UI32, %t); 941assert_checkequal(str <> str, %f); 942assert_checkequal(str <> STR, [%t,%t;%t,%t]); 943assert_checkequal(str <> b, %t); 944assert_checkequal(str <> B, %t); 945assert_checkequal(str <> SPB, %t); 946 947assert_checkequal(STR <> empty, %t); 948assert_checkequal(STR <> r, %t); 949assert_checkequal(STR <> c, %t); 950assert_checkequal(STR <> R, %t); 951assert_checkequal(STR <> C, %t); 952assert_checkequal(STR <> e, %t); 953assert_checkequal(STR <> ec, %t); 954assert_checkequal(STR <> p, %t); 955assert_checkequal(STR <> pc, %t); 956assert_checkequal(STR <> P, %t); 957assert_checkequal(STR <> PC, %t); 958assert_checkequal(STR <> SP, %t); 959assert_checkequal(STR <> SPC, %t); 960assert_checkequal(STR <> SP1, %t); 961assert_checkequal(STR <> SPC1, %t); 962assert_checkequal(STR <> i8, %t); 963assert_checkequal(STR <> I8, %t); 964assert_checkequal(STR <> ui8, %t); 965assert_checkequal(STR <> UI8, %t); 966assert_checkequal(STR <> i16, %t); 967assert_checkequal(STR <> I16, %t); 968assert_checkequal(STR <> ui16, %t); 969assert_checkequal(STR <> UI16, %t); 970assert_checkequal(STR <> i32, %t); 971assert_checkequal(STR <> I32, %t); 972assert_checkequal(STR <> ui32, %t); 973assert_checkequal(STR <> UI32, %t); 974assert_checkequal(STR <> str, [%t,%t;%t,%t]); 975assert_checkequal(STR <> STR, [%f,%f;%f,%f]); 976assert_checkequal(STR <> b, %t); 977assert_checkequal(STR <> B, %t); 978assert_checkequal(STR <> SPB, %t); 979 980assert_checkequal(b <> empty, %t); 981assert_checkequal(b <> r, %t); 982assert_checkequal(b <> c, %t); 983assert_checkequal(b <> R, %t); 984assert_checkequal(b <> C, %t); 985assert_checkequal(b <> e, %t); 986assert_checkequal(b <> ec, %t); 987assert_checkequal(b <> p, %t); 988assert_checkequal(b <> pc, %t); 989assert_checkequal(b <> P, %t); 990assert_checkequal(b <> PC, %t); 991assert_checkequal(b <> SP, %t); 992assert_checkequal(b <> SPC, %t); 993assert_checkequal(b <> SP1, %t); 994assert_checkequal(b <> SPC1, %t); 995assert_checkequal(b <> i8, %t); 996assert_checkequal(b <> I8, [%t,%t;%t,%t]); 997assert_checkequal(b <> ui8, %t); 998assert_checkequal(b <> UI8, [%t,%t;%t,%t]); 999assert_checkequal(b <> i16, %t); 1000assert_checkequal(b <> I16, [%t,%t;%t,%t]); 1001assert_checkequal(b <> ui16, %t); 1002assert_checkequal(b <> UI16, [%t,%t;%t,%t]); 1003assert_checkequal(b <> i32, %t); 1004assert_checkequal(b <> I32, [%t,%t;%t,%t]); 1005assert_checkequal(b <> ui32, %t); 1006assert_checkequal(b <> UI32, [%t,%t;%t,%t]); 1007assert_checkequal(b <> str, %t); 1008assert_checkequal(b <> STR, %t); 1009assert_checkequal(b <> b, %f); 1010assert_checkequal(b <> B, [%t,%f;%f,%t]); 1011assert_checkequal(b <> SPB, sparse([1,2;2,1],[%t;%t],[2,2])); 1012 1013assert_checkequal(B <> empty, %t); 1014assert_checkequal(B <> r, %t); 1015assert_checkequal(B <> c, %t); 1016assert_checkequal(B <> R, %t); 1017assert_checkequal(B <> C, %t); 1018assert_checkequal(B <> e, %t); 1019assert_checkequal(B <> ec, %t); 1020assert_checkequal(B <> p, %t); 1021assert_checkequal(B <> pc, %t); 1022assert_checkequal(B <> P, %t); 1023assert_checkequal(B <> PC, %t); 1024assert_checkequal(B <> SP, %t); 1025assert_checkequal(B <> SPC, %t); 1026assert_checkequal(B <> SP1, %t); 1027assert_checkequal(B <> SPC1, %t); 1028assert_checkequal(B <> i8, [%t,%t;%t,%t]); 1029assert_checkequal(B <> I8, [%t,%t;%t,%t]); 1030assert_checkequal(B <> ui8, [%t,%t;%t,%t]); 1031assert_checkequal(B <> UI8, [%t,%t;%t,%t]); 1032assert_checkequal(B <> i16, [%t,%t;%t,%t]); 1033assert_checkequal(B <> I16, [%t,%t;%t,%t]); 1034assert_checkequal(B <> ui16, [%t,%t;%t,%t]); 1035assert_checkequal(B <> UI16, [%t,%t;%t,%t]); 1036assert_checkequal(B <> i32, [%t,%t;%t,%t]); 1037assert_checkequal(B <> I32, [%t,%t;%t,%t]); 1038assert_checkequal(B <> ui32, [%t,%t;%t,%t]); 1039assert_checkequal(B <> UI32, [%t,%t;%t,%t]); 1040assert_checkequal(B <> str, %t); 1041assert_checkequal(B <> STR, %t); 1042assert_checkequal(B <> b, [%t,%f;%f,%t]); 1043assert_checkequal(B <> B, [%f,%f;%f,%f]); 1044assert_checkequal(B <> SPB, sparse([1,1;1,2;2,1;2,2],[%t;%t;%t;%t],[2,2])); 1045 1046assert_checkequal(SPB <> empty, %t); 1047assert_checkequal(SPB <> r, %t); 1048assert_checkequal(SPB <> c, %t); 1049assert_checkequal(SPB <> R, %t); 1050assert_checkequal(SPB <> C, %t); 1051assert_checkequal(SPB <> e, %t); 1052assert_checkequal(SPB <> ec, %t); 1053assert_checkequal(SPB <> SP, %t); 1054assert_checkequal(SPB <> SPC, %t); 1055assert_checkequal(SPB <> SP1, %t); 1056assert_checkequal(SPB <> SPC1, %t); 1057assert_checkequal(SPB <> i8, %t); 1058assert_checkequal(SPB <> I8, %t); 1059assert_checkequal(SPB <> ui8, %t); 1060assert_checkequal(SPB <> UI8, %t); 1061assert_checkequal(SPB <> i16, %t); 1062assert_checkequal(SPB <> I16, %t); 1063assert_checkequal(SPB <> ui16, %t); 1064assert_checkequal(SPB <> UI16, %t); 1065assert_checkequal(SPB <> i32, %t); 1066assert_checkequal(SPB <> I32, %t); 1067assert_checkequal(SPB <> ui32, %t); 1068assert_checkequal(SPB <> UI32, %t); 1069assert_checkequal(SPB <> str, %t); 1070assert_checkequal(SPB <> STR, %t); 1071assert_checkequal(SPB <> b, sparse([1,2;2,1],[%t;%t],[2,2])); 1072assert_checkequal(SPB <> B, sparse([1,1;1,2;2,1;2,2],[%t;%t;%t;%t],[2,2])); 1073assert_checkequal(SPB <> SPB, sparse([1,1],[%f],[2,2])); 1074 1075assert_checkequal(["a" "b"] <> ["a" "b" "c"],%t); 1076assert_checkequal(["a" "b"] <> ["a" ; "b"],%t); 1077assert_checkequal(["a" "b" "c"] <> ["a" "b"],%t); 1078assert_checkequal(["a" "b"; "a" "b"] <> ["a" "b"],%t); 1079 1080//struct 1081test_st=struct("double",1,"string","test","int8",int8(2),"struct",struct("valeur",0)); 1082test_st2=struct("double",1,"string","test","int16",int8(2),"struct",1); 1083test_st4=struct("double",1,"string","test","int8",int8(4),"struct",struct("valeur",0)); 1084test_st8=struct("double",8,"string","test","int8",int8(8),"struct",struct("valeur",0)); 1085 1086assert_checkequal(test_st <> test_st, %f); 1087assert_checkequal(test_st <> test_st2, %t); 1088assert_checkequal([test_st4 test_st8] <> [test_st test_st], [%t,%t]); 1089assert_checkequal([test_st, test_st4;test_st4,test_st8] <> [test_st, test_st; test_st,test_st], [%f,%t;%t,%t]); 1090assert_checkequal(test_st <> [], %t); 1091 1092//polynom 1093res = horner(1/(1-%s),1/(1-%s)); 1094 1095assert_checkequal(res <> (1-%s)/-%s, %f); 1096assert_checkequal(res <> (1-%s)/1, %t); 1097assert_checkequal(res <> 1/-%s, %t); 1098 1099// <> with a type==0 object (void or listdelete) 1100// -------------------------------------------- 1101L = list(,2); 1102assert_checkfalse(L(1) <> L(1)); 1103assert_checkfalse(null() <> null()); 1104assert_checktrue(L(1) <> null()); 1105assert_checktrue(null() <> L(1)); 1106// 1107lss = syslin('c',[0,1;0,0],[1;1],[1,1]); 1108ptr = lufact(sparse(rand(5,5))); 1109x = 1:10; h5File = TMPDIR + "/x.sod"; save(h5File,"x"); h5 = h5open(h5File); 1110program = macr2tree(%0_o_0); 1111xml = xmlReadStr("<root><a rib=""bar""><b>Hello</b></a></root>"); 1112L2 = list(1, [], %z, %f, sparse(5), sparse(%t), int8(2), "abc", sin, sind, .. 1113 list(3), list(), {1,%t}, {}, struct("a",3), 1/%z, 1:$, lss, ptr, .. 1114 h5, program, xml); 1115for object = L2 1116 assert_checktrue(object <> L(1)); 1117 assert_checktrue(object <> null()); 1118 assert_checktrue(L(1) <> object); 1119 assert_checktrue(null() <> object); 1120end 1121h5close(h5); 1122ludel(ptr); 1123xmlDelete(xml); 1124mdelete(h5File); 1125 1126//macro 1127deff("[x]=myplus(y,z)","x=y+z"); 1128 1129deff("[x]=mymacro(y,z)",["a=3*y+1"; "x=a*z+y"]); 1130 1131assert_checkequal(myplus <> myplus,%f); 1132assert_checkequal(myplus <> mymacro,%t); 1133assert_checkequal(myplus <> [],%t); 1134assert_checkequal(myplus <> 2,%t); 1135 1136//function 1137assert_checkequal(acosd <> acosd, %f); 1138assert_checkequal(acosd <> [], %t); 1139assert_checkequal(acosd <> 2, %t); 1140 1141// libraries 1142assert_checktrue(iolib <> corelib); 1143