Home | History | Annotate | Download | only in howExpensiveIs
      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