/* *********************************************************************** * Copyright (C) 2016 and later: Unicode, Inc. and others. * License & terms of use: http://www.unicode.org/copyright.html#License *********************************************************************** *********************************************************************** * Copyright (c) 2011-2012,International Business Machines * Corporation and others. All Rights Reserved. *********************************************************************** */ #ifndef SIEVE_H #define SIEVE_H #ifndef U_LOTS_OF_TIMES #define U_LOTS_OF_TIMES 1000000 #endif #include "unicode/utypes.h" /** * Calculate the standardized sieve time (1 run) */ U_INTERNAL double uprv_calcSieveTime(void); /** * Calculate the mean time, with margin of error * @param times array of times (modified/sorted) * @param timeCount length of array - on return, how many remain after throwing out outliers * @param marginOfError out parameter: gives +/- margin of err at 95% confidence * @return the mean time, or negative if error/imprecision. */ U_INTERNAL double uprv_getMeanTime(double *times, uint32_t *timeCount, double *marginOfError); /** * Get the standardized sieve time. (Doesn't recalculate if already computed. * @param marginOfError out parameter: gives +/- margin of error at 95% confidence. * @return the mean time, or negative if error/imprecision. */ U_INTERNAL double uprv_getSieveTime(double *marginOfError); #endif