commit 5fa8cbe0981d7e93bee6da2d6962e4b4fda862cf
parent 6b0e23ea580b02f04e6fd7a7de40a9fcb49f7d0a
Author: olikru <olikru@tkruger.se>
Date: Tue, 19 Mar 2024 12:58:16 +0100
added simple unit test for fermat factoring
Diffstat:
2 files changed, 23 insertions(+), 0 deletions(-)
diff --git a/Makefile b/Makefile
@@ -9,7 +9,9 @@ CFLAGS+=-fno-builtin
CFLAGS+=-I/usr/local/include
CFLAGS+=-I/usr/local/include/flint
+CFLAGS+=-I/home/olikru/.local/include/flint
LDFLAGS+=-L/usr/local/lib -lflint -lgmp
+LDFLAGS+=-L/home/olikru/.local/lib
INSTALL_PATH=$(HOME)/.local
BUILD=build
diff --git a/test_angrepp.c b/test_angrepp.c
@@ -1,8 +1,11 @@
#include <assert.h>
#include <stdio.h>
#include <stdlib.h>
+#include <flint.h>
+#include <fmpz.h>
#include "cyclefind.h"
+#include "pierre.h"
static uint64_t
test_f(uint64_t x)
@@ -30,11 +33,29 @@ test_cyclefind_brent()
assert(mu == 1);
}
+static void
+test_pierre_factor()
+{
+ fmpz_t n, r;
+ fmpz_init(n);
+ fmpz_init(r);
+ fmpz_set_str(n, "13957163057215389251", 10);
+
+ fermat_factor(r, n, 200);
+
+ assert(fmpz_divisible(n, r));
+ assert(fmpz_cmp_ui(r, 1) > 0);
+
+ fmpz_clear(n);
+ fmpz_clear(r);
+}
+
int
main()
{
test_cyclefind_floyd();
test_cyclefind_brent();
+ test_pierre_factor();
printf("test ok\n");
}