+typedef uint8_t bigint_word_t;
+typedef uint16_t bigint_wordplus_t;
+typedef int16_t bigint_wordplus_signed_t;
+typedef uint16_t bigint_ptr_int_t; /* this must be an integer of the size of a pointer for the target architecture */
+#define BIGINT_WORD_SIZE 8
+
+#define BIGINT_FBS_MASK (BIGINT_WORD_SIZE-1) /* the last five bits indicate which is the first bit set */