Skip to content
Merged

Mem #39

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -59,4 +59,5 @@ thread_log/*
# Test
runner*

**/out*.txt
**/out*.txt
*.out
30 changes: 0 additions & 30 deletions lib/flt/code.c
Original file line number Diff line number Diff line change
Expand Up @@ -660,36 +660,6 @@ flt_num_t flt_num_div(flt_num_t flt_1, flt_num_t flt_2) // TODO TEST



flt_num_ssm_t flt_num_mul_prepare(flt_num_t flt, uint64_t count)
{
CLU_FLT_IS_SAFE(flt);

return (flt_num_ssm_t)
{
.exponent = flt.exponent,
.size = flt.size,
.sig_ssm = sig_num_mul_prepare(flt.sig, count)
};
}

flt_num_t flt_num_mul_finish(flt_num_t flt_1, flt_num_ssm_t flt_ssm_2)
{
CLU_FLT_IS_SAFE(flt_1);

int64_t exponent = int64_add(flt_1.exponent, flt_ssm_2.exponent);
uint64_t size = flt_1.size;

sig_num_t sig = sig_num_mul_finish(flt_1.sig, flt_ssm_2.sig_ssm);
return flt_num_create(exponent, size, sig);
}

void flt_num_ssm_free(flt_num_ssm_t flt_ssm)
{
sig_num_ssm_free(flt_ssm.sig_ssm);
}



flt_num_t flt_num_mul_sig(flt_num_t flt, sig_num_t sig) // TODO TEST
{
CLU_FLT_IS_SAFE(flt);
Expand Down
4 changes: 0 additions & 4 deletions lib/flt/header.h
Original file line number Diff line number Diff line change
Expand Up @@ -32,10 +32,6 @@ flt_num_t flt_num_pow(flt_num_t flt, int64_t value);
flt_num_t flt_num_sqr(flt_num_t flt);
flt_num_t flt_num_div(flt_num_t flt_1, flt_num_t flt_2);

flt_num_ssm_t flt_num_mul_prepare(flt_num_t flt, uint64_t count);
flt_num_t flt_num_mul_finish(flt_num_t flt_1, flt_num_ssm_t flt_ssm_2);
void flt_num_ssm_free(flt_num_ssm_t flt_ssm);

flt_num_t flt_num_mul_sig(flt_num_t flt, sig_num_t sig);
flt_num_t flt_num_div_sig(flt_num_t flt, sig_num_t sig);

Expand Down
7 changes: 0 additions & 7 deletions lib/flt/struct.h
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,4 @@ STRUCT(flt_num)
sig_num_t sig;
};

STRUCT(flt_num_ssm)
{
int64_t exponent;
uint64_t size;
sig_num_ssm_t sig_ssm;
};

#endif
37 changes: 0 additions & 37 deletions lib/flt/test/test.c
Original file line number Diff line number Diff line change
Expand Up @@ -508,41 +508,6 @@ static void test_flt_num_div_sig(bool show)
TEST_FN_CLOSE
}

static void test_fuzz_flt_num_mul_ssm(bool show)
{
TEST_FN_OPEN

#define TEST_FUZZ_FLT_NUM_MUL_SSM(TAG, COUNT_1, COUNT_2, RUNS) \
{ \
TEST_FUZZ_CASE_OPEN(TAG, RUNS) \
{ \
uint64_t count = COUNT_1 + COUNT_2; \
int64_t exponent_1 = int_rand(INT32_MIN, INT32_MAX); \
int64_t exponent_2 = int_rand(INT32_MIN, INT32_MAX); \
flt_num_t flt_1 = flt_num_create_rand(exponent_1, COUNT_1); \
flt_num_t flt_2 = flt_num_create_rand(exponent_2, COUNT_2); \
flt_num_ssm_t flt_ssm_2 = flt_num_mul_prepare( \
flt_num_copy(flt_2), \
count \
); \
flt_num_t flt_res_1 = flt_num_mul_finish( \
flt_num_copy(flt_1), \
flt_ssm_2 \
); \
flt_num_ssm_free(flt_ssm_2); \
flt_num_t flt_res_2 = flt_num_mul(flt_1, flt_2); \
assert(flt_num_eq_dbg(flt_res_1, flt_res_2)); \
} \
TEST_FUZZ_CASE_CLOSE \
}

TEST_FUZZ_FLT_NUM_MUL_SSM(1, 256, 256, 256);
TEST_FUZZ_FLT_NUM_MUL_SSM(2, 1000, 2000, 100);
TEST_FUZZ_FLT_NUM_MUL_SSM(3, 500000, 200000, 5);

TEST_FN_CLOSE
}



static void test_flt()
Expand Down Expand Up @@ -570,8 +535,6 @@ static void test_flt()

test_flt_num_div_sig(show);

test_fuzz_flt_num_mul_ssm(show);

TEST_ASSERT_MEM_EMPTY
}

Expand Down
22 changes: 0 additions & 22 deletions lib/fxd/code.c
Original file line number Diff line number Diff line change
Expand Up @@ -390,28 +390,6 @@ fxd_num_t fxd_num_div(fxd_num_t fxd_1, fxd_num_t fxd_2) // TODO test



fxd_num_ssm_t fxd_num_mul_prepare(fxd_num_t fxd, uint64_t count)
{
CLU_FXD_IS_SAFE(fxd);

return (fxd_num_ssm_t)
{
.pos = fxd.pos,
.sig_ssm = sig_num_mul_prepare(fxd.sig, count)
};
}

fxd_num_t fxd_num_mul_finish(fxd_num_t fxd_1, fxd_num_ssm_t fxd_ssm_2)
{
CLU_FXD_IS_SAFE(fxd_1);

sig_num_t sig = sig_num_mul_finish(fxd_1.sig, fxd_ssm_2.sig_ssm);
sig = sig_num_head_trim(sig, fxd_ssm_2.pos);
return fxd_num_create(sig, fxd_1.pos);
}



fxd_num_t fxd_num_mul_sig(fxd_num_t fxd, sig_num_t sig) // TODO test
{
CLU_FXD_IS_SAFE(fxd);
Expand Down
3 changes: 0 additions & 3 deletions lib/fxd/header.h
Original file line number Diff line number Diff line change
Expand Up @@ -31,9 +31,6 @@ fxd_num_t fxd_num_mul(fxd_num_t fxd_1, fxd_num_t fxd_2);
fxd_num_t fxd_num_sqr(fxd_num_t fxd);
fxd_num_t fxd_num_div(fxd_num_t fxd_1, fxd_num_t fxd_2);

fxd_num_ssm_t fxd_num_mul_prepare(fxd_num_t fxd, uint64_t count);
fxd_num_t fxd_num_mul_finish(fxd_num_t fxd_1, fxd_num_ssm_t fxd_ssm_2);

fxd_num_t fxd_num_mul_sig(fxd_num_t fxd, sig_num_t sig);
fxd_num_t fxd_num_div_sig(fxd_num_t fxd, sig_num_t sig);

Expand Down
6 changes: 0 additions & 6 deletions lib/fxd/struct.h
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,4 @@ STRUCT(fxd_num)
sig_num_t sig;
};

STRUCT(fxd_num_ssm)
{
uint64_t pos;
sig_num_ssm_t sig_ssm;
};

#endif
Loading