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