1 /* 2 *********************************************************************** 3 * © 2016 and later: Unicode, Inc. and others. 4 * License & terms of use: http://www.unicode.org/copyright.html 5 *********************************************************************** 6 *********************************************************************** 7 * Copyright (c) 2011-2012,International Business Machines 8 * Corporation and others. All Rights Reserved. 9 *********************************************************************** 10 */ 11 12 #ifndef SIEVE_H 13 #define SIEVE_H 14 15 #ifndef U_LOTS_OF_TIMES 16 #define U_LOTS_OF_TIMES 1000000 17 #endif 18 19 #include "unicode/utypes.h" 20 /** 21 * Calculate the standardized sieve time (1 run) 22 */ 23 U_CAPI double uprv_calcSieveTime(void); 24 25 /** 26 * Calculate the mean time, with margin of error 27 * @param times array of times (modified/sorted) 28 * @param timeCount length of array - on return, how many remain after throwing out outliers 29 * @param marginOfError out parameter: gives +/- margin of err at 95% confidence 30 * @return the mean time, or negative if error/imprecision. 31 */ 32 U_CAPI double uprv_getMeanTime(double *times, uint32_t *timeCount, double *marginOfError); 33 34 /** 35 * Get the standardized sieve time. (Doesn't recalculate if already computed. 36 * @param marginOfError out parameter: gives +/- margin of error at 95% confidence. 37 * @return the mean time, or negative if error/imprecision. 38 */ 39 U_CAPI double uprv_getSieveTime(double *marginOfError); 40 41 #endif 42