1/* 2 *********************************************************************** 3 * © 2016 and later: Unicode, Inc. and others. 4 * License & terms of use: http://www.unicode.org/copyright.html#License 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 */ 23U_INTERNAL 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 */ 32U_INTERNAL 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 */ 39U_INTERNAL double uprv_getSieveTime(double *marginOfError); 40 41#endif 42