• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  ***********************************************************************
3  * Copyright (C) 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  */
23 U_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  */
32 U_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  */
39 U_INTERNAL double uprv_getSieveTime(double *marginOfError);
40 
41 #endif
42