Changeset: 05bc4721f061 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=05bc4721f061
Modified Files:
        clients/examples/C/bincopydata.c
        clients/examples/C/bincopytemporaldata.c
Branch: copybinary
Log Message:

Generate bincopy testdata in proper endianness

that is, always little endian.


diffs (134 lines):

diff --git a/clients/examples/C/bincopydata.c b/clients/examples/C/bincopydata.c
--- a/clients/examples/C/bincopydata.c
+++ b/clients/examples/C/bincopydata.c
@@ -54,6 +54,7 @@ gen_smallints(FILE *f, long nrecs)
 {
        for (long i = 0; i < nrecs; i++) {
                uint16_t v = (uint16_t)i;
+               COPY_BINARY_CONVERT16(v);
                fwrite(&v, sizeof(v), 1, f);
        }
 }
@@ -63,6 +64,7 @@ gen_bigints(FILE *f, long nrecs)
 {
        for (long i = 0; i < nrecs; i++) {
                uint64_t v = (uint64_t)i;
+               COPY_BINARY_CONVERT64(v);
                fwrite(&v, sizeof(v), 1, f);
        }
 }
@@ -73,6 +75,7 @@ gen_hugeints(FILE *f, long nrecs)
 {
        for (long i = 0; i < nrecs; i++) {
                uhge v = (uhge)i;
+               COPY_BINARY_CONVERT128(v);
                fwrite(&v, sizeof(v), 1, f);
        }
 }
@@ -84,7 +87,9 @@ gen_ints(FILE *f, long nrecs)
        assert((uintmax_t)nrecs <= (uintmax_t) UINT32_MAX);
        uint32_t n = (uint32_t) nrecs;
        for (uint32_t i = 0; i < n; i++) {
-               fwrite(&i, sizeof(i), 1, f);
+               uint32_t v = i;
+               COPY_BINARY_CONVERT32(v);
+               fwrite(&v, sizeof(v), 1, f);
        }
 }
 
@@ -94,8 +99,9 @@ gen_more_ints(FILE *f, long nrecs)
        assert((uintmax_t)nrecs <= (uintmax_t) UINT32_MAX);
        uint32_t n = (uint32_t) nrecs;
        for (uint32_t i = 0; i < n; i++) {
-               uint32_t j = i + 1;
-               fwrite(&j, sizeof(i), 1, f);
+               uint32_t v = i + 1;
+               COPY_BINARY_CONVERT32(v);
+               fwrite(&v, sizeof(v), 1, f);
        }
 }
 
@@ -106,8 +112,9 @@ gen_null_ints(FILE *f, long nrecs)
        uint32_t n = (uint32_t) nrecs;
        uint32_t nil = 0x80000000;
        for (uint32_t i = 0; i < n; i++) {
-               uint32_t j = i % 2 == 0 ? nil : i;
-               fwrite(&j, sizeof(i), 1, f);
+               uint32_t v = i % 2 == 0 ? nil : i;
+               COPY_BINARY_CONVERT32(v);
+               fwrite(&v, sizeof(v), 1, f);
        }
 }
 
diff --git a/clients/examples/C/bincopytemporaldata.c 
b/clients/examples/C/bincopytemporaldata.c
--- a/clients/examples/C/bincopytemporaldata.c
+++ b/clients/examples/C/bincopytemporaldata.c
@@ -38,50 +38,6 @@ random_timestamp(struct rng *rng)
        return ts;
 }
 
-void fix_endian(copy_binary_timestamp *p);
-void fix_endian2(int16_t *p);
-void fix_endian4(uint32_t *p);
-
-#ifdef WORDS_BIGENDIAN
-void fix_endian2(int16_t *p) {
-       char *bytes = (char*) p;
-
-       char b0 = bytes[0];
-       char b1 = bytes[1];
-
-       bytes[0] = b1;
-       bytes[1] = b0;
-}
-
-void fix_endian4(uint32_t *p) {
-       char *bytes = (char*) p;
-
-       char b0 = bytes[0];
-       char b1 = bytes[1];
-       char b2 = bytes[2];
-       char b3 = bytes[3];
-
-       bytes[0] = b3;
-       bytes[1] = b2;
-       bytes[2] = b1;
-       bytes[3] = b0;
-}
-#else
-void fix_endian2(int16_t *p) {
-       (void)p;
-}
-
-void fix_endian4(uint32_t *p) {
-       (void)p;
-}
-#endif
-
-void fix_endian(copy_binary_timestamp *ts)
-{
-       fix_endian2(&ts->date.year);
-       fix_endian4(&ts->time.ms);
-}
-
 void
 gen_timestamps(FILE *f, long nrecs)
 {
@@ -89,7 +45,7 @@ gen_timestamps(FILE *f, long nrecs)
 
        for (long i = 0; i < nrecs; i++) {
                copy_binary_timestamp ts = random_timestamp(&rng);
-               fix_endian(&ts);
+               COPY_BINARY_CONVERT_TIMESTAMP_ENDIAN(ts);
                fwrite(&ts, sizeof(ts), 1, f);
        }
 }
@@ -102,7 +58,7 @@ gen_timestamps(FILE *f, long nrecs)
        \
                for (long i = 0; i < nrecs; i++) { \
                        copy_binary_timestamp ts = random_timestamp(&rng); \
-                       fix_endian(&ts); \
+                       COPY_BINARY_CONVERT_TIMESTAMP_ENDIAN(ts); \
                        fwrite(&ts.fld, sizeof(ts.fld), 1, f); \
                } \
        }
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to