--- /dev/null
+/*
+ **********************************************************************
+ * Copyright (c) 2011,International Business Machines
+ * Corporation and others. All Rights Reserved.
+ **********************************************************************
+ */
+
+#ifndef SIEVE_H
+#define SIEVE_H
+
+#define U_LOTS_OF_TIMES 1000000
+
+#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
+ * @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