blob: 80e6709884458a903f9cc479517d2fa33ecfafbf [file] [log] [blame]
/*
***********************************************************************
* 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