You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucy.apache.org by nw...@apache.org on 2012/11/13 03:13:13 UTC
[lucy-commits] [3/16] git commit: refs/heads/master - Use new CHY_U64_TO_DOUBLE macro
Use new CHY_U64_TO_DOUBLE macro
Project: http://git-wip-us.apache.org/repos/asf/lucy/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucy/commit/b995ebb0
Tree: http://git-wip-us.apache.org/repos/asf/lucy/tree/b995ebb0
Diff: http://git-wip-us.apache.org/repos/asf/lucy/diff/b995ebb0
Branch: refs/heads/master
Commit: b995ebb0ae323c8c0c4d4d7abc83b0885ff2d884
Parents: 8e07584
Author: Nick Wellnhofer <we...@aevum.de>
Authored: Sat Nov 10 17:48:50 2012 +0100
Committer: Nick Wellnhofer <we...@aevum.de>
Committed: Mon Nov 12 21:07:27 2012 +0100
----------------------------------------------------------------------
clownfish/compiler/src/CFCPerlTypeMap.c | 8 ++++++--
.../runtime/core/Clownfish/Test/Util/TestMemory.c | 5 +++--
core/Lucy/Test/Search/TestSortSpec.c | 4 ++--
core/Lucy/Test/TestUtils.c | 2 +-
core/Lucy/Test/Util/TestMemory.c | 5 +++--
5 files changed, 15 insertions(+), 9 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucy/blob/b995ebb0/clownfish/compiler/src/CFCPerlTypeMap.c
----------------------------------------------------------------------
diff --git a/clownfish/compiler/src/CFCPerlTypeMap.c b/clownfish/compiler/src/CFCPerlTypeMap.c
index 7525d70..70bd654 100644
--- a/clownfish/compiler/src/CFCPerlTypeMap.c
+++ b/clownfish/compiler/src/CFCPerlTypeMap.c
@@ -160,7 +160,9 @@ CFCPerlTypeMap_to_perl(CFCType *type, const char *cf_var) {
sprintf(result, "newSViv(%s)", cf_var);
}
else if (strcmp(specifier, "uint64_t") == 0) {
- char pattern[] = "sizeof(UV) == 8 ? newSVuv((UV)%s) : newSVnv((NV)%s)";
+ char pattern[] =
+ "sizeof(UV) == 8 ? "
+ "newSVuv((UV)%s) : newSVnv((NV)CHY_U64_TO_DOUBLE(%s))";
sprintf(result, pattern, cf_var, cf_var);
}
else if (strcmp(specifier, "uint32_t") == 0) {
@@ -262,7 +264,9 @@ static const char typemap_output[] =
"\n"
"CHY_BIG_UNSIGNED_INT\n"
" if (sizeof(UV) == 8) { sv_setuv($arg, (UV)$var); }\n"
- " else { sv_setnv($arg, (NV)$var); }\n"
+ " else {\n"
+ " sv_setnv($arg, (NV)CHY_U64_TO_DOUBLE($var));\n"
+ " }\n"
"\n";
void
http://git-wip-us.apache.org/repos/asf/lucy/blob/b995ebb0/clownfish/runtime/core/Clownfish/Test/Util/TestMemory.c
----------------------------------------------------------------------
diff --git a/clownfish/runtime/core/Clownfish/Test/Util/TestMemory.c b/clownfish/runtime/core/Clownfish/Test/Util/TestMemory.c
index fbeff48..642c420 100644
--- a/clownfish/runtime/core/Clownfish/Test/Util/TestMemory.c
+++ b/clownfish/runtime/core/Clownfish/Test/Util/TestMemory.c
@@ -42,7 +42,8 @@ test_oversize__growth_rate(TestBatch *batch) {
}
if (size > 0) {
growth_count += 1;
- double growth_rate = (double)next_size / (double)size;
+ double growth_rate = U64_TO_DOUBLE(next_size) /
+ U64_TO_DOUBLE(size);
double sum = growth_rate + (growth_count - 1) * average_growth_rate;
average_growth_rate = sum / growth_count;
if (average_growth_rate < 1.1) {
@@ -63,7 +64,7 @@ test_oversize__growth_rate(TestBatch *batch) {
for (int minimum = 1; minimum < 8; minimum++) {
uint64_t next_size = Memory_oversize(minimum, sizeof(void*));
- double growth_rate = (double)next_size / (double)minimum;
+ double growth_rate = U64_TO_DOUBLE(next_size) / (double)minimum;
TEST_TRUE(batch, growth_rate > 1.2,
"Growth rate is higher for smaller arrays (%d, %.3f)", minimum,
growth_rate);
http://git-wip-us.apache.org/repos/asf/lucy/blob/b995ebb0/core/Lucy/Test/Search/TestSortSpec.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Test/Search/TestSortSpec.c b/core/Lucy/Test/Search/TestSortSpec.c
index 2d0fe28..00148fe 100644
--- a/core/Lucy/Test/Search/TestSortSpec.c
+++ b/core/Lucy/Test/Search/TestSortSpec.c
@@ -288,13 +288,13 @@ S_random_int64() {
static Obj*
S_random_float32() {
uint64_t num = TestUtils_random_u64();
- return (Obj*)Float32_new((double)num * (10.0 / U64_MAX));
+ return (Obj*)Float32_new(U64_TO_DOUBLE(num) * (10.0 / U64_MAX));
}
static Obj*
S_random_float64() {
uint64_t num = TestUtils_random_u64();
- return (Obj*)Float64_new((double)num * (10.0 / U64_MAX));
+ return (Obj*)Float64_new(U64_TO_DOUBLE(num) * (10.0 / U64_MAX));
}
static VArray*
http://git-wip-us.apache.org/repos/asf/lucy/blob/b995ebb0/core/Lucy/Test/TestUtils.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Test/TestUtils.c b/core/Lucy/Test/TestUtils.c
index 1c467cc..28a6e91 100644
--- a/core/Lucy/Test/TestUtils.c
+++ b/core/Lucy/Test/TestUtils.c
@@ -72,7 +72,7 @@ TestUtils_random_f64s(double *buf, size_t count) {
double *f64s = buf ? buf : (double*)CALLOCATE(count, sizeof(double));
for (size_t i = 0; i < count; i++) {
uint64_t num = TestUtils_random_u64();
- f64s[i] = (double)num / U64_MAX;
+ f64s[i] = U64_TO_DOUBLE(num) / U64_MAX;
}
return f64s;
}
http://git-wip-us.apache.org/repos/asf/lucy/blob/b995ebb0/core/Lucy/Test/Util/TestMemory.c
----------------------------------------------------------------------
diff --git a/core/Lucy/Test/Util/TestMemory.c b/core/Lucy/Test/Util/TestMemory.c
index 6aa0b0a..8ee03ef 100644
--- a/core/Lucy/Test/Util/TestMemory.c
+++ b/core/Lucy/Test/Util/TestMemory.c
@@ -42,7 +42,8 @@ test_oversize__growth_rate(TestBatch *batch) {
}
if (size > 0) {
growth_count += 1;
- double growth_rate = (double)next_size / (double)size;
+ double growth_rate = U64_TO_DOUBLE(next_size) /
+ U64_TO_DOUBLE(size);
double sum = growth_rate + (growth_count - 1) * average_growth_rate;
average_growth_rate = sum / growth_count;
if (average_growth_rate < 1.1) {
@@ -63,7 +64,7 @@ test_oversize__growth_rate(TestBatch *batch) {
for (int minimum = 1; minimum < 8; minimum++) {
uint64_t next_size = Memory_oversize(minimum, sizeof(void*));
- double growth_rate = (double)next_size / (double)minimum;
+ double growth_rate = U64_TO_DOUBLE(next_size) / (double)minimum;
TEST_TRUE(batch, growth_rate > 1.2,
"Growth rate is higher for smaller arrays (%d, %.3f)", minimum,
growth_rate);