genericopenlibs/cppstdlib/stl/test/eh/random_number.cpp
changeset 0 e4d67989cc36
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/genericopenlibs/cppstdlib/stl/test/eh/random_number.cpp	Tue Feb 02 02:01:42 2010 +0200
@@ -0,0 +1,39 @@
+/***********************************************************************************
+  random_number.cpp
+
+ * Copyright (c) 1997
+ * Mark of the Unicorn, Inc.
+ *
+ * Permission to use, copy, modify, distribute and sell this software
+ * and its documentation for any purpose is hereby granted without fee,
+ * provided that the above copyright notice appear in all copies and
+ * that both that copyright notice and this permission notice appear
+ * in supporting documentation.  Mark of the Unicorn makes no
+ * representations about the suitability of this software for any
+ * purpose.  It is provided "as is" without express or implied warranty.
+
+***********************************************************************************/
+#include "random_number.h"
+#include "Prefix.h"
+#if defined (EH_NEW_HEADERS)
+# include <functional>
+# include <cstdlib>
+#else
+# include <function.h>
+# include <stdlib.h>
+#endif
+
+unsigned random_number( size_t range )
+{
+#if !defined( __SGI_STL )
+  if (range == 0) return 0;
+  return (unsigned)(EH_STD::rand() + EH_STD::rand()) % range;
+#else
+  static EH_STD::subtractive_rng rnd;
+        if (range==0) return 0;
+        return rnd(range);
+#endif
+}
+
+// default base for random container sizes
+unsigned random_base = 1000;