/*----- Header files ------------------------------------------------------*/
+#include <limits.h>
#include <stddef.h>
/*----- Functions provided ------------------------------------------------*/
* 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