aboutsummaryrefslogtreecommitdiff
path: root/dfoxtest.c
diff options
context:
space:
mode:
Diffstat (limited to 'dfoxtest.c')
-rw-r--r--dfoxtest.c210
1 files changed, 0 insertions, 210 deletions
diff --git a/dfoxtest.c b/dfoxtest.c
deleted file mode 100644
index aefdd5d..0000000
--- a/dfoxtest.c
+++ /dev/null
@@ -1,210 +0,0 @@
-/*#include <stdint.h>*/
-typedef char int8_t;
-typedef unsigned char uint8_t;
-typedef short int16_t;
-typedef unsigned short uint16_t;
-typedef long int32_t;
-typedef unsigned long uint32_t;
-
-/*#include <stdbool.h>*/
-typedef uint8_t bool;
-#ifndef true
- #define true 1
-#endif
-#ifndef false
- #define false 0
-#endif
-
-/*Defines*/
-#define PREFIX_BITS_PER_BYTE 8
- /*Neither can be greater than 128*/
-#define PREFIX_intsize 4
-#define PREFIX_INTSIZE 8
-
-/*Typedefs*/
-typedef uint8_t PREFIX_INT[PREFIX_INTSIZE];
-typedef int32_t PREFIX_int;
-
-/*Globals*/
-bool PREFIX_math_overflow;
-
-/*==============================================================CODE=============================================================*/
-
-void PREFIX_zero_int(PREFIX_INT *ptr)
-{
- uint8_t i;
-
- for (i = 0; i < PREFIX_INTSIZE; i++)
- *ptr[i] = 0;
-}
-
-bool PREFIX_isneg(PREFIX_INT *in)
-{
- return (*in[PREFIX_INTSIZE-1] & 0x80) >> 7;
-}
-
-void PREFIX_int_to_buf(PREFIX_INT *dest, PREFIX_int *src)
-{
- PREFIX_int tmp;
- uint8_t i;
-
- tmp = *src;
- for (i = 0; i < PREFIX_intsize; i++)
- *dest[i] = (tmp >> (i*PREFIX_BITS_PER_BYTE)) & 0xFF;
-}
-
-void PREFIX_buf_to_int(PREFIX_int *dest, PREFIX_INT *src)
-{
- PREFIX_int ret;
- uint8_t i;
-
- ret = 0;
- for (i = 0; i < PREFIX_INTSIZE; i++) {
- ret += dest[i];
- ret <<= PREFIX_BITS_PER_BYTE;
- }
-
- *src[0] = ret;
-}
-
-void PREFIX_buf_to_buf(PREFIX_INT *dest, PREFIX_INT *src)
-{
- uint8_t i;
-
- for (i = 0; i < PREFIX_INTSIZE; i++)
- *dest[i] = *src[i];
-}
-
-/*True to*/
-bool PREFIX_equal(PREFIX_INT *left, PREFIX_INT *right)
-{
- uint8_t i;
-
- for (i = 0; i < PREFIX_INTSIZE; i++)
- if (*left[i] != *right[i])
- return false;
-
- return true;
-}
-
-/*greater than*/
-bool PREFIX_greater(PREFIX_INT *left, PREFIX_INT *right)
-{
- uint8_t i;
- bool left_neg, right_neg;
-
- left_neg = PREFIX_isneg(left);
- right_neg = PREFIX_isneg(right);
-
- if (left_neg || right_neg) {
- if (left_neg && !right_neg)
- return false;
- else if (!left_neg && right_neg)
- return true;
- }
-
- for (i = 0; i < PREFIX_INTSIZE; i++) {
- if (*left[i] > *right[i])
- return true;
- else if (*left[i] < *right[i])
- return false;
- }
-
- return false;
-}
-
-/*less than*/
-bool PREFIX_less(PREFIX_INT *left, PREFIX_INT *right)
-{
- return !PREFIX_greater(left, right);
-}
-
-/*greater than or equal to*/
-bool PREFIX_greater_or_equal(PREFIX_INT *left, PREFIX_INT *right)
-{
- return PREFIX_greater(left, right) || PREFIX_equal(left, right);
-}
-
-/*less than or equal to*/
-bool PREFIX_less_or_equal(PREFIX_INT *left, PREFIX_INT *right)
-{
- return PREFIX_less(left, right) || PREFIX_equal(left, right);
-}
-
-/*Negatives not currently supported*/
-void PREFIX_add(PREFIX_INT *dest, PREFIX_INT *src)
-{
- /*operator*/
- uint16_t op;
- uint8_t i;
- bool dest_neg, src_neg;
-
- src_neg = PREFIX_isneg(src);
- dest_neg = PREFIX_isneg(dest);
-
- if (src_neg || dest_neg) {
- PREFIX_math_overflow = true;
- return;
- }
-
- for (i = 0; i < PREFIX_INTSIZE; i++) {
- op = *src[i];
- op += *dest[i];
- *dest[i] = op & 0xFF;
-
- op >>= PREFIX_BITS_PER_BYTE;
- }
-
- if (i == PREFIX_INTSIZE && op != 0)
- PREFIX_math_overflow = true;
-
- if (!(src_neg || dest_neg) && PREFIX_isneg(dest))
- PREFIX_math_overflow = true;
-}
-
-/*Negatives not currently supported*/
-void PREFIX_sub(PREFIX_INT *dest, PREFIX_INT *src)
-{
- uint16_t op;
- uint8_t i, j;
- bool dest_neg, src_neg;
- uint16_t tmp_op = 0;
- bool got_borrow = false;
- PREFIX_INT tmp_dest, tmp_src;
-
- src_neg = PREFIX_isneg(src);
- dest_neg = PREFIX_isneg(dest);
-
- if (src_neg || dest_neg)
- PREFIX_math_overflow = true;
-
- PREFIX_buf_to_buf(&tmp_src, src);
- PREFIX_buf_to_buf(&tmp_dest, dest);
- for (i = 0; i < PREFIX_INTSIZE; i++) {
- op = tmp_dest[i];
-
- if (tmp_src[i] > tmp_dest[i]) {
- if (i == (PREFIX_INTSIZE-1))
- PREFIX_math_overflow = true;
-
- for (j = (i+1); j < PREFIX_INTSIZE; j++ )
- if (tmp_dest[j]) {
- tmp_dest[j] -= 1;
- tmp_op = 0xFF;
- got_borrow = true;
- break;
- }
-
- if (!got_borrow)
- PREFIX_math_overflow = true;
-
- for (j--; j > i; j--)
- tmp_src[j] = 0xFF;
-
- op += tmp_op;
- }
-
- op -= tmp_src[i];
- *dest[i] = op & 0xFF;
- }
-}