diff options
author | Nyx (Neal Orman) <nyx@lindenlab.com> | 2011-06-06 11:42:04 -0400 |
---|---|---|
committer | Nyx (Neal Orman) <nyx@lindenlab.com> | 2011-06-06 11:42:04 -0400 |
commit | 85b316e5df41444eafe77964f1a4758ccfd40784 (patch) | |
tree | 990d88b643a20877d49b8d56f84c38b83eb654c4 | |
parent | 6a521b0578d430246c5ae5492a6dc9bc9060c2ff (diff) |
BUILDFIX fixing crash on performance analysis when there is no variation
when fasttimers are amazingly consistent, we remove all data as outliers
instead of removing nothing. Probably something else going on here,
but this should fix the crash so we can analyze better.
-rw-r--r-- | indra/llmath/llmath.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/indra/llmath/llmath.h b/indra/llmath/llmath.h index eea7c977fb..9297bcbac2 100644 --- a/indra/llmath/llmath.h +++ b/indra/llmath/llmath.h @@ -510,6 +510,13 @@ inline void ll_remove_outliers(std::vector<VEC_TYPE>& data, F32 k) VEC_TYPE Q1 = data[data.size()/4]; VEC_TYPE Q3 = data[data.size()-data.size()/4-1]; + if ((F32)(Q3-Q1) < 1.f) + { + // not enough variation to detect outliers + return; + } + + VEC_TYPE min = (VEC_TYPE) ((F32) Q1-k * (F32) (Q3-Q1)); VEC_TYPE max = (VEC_TYPE) ((F32) Q3+k * (F32) (Q3-Q1)); |