@@ -324,6 +324,7 @@ TEST_F(EngineUtilSparseTest, MjuSqrMatTDSparse1) {
324
324
int colindH[] = {0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 };
325
325
int rownnzH[] = {0 , 0 , 0 };
326
326
int rowadrH[] = {0 , 0 , 0 };
327
+ int diagindH[] = {0 , 0 , 0 };
327
328
328
329
// test precount
329
330
mju_sqrMatTDSparseCount (rownnzH, rowadrH, 3 , rownnz, rowadr, colind,
@@ -336,7 +337,7 @@ TEST_F(EngineUtilSparseTest, MjuSqrMatTDSparse1) {
336
337
mju_sqrMatTDUncompressedInit (rowadrH, 3 );
337
338
mju_sqrMatTDSparse (matH, mat, matT, nullptr , 3 , 3 , rownnzH, rowadrH, colindH,
338
339
rownnz, rowadr, colind, nullptr , rownnzT, rowadrT, colindT,
339
- nullptr , data, 1 );
340
+ nullptr , data, diagindH );
340
341
341
342
EXPECT_THAT (matH, ElementsAre (0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ));
342
343
EXPECT_THAT (colindH, ElementsAre (0 , 1 , 2 , 0 , 1 , 2 , 0 , 1 , 2 ));
@@ -369,6 +370,7 @@ TEST_F(EngineUtilSparseTest, MjuSqrMatTDSparse2) {
369
370
int colindH[] = {0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 };
370
371
int rownnzH[] = {0 , 0 , 0 };
371
372
int rowadrH[] = {0 , 0 , 0 };
373
+ int diagindH[] = {0 , 0 , 0 };
372
374
373
375
// test precount
374
376
mju_sqrMatTDSparseCount (rownnzH, rowadrH, 3 , rownnz, rowadr, colind,
@@ -382,7 +384,7 @@ TEST_F(EngineUtilSparseTest, MjuSqrMatTDSparse2) {
382
384
mju_sqrMatTDUncompressedInit (rowadrH, 3 );
383
385
mju_sqrMatTDSparse (matH, mat, matT, nullptr , 3 , 3 , rownnzH, rowadrH, colindH,
384
386
rownnz, rowadr, colind, nullptr , rownnzT, rowadrT, colindT,
385
- nullptr , data, 1 );
387
+ nullptr , data, diagindH );
386
388
387
389
EXPECT_THAT (matH, ElementsAre (12 , 0 , 12 , 0 , 6 , 3 , 12 , 3 , 14 ));
388
390
EXPECT_THAT (colindH, ElementsAre (0 , 1 , 2 , 0 , 1 , 2 , 0 , 1 , 2 ));
@@ -415,6 +417,7 @@ TEST_F(EngineUtilSparseTest, MjuSqrMatTDSparse3) {
415
417
int colindH[] = {0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 };
416
418
int rownnzH[] = {0 , 0 , 0 };
417
419
int rowadrH[] = {0 , 0 , 0 };
420
+ int diagindH[] = {0 , 0 , 0 };
418
421
419
422
mjtNum diag[] = {2 , 3 , 4 };
420
423
@@ -429,7 +432,7 @@ TEST_F(EngineUtilSparseTest, MjuSqrMatTDSparse3) {
429
432
mju_sqrMatTDUncompressedInit (rowadrH, 3 );
430
433
mju_sqrMatTDSparse (matH, mat, matT, diag, 3 , 3 , rownnzH, rowadrH, colindH,
431
434
rownnz, rowadr, colind, nullptr , rownnzT, rowadrT, colindT,
432
- nullptr , data, 1 );
435
+ nullptr , data, diagindH );
433
436
434
437
EXPECT_THAT (matH, ElementsAre (66 , 4 , 0 , 4 , 35 , 0 , 0 , 0 , 0 ));
435
438
EXPECT_THAT (colindH, ElementsAre (0 , 1 , 0 , 0 , 1 , 0 , 0 , 0 , 0 ));
@@ -462,6 +465,7 @@ TEST_F(EngineUtilSparseTest, MjuSqrMatTDSparse4) {
462
465
int colindH[] = {0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 };
463
466
int rownnzH[] = {0 , 0 , 0 };
464
467
int rowadrH[] = {0 , 0 , 0 };
468
+ int diagindH[] = {0 , 0 , 0 };
465
469
466
470
mjtNum diag[] = {2 , 3 , 4 };
467
471
@@ -477,7 +481,7 @@ TEST_F(EngineUtilSparseTest, MjuSqrMatTDSparse4) {
477
481
mju_sqrMatTDUncompressedInit (rowadrH, 3 );
478
482
mju_sqrMatTDSparse (matH, mat, matT, diag, 3 , 3 , rownnzH, rowadrH, colindH,
479
483
rownnz, rowadr, colind, nullptr , rownnzT, rowadrT, colindT,
480
- nullptr , data, 1 );
484
+ nullptr , data, diagindH );
481
485
482
486
EXPECT_THAT (matH, ElementsAre (66 , 4 , 0 , 0 , 0 , 0 , 4 , 35 , 0 ));
483
487
EXPECT_THAT (colindH, ElementsAre (0 , 2 , 0 , 0 , 0 , 0 , 0 , 2 , 0 ));
@@ -510,6 +514,7 @@ TEST_F(EngineUtilSparseTest, MjuSqrMatTDSparse5) {
510
514
int colindH[] = {0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 };
511
515
int rownnzH[] = {0 , 0 , 0 };
512
516
int rowadrH[] = {0 , 0 , 0 };
517
+ int diagindH[] = {0 , 0 , 0 };
513
518
514
519
515
520
// test precount
@@ -523,7 +528,7 @@ TEST_F(EngineUtilSparseTest, MjuSqrMatTDSparse5) {
523
528
mju_sqrMatTDUncompressedInit (rowadrH, 3 );
524
529
mju_sqrMatTDSparse (matH, mat, matT, nullptr , 3 , 3 , rownnzH, rowadrH, colindH,
525
530
rownnz, rowadr, colind, nullptr , rownnzT, rowadrT, colindT,
526
- nullptr , data, 1 );
531
+ nullptr , data, diagindH );
527
532
528
533
EXPECT_THAT (matH, ElementsAre (5 , 6 , 4 , 6 , 9 , 0 , 4 , 16 , 0 ));
529
534
EXPECT_THAT (colindH, ElementsAre (0 , 1 , 2 , 0 , 1 , 0 , 0 , 2 , 0 ));
@@ -556,6 +561,7 @@ TEST_F(EngineUtilSparseTest, MjuSqrMatTDSparse6) {
556
561
int colindH[] = {0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 };
557
562
int rownnzH[] = {0 , 0 , 0 };
558
563
int rowadrH[] = {0 , 0 , 0 };
564
+ int diagindH[] = {0 , 0 , 0 };
559
565
560
566
// test precount
561
567
mju_sqrMatTDSparseCount (rownnzH, rowadrH, 3 , rownnz, rowadr, colind,
@@ -568,12 +574,13 @@ TEST_F(EngineUtilSparseTest, MjuSqrMatTDSparse6) {
568
574
mju_sqrMatTDUncompressedInit (rowadrH, 3 );
569
575
mju_sqrMatTDSparse (matH, mat, matT, nullptr , 3 , 3 , rownnzH, rowadrH, colindH,
570
576
rownnz, rowadr, colind, nullptr , rownnzT, rowadrT, colindT,
571
- nullptr , data, 1 );
577
+ nullptr , data, diagindH );
572
578
573
579
EXPECT_THAT (matH, ElementsAre (1 , 2 , 0 , 4 , 0 , 0 , 2 , 13 , 0 ));
574
580
EXPECT_THAT (colindH, ElementsAre (0 , 2 , 0 , 1 , 0 , 0 , 0 , 2 , 0 ));
575
581
EXPECT_THAT (rownnzH, ElementsAre (2 , 1 , 2 ));
576
582
EXPECT_THAT (rowadrH, ElementsAre (0 , 3 , 6 ));
583
+ EXPECT_THAT (diagindH, ElementsAre (0 , 3 , 7 ));
577
584
578
585
mj_deleteData (data);
579
586
mj_deleteModel (model);
@@ -601,6 +608,7 @@ TEST_F(EngineUtilSparseTest, MjuSqrMatTDSparse7) {
601
608
int colindH[] = {0 , 0 , 0 , 0 };
602
609
int rownnzH[] = {0 , 0 };
603
610
int rowadrH[] = {0 , 0 };
611
+ int diagindH[] = {0 , 0 };
604
612
605
613
mjtNum diag[] = {2 , 3 , 4 };
606
614
@@ -615,7 +623,7 @@ TEST_F(EngineUtilSparseTest, MjuSqrMatTDSparse7) {
615
623
mju_sqrMatTDUncompressedInit (rowadrH, 2 );
616
624
mju_sqrMatTDSparse (matH, mat, matT, diag, 3 , 2 , rownnzH, rowadrH, colindH,
617
625
rownnz, rowadr, colind, nullptr , rownnzT, rowadrT, colindT,
618
- nullptr , data, 1 );
626
+ nullptr , data, diagindH );
619
627
620
628
EXPECT_THAT (matH, ElementsAre (66 , 4 , 4 , 35 ));
621
629
EXPECT_THAT (colindH, ElementsAre (0 , 1 , 0 , 1 ));
@@ -647,6 +655,7 @@ TEST_F(EngineUtilSparseTest, MjuSqrMatTDSparse8) {
647
655
int colindH[] = {0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 };
648
656
int rownnzH[] = {0 , 0 , 0 };
649
657
int rowadrH[] = {0 , 0 , 0 };
658
+ int diagindH[] = {0 , 0 , 0 };
650
659
651
660
mjtNum diag[] = {2 , 3 };
652
661
@@ -661,7 +670,7 @@ TEST_F(EngineUtilSparseTest, MjuSqrMatTDSparse8) {
661
670
mju_sqrMatTDUncompressedInit (rowadrH, 3 );
662
671
mju_sqrMatTDSparse (matH, mat, matT, diag, 2 , 3 , rownnzH, rowadrH, colindH,
663
672
rownnz, rowadr, colind, nullptr , rownnzT, rowadrT, colindT,
664
- nullptr , data, 1 );
673
+ nullptr , data, diagindH );
665
674
666
675
EXPECT_THAT (matH, ElementsAre (14 , 18 , 8 , 18 , 27 , 0 , 8 , 32 , 0 ));
667
676
EXPECT_THAT (colindH, ElementsAre (0 , 1 , 2 , 0 , 1 , 0 , 0 , 2 , 0 ));
@@ -694,6 +703,7 @@ TEST_F(EngineUtilSparseTest, MjuSqrMatTDSparse9) {
694
703
int colindH[] = {0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 };
695
704
int rownnzH[] = {0 , 0 , 0 };
696
705
int rowadrH[] = {0 , 0 , 0 };
706
+ int diagindH[] = {0 , 0 , 0 };
697
707
698
708
mjtNum diag[] = {2 , 3 , 4 };
699
709
@@ -708,7 +718,7 @@ TEST_F(EngineUtilSparseTest, MjuSqrMatTDSparse9) {
708
718
mju_sqrMatTDUncompressedInit (rowadrH, 3 );
709
719
mju_sqrMatTDSparse (matH, mat, matT, diag, 3 , 3 , rownnzH, rowadrH, colindH,
710
720
rownnz, rowadr, colind, nullptr , rownnzT, rowadrT, colindT,
711
- nullptr , data, 1 );
721
+ nullptr , data, diagindH );
712
722
713
723
EXPECT_THAT (matH, ElementsAre (69 , 77 , 80 , 77 , 99 , 108 , 80 , 108 , 120 ));
714
724
EXPECT_THAT (colindH, ElementsAre (0 , 1 , 2 , 0 , 1 , 2 , 0 , 1 , 2 ));
@@ -742,6 +752,7 @@ TEST_F(EngineUtilSparseTest, MjuSqrMatTDSparse10) {
742
752
int colindH[] = {0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 };
743
753
int rownnzH[] = {0 , 0 , 0 };
744
754
int rowadrH[] = {0 , 0 , 0 };
755
+ int diagindH[] = {0 , 0 , 0 };
745
756
746
757
mjtNum diag[] = {1 , 1 , 1 };
747
758
@@ -756,7 +767,7 @@ TEST_F(EngineUtilSparseTest, MjuSqrMatTDSparse10) {
756
767
mju_sqrMatTDUncompressedInit (rowadrH, 3 );
757
768
mju_sqrMatTDSparse (matH, mat, matT, diag, 3 , 3 , rownnzH, rowadrH, colindH,
758
769
rownnz, rowadr, colind, nullptr , rownnzT, rowadrT, colindT,
759
- rowsuperT, data, 1 );
770
+ rowsuperT, data, diagindH );
760
771
761
772
EXPECT_THAT (matH, ElementsAre (14 , 14 , 14 , 14 , 14 , 14 , 14 , 14 , 14 ));
762
773
EXPECT_THAT (colindH, ElementsAre (0 , 1 , 2 , 0 , 1 , 2 , 0 , 1 , 2 ));
@@ -790,6 +801,7 @@ TEST_F(EngineUtilSparseTest, MjuSqrMatTDSparse11) {
790
801
int colindH[] = {0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 };
791
802
int rownnzH[] = {0 , 0 , 0 };
792
803
int rowadrH[] = {0 , 0 , 0 };
804
+ int diagindH[] = {0 , 0 , 0 };
793
805
794
806
mjtNum diag[] = {1 , 1 , 1 };
795
807
@@ -804,7 +816,7 @@ TEST_F(EngineUtilSparseTest, MjuSqrMatTDSparse11) {
804
816
mju_sqrMatTDUncompressedInit (rowadrH, 3 );
805
817
mju_sqrMatTDSparse (matH, mat, matT, diag, 3 , 3 , rownnzH, rowadrH, colindH,
806
818
rownnz, rowadr, colind, nullptr , rownnzT, rowadrT, colindT,
807
- rowsuperT, data, 1 );
819
+ rowsuperT, data, diagindH );
808
820
809
821
EXPECT_THAT (matH, ElementsAre (1 , 1 , 1 , 1 , 10 , 10 , 1 , 10 , 10 ));
810
822
EXPECT_THAT (colindH, ElementsAre (0 , 1 , 2 , 0 , 1 , 2 , 0 , 1 , 2 ));
@@ -838,6 +850,7 @@ TEST_F(EngineUtilSparseTest, MjuSqrMatTDSparse12) {
838
850
int colindH[] = {0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 };
839
851
int rownnzH[] = {0 , 0 , 0 , 0 };
840
852
int rowadrH[] = {0 , 0 , 0 , 0 };
853
+ int diagindH[] = {0 , 0 , 0 , 0 };
841
854
842
855
mjtNum diag[] = {1 , 1 , 1 };
843
856
@@ -852,7 +865,7 @@ TEST_F(EngineUtilSparseTest, MjuSqrMatTDSparse12) {
852
865
mju_sqrMatTDUncompressedInit (rowadrH, 4 );
853
866
mju_sqrMatTDSparse (matH, mat, matT, diag, 3 , 4 , rownnzH, rowadrH, colindH,
854
867
rownnz, rowadr, colind, nullptr , rownnzT, rowadrT, colindT,
855
- rowsuperT, data, 1 );
868
+ rowsuperT, data, diagindH );
856
869
857
870
EXPECT_THAT (matH,
858
871
ElementsAre (1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 10 , 10 , 1 , 1 , 10 , 10 ));
@@ -890,6 +903,7 @@ TEST_F(EngineUtilSparseTest, MjuSqrMatTDSparse13) {
890
903
0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 };
891
904
int rownnzH[] = {0 , 0 , 0 , 0 , 0 };
892
905
int rowadrH[] = {0 , 0 , 0 , 0 , 0 };
906
+ int diagindH[] = {0 , 0 , 0 , 0 , 0 };
893
907
894
908
mjtNum diag[] = {1 , 1 , 1 };
895
909
@@ -904,7 +918,7 @@ TEST_F(EngineUtilSparseTest, MjuSqrMatTDSparse13) {
904
918
mju_sqrMatTDUncompressedInit (rowadrH, 5 );
905
919
mju_sqrMatTDSparse (matH, mat, matT, diag, 3 , 5 , rownnzH, rowadrH, colindH,
906
920
rownnz, rowadr, colind, nullptr , rownnzT, rowadrT, colindT,
907
- rowsuperT, data, 1 );
921
+ rowsuperT, data, diagindH );
908
922
909
923
EXPECT_THAT (matH, ElementsAre (3 , 3 , 0 , 0 , 0 , 3 , 3 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
910
924
0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ));
@@ -942,6 +956,7 @@ TEST_F(EngineUtilSparseTest, MjuSqrMatTDSparse14) {
942
956
0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 };
943
957
int rownnzH[] = {0 , 0 , 0 , 0 , 0 , 0 , 0 };
944
958
int rowadrH[] = {0 , 0 , 0 , 0 , 0 , 0 , 0 };
959
+ int diagindH[] = {0 , 0 , 0 , 0 , 0 , 0 , 0 };
945
960
946
961
// test precount
947
962
mju_sqrMatTDSparseCount (rownnzH, rowadrH, 7 , rownnz, rowadr, colind,
@@ -954,7 +969,7 @@ TEST_F(EngineUtilSparseTest, MjuSqrMatTDSparse14) {
954
969
mju_sqrMatTDUncompressedInit (rowadrH, 7 );
955
970
mju_sqrMatTDSparse (matH, mat, matT, nullptr , 1 , 7 , rownnzH, rowadrH, colindH,
956
971
rownnz, rowadr, colind, nullptr , rownnzT, rowadrT, colindT,
957
- rowsuperT, data, 1 );
972
+ rowsuperT, data, diagindH );
958
973
959
974
EXPECT_THAT (
960
975
matH, ElementsAre (1 , 1 , 1 , 1 , 2 , 2 , 2 , 1 , 1 , 1 , 1 , 2 , 2 , 2 , 1 , 1 , 1 , 1 , 2 ,
0 commit comments