diff options
Diffstat (limited to 'android/WALT/app/src/main/java/org/chromium/latency/walt/Utils.java')
-rw-r--r-- | android/WALT/app/src/main/java/org/chromium/latency/walt/Utils.java | 37 |
1 files changed, 35 insertions, 2 deletions
diff --git a/android/WALT/app/src/main/java/org/chromium/latency/walt/Utils.java b/android/WALT/app/src/main/java/org/chromium/latency/walt/Utils.java index 19c7488..46796e2 100644 --- a/android/WALT/app/src/main/java/org/chromium/latency/walt/Utils.java +++ b/android/WALT/app/src/main/java/org/chromium/latency/walt/Utils.java @@ -18,11 +18,15 @@ package org.chromium.latency.walt; import android.content.Context; import android.content.SharedPreferences; -import android.preference.PreferenceManager; -import android.support.annotation.StringRes; + +import androidx.preference.PreferenceManager; +import androidx.annotation.StringRes; + +import com.github.mikephil.charting.data.Entry; import java.util.ArrayList; import java.util.Collections; +import java.util.List; /** * Kitchen sink for small utility functions @@ -120,6 +124,11 @@ public class Utils { return sb.toString(); } + public static int argmax(double[] a) { + int imax = 0; + for (int i=1; i<a.length; i++) if (a[i] > a[imax]) imax = i; + return imax; + } public static int argmin(double[] a) { int imin = 0; @@ -177,6 +186,30 @@ public class Utils { return preferences.getString(context.getString(keyId), defaultValue); } + static float min(List<Entry> entries) { + float min = Float.MAX_VALUE; + for (Entry e : entries) { + min = Math.min(min, e.getY()); + } + return min; + } + + static float max(List<Entry> entries) { + float max = Float.MIN_VALUE; + for (Entry e : entries) { + max = Math.max(max, e.getY()); + } + return max; + } + + static float mean(List<Entry> entries) { + float mean = 0; + for (Entry e : entries) { + mean += e.getY()/entries.size(); + } + return mean; + } + public enum ListenerState { RUNNING, STARTING, |