Skip to content

Commit 6965be2

Browse files
authored
Mem (#39)
* mid commit * import back * fix bugs * fix mem leak * import tests * fix error * clean whitespace * reorder * mid commit * mid commit * mid commit * mid commit * fix one bug * fix two bugs * tests * fix tree bugs * remove logs * fix test * recover depad * start not allocating * mid commit * mid commit * mid commit * maybe fix 1 * pre allocate * major reorder * makefiles * mid commit * v1 * v2 * v3 * gainzzzz * fix test * fix test 2
1 parent f6ce1c8 commit 6965be2

27 files changed

Lines changed: 825 additions & 928 deletions

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,4 +59,5 @@ thread_log/*
5959
# Test
6060
runner*
6161

62-
**/out*.txt
62+
**/out*.txt
63+
*.out

lib/flt/code.c

Lines changed: 0 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -660,36 +660,6 @@ flt_num_t flt_num_div(flt_num_t flt_1, flt_num_t flt_2) // TODO TEST
660660

661661

662662

663-
flt_num_ssm_t flt_num_mul_prepare(flt_num_t flt, uint64_t count)
664-
{
665-
CLU_FLT_IS_SAFE(flt);
666-
667-
return (flt_num_ssm_t)
668-
{
669-
.exponent = flt.exponent,
670-
.size = flt.size,
671-
.sig_ssm = sig_num_mul_prepare(flt.sig, count)
672-
};
673-
}
674-
675-
flt_num_t flt_num_mul_finish(flt_num_t flt_1, flt_num_ssm_t flt_ssm_2)
676-
{
677-
CLU_FLT_IS_SAFE(flt_1);
678-
679-
int64_t exponent = int64_add(flt_1.exponent, flt_ssm_2.exponent);
680-
uint64_t size = flt_1.size;
681-
682-
sig_num_t sig = sig_num_mul_finish(flt_1.sig, flt_ssm_2.sig_ssm);
683-
return flt_num_create(exponent, size, sig);
684-
}
685-
686-
void flt_num_ssm_free(flt_num_ssm_t flt_ssm)
687-
{
688-
sig_num_ssm_free(flt_ssm.sig_ssm);
689-
}
690-
691-
692-
693663
flt_num_t flt_num_mul_sig(flt_num_t flt, sig_num_t sig) // TODO TEST
694664
{
695665
CLU_FLT_IS_SAFE(flt);

lib/flt/header.h

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -32,10 +32,6 @@ flt_num_t flt_num_pow(flt_num_t flt, int64_t value);
3232
flt_num_t flt_num_sqr(flt_num_t flt);
3333
flt_num_t flt_num_div(flt_num_t flt_1, flt_num_t flt_2);
3434

35-
flt_num_ssm_t flt_num_mul_prepare(flt_num_t flt, uint64_t count);
36-
flt_num_t flt_num_mul_finish(flt_num_t flt_1, flt_num_ssm_t flt_ssm_2);
37-
void flt_num_ssm_free(flt_num_ssm_t flt_ssm);
38-
3935
flt_num_t flt_num_mul_sig(flt_num_t flt, sig_num_t sig);
4036
flt_num_t flt_num_div_sig(flt_num_t flt, sig_num_t sig);
4137

lib/flt/struct.h

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,4 @@ STRUCT(flt_num)
1010
sig_num_t sig;
1111
};
1212

13-
STRUCT(flt_num_ssm)
14-
{
15-
int64_t exponent;
16-
uint64_t size;
17-
sig_num_ssm_t sig_ssm;
18-
};
19-
2013
#endif

lib/flt/test/test.c

Lines changed: 0 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -508,41 +508,6 @@ static void test_flt_num_div_sig(bool show)
508508
TEST_FN_CLOSE
509509
}
510510

511-
static void test_fuzz_flt_num_mul_ssm(bool show)
512-
{
513-
TEST_FN_OPEN
514-
515-
#define TEST_FUZZ_FLT_NUM_MUL_SSM(TAG, COUNT_1, COUNT_2, RUNS) \
516-
{ \
517-
TEST_FUZZ_CASE_OPEN(TAG, RUNS) \
518-
{ \
519-
uint64_t count = COUNT_1 + COUNT_2; \
520-
int64_t exponent_1 = int_rand(INT32_MIN, INT32_MAX); \
521-
int64_t exponent_2 = int_rand(INT32_MIN, INT32_MAX); \
522-
flt_num_t flt_1 = flt_num_create_rand(exponent_1, COUNT_1); \
523-
flt_num_t flt_2 = flt_num_create_rand(exponent_2, COUNT_2); \
524-
flt_num_ssm_t flt_ssm_2 = flt_num_mul_prepare( \
525-
flt_num_copy(flt_2), \
526-
count \
527-
); \
528-
flt_num_t flt_res_1 = flt_num_mul_finish( \
529-
flt_num_copy(flt_1), \
530-
flt_ssm_2 \
531-
); \
532-
flt_num_ssm_free(flt_ssm_2); \
533-
flt_num_t flt_res_2 = flt_num_mul(flt_1, flt_2); \
534-
assert(flt_num_eq_dbg(flt_res_1, flt_res_2)); \
535-
} \
536-
TEST_FUZZ_CASE_CLOSE \
537-
}
538-
539-
TEST_FUZZ_FLT_NUM_MUL_SSM(1, 256, 256, 256);
540-
TEST_FUZZ_FLT_NUM_MUL_SSM(2, 1000, 2000, 100);
541-
TEST_FUZZ_FLT_NUM_MUL_SSM(3, 500000, 200000, 5);
542-
543-
TEST_FN_CLOSE
544-
}
545-
546511

547512

548513
static void test_flt()
@@ -570,8 +535,6 @@ static void test_flt()
570535

571536
test_flt_num_div_sig(show);
572537

573-
test_fuzz_flt_num_mul_ssm(show);
574-
575538
TEST_ASSERT_MEM_EMPTY
576539
}
577540

lib/fxd/code.c

Lines changed: 0 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -390,28 +390,6 @@ fxd_num_t fxd_num_div(fxd_num_t fxd_1, fxd_num_t fxd_2) // TODO test
390390

391391

392392

393-
fxd_num_ssm_t fxd_num_mul_prepare(fxd_num_t fxd, uint64_t count)
394-
{
395-
CLU_FXD_IS_SAFE(fxd);
396-
397-
return (fxd_num_ssm_t)
398-
{
399-
.pos = fxd.pos,
400-
.sig_ssm = sig_num_mul_prepare(fxd.sig, count)
401-
};
402-
}
403-
404-
fxd_num_t fxd_num_mul_finish(fxd_num_t fxd_1, fxd_num_ssm_t fxd_ssm_2)
405-
{
406-
CLU_FXD_IS_SAFE(fxd_1);
407-
408-
sig_num_t sig = sig_num_mul_finish(fxd_1.sig, fxd_ssm_2.sig_ssm);
409-
sig = sig_num_head_trim(sig, fxd_ssm_2.pos);
410-
return fxd_num_create(sig, fxd_1.pos);
411-
}
412-
413-
414-
415393
fxd_num_t fxd_num_mul_sig(fxd_num_t fxd, sig_num_t sig) // TODO test
416394
{
417395
CLU_FXD_IS_SAFE(fxd);

lib/fxd/header.h

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,6 @@ fxd_num_t fxd_num_mul(fxd_num_t fxd_1, fxd_num_t fxd_2);
3131
fxd_num_t fxd_num_sqr(fxd_num_t fxd);
3232
fxd_num_t fxd_num_div(fxd_num_t fxd_1, fxd_num_t fxd_2);
3333

34-
fxd_num_ssm_t fxd_num_mul_prepare(fxd_num_t fxd, uint64_t count);
35-
fxd_num_t fxd_num_mul_finish(fxd_num_t fxd_1, fxd_num_ssm_t fxd_ssm_2);
36-
3734
fxd_num_t fxd_num_mul_sig(fxd_num_t fxd, sig_num_t sig);
3835
fxd_num_t fxd_num_div_sig(fxd_num_t fxd, sig_num_t sig);
3936

lib/fxd/struct.h

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,4 @@ STRUCT(fxd_num)
99
sig_num_t sig;
1010
};
1111

12-
STRUCT(fxd_num_ssm)
13-
{
14-
uint64_t pos;
15-
sig_num_ssm_t sig_ssm;
16-
};
17-
1812
#endif

0 commit comments

Comments
 (0)