From e42a6889a2966d8e9fd4e6b2b1bb3dd28c9794c9 Mon Sep 17 00:00:00 2001 From: Tim O'Shea Date: Wed, 20 Jun 2012 11:58:40 -0400 Subject: 1. handle pmt serialize and deserialize for tuples 2. fix offset checking in pmt_annotator_raw --- gruel/src/lib/pmt/pmt-serial-tags.scm | 1 + gruel/src/lib/pmt/pmt_serialize.cc | 41 +++++++++++++++++++++++++++++++++++ 2 files changed, 42 insertions(+) (limited to 'gruel/src/lib/pmt') diff --git a/gruel/src/lib/pmt/pmt-serial-tags.scm b/gruel/src/lib/pmt/pmt-serial-tags.scm index a78d87681..4f06bf75f 100644 --- a/gruel/src/lib/pmt/pmt-serial-tags.scm +++ b/gruel/src/lib/pmt/pmt-serial-tags.scm @@ -34,6 +34,7 @@ (define pst-uniform-vector #x0a) (define pst-uint64 #x0b) +(define pst-tuple #x0c) ;; u8, s8, u16, s16, u32, s32, u64, s64, f32, f64, c32, c64 ;; diff --git a/gruel/src/lib/pmt/pmt_serialize.cc b/gruel/src/lib/pmt/pmt_serialize.cc index 05140bb42..8c9dd12b3 100644 --- a/gruel/src/lib/pmt/pmt_serialize.cc +++ b/gruel/src/lib/pmt/pmt_serialize.cc @@ -24,6 +24,7 @@ #endif #include #include +#include #include "pmt_int.h" #include "gruel/pmt_serial_tags.h" @@ -213,6 +214,28 @@ deserialize_untagged_f64(double *ip, std::streambuf &sb) return t != std::streambuf::traits_type::eof(); } +static bool +deserialize_tuple(pmt_t *tuple, std::streambuf &sb) +{ + std::cout << "deserialize_tuple\n"; + uint32_t nitems; + bool ok = deserialize_untagged_u32(&nitems, sb); + pmt_t list(PMT_NIL); + std::cout << "nitems: " << nitems << "\n"; + for(uint32_t i=0; i #include -#include #include "pmt_int.h" #include "gruel/pmt_serial_tags.h" @@ -217,13 +216,10 @@ deserialize_untagged_f64(double *ip, std::streambuf &sb) static bool deserialize_tuple(pmt_t *tuple, std::streambuf &sb) { - std::cout << "deserialize_tuple\n"; uint32_t nitems; bool ok = deserialize_untagged_u32(&nitems, sb); pmt_t list(PMT_NIL); - std::cout << "nitems: " << nitems << "\n"; for(uint32_t i=0; i