Changeset 41340 for trunk/Ohana/src/opihi/cmd.data/threshold.c
- Timestamp:
- Apr 16, 2020, 1:54:47 PM (6 years ago)
- File:
-
- 1 edited
-
trunk/Ohana/src/opihi/cmd.data/threshold.c (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Ohana/src/opihi/cmd.data/threshold.c
r41164 r41340 25 25 remove_argument (N, &argc, argv); 26 26 BinMax = atoi (argv[N]); 27 remove_argument (N, &argc, argv);28 }29 30 float ValMin = NAN;31 float ValMax = NAN;32 if ((N = get_argument (argc, argv, "-vrange"))) {33 remove_argument (N, &argc, argv);34 ValMin = atof (argv[N]);35 remove_argument (N, &argc, argv);36 ValMax = atof (argv[N]);37 27 remove_argument (N, &argc, argv); 38 28 } … … 74 64 } 75 65 76 // ValMin, ValMax not compatible with BinMin, BinMax77 if (isfinite(ValMin)) {78 int binTest = ohana_bisection_double (vecx[0].elements.Flt, vecx[0].Nelements, ValMin);79 BinMin = (vecx[0].elements.Flt[binTest+1] == ValMin) ? binTest : binTest + 1;80 // XXX dangerous: check that this does not run off the end, etc81 }82 if (isfinite(ValMax)) {83 int binTest = ohana_bisection_double (vecx[0].elements.Flt, vecx[0].Nelements, ValMax);84 BinMax = (vecx[0].elements.Flt[binTest+1] == ValMax) ? binTest : binTest + 1;85 // XXX dangerous: check that this does not run off the end, etc86 }87 88 66 // use bisection to find the value 89 67 … … 93 71 94 72 if (!REVERSE) { 95 // this algorithm assumes vecy[BinMax] > threshold, vecy[BinMin] < threshold96 if (vecy[0].elements.Flt[BinMin] > value) {97 gprint (GP_ERR, "ERROR: all values above threshold\n");98 return FALSE;99 }100 if (vecy[0].elements.Flt[BinMax] < value) {101 gprint (GP_ERR, "ERROR: all values below threshold\n");102 return FALSE;103 }104 73 while (Nhi - Nlo > 10) { 105 74 N = 0.5*(Nlo + Nhi); … … 120 89 } 121 90 } else { 122 // this algorithm assumes vecy[BinMin] > threshold, vecy[BinMax] < threshold123 if (vecy[0].elements.Flt[BinMin] < value) {124 gprint (GP_ERR, "ERROR: all values below threshold\n");125 return FALSE;126 }127 if (vecy[0].elements.Flt[BinMax] > value) {128 gprint (GP_ERR, "ERROR: all values above threshold\n");129 return FALSE;130 }131 91 while (Nhi - Nlo > 10) { 132 92 N = 0.5*(Nlo + Nhi);
Note:
See TracChangeset
for help on using the changeset viewer.
