6 October 2025 6:33:37.199 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: 9.82745 3.47848 2.54850 -4.82292 1.14978 2: -1.47841 -0.744778 8.26015 9.22864 -0.999169 3: 5.99672 -2.68374 9.44079 0.340439 2.93749 4: -3.86836 0.181655 5.37897 -2.70625 3.79372 5: -3.72557 0.154612 5.18453 7.81793 -4.91614 Col 6 7 8 9 10 Row 1: 5.84121 2.86139 5.86191 -0.739707 -0.764076 2: 4.70300 1.99985 5.13064 -0.267000 4.29408 3: 0.231105 7.97194 2.39974 8.25258 8.51076 4: 5.00161 1.28874 0.275950 -1.30584 4.12946 5: 7.40402 6.39157 3.95814 6.35565 8.21605 Running averages: Col 1 2 3 4 5 Row 1: 0. 9.82745 6.65297 5.28481 2.75788 2: 0. -1.47841 -1.11160 2.01232 3.81640 3: 0. 5.99672 1.65649 4.25126 3.27355 4: 0. -3.86836 -1.84335 0.564087 -0.253498 5: 0. -3.72557 -1.78548 0.537857 2.35788 Col 6 7 8 9 10 Row 1: 2.43626 3.00375 2.98341 3.34323 2.88957 2: 2.85328 3.16157 2.99561 3.26249 2.87032 3: 3.20634 2.71047 3.46211 3.32931 3.87634 4: 0.555946 1.29689 1.29573 1.16825 0.893355 5: 0.903072 1.98656 2.61585 2.78364 3.18053 Col 11 Row 1: 2.52420 2: 3.01270 3: 4.33978 4: 1.21696 5: 3.68408 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: -3.57739 7.10293 2.39319 -0.782842 8.89683 2: -1.84694 -2.76083 -4.67843 3.65875 5.02195 3: 1.01760 -4.77568 -1.33932 -1.19639 8.69396 4: -0.988583 -2.13218 4.53929 6.30448 4.94156 5: 5.59183 1.65870 3.85541 -0.135162 9.11638 Col 6 7 8 9 10 Row 1: 0.783097 9.29670 0.260313 5.42251 -0.549072 2: -2.34061 9.47673 -4.34985 3.59455 0.159113 3: 0.683628 -2.06008 6.92958 4.99643 -0.529378 4: 8.58950 3.34171 9.46341 2.54725 -3.74458 5: 4.58129 7.34647 8.60489 -0.762836E-01 6.81975 Running sums: Col 1 2 3 4 5 Row 1: 0. -3.57739 3.52554 5.91873 5.13589 2: 0. -1.84694 -4.60776 -9.28619 -5.62744 3: 0. 1.01760 -3.75808 -5.09740 -6.29379 4: 0. -0.988583 -3.12076 1.41853 7.72300 5: 0. 5.59183 7.25053 11.1059 10.9708 Col 6 7 8 9 10 Row 1: 14.0327 14.8158 24.1125 24.3728 29.7953 2: -0.605488 -2.94610 6.53063 2.18078 5.77533 3: 2.40017 3.08380 1.02372 7.95330 12.9497 4: 12.6646 21.2541 24.5958 34.0592 36.6064 5: 20.0871 24.6684 32.0149 40.6198 40.5435 Col 11 Row 1: 29.2463 2: 5.93445 3: 12.4204 4: 32.8618 5: 47.3633 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: 1.78990 6.51444 9.27699 2: 7.31109 9.88640 4.48819 3: 5.34140 3.72398 4.39322 4: 3.79858 5.86306 4.85931 5: 1.59803 8.86915 4.05896 6: 1.76154 3.53550 7.17264 7: 3.64358 5.71456 6.95581 8: 4.68270 4.04174 5.45816 9: 0.471406 7.67551 8.53153 10: 9.86360 2.53269 6.46933 The sorted matrix: Col 1 2 3 Row 1: 0.471406 7.67551 8.53153 2: 1.59803 8.86915 4.05896 3: 1.76154 3.53550 7.17264 4: 1.78990 6.51444 9.27699 5: 3.64358 5.71456 6.95581 6: 3.79858 5.86306 4.85931 7: 4.68270 4.04174 5.45816 8: 5.34140 3.72398 4.39322 9: 7.31109 9.88640 4.48819 10: 9.86360 2.53269 6.46933 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: 7.06958 7.74657 2.51692 7.21380 2: 6.29561 7.64627 6.19737 5.09942 3: 8.57084 2.46903 3.30270 7.13753 4: 5.72293 8.35531 8.51273 9.17608 5: 2.36650 6.29373 8.97666 9.70093 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. 6 October 2025 6:33:37.200 PM