@@@ mostly bench docs
[mLib] / test / example / example.h
index b3cdee8..ecbaa6b 100644 (file)
@@ -34,6 +34,7 @@
 
 /*----- Header files ------------------------------------------------------*/
 
+#include <limits.h>
 #include <stddef.h>
 
 /*----- Functions provided ------------------------------------------------*/
@@ -47,6 +48,22 @@ extern int greet(char */*buf*/, size_t /*sz*/, const char */*name*/);
    * Return zero on success, or -1 on error.
    */
 
+extern unsigned long recfib(unsigned /*n*/);
+  /* Stupid but traditional recursive Fibonacci. */
+
+extern unsigned long iterfib(unsigned /*n*/);
+  /* Slightly less stupid but still traditional iterative Fibonacci. */
+
+extern unsigned long expfib(unsigned /*n*/);
+  /* Sadly nontraditional intelligent Fibonacci. */
+
+#define RECFIBLIMIT 40                 /* too slow beyond this */
+#if (ULONG_MAX/65536 >> 16) >= 0xffffffff
+#  define FIBLIMIT 94               /* F_94 = 19740274219868223167 > 2^64 */
+#else
+#  define FIBLIMIT 48                  /* F_48 = 4807526976 > 2^32 */
+#endif
+
 /*----- That's all, folks -------------------------------------------------*/
 
 #ifdef __cplusplus