21 October 2024 10:02:28 AM POINT_MERGE_TEST C++ version Test the POINT_MERGE library. TEST01 To count the unique columns in an R8COL, we call POINT_UNIQUE_COUNT, POINT_RADIAL_UNIQUE_COUNT, (with random center) POINT_TOL_UNIQUE_COUNT, (with zero tolerance) M = 3 N = 10 SEED = 123456789 Matrix with N_UNIQUE unique columns: Row: 1 2 3 Col 1: 0.257578 0.109957 0.043829 2: 0.218418 0.956318 0.829509 3: 0.218418 0.956318 0.829509 4: 0.00183837 0.897504 0.350752 5: 0.218418 0.956318 0.829509 6: 0.0945448 0.0136169 0.859097 7: 0.401306 0.754673 0.797287 8: 0.633966 0.0617272 0.449539 9: 0.561695 0.415307 0.0661187 10: 0.00183837 0.897504 0.350752 N_UNIQUE = 7 POINT_UNIQUE_COUNT = 7 POINT_RADIAL_UNIQUE_COUNT = 7 POINT_TOL_UNIQUE_COUNT = 7 TEST01 To count the unique columns in an R8COL, we call POINT_UNIQUE_COUNT, POINT_RADIAL_UNIQUE_COUNT, (with random center) POINT_TOL_UNIQUE_COUNT, (with zero tolerance) M = 4 N = 20 SEED = 987654321 Matrix with N_UNIQUE unique columns: Row: 1 2 3 4 Col 1: 0.697926 0.0422287 0.736996 0.6983 2: 0.220377 0.875302 0.207099 0.710515 3: 0.205385 0.899631 0.0952443 0.770561 4: 0.220377 0.875302 0.207099 0.710515 5: 0.697926 0.0422287 0.736996 0.6983 6: 0.205385 0.899631 0.0952443 0.770561 7: 0.220377 0.875302 0.207099 0.710515 8: 0.747417 0.834381 0.436522 0.621415 9: 0.251803 0.0575308 0.920553 0.737443 10: 0.117362 0.499583 0.484024 0.989437 11: 0.818277 0.779166 0.441582 0.672432 12: 0.689138 0.348537 0.85945 0.782009 13: 0.327093 0.447774 0.729419 0.353082 14: 0.630149 0.907734 0.285621 0.434027 15: 0.818277 0.779166 0.441582 0.672432 16: 0.689138 0.348537 0.85945 0.782009 17: 0.4643 0.483962 0.945337 0.271059 18: 0.747417 0.834381 0.436522 0.621415 19: 0.697926 0.0422287 0.736996 0.6983 20: 0.630149 0.907734 0.285621 0.434027 N_UNIQUE = 11 POINT_UNIQUE_COUNT = 11 POINT_RADIAL_UNIQUE_COUNT = 11 POINT_TOL_UNIQUE_COUNT = 11 TEST02 To count the unique columns in an R8COL, we call POINT_RADIAL_TOL_UNIQUE_COUNT, (with random center) POINT_TOL_UNIQUE_COUNT, (with zero tolerance) M = 3 N = 10 TOL = 1e-05 SEED = 123456789 Matrix with N_UNIQUE unique columns: Row: 1 2 3 Col 1: 0.257578 0.109957 0.043829 2: 0.218418 0.956318 0.829509 3: 0.218418 0.956318 0.829509 4: 0.00183837 0.897504 0.350752 5: 0.218418 0.956318 0.829509 6: 0.0945448 0.0136169 0.859097 7: 0.401306 0.754673 0.797287 8: 0.633966 0.0617272 0.449539 9: 0.561695 0.415307 0.0661187 10: 0.00183837 0.897504 0.350752 Blurred matrix: Row: 1 2 3 Col 1: 0.257582 0.109959 0.0438299 2: 0.218423 0.95632 0.82951 3: 0.218421 0.95632 0.829513 4: 0.00184055 0.897505 0.350757 5: 0.218419 0.956319 0.829514 6: 0.0945485 0.0136172 0.8591 7: 0.401307 0.754677 0.79729 8: 0.633967 0.0617309 0.449542 9: 0.561698 0.415309 0.0661224 10: 0.0018421 0.897504 0.350756 N_UNIQUE = 7 POINT_RADIAL_TOL_UNIQUE_COUNT = 7 POINT_TOL_UNIQUE_COUNT = 7 TEST02 To count the unique columns in an R8COL, we call POINT_RADIAL_TOL_UNIQUE_COUNT, (with random center) POINT_TOL_UNIQUE_COUNT, (with zero tolerance) M = 4 N = 20 TOL = 1e-05 SEED = 987654321 Matrix with N_UNIQUE unique columns: Row: 1 2 3 4 Col 1: 0.697926 0.0422287 0.736996 0.6983 2: 0.220377 0.875302 0.207099 0.710515 3: 0.205385 0.899631 0.0952443 0.770561 4: 0.220377 0.875302 0.207099 0.710515 5: 0.697926 0.0422287 0.736996 0.6983 6: 0.205385 0.899631 0.0952443 0.770561 7: 0.220377 0.875302 0.207099 0.710515 8: 0.747417 0.834381 0.436522 0.621415 9: 0.251803 0.0575308 0.920553 0.737443 10: 0.117362 0.499583 0.484024 0.989437 11: 0.818277 0.779166 0.441582 0.672432 12: 0.689138 0.348537 0.85945 0.782009 13: 0.327093 0.447774 0.729419 0.353082 14: 0.630149 0.907734 0.285621 0.434027 15: 0.818277 0.779166 0.441582 0.672432 16: 0.689138 0.348537 0.85945 0.782009 17: 0.4643 0.483962 0.945337 0.271059 18: 0.747417 0.834381 0.436522 0.621415 19: 0.697926 0.0422287 0.736996 0.6983 20: 0.630149 0.907734 0.285621 0.434027 Blurred matrix: Row: 1 2 3 4 Col 1: 0.697927 0.0422306 0.737001 0.698302 2: 0.22038 0.875304 0.207101 0.710517 3: 0.205388 0.899634 0.0952444 0.770562 4: 0.22038 0.875305 0.207101 0.710518 5: 0.697929 0.0422311 0.736997 0.698303 6: 0.205388 0.899634 0.0952454 0.770563 7: 0.220378 0.875305 0.207103 0.710516 8: 0.74742 0.834384 0.436523 0.621417 9: 0.251803 0.0575329 0.920555 0.737447 10: 0.117365 0.499587 0.484024 0.989437 11: 0.818279 0.779169 0.441586 0.672432 12: 0.689141 0.34854 0.859453 0.782009 13: 0.327095 0.447776 0.729422 0.353085 14: 0.630149 0.907735 0.285625 0.434031 15: 0.818279 0.779167 0.441587 0.672433 16: 0.689139 0.348539 0.859455 0.78201 17: 0.464301 0.483964 0.94534 0.271061 18: 0.747419 0.834383 0.436523 0.621418 19: 0.697927 0.0422289 0.737 0.698303 20: 0.630151 0.907737 0.285624 0.434028 N_UNIQUE = 11 POINT_RADIAL_TOL_UNIQUE_COUNT = 11 POINT_TOL_UNIQUE_COUNT = 11 TEST03 To count the unique columns in an R8COL, we call POINT_RADIAL_TOL_UNIQUE_COUNT, (with random center) POINT_TOL_UNIQUE_COUNT, (with zero tolerance) M = 3 N = 100 TOL = 1e-05 SEED = 123456789 N_UNIQUE = 50 POINT_RADIAL_TOL_UNIQUE_COUNT = 50 CPU_TIME = 3.4e-05 POINT_TOL_UNIQUE_COUNT = 50 CPU_TIME = 0.000267 TEST03 To count the unique columns in an R8COL, we call POINT_RADIAL_TOL_UNIQUE_COUNT, (with random center) POINT_TOL_UNIQUE_COUNT, (with zero tolerance) M = 3 N = 1000 TOL = 1e-05 SEED = 123456789 N_UNIQUE = 500 POINT_RADIAL_TOL_UNIQUE_COUNT = 500 CPU_TIME = 0.000359 POINT_TOL_UNIQUE_COUNT = 500 CPU_TIME = 0.021308 TEST03 To count the unique columns in an R8COL, we call POINT_RADIAL_TOL_UNIQUE_COUNT, (with random center) POINT_TOL_UNIQUE_COUNT, (with zero tolerance) M = 3 N = 10000 TOL = 1e-05 SEED = 123456789 N_UNIQUE = 5000 POINT_RADIAL_TOL_UNIQUE_COUNT = 5000 CPU_TIME = 0.003633 POINT_TOL_UNIQUE_COUNT = 5000 CPU_TIME = 2.04344 TEST04 To index the unique columns in an R8COL, we call POINT_RADIAL_TOL_UNIQUE_COUNT, (with random center) POINT_TOL_UNIQUE_COUNT, (with zero tolerance) M = 3 N = 10 TOL = 1e-05 SEED = 123456789 Matrix with N_UNIQUE unique columns: Row: 1 2 3 Col 1: 0.257578 0.109957 0.043829 2: 0.218418 0.956318 0.829509 3: 0.218418 0.956318 0.829509 4: 0.00183837 0.897504 0.350752 5: 0.218418 0.956318 0.829509 6: 0.0945448 0.0136169 0.859097 7: 0.401306 0.754673 0.797287 8: 0.633966 0.0617272 0.449539 9: 0.561695 0.415307 0.0661187 10: 0.00183837 0.897504 0.350752 Blurred matrix: Row: 1 2 3 Col 1: 0.257582 0.109959 0.0438299 2: 0.218423 0.95632 0.82951 3: 0.218421 0.95632 0.829513 4: 0.00184055 0.897505 0.350757 5: 0.218419 0.956319 0.829514 6: 0.0945485 0.0136172 0.8591 7: 0.401307 0.754677 0.79729 8: 0.633967 0.0617309 0.449542 9: 0.561698 0.415309 0.0661224 10: 0.0018421 0.897504 0.350756 N_UNIQUE = 7 POINT_RADIAL_TOL_UNIQUE_INDEX Unique_num = 7 UNDX: 0: 9 1: 6 2: 1 3: 8 4: 0 5: 7 6: 5 XDNU: 0: 4 1: 2 2: 2 3: 0 4: 2 5: 6 6: 1 7: 5 8: 3 9: 0 List of nonunique points P(J), represented by point with index I(J). J, P(J) I(J), P(I(J)) || P(J) - P(I(J)) || (should be <= TOL) 2 0.218421 0.95632 0.829513 1 0.218423 0.95632 0.82951 2.61378e-06 3 0.00184055 0.897505 0.350757 9 0.0018421 0.897504 0.350756 2.17545e-06 4 0.218419 0.956319 0.829514 1 0.218423 0.95632 0.82951 5.17444e-06 POINT_TOL_UNIQUE_INDEX Unique_num = 7 List of nonunique points P(J), represented by point with index I(J). J, P(J) I(J), P(I(J)) || P(J) - P(I(J)) || (should be <= TOL) 2 0.218421 0.95632 0.829513 1 0.218423 0.95632 0.82951 2.61378e-06 4 0.218419 0.956319 0.829514 1 0.218423 0.95632 0.82951 5.17444e-06 9 0.0018421 0.897504 0.350756 3 0.00184055 0.897505 0.350757 2.17545e-06 TEST04 To index the unique columns in an R8COL, we call POINT_RADIAL_TOL_UNIQUE_COUNT, (with random center) POINT_TOL_UNIQUE_COUNT, (with zero tolerance) M = 4 N = 20 TOL = 1e-05 SEED = 987654321 Matrix with N_UNIQUE unique columns: Row: 1 2 3 4 Col 1: 0.697926 0.0422287 0.736996 0.6983 2: 0.220377 0.875302 0.207099 0.710515 3: 0.205385 0.899631 0.0952443 0.770561 4: 0.220377 0.875302 0.207099 0.710515 5: 0.697926 0.0422287 0.736996 0.6983 6: 0.205385 0.899631 0.0952443 0.770561 7: 0.220377 0.875302 0.207099 0.710515 8: 0.747417 0.834381 0.436522 0.621415 9: 0.251803 0.0575308 0.920553 0.737443 10: 0.117362 0.499583 0.484024 0.989437 11: 0.818277 0.779166 0.441582 0.672432 12: 0.689138 0.348537 0.85945 0.782009 13: 0.327093 0.447774 0.729419 0.353082 14: 0.630149 0.907734 0.285621 0.434027 15: 0.818277 0.779166 0.441582 0.672432 16: 0.689138 0.348537 0.85945 0.782009 17: 0.4643 0.483962 0.945337 0.271059 18: 0.747417 0.834381 0.436522 0.621415 19: 0.697926 0.0422287 0.736996 0.6983 20: 0.630149 0.907734 0.285621 0.434027 Blurred matrix: Row: 1 2 3 4 Col 1: 0.697927 0.0422306 0.737001 0.698302 2: 0.22038 0.875304 0.207101 0.710517 3: 0.205388 0.899634 0.0952444 0.770562 4: 0.22038 0.875305 0.207101 0.710518 5: 0.697929 0.0422311 0.736997 0.698303 6: 0.205388 0.899634 0.0952454 0.770563 7: 0.220378 0.875305 0.207103 0.710516 8: 0.74742 0.834384 0.436523 0.621417 9: 0.251803 0.0575329 0.920555 0.737447 10: 0.117365 0.499587 0.484024 0.989437 11: 0.818279 0.779169 0.441586 0.672432 12: 0.689141 0.34854 0.859453 0.782009 13: 0.327095 0.447776 0.729422 0.353085 14: 0.630149 0.907735 0.285625 0.434031 15: 0.818279 0.779167 0.441587 0.672433 16: 0.689139 0.348539 0.859455 0.78201 17: 0.464301 0.483964 0.94534 0.271061 18: 0.747419 0.834383 0.436523 0.621418 19: 0.697927 0.0422289 0.737 0.698303 20: 0.630151 0.907737 0.285624 0.434028 N_UNIQUE = 11 POINT_RADIAL_TOL_UNIQUE_INDEX Unique_num = 11 UNDX: 0: 17 1: 14 2: 12 3: 13 4: 1 5: 11 6: 9 7: 2 8: 16 9: 4 10: 8 XDNU: 0: 9 1: 4 2: 7 3: 4 4: 9 5: 7 6: 4 7: 0 8: 10 9: 6 10: 1 11: 5 12: 2 13: 3 14: 1 15: 5 16: 8 17: 0 18: 9 19: 3 List of nonunique points P(J), represented by point with index I(J). J, P(J) I(J), P(I(J)) || P(J) - P(I(J)) || (should be <= TOL) 0 0.697927 0.0422306 0.737001 0.698302 4 0.697929 0.0422311 0.736997 0.698303 4.19936e-06 3 0.22038 0.875305 0.207101 0.710518 1 0.22038 0.875304 0.207101 0.710517 7.47693e-07 5 0.205388 0.899634 0.0952454 0.770563 2 0.205388 0.899634 0.0952444 0.770562 1.41514e-06 6 0.220378 0.875305 0.207103 0.710516 1 0.22038 0.875304 0.207101 0.710517 3.38319e-06 7 0.74742 0.834384 0.436523 0.621417 17 0.747419 0.834383 0.436523 0.621418 1.28831e-06 10 0.818279 0.779169 0.441586 0.672432 14 0.818279 0.779167 0.441587 0.672433 2.30021e-06 15 0.689139 0.348539 0.859455 0.78201 11 0.689141 0.34854 0.859453 0.782009 3.12669e-06 18 0.697927 0.0422289 0.737 0.698303 4 0.697929 0.0422311 0.736997 0.698303 3.90454e-06 19 0.630151 0.907737 0.285624 0.434028 13 0.630149 0.907735 0.285625 0.434031 3.93052e-06 POINT_TOL_UNIQUE_INDEX Unique_num = 11 List of nonunique points P(J), represented by point with index I(J). J, P(J) I(J), P(I(J)) || P(J) - P(I(J)) || (should be <= TOL) 3 0.22038 0.875305 0.207101 0.710518 1 0.22038 0.875304 0.207101 0.710517 7.47693e-07 4 0.697929 0.0422311 0.736997 0.698303 0 0.697927 0.0422306 0.737001 0.698302 4.19936e-06 5 0.205388 0.899634 0.0952454 0.770563 2 0.205388 0.899634 0.0952444 0.770562 1.41514e-06 6 0.220378 0.875305 0.207103 0.710516 1 0.22038 0.875304 0.207101 0.710517 3.38319e-06 14 0.818279 0.779167 0.441587 0.672433 10 0.818279 0.779169 0.441586 0.672432 2.30021e-06 15 0.689139 0.348539 0.859455 0.78201 11 0.689141 0.34854 0.859453 0.782009 3.12669e-06 17 0.747419 0.834383 0.436523 0.621418 7 0.74742 0.834384 0.436523 0.621417 1.28831e-06 18 0.697927 0.0422289 0.737 0.698303 0 0.697927 0.0422306 0.737001 0.698302 2.3925e-06 19 0.630151 0.907737 0.285624 0.434028 13 0.630149 0.907735 0.285625 0.434031 3.93052e-06 TEST05 We time the computations in TEST04, calling POINT_RADIAL_TOL_UNIQUE_COUNT, (with random center) POINT_TOL_UNIQUE_COUNT, (with zero tolerance) M = 3 N = 100 TOL = 1e-05 SEED = 123456789 N_UNIQUE = 50 POINT_RADIAL_TOL_UNIQUE_INDEX Unique_num = 50 Time = 2.6e-05 POINT_TOL_UNIQUE_INDEX Unique_num = 50 Time = 0.000203 TEST05 We time the computations in TEST04, calling POINT_RADIAL_TOL_UNIQUE_COUNT, (with random center) POINT_TOL_UNIQUE_COUNT, (with zero tolerance) M = 3 N = 1000 TOL = 1e-05 SEED = 123456789 N_UNIQUE = 500 POINT_RADIAL_TOL_UNIQUE_INDEX Unique_num = 500 Time = 0.000283 POINT_TOL_UNIQUE_INDEX Unique_num = 500 Time = 0.01989 TEST05 We time the computations in TEST04, calling POINT_RADIAL_TOL_UNIQUE_COUNT, (with random center) POINT_TOL_UNIQUE_COUNT, (with zero tolerance) M = 3 N = 10000 TOL = 1e-05 SEED = 123456789 N_UNIQUE = 5000 POINT_RADIAL_TOL_UNIQUE_INDEX Unique_num = 5000 Time = 0.003567 POINT_TOL_UNIQUE_INDEX Unique_num = 5000 Time = 1.99964 POINT_MERGE_TEST Normal end of execution. 21 October 2024 10:02:32 AM