9 May 2025 9:29:15.851 PM r8row_test(): FORTRAN90 version Test r8row(). I4_LOG_10_TEST I4_LOG_10: whole part of log base 10, X, I4_LOG_10 0 0 1 0 2 0 3 0 9 0 10 1 11 1 99 1 101 2 -1 0 -2 0 -3 0 -9 0 I4MAT_PRINT_TEST I4MAT_PRINT prints an I4MAT. The matrix: Col 1 2 3 Row 1: 11 12 13 2: 21 22 23 3: 31 32 33 4: 41 42 43 5: 51 52 53 I4MAT_PRINT_SOME_TEST I4MAT_PRINT_SOME prints some of an I4MAT. The I4MAT, rows 2:4, cols 1:2: Col 1 2 Row 2: 21 22 3: 31 32 4: 41 42 I4VEC_PRINT_TEST I4VEC_PRINT prints an I4VEC The I4VEC: 1: 91 2: 92 3: 93 4: 94 R8ROW_COMPARE_TEST R8ROW_COMPARE compares rows of an R8ROW, returning -1, 0 or +1 for comparison. Matrix A: Col 1 2 3 4 5 Row 1: 2. 0. 1. 2. 0. 2: 0. 1. 2. 0. 1. 3: 1. 2. 0. 1. 2. 4: 2. 0. 1. 2. 0. 5: 0. 1. 2. 0. 1. 6: 1. 2. 0. 1. 2. C(I,J) = Row I compare Row J: Col 1 2 3 4 5 6 Row 1: 0 1 1 0 1 1 2: -1 0 -1 -1 0 -1 3: -1 1 0 -1 1 0 4: 0 1 1 0 1 1 5: -1 0 -1 -1 0 -1 6: -1 1 0 -1 1 0 R8ROW_INDICATOR_TEST R8ROW_INDICATOR returns an R8ROW indicator matrix. The indicator matrix: Col 1 2 3 4 Row 1: 11. 12. 13. 14. 2: 21. 22. 23. 24. 3: 31. 32. 33. 34. 4: 41. 42. 43. 44. 5: 51. 52. 53. 54. R8ROW_MAX_TEST R8ROW_MAX computes row maximums of an R8ROW. The original matrix: Col 1 2 3 4 Row 1: 1. 2. 3. 4. 2: 5. 6. 7. 8. 3: 9. 10. 11. 12. The row maximums: 1: 4.0000000 2: 8.0000000 3: 12.000000 R8ROW_MEAN_TEST R8ROW_MEAN computes row means of an R8ROW. The original matrix: Col 1 2 3 4 Row 1: 1. 2. 3. 4. 2: 5. 6. 7. 8. 3: 9. 10. 11. 12. The row means: 1: 2.5000000 2: 6.5000000 3: 10.500000 R8ROW_MIN_TEST R8ROW_MIN computes row minimums of an R8ROW. The original matrix: Col 1 2 3 4 Row 1: 1. 2. 3. 4. 2: 5. 6. 7. 8. 3: 9. 10. 11. 12. The row minimums: 1: 1.0000000 2: 5.0000000 3: 9.0000000 R8ROW_PART_QUICK_A_TEST R8ROW_PART_QUICK_A partitions an R8ROW matrix. The matrix: Col 1 2 Row 1: 2. 4. 2: 8. 8. 3: 6. 2. 4: 0. 2. 5: 10. 6. 6: 10. 0. 7: 0. 6. 8: 5. 8. L = 2 R = 4 The partitioned matrix: Col 1 2 Row 1: 0. 6. 2: 0. 2. 3: 2. 4. 4: 10. 6. 5: 10. 0. 6: 6. 2. 7: 5. 8. 8: 8. 8. R8ROW_PRINT_TEST R8ROW_PRINT prints an R8ROW. The R8ROW: Col 1 2 3 4 Row 1: 11. 12. 13. 14. 2: 21. 22. 23. 24. 3: 31. 32. 33. 34. 4: 41. 42. 43. 44. 5: 51. 52. 53. 54. 6: 61. 62. 63. 64. R8ROW_PRINT_SOME_TEST R8ROW_PRINT_SOME prints some of an R8ROW. The R8ROW, rows 2:4, cols 1:2: Col 1 2 Row 2: 21. 22. 3: 31. 32. 4: 41. 42. R8ROW_RUNNING_AVERAGE_TEST R8ROW_RUNNING_AVERAGE returns M sets of running averages of an MxN R8ROW. Random R8ROW: Col 1 2 3 4 5 Row 1: -2.93833 3.58753 8.06452 -4.74524 5.45348 2: -2.63678 -1.84729 0.586583 -1.73538 3.63922 3: -2.20791 9.22819 -1.20771 4.35633 -2.06110 4: 7.17953 7.28533 6.48950 5.76472 7.57575 5: 9.13206 6.32148 -2.40040 -3.34435 -3.43038 Col 6 7 8 9 10 Row 1: 4.09884 -3.18619 4.18275 -2.00575 2.50970 2: -0.590479E-01 -3.32820 3.12922 3.68855 -3.65949 3: 2.19694 1.20984 -3.63932 -3.16657 -3.63699 4: 2.46089 9.92539 5.75780 -0.837746 8.80150 5: 3.02968 6.04901 5.11822 9.93215 4.42436 Running averages: Col 1 2 3 4 5 Row 1: 0. -2.93833 0.324599 2.90457 0.992119 2: 0. -2.63678 -2.24203 -1.29916 -1.40822 3: 0. -2.20791 3.51014 1.93753 2.54223 4: 0. 7.17953 7.23243 6.98478 6.67977 5: 0. 9.13206 7.72677 4.35105 2.42720 Col 6 7 8 9 10 Row 1: 1.88439 2.25347 1.47637 1.81467 1.39018 2: -0.398729 -0.342116 -0.768700 -0.281460 0.159653 3: 1.62156 1.71746 1.64494 0.984407 0.523187 4: 6.85896 6.12595 6.66873 6.55486 5.73346 5: 1.25568 1.55135 2.19387 2.55942 3.37861 Col 11 Row 1: 1.50213 2: -0.222261 3: 0.107169 4: 6.04026 5: 3.48318 R8ROW_RUNNING_SUM_TEST R8ROW_RUNNING_SUM returns the M running sums of an R8ROW. Random R8ROW: Col 1 2 3 4 5 Row 1: 6.44513 -2.47058 -0.509918 8.21894 -0.196998 2: 5.82941 -1.24308 -3.40888 -3.39479 5.47761 3: 3.89956 -1.89522 0.952737 -1.56334 2.37796 4: 8.51115 2.43665 -2.62264 0.638087E-01 3.21233 5: 7.75966 2.37263 6.25926 -2.82672 -2.55555 Col 6 7 8 9 10 Row 1: 7.39313 9.21384 3.71438 4.51964 1.26930 2: -2.96133 4.65201 -0.494735 9.70360 4.61725 3: -3.31104 2.82932 -4.44651 -2.40074 2.61205 4: 3.11975 0.935279 9.17636 4.89920 4.03852 5: -0.297154 -1.35370 7.26296 2.82313 8.22170 Running sums: Col 1 2 3 4 5 Row 1: 0. 6.44513 3.97455 3.46463 11.6836 2: 0. 5.82941 4.58632 1.17744 -2.21735 3: 0. 3.89956 2.00434 2.95707 1.39373 4: 0. 8.51115 10.9478 8.32516 8.38897 5: 0. 7.75966 10.1323 16.3915 13.5648 Col 6 7 8 9 10 Row 1: 11.4866 18.8797 28.0935 31.8079 36.3276 2: 3.26026 0.298927 4.95093 4.45620 14.1598 3: 3.77169 0.460653 3.28998 -1.15654 -3.55728 4: 11.6013 14.7211 15.6563 24.8327 29.7319 5: 11.0093 10.7121 9.35843 16.6214 19.4445 Col 11 Row 1: 37.5969 2: 18.7770 3: -0.945229 4: 33.7704 5: 27.6662 R8ROW_SORT_HEAP_A_TEST R8ROW_SORT_HEAP_A ascending heap sorts of an R8ROW. The unsorted matrix: Col 1 2 3 Row 1: 2. 6. 10. 2: 4. 8. 12. 3: 1. 5. 9. 4: 3. 7. 11. The sorted matrix: Col 1 2 3 Row 1: 1. 5. 9. 2: 2. 6. 10. 3: 3. 7. 11. 4: 4. 8. 12. R8ROW_SORT_HEAP_INDEX_A_TEST R8ROW_SORT_HEAP_INDEX_A computes an index vector which ascending sorts an R8ROW. The unsorted R8ROW: Row 1 2 3 4 5 Col 1: 2.00000 4.00000 1.00000 3.00000 2.00000 2: 6.00000 8.00000 5.00000 7.00000 6.00000 3: 10.0000 12.0000 9.00000 11.0000 0.00000 Row 6 7 8 9 10 Col 1: 3.00000 0.00000 0.00000 2.00000 3.00000 2: 4.00000 0.00000 6.00000 6.00000 7.00000 3: 18.0000 0.00000 10.0000 10.0000 11.0000 Row 11 12 13 14 15 Col 1: 2.00000 2.00000 1.00000 1.00000 1.00000 2: 0.00000 6.00000 5.00000 5.00000 5.10000 3: 10.0000 10.0000 9.00000 9.10000 9.00000 The implicitly sorted R8ROW 7: 0.0 0.0 0.0 8: 0.0 6.0 10.0 13: 1.0 5.0 9.0 3: 1.0 5.0 9.0 14: 1.0 5.0 9.1 15: 1.0 5.1 9.0 11: 2.0 0.0 10.0 5: 2.0 6.0 0.0 12: 2.0 6.0 10.0 9: 2.0 6.0 10.0 1: 2.0 6.0 10.0 6: 3.0 4.0 18.0 10: 3.0 7.0 11.0 4: 3.0 7.0 11.0 2: 4.0 8.0 12.0 R8ROW_SORT_QUICK_A_TEST R8ROW_SORT_QUICK_A does a quicksort of an R8ROW. The unsorted matrix: Col 1 2 3 Row 1: 8.16304 6.24534 7.70906 2: 1.08420 1.46341 0.210100 3: 5.36464 6.74023 8.23187 4: 4.39752 9.89769 7.49316 5: 0.745748 8.53704 8.55397 6: 4.74463 7.53580 6.94960 7: 8.82520 2.63305 5.78095 8: 9.34815 5.60159 2.11536 9: 1.32345 9.36850 7.51010 10: 2.40139 3.49821 9.30251 The sorted matrix: Col 1 2 3 Row 1: 0.745748 8.53704 8.55397 2: 1.08420 1.46341 0.210100 3: 1.32345 9.36850 7.51010 4: 2.40139 3.49821 9.30251 5: 4.39752 9.89769 7.49316 6: 4.74463 7.53580 6.94960 7: 5.36464 6.74023 8.23187 8: 8.16304 6.24534 7.70906 9: 8.82520 2.63305 5.78095 10: 9.34815 5.60159 2.11536 R8ROW_SUM_TEST R8ROW_SUM computes row sums of an R8ROW; The original matrix: Col 1 2 3 4 Row 1: 1. 2. 3. 4. 2: 5. 6. 7. 8. 3: 9. 10. 11. 12. The row sums: 1: 10.000000 2: 26.000000 3: 42.000000 R8ROW_SWAP_TEST R8ROW_SWAP swaps two rows of an R8ROW; The original matrix: Col 1 2 3 4 Row 1: 1. 2. 3. 4. 2: 5. 6. 7. 8. 3: 9. 10. 11. 12. Swap rows 1 and 3 The modified matrix: Col 1 2 3 4 Row 1: 9. 10. 11. 12. 2: 5. 6. 7. 8. 3: 1. 2. 3. 4. R8ROW_TO_R8VEC_TEST R8ROW_TO_R8VEC converts an R8ROW into an R8VEC. The array of rows: Col 1 2 3 4 Row 1: 11. 12. 13. 14. 2: 21. 22. 23. 24. 3: 31. 32. 33. 34. The resulting vector of rows: 1: 11.000000 2: 12.000000 3: 13.000000 4: 14.000000 5: 21.000000 6: 22.000000 7: 23.000000 8: 24.000000 9: 31.000000 10: 32.000000 11: 33.000000 12: 34.000000 R8ROW_TRANSPOSE_PRINT_TEST R8ROW_TRANSPOSE_PRINT prints a R8ROW, transposed. Matrix row order M = 7 Matrix column order N = 12 The transposed matrix A: Row 1 2 3 4 5 Col 1: 101.000 201.000 301.000 401.000 501.000 2: 102.000 202.000 302.000 402.000 502.000 3: 103.000 203.000 303.000 403.000 503.000 4: 104.000 204.000 304.000 404.000 504.000 5: 105.000 205.000 305.000 405.000 505.000 6: 106.000 206.000 306.000 406.000 506.000 7: 107.000 207.000 307.000 407.000 507.000 8: 108.000 208.000 308.000 408.000 508.000 9: 109.000 209.000 309.000 409.000 509.000 10: 110.000 210.000 310.000 410.000 510.000 11: 111.000 211.000 311.000 411.000 511.000 12: 112.000 212.000 312.000 412.000 512.000 Row 6 7 Col 1: 601.000 701.000 2: 602.000 702.000 3: 603.000 703.000 4: 604.000 704.000 5: 605.000 705.000 6: 606.000 706.000 7: 607.000 707.000 8: 608.000 708.000 9: 609.000 709.000 10: 610.000 710.000 11: 611.000 711.000 12: 612.000 712.000 R8ROW_TRANSPOSE_PRINT_SOME_TEST R8ROW_TRANSPOSE_PRINT_SOME prints some of an R8ROW, transposed. Matrix row order M = 5 Matrix column order N = 4 The matrix A: Col 1 2 3 4 Row 1: 11. 12. 13. 14. 2: 21. 22. 23. 24. 3: 31. 32. 33. 34. 4: 41. 42. 43. 44. 5: 51. 52. 53. 54. The transposed matrix A, rows 1:3, cols 2:3: Row 1 2 3 Col 2: 12.0000 22.0000 32.0000 3: 13.0000 23.0000 33.0000 R8ROW_UNIFORM_AB_TEST R8ROW_UNIFORM_AB sets an R8ROW to random values in [A,B]. The random matrix: Col 1 2 3 4 Row 1: 3.44695 8.60316 5.19614 8.50550 2: 4.24873 7.98187 3.96121 8.35861 3: 7.11444 6.75649 2.34074 2.58861 4: 5.30867 5.15695 7.22862 5.52781 5: 6.22377 6.32079 4.15646 5.08676 R8ROW_VARIANCE_TEST R8ROW_VARIANCE computes variances of an R8ROW. The original matrix: Col 1 2 3 4 Row 1: 1. 2. 3. 4. 2: 5. 6. 7. 8. 3: 9. 10. 11. 12. Row variances: 1 1.6667 2 1.6667 3 1.6667 R8VEC_PRINT_TEST R8VEC_PRINT prints an R8VEC. The R8VEC: 1: 123.45600 2: 0.50000000E-05 3: -1000000.0 4: 3.1415927 R8ROW_TEST Normal end of execution. 9 May 2025 9:29:15.852 PM