summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--docs/doxygen/other/pmt.dox186
-rw-r--r--gnuradio-core/src/lib/general/gr_annotator_1to1.cc6
-rw-r--r--gnuradio-core/src/lib/general/gr_annotator_alltoall.cc6
-rw-r--r--gnuradio-core/src/lib/general/gr_annotator_raw.cc2
-rw-r--r--gnuradio-core/src/lib/general/gr_burst_tagger.cc10
-rw-r--r--gnuradio-core/src/lib/general/gr_ctrlport_probe2_c.cc6
-rw-r--r--gnuradio-core/src/lib/general/gr_ctrlport_probe_c.cc6
-rw-r--r--gnuradio-core/src/lib/general/gr_tag_debug.cc4
-rw-r--r--gnuradio-core/src/lib/io/gr_message_burst_source.cc12
-rw-r--r--gnuradio-core/src/lib/io/gr_message_debug.cc12
-rw-r--r--gnuradio-core/src/lib/io/gr_pdu.cc18
-rw-r--r--gnuradio-core/src/lib/io/gr_pdu_to_tagged_stream.cc28
-rw-r--r--gnuradio-core/src/lib/io/gr_socket_pdu.cc18
-rw-r--r--gnuradio-core/src/lib/io/gr_socket_pdu.h12
-rw-r--r--gnuradio-core/src/lib/io/gr_stream_pdu_base.cc10
-rw-r--r--gnuradio-core/src/lib/io/gr_tagged_file_sink.cc20
-rw-r--r--gnuradio-core/src/lib/io/gr_tagged_stream_to_pdu.cc14
-rw-r--r--gnuradio-core/src/lib/runtime/gr_basic_block.cc68
-rw-r--r--gnuradio-core/src/lib/runtime/gr_basic_block.h12
-rw-r--r--gnuradio-core/src/lib/runtime/gr_block_detail.cc12
-rw-r--r--gnuradio-core/src/lib/runtime/gr_block_registry.cc16
-rw-r--r--gnuradio-core/src/lib/runtime/gr_flat_flowgraph.cc2
-rw-r--r--gnuradio-core/src/lib/runtime/gr_flowgraph.h2
-rw-r--r--gnuradio-core/src/lib/runtime/gr_hier_block2.cc4
-rw-r--r--gnuradio-core/src/lib/runtime/gr_hier_block2.h14
-rw-r--r--gnuradio-core/src/lib/runtime/gr_hier_block2_detail.cc4
-rw-r--r--gnuradio-core/src/lib/runtime/pycallback_object.h4
-rw-r--r--gnuradio-core/src/lib/runtime/qa_set_msg_handler.cc6
-rw-r--r--gnuradio-core/src/lib/runtime/rpcpmtconverters_ice.cc36
-rw-r--r--gnuradio-core/src/lib/runtime/rpcregisterhelpers.h22
-rw-r--r--gnuradio-core/src/python/gnuradio/gr/qa_block_gateway.py10
-rwxr-xr-xgnuradio-core/src/python/gnuradio/gr/qa_pdu.py30
-rw-r--r--gr-blocks/lib/file_meta_sink_impl.cc90
-rw-r--r--gr-blocks/lib/file_meta_source_impl.cc56
-rw-r--r--gr-blocks/python/parse_file_metadata.py71
-rw-r--r--gr-blocks/python/qa_file_metadata.py48
-rw-r--r--gr-channels/lib/channel_model_impl.cc6
-rw-r--r--gr-digital/lib/correlate_access_code_tag_bb_impl.cc4
-rw-r--r--gr-digital/lib/mpsk_snr_est_cc_impl.cc6
-rw-r--r--gr-digital/lib/probe_mpsk_snr_est_c_impl.cc2
-rw-r--r--gr-uhd/examples/c++/tag_sink_demo.h6
-rw-r--r--gr-uhd/examples/c++/tag_source_demo.h18
-rw-r--r--gr-uhd/lib/gr_uhd_usrp_sink.cc20
-rw-r--r--gr-uhd/lib/gr_uhd_usrp_source.cc18
-rw-r--r--gr-utils/python/gr_read_file_metadata4
-rw-r--r--gruel/src/include/gruel/msg_passing.h4
-rw-r--r--gruel/src/include/gruel/pmt.h498
-rw-r--r--gruel/src/include/gruel/pmt_sugar.h40
-rw-r--r--gruel/src/lib/pmt/pmt.cc533
-rw-r--r--gruel/src/lib/pmt/pmt_io.cc88
-rw-r--r--gruel/src/lib/pmt/pmt_serialize.cc254
-rw-r--r--gruel/src/lib/pmt/qa_pmt_prims.cc644
-rw-r--r--gruel/src/lib/pmt/unv_qa_template.cc.t24
-rw-r--r--gruel/src/lib/pmt/unv_template.cc.t32
-rwxr-xr-xgruel/src/python/qa_pmt.py98
-rw-r--r--gruel/src/swig/CMakeLists.txt2
-rw-r--r--gruel/src/swig/pmt_swig.i933
57 files changed, 1820 insertions, 2291 deletions
diff --git a/docs/doxygen/other/pmt.dox b/docs/doxygen/other/pmt.dox
index 61b73bca13..ba97863a08 100644
--- a/docs/doxygen/other/pmt.dox
+++ b/docs/doxygen/other/pmt.dox
@@ -66,25 +66,25 @@ underneath is still a C++ typed object, and so the right type of
set/get function must be used for the data type.
Typically, a PMT object can be made from a scalar item using a call
-like "pmt::pmt_from_<type>". Similarly, when getting data out of a
-PMT, we use a call like "pmt::pmt_to_<type>". For example:
+like "pmt::from_<type>". Similarly, when getting data out of a
+PMT, we use a call like "pmt::to_<type>". For example:
\code
double a = 1.2345;
-pmt::pmt_t pmt_a = pmt::pmt_from_double(a);
-double b = pmt::pmt_to_double(pmt_a);
+pmt::pmt_t pmt_a = pmt::from_double(a);
+double b = pmt::to_double(pmt_a);
int c = 12345;
-pmt::pmt_t pmt_c = pmt::pmt_from_long(c);
-int d = pmt::pmt_to_long(pmt_c);
+pmt::pmt_t pmt_c = pmt::from_long(c);
+int d = pmt::to_long(pmt_c);
\endcode
As a side-note, making a PMT from a complex number is not obvious:
\code
std::complex<double> a(1.2, 3.4);
-pmt::pmt_t pmt_a = pmt::pmt_make_rectangular(a.real(), b.imag());
-std::complex<double> b = pmt::pmt_to_complex(pmt_a);
+pmt::pmt_t pmt_a = pmt::make_rectangular(a.real(), b.imag());
+std::complex<double> b = pmt::to_complex(pmt_a);
\endcode
Pairs, dictionaries, and vectors have different constructors and ways
@@ -100,17 +100,17 @@ new symbol from a string, if that string already exists in the hash
table, the constructor will return a reference to the existing PMT.
We create strings with the following functions, where the second
-function, pmt::pmt_intern, is simply an alias of the first.
+function, pmt::intern, is simply an alias of the first.
\code
-pmt::pmt_t str0 = pmt::pmt_string_to_symbol(std::string("some string"));
-pmt::pmt_t str1 = pmt::pmt_intern(std::string("some string"));
+pmt::pmt_t str0 = pmt::string_to_symbol(std::string("some string"));
+pmt::pmt_t str1 = pmt::intern(std::string("some string"));
\endcode
The string can be retrieved using the inverse function:
\code
-std::string s = pmt::pmt_symbol_to_string(str0);
+std::string s = pmt::symbol_to_string(str0);
\endcode
@@ -118,28 +118,28 @@ std::string s = pmt::pmt_symbol_to_string(str0);
The PMT library comes with a number of functions to test and compare
PMT objects. In general, for any PMT data type, there is an equivalent
-"pmt::pmt_is_<type>". We can use these to test the PMT before trying
+"pmt::is_<type>". We can use these to test the PMT before trying
to access the data inside. Expanding our examples above, we have:
\code
-pmt::pmt_t str0 = pmt::pmt_string_to_symbol(std::string("some string"));
-if(pmt::pmt_is_symbol(str0))
- std::string s = pmt::pmt_symbol_to_string(str0);
+pmt::pmt_t str0 = pmt::string_to_symbol(std::string("some string"));
+if(pmt::is_symbol(str0))
+ std::string s = pmt::symbol_to_string(str0);
double a = 1.2345;
-pmt::pmt_t pmt_a = pmt::pmt_from_double(a);
-if(pmt::pmt_is_double(pmt_a))
- double b = pmt::pmt_to_double(pmt_a);
+pmt::pmt_t pmt_a = pmt::from_double(a);
+if(pmt::is_double(pmt_a))
+ double b = pmt::to_double(pmt_a);
int c = 12345;
-pmt::pmt_t pmt_c = pmt::pmt_from_long(c);
-if(pmt::pmt_is_long(pmt_a))
- int d = pmt::pmt_to_long(pmt_c);
+pmt::pmt_t pmt_c = pmt::from_long(c);
+if(pmt::is_long(pmt_a))
+ int d = pmt::to_long(pmt_c);
\\ This will fail the test. Otherwise, trying to coerce \b pmt_c as a
\\ double when internally it is a long will result in an exception.
-if(pmt::pmt_is_double(pmt_a))
- double d = pmt::pmt_to_double(pmt_c);
+if(pmt::is_double(pmt_a))
+ double d = pmt::to_double(pmt_c);
\endcode
@@ -156,15 +156,15 @@ returned dictionary is a new PMT with the changes made there.
The following is a list of PMT dictionary functions. Click through to
get more information on what each does.
-- bool pmt::pmt_is_dict(const pmt_t &obj)
-- pmt_t pmt::pmt_make_dict()
-- pmt_t pmt::pmt_dict_add(const pmt_t &dict, const pmt_t &key, const pmt_t &value)
-- pmt_t pmt::pmt_dict_delete(const pmt_t &dict, const pmt_t &key)
-- bool pmt::pmt_dict_has_key(const pmt_t &dict, const pmt_t &key)
-- pmt_t pmt::pmt_dict_ref(const pmt_t &dict, const pmt_t &key, const pmt_t &not_found)
-- pmt_t pmt::pmt_dict_items(pmt_t dict)
-- pmt_t pmt::pmt_dict_keys(pmt_t dict)
-- pmt_t pmt::pmt_dict_values(pmt_t dict)
+- bool pmt::is_dict(const pmt_t &obj)
+- pmt_t pmt::make_dict()
+- pmt_t pmt::dict_add(const pmt_t &dict, const pmt_t &key, const pmt_t &value)
+- pmt_t pmt::dict_delete(const pmt_t &dict, const pmt_t &key)
+- bool pmt::dict_has_key(const pmt_t &dict, const pmt_t &key)
+- pmt_t pmt::dict_ref(const pmt_t &dict, const pmt_t &key, const pmt_t &not_found)
+- pmt_t pmt::dict_items(pmt_t dict)
+- pmt_t pmt::dict_keys(pmt_t dict)
+- pmt_t pmt::dict_values(pmt_t dict)
This example does some basic manipulations of PMT dictionaries in
Python. Notice that we pass the dictionary \a a and return the results
@@ -175,39 +175,39 @@ variables small.
\code
from gruel import pmt
-key0 = pmt.pmt_intern("int")
-val0 = pmt.pmt_from_long(123)
-val1 = pmt.pmt_from_long(234)
+key0 = pmt.intern("int")
+val0 = pmt.from_long(123)
+val1 = pmt.from_long(234)
-key1 = pmt.pmt_intern("double")
-val2 = pmt.pmt_from_double(5.4321)
+key1 = pmt.tern("double")
+val2 = pmt.om_double(5.4321)
# Make an empty dictionary
-a = pmt.pmt_make_dict()
+a = pmt.make_dict()
# Add a key:value pair to the dictionary
-a = pmt.pmt_dict_add(a, key0, val0)
-pmt.pmt_print(a)
+a = pmt.dict_add(a, key0, val0)
+print a
# Add a new value to the same key;
# new dict will still have one item with new value
-a = pmt.pmt_dict_add(a, key0, val1)
-pmt.pmt_print(a)
+a = pmt.dict_add(a, key0, val1)
+print a
# Add a new key:value pair
-a = pmt.pmt_dict_add(a, key1, val2)
-pmt.pmt_print(a)
+a = pmt.dict_add(a, key1, val2)
+print a
# Test if we have a key, then delete it
-print pmt.pmt_dict_has_key(a, key1)
-a = pmt.pmt_dict_delete(a, key1)
-print pmt.pmt_dict_has_key(a, key1)
+print pmt.dict_has_key(a, key1)
+a = pmt.dict_delete(a, key1)
+print pmt.dict_has_key(a, key1)
-ref = pmt.pmt_dict_ref(a, key0, pmt.PMT_NIL)
-pmt.pmt_print(ref)
+ref = pmt.dict_ref(a, key0, pmt.PMT_NIL)
+print ref
# The following should never print
-if(pmt.pmt_dict_has_key(a, key0) and pmt.pmt_eq(ref, pmt.PMT_NIL)):
+if(pmt.dict_has_key(a, key0) and pmt.eq(ref, pmt.PMT_NIL)):
print "Trouble! We have key0, but it returned PMT_NIL"
\endcode
@@ -232,29 +232,29 @@ both signed and unsigned.
Vectors have a well-defined interface that allows us to make, set,
get, and fill them. We can also get the length of a vector with
-pmt::pmt_length.
+pmt::length.
For standard vectors, these functions look like:
-- bool pmt::pmt_is_vector(pmt_t x)
-- pmt_t pmt::pmt_make_vector(size_t k, pmt_t fill)
-- pmt_t pmt::pmt_vector_ref(pmt_t vector, size_t k)
-- void pmt::pmt_vector_set(pmt_t vector, size_t k, pmt_t obj)
-- void pmt::pmt_vector_fill(pmt_t vector, pmt_t fill)
+- bool pmt::is_vector(pmt_t x)
+- pmt_t pmt::make_vector(size_t k, pmt_t fill)
+- pmt_t pmt::vector_ref(pmt_t vector, size_t k)
+- void pmt::vector_set(pmt_t vector, size_t k, pmt_t obj)
+- void pmt::vector_fill(pmt_t vector, pmt_t fill)
Uniform vectors have the same types of functions, but they are data
type-dependent. The following list tries to explain them where you
substitute the specific data type prefix for \a dtype (prefixes being:
u8, u16, u32, u64, s8, s16, s32, s64, f32, f64, c32, c64).
-- bool pmt::pmt_is_(dtype)vector(pmt_t x)
-- pmt_t pmt::pmt_make_(dtype)vector(size_t k, (dtype) fill)
-- pmt_t pmt::pmt_init_(dtype)vector(size_t k, const (dtype*) data)
-- pmt_t pmt::pmt_init_(dtype)vector(size_t k, const std::vector<dtype> data)
-- pmt_t pmt::pmt_(dtype)vector_ref(pmt_t vector, size_t k)
-- void pmt::pmt_(dtype)vector_set(pmt_t vector, size_t k, (dtype) x)
-- const dtype* pmt::pmt_(dtype)vector_elements(pmt_t vector, size_t &len)
-- dtype* pmt::pmt_(dtype)vector_writable_elements(pmt_t vector, size_t &len)
+- bool pmt::is_(dtype)vector(pmt_t x)
+- pmt_t pmt::make_(dtype)vector(size_t k, (dtype) fill)
+- pmt_t pmt::init_(dtype)vector(size_t k, const (dtype*) data)
+- pmt_t pmt::init_(dtype)vector(size_t k, const std::vector<dtype> data)
+- pmt_t pmt::(dtype)vector_ref(pmt_t vector, size_t k)
+- void pmt::(dtype)vector_set(pmt_t vector, size_t k, (dtype) x)
+- const dtype* pmt::(dtype)vector_elements(pmt_t vector, size_t &len)
+- dtype* pmt::(dtype)vector_writable_elements(pmt_t vector, size_t &len)
\b Note: We break the contract with vectors. The 'set' functions
actually change the data underneath. It is important to keep track of
@@ -276,12 +276,12 @@ Pairs are inspired by LISP 'cons' data types, so you will find the
language here comes from LISP. A pair is just a pair of PMT
objects. They are manipulated using the following functions:
-- bool pmt::pmt_is_pair (const pmt_t &obj): Return true if obj is a pair, else false
-- pmt_t pmt::pmt_cons(const pmt_t &x, const pmt_t &y): construct new pair
-- pmt_t pmt::pmt_car(const pmt_t &pair): get the car of the pair (first object)
-- pmt_t pmt::pmt_cdr(const pmt_t &pair): get the cdr of the pair (second object)
-- void pmt::pmt_set_car(pmt_t pair, pmt_t value): Stores value in the car field
-- void pmt::pmt_set_cdr(pmt_t pair, pmt_t value): Stores value in the cdr field
+- bool pmt::is_pair(const pmt_t &obj): Return true if obj is a pair, else false
+- pmt_t pmt::cons(const pmt_t &x, const pmt_t &y): construct new pair
+- pmt_t pmt::car(const pmt_t &pair): get the car of the pair (first object)
+- pmt_t pmt::cdr(const pmt_t &pair): get the cdr of the pair (second object)
+- void pmt::set_car(pmt_t pair, pmt_t value): Stores value in the car field
+- void pmt::set_cdr(pmt_t pair, pmt_t value): Stores value in the cdr field
\section serdes Serializing and Deserializing
@@ -293,10 +293,10 @@ string and then methods to deserialize the string buffer or string
back into a PMT. We use this extensively in the metadata files (see
\ref page_metadata).
-- bool pmt::pmt_serialize(pmt_t obj, std::streambuf &sink)
-- std::string pmt::pmt_serialize_str(pmt_t obj)
-- pmt_t pmt::pmt_deserialize(std::streambuf &source)
-- pmt_t pmt::pmt_deserialize_str(std::string str)
+- bool pmt::serialize(pmt_t obj, std::streambuf &sink)
+- std::string pmt::serialize_str(pmt_t obj)
+- pmt_t pmt::deserialize(std::streambuf &source)
+- pmt_t pmt::deserialize_str(std::string str)
For example, we will serialize the data above to make it into a string
ready to be written to a file and then deserialize it back to its
@@ -305,26 +305,26 @@ original PMT.
\code
from gruel import pmt
-key0 = pmt.pmt_intern("int")
-val0 = pmt.pmt_from_long(123)
+key0 = pmt.intern("int")
+val0 = pmt.from_long(123)
-key1 = pmt.pmt_intern("double")
-val1 = pmt.pmt_from_double(5.4321)
+key1 = pmt.intern("double")
+val1 = pmt.from_double(5.4321)
# Make an empty dictionary
-a = pmt.pmt_make_dict()
+a = pmt.make_dict()
# Add a key:value pair to the dictionary
-a = pmt.pmt_dict_add(a, key0, val0)
-a = pmt.pmt_dict_add(a, key1, val1)
+a = pmt.dict_add(a, key0, val0)
+a = pmt.dict_add(a, key1, val1)
-pmt.pmt_print(a)
+print a
-ser_str = pmt.pmt_serialize_str(a)
+ser_str = pmt.serialize_str(a)
print ser_str
-b = pmt.pmt_deserialize_str(ser_str)
-pmt.pmt_print(b)
+b = pmt.deserialize_str(ser_str)
+print b
\endcode
@@ -335,13 +335,17 @@ string. This is only done here as a test.
\section printing Printing
-We have used the pmt::pmt_print function in these examples to nicely
-print the contents of a PMT. Another way to print the contents is
-using the overloaded "<<" operator with a stream buffer object. In
-C++, we can inline print the contents of a PMT like:
+In Python, the __repr__ function of a PMT object is overloaded to call
+'pmt::write_string'. This means that any time we call a formatted
+printing operation on a PMT object, the PMT library will properly
+format the object for display.
+
+In C++, we can use the 'pmt::print(object)' function or print the
+contents is using the overloaded "<<" operator with a stream buffer
+object. In C++, we can inline print the contents of a PMT like:
\code
-pmt::pmt_t a pmt::pmt_from_double(1.0);
+pmt::pmt_t a pmt::from_double(1.0);
std::cout << "The PMT a contains " << a << std::endl;
\endcode
diff --git a/gnuradio-core/src/lib/general/gr_annotator_1to1.cc b/gnuradio-core/src/lib/general/gr_annotator_1to1.cc
index 963af9202a..1178bdc34f 100644
--- a/gnuradio-core/src/lib/general/gr_annotator_1to1.cc
+++ b/gnuradio-core/src/lib/general/gr_annotator_1to1.cc
@@ -79,8 +79,8 @@ gr_annotator_1to1::work (int noutput_items,
}
// Storing the current noutput_items as the value to the "noutput_items" key
- pmt::pmt_t srcid = pmt::pmt_string_to_symbol(str.str());
- pmt::pmt_t key = pmt::pmt_string_to_symbol("seq");
+ pmt::pmt_t srcid = pmt::string_to_symbol(str.str());
+ pmt::pmt_t key = pmt::string_to_symbol("seq");
// Work does nothing to the data stream; just copy all inputs to outputs
// Adds a new tag when the number of items read is a multiple of d_when
@@ -92,7 +92,7 @@ gr_annotator_1to1::work (int noutput_items,
// the 1-to-1 propagation policy.
for(int i = 0; i < std::min(noutputs, ninputs); i++) {
if(abs_N % d_when == 0) {
- pmt::pmt_t value = pmt::pmt_from_uint64(d_tag_counter++);
+ pmt::pmt_t value = pmt::from_uint64(d_tag_counter++);
add_item_tag(i, abs_N, key, value, srcid);
}
diff --git a/gnuradio-core/src/lib/general/gr_annotator_alltoall.cc b/gnuradio-core/src/lib/general/gr_annotator_alltoall.cc
index 01bdd30644..d8b7e2db7e 100644
--- a/gnuradio-core/src/lib/general/gr_annotator_alltoall.cc
+++ b/gnuradio-core/src/lib/general/gr_annotator_alltoall.cc
@@ -80,8 +80,8 @@ gr_annotator_alltoall::work (int noutput_items,
}
// Source ID and key for any tag that might get applied from this block
- pmt::pmt_t srcid = pmt::pmt_string_to_symbol(str.str());
- pmt::pmt_t key = pmt::pmt_string_to_symbol("seq");
+ pmt::pmt_t srcid = pmt::string_to_symbol(str.str());
+ pmt::pmt_t key = pmt::string_to_symbol("seq");
// Work does nothing to the data stream; just copy all inputs to outputs
// Adds a new tag when the number of items read is a multiple of d_when
@@ -91,7 +91,7 @@ gr_annotator_alltoall::work (int noutput_items,
for(int j = 0; j < noutput_items; j++) {
for(int i = 0; i < noutputs; i++) {
if(abs_N % d_when == 0) {
- pmt::pmt_t value = pmt::pmt_from_uint64(d_tag_counter++);
+ pmt::pmt_t value = pmt::from_uint64(d_tag_counter++);
add_item_tag(i, abs_N, key, value, srcid);
}
diff --git a/gnuradio-core/src/lib/general/gr_annotator_raw.cc b/gnuradio-core/src/lib/general/gr_annotator_raw.cc
index d3dcce73af..c3aecdd938 100644
--- a/gnuradio-core/src/lib/general/gr_annotator_raw.cc
+++ b/gnuradio-core/src/lib/general/gr_annotator_raw.cc
@@ -55,7 +55,7 @@ void gr_annotator_raw::add_tag(uint64_t offset, pmt_t key, pmt_t val)
gruel::scoped_lock l(d_mutex);
gr_tag_t tag;
- tag.srcid = pmt::pmt_intern(name());
+ tag.srcid = pmt::intern(name());
tag.key = key;
tag.value = val;
tag.offset = offset;
diff --git a/gnuradio-core/src/lib/general/gr_burst_tagger.cc b/gnuradio-core/src/lib/general/gr_burst_tagger.cc
index 83e84bfa09..72924109bf 100644
--- a/gnuradio-core/src/lib/general/gr_burst_tagger.cc
+++ b/gnuradio-core/src/lib/general/gr_burst_tagger.cc
@@ -43,19 +43,19 @@ gr_burst_tagger::gr_burst_tagger(size_t itemsize)
std::stringstream str;
str << name() << unique_id();
- d_true_key = pmt::pmt_string_to_symbol("burst");
+ d_true_key = pmt::string_to_symbol("burst");
d_true_value = pmt::PMT_T;
- d_false_key = pmt::pmt_string_to_symbol("burst");
+ d_false_key = pmt::string_to_symbol("burst");
d_false_value = pmt::PMT_F;
- d_id = pmt::pmt_string_to_symbol(str.str());
+ d_id = pmt::string_to_symbol(str.str());
}
void
gr_burst_tagger::set_true_tag (const std::string &key, bool value)
{
- d_true_key = pmt::pmt_string_to_symbol(key);
+ d_true_key = pmt::string_to_symbol(key);
if(value == true) {
d_true_value = pmt::PMT_T;
}
@@ -67,7 +67,7 @@ gr_burst_tagger::set_true_tag (const std::string &key, bool value)
void
gr_burst_tagger::set_false_tag (const std::string &key, bool value)
{
- d_false_key = pmt::pmt_string_to_symbol(key);
+ d_false_key = pmt::string_to_symbol(key);
if(value == true) {
d_false_value = pmt::PMT_T;
}
diff --git a/gnuradio-core/src/lib/general/gr_ctrlport_probe2_c.cc b/gnuradio-core/src/lib/general/gr_ctrlport_probe2_c.cc
index 5d6abd2ee5..453f55ef4d 100644
--- a/gnuradio-core/src/lib/general/gr_ctrlport_probe2_c.cc
+++ b/gnuradio-core/src/lib/general/gr_ctrlport_probe2_c.cc
@@ -42,9 +42,9 @@ gr_ctrlport_probe2_c::gr_ctrlport_probe2_c(const std::string &id,
gr_make_io_signature(0, 0, 0)),
d_len(len),
d_const_rpc(d_name, id.c_str(), this, unique_id(), &gr_ctrlport_probe2_c::get,
- pmt::pmt_make_c32vector(0,-2),
- pmt::pmt_make_c32vector(0,2),
- pmt::pmt_make_c32vector(0,0),
+ pmt::make_c32vector(0,-2),
+ pmt::make_c32vector(0,2),
+ pmt::make_c32vector(0,0),
"volts", desc.c_str(), RPC_PRIVLVL_MIN, DISPXYSCATTER),
d_len_get_rpc(d_name, "length", this, unique_id(), &gr_ctrlport_probe2_c::length,
pmt::mp(1), pmt::mp(10*len), pmt::mp(len),
diff --git a/gnuradio-core/src/lib/general/gr_ctrlport_probe_c.cc b/gnuradio-core/src/lib/general/gr_ctrlport_probe_c.cc
index 017a1fdcf7..7ad7bd6bce 100644
--- a/gnuradio-core/src/lib/general/gr_ctrlport_probe_c.cc
+++ b/gnuradio-core/src/lib/general/gr_ctrlport_probe_c.cc
@@ -43,9 +43,9 @@ gr_ctrlport_probe_c::gr_ctrlport_probe_c(const std::string &id,
gr_make_io_signature(0, 0, 0)),
d_ptr(NULL), d_ptrLen(0),
d_const_rpc(d_name, id.c_str(), this, unique_id(), &gr_ctrlport_probe_c::get,
- pmt::pmt_make_c32vector(0,-2),
- pmt::pmt_make_c32vector(0,2),
- pmt::pmt_make_c32vector(0,0),
+ pmt::make_c32vector(0,-2),
+ pmt::make_c32vector(0,2),
+ pmt::make_c32vector(0,0),
"volts", desc.c_str(), RPC_PRIVLVL_MIN, DISPXYSCATTER)
{
}
diff --git a/gnuradio-core/src/lib/general/gr_tag_debug.cc b/gnuradio-core/src/lib/general/gr_tag_debug.cc
index ecf1b65e1f..9c66e890af 100644
--- a/gnuradio-core/src/lib/general/gr_tag_debug.cc
+++ b/gnuradio-core/src/lib/general/gr_tag_debug.cc
@@ -84,8 +84,8 @@ gr_tag_debug::work(int noutput_items,
sout << "Input Stream: " << std::setw(2) << std::setfill('0') << i << std::setfill(' ') << std::endl;
for(d_tags_itr = d_tags.begin(); d_tags_itr != d_tags.end(); d_tags_itr++) {
sout << std::setw(10) << "Offset: " << d_tags_itr->offset
- << std::setw(10) << "Source: " << (pmt::pmt_is_symbol(d_tags_itr->srcid) ? pmt::pmt_symbol_to_string(d_tags_itr->srcid) : "n/a")
- << std::setw(10) << "Key: " << pmt::pmt_symbol_to_string(d_tags_itr->key)
+ << std::setw(10) << "Source: " << (pmt::is_symbol(d_tags_itr->srcid) ? pmt::symbol_to_string(d_tags_itr->srcid) : "n/a")
+ << std::setw(10) << "Key: " << pmt::symbol_to_string(d_tags_itr->key)
<< std::setw(10) << "Value: ";
sout << d_tags_itr->value << std::endl;
}
diff --git a/gnuradio-core/src/lib/io/gr_message_burst_source.cc b/gnuradio-core/src/lib/io/gr_message_burst_source.cc
index e9e2dfd4dc..968df6ec38 100644
--- a/gnuradio-core/src/lib/io/gr_message_burst_source.cc
+++ b/gnuradio-core/src/lib/io/gr_message_burst_source.cc
@@ -58,7 +58,7 @@ gr_message_burst_source::gr_message_burst_source (size_t itemsize, int msgq_limi
{
std::stringstream id;
id << name() << unique_id();
- d_me = pmt::pmt_string_to_symbol(id.str());
+ d_me = pmt::string_to_symbol(id.str());
}
gr_message_burst_source::gr_message_burst_source (size_t itemsize, gr_msg_queue_sptr msgq)
@@ -69,7 +69,7 @@ gr_message_burst_source::gr_message_burst_source (size_t itemsize, gr_msg_queue_
{
std::stringstream id;
id << name() << unique_id();
- d_me = pmt::pmt_string_to_symbol(id.str());
+ d_me = pmt::string_to_symbol(id.str());
}
gr_message_burst_source::~gr_message_burst_source()
@@ -107,8 +107,8 @@ gr_message_burst_source::work(int noutput_items,
//tag end of burst
add_item_tag(0, //stream ID
abs_sample_count+nn-1, //sample number
- pmt::pmt_string_to_symbol("tx_eob"),
- pmt::pmt_from_bool(1),
+ pmt::string_to_symbol("tx_eob"),
+ pmt::from_bool(1),
d_me //block src id
);
}
@@ -129,8 +129,8 @@ gr_message_burst_source::work(int noutput_items,
//tag start of burst
add_item_tag(0, //stream ID
abs_sample_count+nn, //sample number
- pmt::pmt_string_to_symbol("tx_sob"),
- pmt::pmt_from_bool(1),
+ pmt::string_to_symbol("tx_sob"),
+ pmt::from_bool(1),
d_me //block src id
);
diff --git a/gnuradio-core/src/lib/io/gr_message_debug.cc b/gnuradio-core/src/lib/io/gr_message_debug.cc
index 27f4c65fdc..a0abf4d093 100644
--- a/gnuradio-core/src/lib/io/gr_message_debug.cc
+++ b/gnuradio-core/src/lib/io/gr_message_debug.cc
@@ -47,7 +47,7 @@ void
gr_message_debug::print(pmt::pmt_t msg)
{
std::cout << "******* MESSAGE DEBUG PRINT ********\n";
- pmt::pmt_print(msg);
+ pmt::print(msg);
std::cout << "************************************\n";
}
@@ -61,15 +61,15 @@ gr_message_debug::store(pmt::pmt_t msg)
void
gr_message_debug::print_verbose(pmt::pmt_t msg)
{
- pmt::pmt_t meta = pmt::pmt_car(msg);
- pmt::pmt_t vector = pmt::pmt_cdr(msg);
+ pmt::pmt_t meta = pmt::car(msg);
+ pmt::pmt_t vector = pmt::cdr(msg);
std::cout << "* MESSAGE DEBUG PRINT PDU VERBOSE *\n";
- pmt::pmt_print(meta);
- size_t len = pmt::pmt_length(vector);
+ pmt::print(meta);
+ size_t len = pmt::length(vector);
std::cout << "pdu_length = " << len << std::endl;
std::cout << "contents = " << std::endl;
size_t offset(0);
- const uint8_t* d = (const uint8_t*) pmt_uniform_vector_elements(vector, offset);
+ const uint8_t* d = (const uint8_t*) uniform_vector_elements(vector, offset);
for(size_t i=0; i<len; i+=16){
printf("%04x: ", i);
for(size_t j=i; j<std::min(i+16,len); j++){
diff --git a/gnuradio-core/src/lib/io/gr_pdu.cc b/gnuradio-core/src/lib/io/gr_pdu.cc
index 302fd7b9bb..fe5d9f690f 100644
--- a/gnuradio-core/src/lib/io/gr_pdu.cc
+++ b/gnuradio-core/src/lib/io/gr_pdu.cc
@@ -44,11 +44,11 @@ bool
gr_pdu_type_matches(gr_pdu_vector_type type, pmt::pmt_t v){
switch(type){
case pdu_byte:
- return pmt::pmt_is_u8vector(v);
+ return pmt::is_u8vector(v);
case pdu_float:
- return pmt::pmt_is_f32vector(v);
+ return pmt::is_f32vector(v);
case pdu_complex:
- return pmt::pmt_is_c32vector(v);
+ return pmt::is_c32vector(v);
default:
throw std::runtime_error("bad type!");
}
@@ -58,22 +58,22 @@ pmt::pmt_t
gr_pdu_make_vector(gr_pdu_vector_type type, const uint8_t* buf, size_t items){
switch(type){
case pdu_byte:
- return pmt::pmt_init_u8vector(items, buf);
+ return pmt::init_u8vector(items, buf);
case pdu_float:
- return pmt::pmt_init_f32vector(items, (const float*)buf);
+ return pmt::init_f32vector(items, (const float*)buf);
case pdu_complex:
- return pmt::pmt_init_c32vector(items, (const gr_complex*)buf);
+ return pmt::init_c32vector(items, (const gr_complex*)buf);
default:
throw std::runtime_error("bad type!");
}
}
gr_pdu_vector_type type_from_pmt(pmt::pmt_t vector){
- if(pmt_is_u8vector(vector))
+ if(is_u8vector(vector))
return pdu_byte;
- if(pmt_is_f32vector(vector))
+ if(is_f32vector(vector))
return pdu_float;
- if(pmt_is_c32vector(vector))
+ if(is_c32vector(vector))
return pdu_complex;
throw std::runtime_error("bad type!");
}
diff --git a/gnuradio-core/src/lib/io/gr_pdu_to_tagged_stream.cc b/gnuradio-core/src/lib/io/gr_pdu_to_tagged_stream.cc
index 5c319dc39d..9354a1366d 100644
--- a/gnuradio-core/src/lib/io/gr_pdu_to_tagged_stream.cc
+++ b/gnuradio-core/src/lib/io/gr_pdu_to_tagged_stream.cc
@@ -84,46 +84,46 @@ gr_pdu_to_tagged_stream::work(int noutput_items,
}
// make sure type is valid
- if(!pmt::pmt_is_pair(msg)){
+ if(!pmt::is_pair(msg)){
throw std::runtime_error("received a malformed pdu message!");
}
// printf("got a msg\n");
-// pmt::pmt_print(msg);
+// pmt::print(msg);
// grab the components of the pdu message
- pmt::pmt_t meta(pmt::pmt_car(msg)); // make sure this is NIL || Dict ?
- pmt::pmt_t vect(pmt::pmt_cdr(msg)); // make sure this is a vector?
+ pmt::pmt_t meta(pmt::car(msg)); // make sure this is NIL || Dict ?
+ pmt::pmt_t vect(pmt::cdr(msg)); // make sure this is a vector?
// compute offset for output tag
uint64_t offset = nitems_written(0) + nout;
// add a tag for pdu length
- add_item_tag(0, offset, pdu_length_tag, pmt::pmt_from_long( pmt::pmt_length(vect) ), pmt::mp(alias()));
+ add_item_tag(0, offset, pdu_length_tag, pmt::from_long( pmt::length(vect) ), pmt::mp(alias()));
// if we recieved metadata add it as tags
- if( !pmt_eq(meta, pmt::PMT_NIL) ){
- pmt::pmt_t pair(pmt::pmt_dict_keys( meta ));
- while( !pmt_eq(pair, pmt::PMT_NIL) ){
- pmt::pmt_t k(pmt::pmt_cdr(pair));
- pmt::pmt_t v(pmt::pmt_dict_ref(meta, k, pmt::PMT_NIL));
+ if( !eq(meta, pmt::PMT_NIL) ){
+ pmt::pmt_t pair(pmt::dict_keys( meta ));
+ while( !eq(pair, pmt::PMT_NIL) ){
+ pmt::pmt_t k(pmt::cdr(pair));
+ pmt::pmt_t v(pmt::dict_ref(meta, k, pmt::PMT_NIL));
add_item_tag(0, offset, k, v, pmt::mp(alias()));
}
}
// copy vector output
- size_t ncopy = std::min((size_t)noutput_items, (size_t)pmt::pmt_length(vect));
- size_t nsave = pmt::pmt_length(vect) - ncopy;
+ size_t ncopy = std::min((size_t)noutput_items, (size_t)pmt::length(vect));
+ size_t nsave = pmt::length(vect) - ncopy;
// copy output
size_t io(0);
nout += ncopy;
- memcpy(out, pmt_uniform_vector_elements(vect,io), ncopy*d_itemsize);
+ memcpy(out, uniform_vector_elements(vect,io), ncopy*d_itemsize);
// save leftover items if needed for next work call
if(nsave > 0){
d_remain.resize(nsave*d_itemsize, 0);
- memcpy(&d_remain[0], pmt_uniform_vector_elements(vect,ncopy), nsave*d_itemsize);
+ memcpy(&d_remain[0], uniform_vector_elements(vect,ncopy), nsave*d_itemsize);
}
}
diff --git a/gnuradio-core/src/lib/io/gr_socket_pdu.cc b/gnuradio-core/src/lib/io/gr_socket_pdu.cc
index bb374b3006..366ca507bc 100644
--- a/gnuradio-core/src/lib/io/gr_socket_pdu.cc
+++ b/gnuradio-core/src/lib/io/gr_socket_pdu.cc
@@ -114,8 +114,8 @@ void tcp_connection::handle_read(const boost::system::error_code& error/*error*/
{
if(!error)
{
- pmt::pmt_t vector = pmt::pmt_init_u8vector(bytes_transferred, (const uint8_t*)&buf[0]);
- pmt::pmt_t pdu = pmt::pmt_cons( pmt::PMT_NIL, vector);
+ pmt::pmt_t vector = pmt::init_u8vector(bytes_transferred, (const uint8_t*)&buf[0]);
+ pmt::pmt_t pdu = pmt::cons( pmt::PMT_NIL, vector);
d_block->message_port_pub( pmt::mp("pdus"), pdu );
@@ -131,27 +131,27 @@ void tcp_connection::handle_read(const boost::system::error_code& error/*error*/
void gr_socket_pdu::tcp_server_send(pmt::pmt_t msg){
- pmt::pmt_t vector = pmt::pmt_cdr(msg);
+ pmt::pmt_t vector = pmt::cdr(msg);
for(size_t i=0; i<d_tcp_connections.size(); i++){
d_tcp_connections[i]->send(vector);
}
}
void gr_socket_pdu::tcp_client_send(pmt::pmt_t msg){
- pmt::pmt_t vector = pmt::pmt_cdr(msg);
- size_t len = pmt::pmt_length(vector);
+ pmt::pmt_t vector = pmt::cdr(msg);
+ size_t len = pmt::length(vector);
size_t offset(0);
boost::array<char, 10000> txbuf;
- memcpy(&txbuf[0], pmt::pmt_uniform_vector_elements(vector, offset), len);
+ memcpy(&txbuf[0], pmt::uniform_vector_elements(vector, offset), len);
_tcp_socket->send(boost::asio::buffer(txbuf,len));
}
void gr_socket_pdu::udp_send(pmt::pmt_t msg){
- pmt::pmt_t vector = pmt::pmt_cdr(msg);
- size_t len = pmt::pmt_length(vector);
+ pmt::pmt_t vector = pmt::cdr(msg);
+ size_t len = pmt::length(vector);
size_t offset(0);
boost::array<char, 10000> txbuf;
- memcpy(&txbuf[0], pmt::pmt_uniform_vector_elements(vector, offset), len);
+ memcpy(&txbuf[0], pmt::uniform_vector_elements(vector, offset), len);
if(_udp_endpoint_other.address().to_string() != "0.0.0.0")
_udp_socket->send_to(boost::asio::buffer(txbuf,len), _udp_endpoint_other);
}
diff --git a/gnuradio-core/src/lib/io/gr_socket_pdu.h b/gnuradio-core/src/lib/io/gr_socket_pdu.h
index e30a4cc6cb..c2b4dd248c 100644
--- a/gnuradio-core/src/lib/io/gr_socket_pdu.h
+++ b/gnuradio-core/src/lib/io/gr_socket_pdu.h
@@ -68,10 +68,10 @@ public:
boost::bind(&tcp_connection::handle_read, this, boost::asio::placeholders::error, boost::asio::placeholders::bytes_transferred));
}
void send(pmt::pmt_t vector){
- size_t len = pmt::pmt_length(vector);
+ size_t len = pmt::length(vector);
size_t offset(0);
boost::array<char, 10000> txbuf;
- memcpy(&txbuf[0], pmt::pmt_uniform_vector_elements(vector, offset), len);
+ memcpy(&txbuf[0], pmt::uniform_vector_elements(vector, offset), len);
boost::asio::async_write(socket_, boost::asio::buffer(txbuf, len),
boost::bind(&tcp_connection::handle_write, shared_from_this(),
boost::asio::placeholders::error,
@@ -161,8 +161,8 @@ class GR_CORE_API gr_socket_pdu : public gr_stream_pdu_base
void handle_udp_read(const boost::system::error_code& error/*error*/, size_t bytes_transferred){
if(!error){
- pmt::pmt_t vector = pmt::pmt_init_u8vector(bytes_transferred, (const uint8_t*)&rxbuf[0]);
- pmt::pmt_t pdu = pmt::pmt_cons( pmt::PMT_NIL, vector);
+ pmt::pmt_t vector = pmt::init_u8vector(bytes_transferred, (const uint8_t*)&rxbuf[0]);
+ pmt::pmt_t pdu = pmt::cons( pmt::PMT_NIL, vector);
message_port_pub( pmt::mp("pdus"), pdu );
@@ -178,8 +178,8 @@ class GR_CORE_API gr_socket_pdu : public gr_stream_pdu_base
void handle_tcp_read(const boost::system::error_code& error/*error*/, size_t bytes_transferred){
if(!error)
{
- pmt::pmt_t vector = pmt::pmt_init_u8vector(bytes_transferred, (const uint8_t*)&rxbuf[0]);
- pmt::pmt_t pdu = pmt::pmt_cons( pmt::PMT_NIL, vector);
+ pmt::pmt_t vector = pmt::init_u8vector(bytes_transferred, (const uint8_t*)&rxbuf[0]);
+ pmt::pmt_t pdu = pmt::cons( pmt::PMT_NIL, vector);
message_port_pub( pmt::mp("pdus"), pdu );
diff --git a/gnuradio-core/src/lib/io/gr_stream_pdu_base.cc b/gnuradio-core/src/lib/io/gr_stream_pdu_base.cc
index 7250c33e59..0a0038ea25 100644
--- a/gnuradio-core/src/lib/io/gr_stream_pdu_base.cc
+++ b/gnuradio-core/src/lib/io/gr_stream_pdu_base.cc
@@ -79,19 +79,19 @@ void gr_stream_pdu_base::run(){
if(not wait_ready()){ continue; }
const int result = read( d_fd, &d_rxbuf[0], d_rxbuf.size() );
if(result <= 0){ throw std::runtime_error("gr_stream_pdu_base, bad socket read!"); }
- pmt::pmt_t vector = pmt::pmt_init_u8vector(result, &d_rxbuf[0]);
- pmt::pmt_t pdu = pmt::pmt_cons( pmt::PMT_NIL, vector);
+ pmt::pmt_t vector = pmt::init_u8vector(result, &d_rxbuf[0]);
+ pmt::pmt_t pdu = pmt::cons( pmt::PMT_NIL, vector);
message_port_pub(rxport, pdu);
}
}
void gr_stream_pdu_base::send(pmt::pmt_t msg){
- pmt::pmt_t vector = pmt::pmt_cdr(msg);
+ pmt::pmt_t vector = pmt::cdr(msg);
size_t offset(0);
size_t itemsize(gr_pdu_itemsize(type_from_pmt(vector)));
- int len( pmt::pmt_length(vector)*itemsize );
+ int len( pmt::length(vector)*itemsize );
- const int rv = write(d_fd, pmt::pmt_uniform_vector_elements(vector, offset), len);
+ const int rv = write(d_fd, pmt::uniform_vector_elements(vector, offset), len);
if(rv != len){
std::cerr << boost::format("WARNING: gr_stream_pdu_base::send(pdu) write failed! (d_fd=%d, len=%d, rv=%d)")
% d_fd % len % rv << std::endl;
diff --git a/gnuradio-core/src/lib/io/gr_tagged_file_sink.cc b/gnuradio-core/src/lib/io/gr_tagged_file_sink.cc
index c9c8407a07..3288fcdd60 100644
--- a/gnuradio-core/src/lib/io/gr_tagged_file_sink.cc
+++ b/gnuradio-core/src/lib/io/gr_tagged_file_sink.cc
@@ -81,8 +81,8 @@ gr_tagged_file_sink::work (int noutput_items,
uint64_t start_N = nitems_read(0);
uint64_t end_N = start_N + (uint64_t)(noutput_items);
- pmt::pmt_t bkey = pmt::pmt_string_to_symbol("burst");
- pmt::pmt_t tkey = pmt::pmt_string_to_symbol("rx_time"); // use gr_tags::key_time
+ pmt::pmt_t bkey = pmt::string_to_symbol("burst");
+ pmt::pmt_t tkey = pmt::string_to_symbol("rx_time"); // use gr_tags::key_time
std::vector<gr_tag_t> all_tags;
get_tags_in_range(all_tags, 0, start_N, end_N);
@@ -98,8 +98,8 @@ gr_tagged_file_sink::work (int noutput_items,
const gr_tag_t tag = time_tags_outer[0];
uint64_t offset = tag.offset;
pmt::pmt_t time = tag.value;
- uint64_t tsecs = pmt::pmt_to_uint64(pmt::pmt_tuple_ref(time, 0));
- double tfrac = pmt::pmt_to_double(pmt::pmt_tuple_ref(time, 1));
+ uint64_t tsecs = pmt::to_uint64(pmt::tuple_ref(time, 0));
+ double tfrac = pmt::to_double(pmt::tuple_ref(time, 1));
double delta = (double)offset / d_sample_rate;
d_timeval = (double)tsecs + tfrac + delta;
d_last_N = offset;
@@ -109,8 +109,8 @@ gr_tagged_file_sink::work (int noutput_items,
while(idx < noutput_items) {
if(d_state == NOT_IN_BURST) {
while(vitr != all_tags.end()) {
- if((pmt::pmt_eqv((*vitr).key, bkey)) &&
- pmt::pmt_is_true((*vitr).value)) {
+ if((pmt::eqv((*vitr).key, bkey)) &&
+ pmt::is_true((*vitr).value)) {
uint64_t N = (*vitr).offset;
idx = (int)(N - start_N);
@@ -130,8 +130,8 @@ gr_tagged_file_sink::work (int noutput_items,
// Get time based on last time tag from USRP
pmt::pmt_t time = tag.value;
- uint64_t tsecs = pmt::pmt_to_uint64(pmt::pmt_tuple_ref(time, 0));
- double tfrac = pmt::pmt_to_double(pmt::pmt_tuple_ref(time, 1));
+ uint64_t tsecs = pmt::to_uint64(pmt::tuple_ref(time, 0));
+ double tfrac = pmt::to_double(pmt::tuple_ref(time, 1));
// Get new time from last time tag + difference in time to when
// burst tag occured based on the sample rate
@@ -187,8 +187,8 @@ gr_tagged_file_sink::work (int noutput_items,
}
else { // In burst
while(vitr != all_tags.end()) {
- if((pmt::pmt_eqv((*vitr).key, bkey)) &&
- pmt::pmt_is_false((*vitr).value)) {
+ if((pmt::eqv((*vitr).key, bkey)) &&
+ pmt::is_false((*vitr).value)) {
uint64_t N = (*vitr).offset;
idx_stop = (int)N - start_N;
diff --git a/gnuradio-core/src/lib/io/gr_tagged_stream_to_pdu.cc b/gnuradio-core/src/lib/io/gr_tagged_stream_to_pdu.cc
index 8211b7672d..3493f6a389 100644
--- a/gnuradio-core/src/lib/io/gr_tagged_stream_to_pdu.cc
+++ b/gnuradio-core/src/lib/io/gr_tagged_stream_to_pdu.cc
@@ -70,14 +70,14 @@ gr_tagged_stream_to_pdu::work(int noutput_items,
get_tags_in_range(d_tags, 0, abs_N, abs_N+1);
bool found_length_tag(false);
for(d_tags_itr = d_tags.begin(); (d_tags_itr != d_tags.end()) && (!found_length_tag); d_tags_itr++){
- if( pmt::pmt_equal( (*d_tags_itr).key, pdu_length_tag ) ){
+ if( pmt::equal( (*d_tags_itr).key, pdu_length_tag ) ){
if( (*d_tags_itr).offset != abs_N ){
throw std::runtime_error("expected next pdu length tag on a different item...");
}
found_length_tag = true;
- d_pdu_length = pmt::pmt_to_long( (*d_tags_itr).value );
+ d_pdu_length = pmt::to_long( (*d_tags_itr).value );
d_pdu_remain = d_pdu_length;
- d_pdu_meta = pmt::pmt_make_dict();
+ d_pdu_meta = pmt::make_dict();
break;
} // if have length tag
} // iter over tags
@@ -91,8 +91,8 @@ gr_tagged_stream_to_pdu::work(int noutput_items,
// copy any tags in this range into our meta object
get_tags_in_range(d_tags, 0, abs_N, abs_N+ncopy);
for(d_tags_itr = d_tags.begin(); d_tags_itr != d_tags.end(); d_tags_itr++){
- if( ! pmt_equal( (*d_tags_itr).key, pdu_length_tag ) ){
- d_pdu_meta = pmt_dict_add(d_pdu_meta, (*d_tags_itr).key, (*d_tags_itr).value);
+ if( ! equal( (*d_tags_itr).key, pdu_length_tag ) ){
+ d_pdu_meta = dict_add(d_pdu_meta, (*d_tags_itr).key, (*d_tags_itr).value);
}
}
@@ -122,11 +122,11 @@ gr_tagged_stream_to_pdu::work(int noutput_items,
void gr_tagged_stream_to_pdu::send_message(){
- if(pmt::pmt_length(d_pdu_vector) != d_pdu_length){
+ if(pmt::length(d_pdu_vector) != d_pdu_length){
throw std::runtime_error("msg length not correct");
}
- pmt::pmt_t msg = pmt::pmt_cons( d_pdu_meta, d_pdu_vector );
+ pmt::pmt_t msg = pmt::cons( d_pdu_meta, d_pdu_vector );
message_port_pub( pdu_port_id, msg );
d_pdu_meta = pmt::PMT_NIL;
diff --git a/gnuradio-core/src/lib/runtime/gr_basic_block.cc b/gnuradio-core/src/lib/runtime/gr_basic_block.cc
index 6ff57a1d6c..2530391532 100644
--- a/gnuradio-core/src/lib/runtime/gr_basic_block.cc
+++ b/gnuradio-core/src/lib/runtime/gr_basic_block.cc
@@ -30,8 +30,6 @@
#include <sstream>
#include <iostream>
-using namespace pmt;
-
static long s_next_id = 0;
static long s_ncurrently_allocated = 0;
@@ -51,7 +49,7 @@ gr_basic_block::gr_basic_block(const std::string &name,
d_symbolic_id(global_block_registry.block_register(this)),
d_symbol_name(global_block_registry.register_symbolic_name(this)),
d_color(WHITE),
- message_subscribers(pmt::pmt_make_dict())
+ message_subscribers(pmt::make_dict())
{
s_ncurrently_allocated++;
}
@@ -80,7 +78,7 @@ gr_basic_block::set_block_alias(std::string name)
void
gr_basic_block::message_port_register_in(pmt::pmt_t port_id)
{
- if(!pmt::pmt_is_symbol(port_id)) {
+ if(!pmt::is_symbol(port_id)) {
throw std::runtime_error("message_port_register_in: bad port id");
}
msg_queue[port_id] = msg_queue_t();
@@ -90,10 +88,10 @@ gr_basic_block::message_port_register_in(pmt::pmt_t port_id)
pmt::pmt_t
gr_basic_block::message_ports_in()
{
- pmt::pmt_t port_names = pmt::pmt_make_vector(msg_queue.size(), pmt::PMT_NIL);
+ pmt::pmt_t port_names = pmt::make_vector(msg_queue.size(), pmt::PMT_NIL);
msg_queue_map_itr itr = msg_queue.begin();
for(size_t i = 0; i < msg_queue.size(); i++) {
- pmt::pmt_vector_set(port_names, i, (*itr).first);
+ pmt::vector_set(port_names, i, (*itr).first);
itr++;
}
return port_names;
@@ -103,23 +101,23 @@ gr_basic_block::message_ports_in()
void
gr_basic_block::message_port_register_out(pmt::pmt_t port_id)
{
- if(!pmt::pmt_is_symbol(port_id)) {
+ if(!pmt::is_symbol(port_id)) {
throw std::runtime_error("message_port_register_out: bad port id");
}
- if(pmt::pmt_dict_has_key(message_subscribers, port_id)) {
+ if(pmt::dict_has_key(message_subscribers, port_id)) {
throw std::runtime_error("message_port_register_out: port already in use");
}
- message_subscribers = pmt::pmt_dict_add(message_subscribers, port_id, pmt::PMT_NIL);
+ message_subscribers = pmt::dict_add(message_subscribers, port_id, pmt::PMT_NIL);
}
pmt::pmt_t
gr_basic_block::message_ports_out()
{
- size_t len = pmt::pmt_length(message_subscribers);
- pmt::pmt_t port_names = pmt::pmt_make_vector(len, pmt::PMT_NIL);
- pmt::pmt_t keys = pmt::pmt_dict_keys(message_subscribers);
+ size_t len = pmt::length(message_subscribers);
+ pmt::pmt_t port_names = pmt::make_vector(len, pmt::PMT_NIL);
+ pmt::pmt_t keys = pmt::dict_keys(message_subscribers);
for(size_t i = 0; i < len; i++) {
- pmt::pmt_vector_set(port_names, i, pmt::pmt_nth(i, keys));
+ pmt::vector_set(port_names, i, pmt::nth(i, keys));
}
return port_names;
}
@@ -127,19 +125,19 @@ gr_basic_block::message_ports_out()
// - publish a message on a message port
void gr_basic_block::message_port_pub(pmt::pmt_t port_id, pmt::pmt_t msg)
{
- if(!pmt::pmt_dict_has_key(message_subscribers, port_id)) {
+ if(!pmt::dict_has_key(message_subscribers, port_id)) {
throw std::runtime_error("port does not exist");
}
- pmt::pmt_t currlist = pmt::pmt_dict_ref(message_subscribers, port_id, pmt::PMT_NIL);
+ pmt::pmt_t currlist = pmt::dict_ref(message_subscribers, port_id, pmt::PMT_NIL);
// iterate through subscribers on port
- while(pmt::pmt_is_pair(currlist)) {
- pmt::pmt_t target = pmt::pmt_car(currlist);
+ while(pmt::is_pair(currlist)) {
+ pmt::pmt_t target = pmt::car(currlist);
- pmt::pmt_t block = pmt::pmt_car(target);
- pmt::pmt_t port = pmt::pmt_cdr(target);
+ pmt::pmt_t block = pmt::car(target);
+ pmt::pmt_t port = pmt::cdr(target);
- currlist = pmt::pmt_cdr(currlist);
+ currlist = pmt::cdr(currlist);
gr_basic_block_sptr blk = global_block_registry.block_lookup(block);
//blk->post(msg);
blk->post(port, msg);
@@ -149,33 +147,33 @@ void gr_basic_block::message_port_pub(pmt::pmt_t port_id, pmt::pmt_t msg)
// - subscribe to a message port
void
gr_basic_block::message_port_sub(pmt::pmt_t port_id, pmt::pmt_t target){
- if(!pmt::pmt_dict_has_key(message_subscribers, port_id)){
+ if(!pmt::dict_has_key(message_subscribers, port_id)){
std::stringstream ss;
- ss << "Port does not exist: \"" << pmt::pmt_write_string(port_id) << "\" on block: " << pmt::pmt_write_string(target) << std::endl;
+ ss << "Port does not exist: \"" << pmt::write_string(port_id) << "\" on block: " << pmt::write_string(target) << std::endl;
throw std::runtime_error(ss.str());
}
- pmt::pmt_t currlist = pmt::pmt_dict_ref(message_subscribers,port_id,pmt::PMT_NIL);
+ pmt::pmt_t currlist = pmt::dict_ref(message_subscribers,port_id,pmt::PMT_NIL);
// ignore re-adds of the same target
- if(!pmt::pmt_list_has(currlist, target))
- message_subscribers = pmt::pmt_dict_add(message_subscribers,port_id,pmt::pmt_list_add(currlist,target));
+ if(!pmt::list_has(currlist, target))
+ message_subscribers = pmt::dict_add(message_subscribers,port_id,pmt::list_add(currlist,target));
}
void
gr_basic_block::message_port_unsub(pmt::pmt_t port_id, pmt::pmt_t target){
- if(!pmt::pmt_dict_has_key(message_subscribers, port_id)){
+ if(!pmt::dict_has_key(message_subscribers, port_id)){
std::stringstream ss;
- ss << "Port does not exist: \"" << pmt::pmt_write_string(port_id) << "\" on block: " << pmt::pmt_write_string(target) << std::endl;
+ ss << "Port does not exist: \"" << pmt::write_string(port_id) << "\" on block: " << pmt::write_string(target) << std::endl;
throw std::runtime_error(ss.str());
}
// ignore unsubs of unknown targets
- pmt::pmt_t currlist = pmt::pmt_dict_ref(message_subscribers,port_id,pmt::PMT_NIL);
- message_subscribers = pmt::pmt_dict_add(message_subscribers,port_id,pmt::pmt_list_rm(currlist,target));
+ pmt::pmt_t currlist = pmt::dict_ref(message_subscribers,port_id,pmt::PMT_NIL);
+ message_subscribers = pmt::dict_add(message_subscribers,port_id,pmt::list_rm(currlist,target));
}
void
-gr_basic_block::_post(pmt_t which_port, pmt_t msg)
+gr_basic_block::_post(pmt::pmt_t which_port, pmt::pmt_t msg)
{
insert_tail(which_port, msg);
}
@@ -186,7 +184,7 @@ gr_basic_block::insert_tail(pmt::pmt_t which_port, pmt::pmt_t msg)
gruel::scoped_lock guard(mutex);
if( (msg_queue.find(which_port) == msg_queue.end()) || (msg_queue_ready.find(which_port) == msg_queue_ready.end())){
- std::cout << "target port = " << pmt::pmt_symbol_to_string(which_port) << std::endl;
+ std::cout << "target port = " << pmt::symbol_to_string(which_port) << std::endl;
throw std::runtime_error("attempted to insert_tail on invalid queue!");
}
@@ -197,7 +195,7 @@ gr_basic_block::insert_tail(pmt::pmt_t which_port, pmt::pmt_t msg)
global_block_registry.notify_blk(alias());
}
-pmt_t
+pmt::pmt_t
gr_basic_block::delete_head_nowait(pmt::pmt_t which_port)
{
gruel::scoped_lock guard(mutex);
@@ -206,13 +204,13 @@ gr_basic_block::delete_head_nowait(pmt::pmt_t which_port)
return pmt::pmt_t();
}
- pmt_t m(msg_queue[which_port].front());
+ pmt::pmt_t m(msg_queue[which_port].front());
msg_queue[which_port].pop_front();
return m;
}
-pmt_t
+pmt::pmt_t
gr_basic_block::delete_head_blocking(pmt::pmt_t which_port)
{
gruel::scoped_lock guard(mutex);
@@ -221,7 +219,7 @@ gr_basic_block::delete_head_blocking(pmt::pmt_t which_port)
msg_queue_ready[which_port]->wait(guard);
}
- pmt_t m(msg_queue[which_port].front());
+ pmt::pmt_t m(msg_queue[which_port].front());
msg_queue[which_port].pop_front();
return m;
}
diff --git a/gnuradio-core/src/lib/runtime/gr_basic_block.h b/gnuradio-core/src/lib/runtime/gr_basic_block.h
index b7958c1281..55940e3c7f 100644
--- a/gnuradio-core/src/lib/runtime/gr_basic_block.h
+++ b/gnuradio-core/src/lib/runtime/gr_basic_block.h
@@ -72,13 +72,13 @@ class GR_CORE_API gr_basic_block : public gr_msg_accepter, public boost::enable_
};
//msg_handler_t d_msg_handler;
- typedef std::map<pmt::pmt_t , msg_handler_t, pmt::pmt_comperator> d_msg_handlers_t;
+ typedef std::map<pmt::pmt_t , msg_handler_t, pmt::comperator> d_msg_handlers_t;
d_msg_handlers_t d_msg_handlers;
typedef std::deque<pmt::pmt_t> msg_queue_t;
- typedef std::map<pmt::pmt_t, msg_queue_t, pmt::pmt_comperator> msg_queue_map_t;
- typedef std::map<pmt::pmt_t, msg_queue_t, pmt::pmt_comperator>::iterator msg_queue_map_itr;
- std::map<pmt::pmt_t, boost::shared_ptr<boost::condition_variable>, pmt::pmt_comperator> msg_queue_ready;
+ typedef std::map<pmt::pmt_t, msg_queue_t, pmt::comperator> msg_queue_map_t;
+ typedef std::map<pmt::pmt_t, msg_queue_t, pmt::comperator>::iterator msg_queue_map_itr;
+ std::map<pmt::pmt_t, boost::shared_ptr<boost::condition_variable>, pmt::comperator> msg_queue_ready;
gruel::mutex mutex; //< protects all vars
@@ -138,7 +138,7 @@ class GR_CORE_API gr_basic_block : public gr_msg_accepter, public boost::enable_
gr_basic_block_sptr to_basic_block(); // Needed for Python type coercion
bool alias_set() { return !d_symbol_alias.empty(); }
std::string alias(){ return alias_set()?d_symbol_alias:symbol_name(); }
- pmt::pmt_t alias_pmt(){ return pmt::pmt_intern(alias()); }
+ pmt::pmt_t alias_pmt(){ return pmt::intern(alias()); }
void set_block_alias(std::string name);
// ** Message passing interface **
@@ -210,7 +210,7 @@ class GR_CORE_API gr_basic_block : public gr_msg_accepter, public boost::enable_
if(msg_queue.find(which_port) != msg_queue.end()){
return true;
}
- if(pmt::pmt_dict_has_key(message_subscribers, which_port)){
+ if(pmt::dict_has_key(message_subscribers, which_port)){
return true;
}
return false;
diff --git a/gnuradio-core/src/lib/runtime/gr_block_detail.cc b/gnuradio-core/src/lib/runtime/gr_block_detail.cc
index 337c9518ef..ebe89d930e 100644
--- a/gnuradio-core/src/lib/runtime/gr_block_detail.cc
+++ b/gnuradio-core/src/lib/runtime/gr_block_detail.cc
@@ -27,8 +27,6 @@
#include <gr_block_detail.h>
#include <gr_buffer.h>
-using namespace pmt;
-
static long s_ncurrently_allocated = 0;
long
@@ -146,8 +144,8 @@ gr_block_detail::nitems_written(unsigned int which_output)
void
gr_block_detail::add_item_tag(unsigned int which_output, const gr_tag_t &tag)
{
- if(!pmt_is_symbol(tag.key)) {
- throw pmt_wrong_type("gr_block_detail::add_item_tag key", tag.key);
+ if(!pmt::is_symbol(tag.key)) {
+ throw pmt::wrong_type("gr_block_detail::add_item_tag key", tag.key);
}
else {
// Add tag to gr_buffer's deque tags
@@ -170,7 +168,7 @@ gr_block_detail::get_tags_in_range(std::vector<gr_tag_t> &v,
unsigned int which_input,
uint64_t abs_start,
uint64_t abs_end,
- const pmt_t &key)
+ const pmt::pmt_t &key)
{
std::vector<gr_tag_t> found_items;
@@ -180,11 +178,11 @@ gr_block_detail::get_tags_in_range(std::vector<gr_tag_t> &v,
d_input[which_input]->get_tags_in_range(found_items, abs_start, abs_end);
// Filter further by key name
- pmt_t itemkey;
+ pmt::pmt_t itemkey;
std::vector<gr_tag_t>::iterator itr;
for(itr = found_items.begin(); itr != found_items.end(); itr++) {
itemkey = (*itr).key;
- if(pmt_eqv(key, itemkey)) {
+ if(pmt::eqv(key, itemkey)) {
v.push_back(*itr);
}
}
diff --git a/gnuradio-core/src/lib/runtime/gr_block_registry.cc b/gnuradio-core/src/lib/runtime/gr_block_registry.cc
index ff23d97eb2..eaa770dcaf 100644
--- a/gnuradio-core/src/lib/runtime/gr_block_registry.cc
+++ b/gnuradio-core/src/lib/runtime/gr_block_registry.cc
@@ -8,7 +8,7 @@
gr_block_registry global_block_registry;
gr_block_registry::gr_block_registry(){
- d_ref_map = pmt::pmt_make_dict();
+ d_ref_map = pmt::make_dict();
}
long gr_block_registry::block_register(gr_basic_block* block){
@@ -29,9 +29,9 @@ long gr_block_registry::block_register(gr_basic_block* block){
void gr_block_registry::block_unregister(gr_basic_block* block){
d_map[block->name()].erase( d_map[block->name()].find(block->symbolic_id()));
- d_ref_map = pmt::pmt_dict_delete(d_ref_map, pmt::pmt_intern(block->symbol_name()));
+ d_ref_map = pmt::dict_delete(d_ref_map, pmt::intern(block->symbol_name()));
if(block->alias_set()){
- d_ref_map = pmt::pmt_dict_delete(d_ref_map, pmt::pmt_intern(block->alias()));
+ d_ref_map = pmt::dict_delete(d_ref_map, pmt::intern(block->alias()));
}
}
@@ -44,18 +44,18 @@ std::string gr_block_registry::register_symbolic_name(gr_basic_block* block){
}
void gr_block_registry::register_symbolic_name(gr_basic_block* block, std::string name){
- if(pmt_dict_has_key(d_ref_map, pmt::pmt_intern(name))){
+ if(dict_has_key(d_ref_map, pmt::intern(name))){
throw std::runtime_error("symbol already exists, can not re-use!");
}
- d_ref_map = pmt_dict_add(d_ref_map, pmt::pmt_intern(name), pmt::pmt_make_any(block));
+ d_ref_map = dict_add(d_ref_map, pmt::intern(name), pmt::make_any(block));
}
gr_basic_block_sptr gr_block_registry::block_lookup(pmt::pmt_t symbol){
- pmt::pmt_t ref = pmt_dict_ref(d_ref_map, symbol, pmt::PMT_NIL);
- if(pmt::pmt_eq(ref, pmt::PMT_NIL)){
+ pmt::pmt_t ref = dict_ref(d_ref_map, symbol, pmt::PMT_NIL);
+ if(pmt::eq(ref, pmt::PMT_NIL)){
throw std::runtime_error("block lookup failed! block not found!");
}
- gr_basic_block* blk = boost::any_cast<gr_basic_block*>( pmt::pmt_any_ref(ref) );
+ gr_basic_block* blk = boost::any_cast<gr_basic_block*>( pmt::any_ref(ref) );
return blk->shared_from_this();
}
diff --git a/gnuradio-core/src/lib/runtime/gr_flat_flowgraph.cc b/gnuradio-core/src/lib/runtime/gr_flat_flowgraph.cc
index 9294a5dca2..e7b75d95cd 100644
--- a/gnuradio-core/src/lib/runtime/gr_flat_flowgraph.cc
+++ b/gnuradio-core/src/lib/runtime/gr_flat_flowgraph.cc
@@ -78,7 +78,7 @@ gr_flat_flowgraph::setup_connections()
std::cout << boost::format("flat_fg connecting msg primitives: (%s, %s)->(%s, %s)\n") %
i->src().block() % i->src().port() %
i->dst().block() % i->dst().port();
- i->src().block()->message_port_sub( i->src().port(), pmt::pmt_cons(i->dst().block()->alias_pmt(), i->dst().port()) );
+ i->src().block()->message_port_sub( i->src().port(), pmt::cons(i->dst().block()->alias_pmt(), i->dst().port()) );
}
}
diff --git a/gnuradio-core/src/lib/runtime/gr_flowgraph.h b/gnuradio-core/src/lib/runtime/gr_flowgraph.h
index bef70f626f..3c8cd3cb02 100644
--- a/gnuradio-core/src/lib/runtime/gr_flowgraph.h
+++ b/gnuradio-core/src/lib/runtime/gr_flowgraph.h
@@ -73,7 +73,7 @@ public:
inline bool gr_msg_endpoint::operator==(const gr_msg_endpoint &other) const
{
return (d_basic_block == other.d_basic_block &&
- pmt::pmt_equal(d_port, other.d_port));
+ pmt::equal(d_port, other.d_port));
}
diff --git a/gnuradio-core/src/lib/runtime/gr_hier_block2.cc b/gnuradio-core/src/lib/runtime/gr_hier_block2.cc
index 8c2794c63c..9e924fdaf5 100644
--- a/gnuradio-core/src/lib/runtime/gr_hier_block2.cc
+++ b/gnuradio-core/src/lib/runtime/gr_hier_block2.cc
@@ -86,7 +86,7 @@ void
gr_hier_block2::msg_connect(gr_basic_block_sptr src, pmt::pmt_t srcport,
gr_basic_block_sptr dst, pmt::pmt_t dstport)
{
- if(!pmt::pmt_is_symbol(srcport)){throw std::runtime_error("bad port id"); }
+ if(!pmt::is_symbol(srcport)){throw std::runtime_error("bad port id"); }
d_detail->msg_connect(src, srcport, dst, dstport);
}
@@ -101,7 +101,7 @@ void
gr_hier_block2::msg_disconnect(gr_basic_block_sptr src, pmt::pmt_t srcport,
gr_basic_block_sptr dst, pmt::pmt_t dstport)
{
- if(!pmt::pmt_is_symbol(srcport)){throw std::runtime_error("bad port id"); }
+ if(!pmt::is_symbol(srcport)){throw std::runtime_error("bad port id"); }
d_detail->msg_disconnect(src, srcport, dst, dstport);
}
diff --git a/gnuradio-core/src/lib/runtime/gr_hier_block2.h b/gnuradio-core/src/lib/runtime/gr_hier_block2.h
index f80dd73e4b..aa6b180cac 100644
--- a/gnuradio-core/src/lib/runtime/gr_hier_block2.h
+++ b/gnuradio-core/src/lib/runtime/gr_hier_block2.h
@@ -175,28 +175,28 @@ public:
return message_port_is_hier_in(port_id) || message_port_is_hier_out(port_id);
}
bool message_port_is_hier_in(pmt::pmt_t port_id){
- return pmt::pmt_list_has(hier_message_ports_in, port_id);
+ return pmt::list_has(hier_message_ports_in, port_id);
}
bool message_port_is_hier_out(pmt::pmt_t port_id){
- return pmt::pmt_list_has(hier_message_ports_out, port_id);
+ return pmt::list_has(hier_message_ports_out, port_id);
}
pmt::pmt_t hier_message_ports_in;
pmt::pmt_t hier_message_ports_out;
void message_port_register_hier_in(pmt::pmt_t port_id){
- if(pmt::pmt_list_has(hier_message_ports_in, port_id))
+ if(pmt::list_has(hier_message_ports_in, port_id))
throw std::invalid_argument("hier msg in port by this name already registered");
if(msg_queue.find(port_id) != msg_queue.end())
throw std::invalid_argument("block already has a primitive input port by this name");
- hier_message_ports_in = pmt::pmt_list_add(hier_message_ports_in, port_id);
+ hier_message_ports_in = pmt::list_add(hier_message_ports_in, port_id);
}
void message_port_register_hier_out(pmt::pmt_t port_id){
- if(pmt::pmt_list_has(hier_message_ports_out, port_id))
+ if(pmt::list_has(hier_message_ports_out, port_id))
throw std::invalid_argument("hier msg out port by this name already registered");
- if(pmt::pmt_dict_has_key(message_subscribers, port_id))
+ if(pmt::dict_has_key(message_subscribers, port_id))
throw std::invalid_argument("block already has a primitive output port by this name");
- hier_message_ports_out = pmt::pmt_list_add(hier_message_ports_out, port_id);
+ hier_message_ports_out = pmt::list_add(hier_message_ports_out, port_id);
}
};
diff --git a/gnuradio-core/src/lib/runtime/gr_hier_block2_detail.cc b/gnuradio-core/src/lib/runtime/gr_hier_block2_detail.cc
index add6da0248..44475d2ae0 100644
--- a/gnuradio-core/src/lib/runtime/gr_hier_block2_detail.cc
+++ b/gnuradio-core/src/lib/runtime/gr_hier_block2_detail.cc
@@ -154,7 +154,7 @@ gr_hier_block2_detail::msg_connect(gr_basic_block_sptr src, pmt::pmt_t srcport,
// register the subscription
// this is done later...
-// src->message_port_sub(srcport, pmt::pmt_cons(dst->alias_pmt(), dstport));
+// src->message_port_sub(srcport, pmt::cons(dst->alias_pmt(), dstport));
// add block uniquely to list to internal blocks
if (std::find(d_blocks.begin(), d_blocks.end(), dst) == d_blocks.end()){
@@ -196,7 +196,7 @@ gr_hier_block2_detail::msg_disconnect(gr_basic_block_sptr src, pmt::pmt_t srcpor
std::cout << "disconnecting message port..." << std::endl;
// unregister the subscription - if already subscribed
- src->message_port_unsub(srcport, pmt::pmt_cons(dst->alias_pmt(), dstport));
+ src->message_port_unsub(srcport, pmt::cons(dst->alias_pmt(), dstport));
// remove edge for this message connection
bool hier_out = (d_owner == src.get()) && src->message_port_is_hier_out(srcport);;
diff --git a/gnuradio-core/src/lib/runtime/pycallback_object.h b/gnuradio-core/src/lib/runtime/pycallback_object.h
index c27bf00508..389a975bd4 100644
--- a/gnuradio-core/src/lib/runtime/pycallback_object.h
+++ b/gnuradio-core/src/lib/runtime/pycallback_object.h
@@ -60,13 +60,13 @@ public:
template<>
pmt::pmt_t pmt_assist<std::vector<float> >::make(std::vector<float> _val)
{
- return pmt::pmt_init_f32vector(_val.size(), &_val[0]);
+ return pmt::init_f32vector(_val.size(), &_val[0]);
}
template<>
pmt::pmt_t pmt_assist<std::vector<gr_complex> >::make(std::vector<gr_complex> _val)
{
- return pmt::pmt_init_c32vector(_val.size(), &_val[0]);
+ return pmt::init_c32vector(_val.size(), &_val[0]);
}
template <class myType> class pycallback_object
diff --git a/gnuradio-core/src/lib/runtime/qa_set_msg_handler.cc b/gnuradio-core/src/lib/runtime/qa_set_msg_handler.cc
index c84a219bd1..ac06a3f8bc 100644
--- a/gnuradio-core/src/lib/runtime/qa_set_msg_handler.cc
+++ b/gnuradio-core/src/lib/runtime/qa_set_msg_handler.cc
@@ -37,8 +37,6 @@
#define VERBOSE 0
-using namespace pmt;
-
/*
* The gr_nop block has been instrumented so that it counts
* the number of messages sent to it. We use this feature
@@ -65,9 +63,9 @@ void qa_set_msg_handler::t0()
tb->start();
// Send them...
- pmt_t port(pmt_intern("port"));
+ pmt::pmt_t port(pmt::intern("port"));
for (int i = 0; i < NMSGS; i++){
- send(nop, port, mp(mp("example-msg"), mp(i)));
+ send(nop, port, pmt::mp(pmt::mp("example-msg"), pmt::mp(i)));
}
// Give the messages a chance to be processed
diff --git a/gnuradio-core/src/lib/runtime/rpcpmtconverters_ice.cc b/gnuradio-core/src/lib/runtime/rpcpmtconverters_ice.cc
index 31953fd09c..c5502c7362 100644
--- a/gnuradio-core/src/lib/runtime/rpcpmtconverters_ice.cc
+++ b/gnuradio-core/src/lib/runtime/rpcpmtconverters_ice.cc
@@ -27,11 +27,11 @@
GNURadio::KnobPtr
rpcpmtconverter::from_pmt(const pmt::pmt_t& knob, const Ice::Current& c)
{
- if(pmt::pmt_is_real(knob)) {
- return new GNURadio::KnobD(Ice::Double(pmt::pmt_to_double(knob)));
+ if(pmt::is_real(knob)) {
+ return new GNURadio::KnobD(Ice::Double(pmt::to_double(knob)));
}
- else if(pmt::pmt_is_symbol(knob)) {
- std::string stuff = pmt::pmt_symbol_to_string(knob);
+ else if(pmt::is_symbol(knob)) {
+ std::string stuff = pmt::symbol_to_string(knob);
if(stuff.length() != 1) {
return new GNURadio::KnobS(stuff);
}
@@ -41,24 +41,24 @@ rpcpmtconverter::from_pmt(const pmt::pmt_t& knob, const Ice::Current& c)
//TODO: FLOAT!!!
}
- else if(pmt::pmt_is_integer(knob)) {
- return new GNURadio::KnobI(pmt::pmt_to_long(knob));
+ else if(pmt::is_integer(knob)) {
+ return new GNURadio::KnobI(pmt::to_long(knob));
}
- else if(pmt::pmt_is_bool(knob)) {
- return new GNURadio::KnobB(pmt::pmt_to_bool(knob));
+ else if(pmt::is_bool(knob)) {
+ return new GNURadio::KnobB(pmt::to_bool(knob));
}
- else if(pmt::pmt_is_uint64(knob)) {
- return new GNURadio::KnobL(pmt::pmt_to_uint64(knob));
- //const std::complex<float> *pmt_c32vector_elements(pmt_t v, size_t &len); //< len is in elements
+ else if(pmt::is_uint64(knob)) {
+ return new GNURadio::KnobL(pmt::to_uint64(knob));
+ //const std::complex<float> *c32vector_elements(pmt_t v, size_t &len); //< len is in elements
}
- else if(pmt::pmt_is_c32vector(knob)) { // c32 sent as interleaved floats
- size_t size(pmt::pmt_length(knob));
- const float* start((const float*) pmt::pmt_c32vector_elements(knob,size));
+ else if(pmt::is_c32vector(knob)) { // c32 sent as interleaved floats
+ size_t size(pmt::length(knob));
+ const float* start((const float*) pmt::c32vector_elements(knob,size));
return new GNURadio::KnobVecF(std::vector<float>(start,start+size*2));
}
- else if(pmt::pmt_is_f32vector(knob)) {
- size_t size(pmt::pmt_length(knob));
- const float* start((const float*) pmt::pmt_f32vector_elements(knob,size));
+ else if(pmt::is_f32vector(knob)) {
+ size_t size(pmt::length(knob));
+ const float* start((const float*) pmt::f32vector_elements(knob,size));
return new GNURadio::KnobVecF(std::vector<float>(start,start+size));
}
else {
@@ -85,7 +85,7 @@ rpcpmtconverter::to_pmt(const GNURadio::KnobPtr& knob, const Ice::Current& c)
}
else if(id == "KnobS") {
GNURadio::KnobSPtr k(GNURadio::KnobSPtr::dynamicCast(knob));
- return pmt::pmt_string_to_symbol(k->value);
+ return pmt::string_to_symbol(k->value);
}
else if(id == "KnobB") {
GNURadio::KnobBPtr k(GNURadio::KnobBPtr::dynamicCast(knob));
diff --git a/gnuradio-core/src/lib/runtime/rpcregisterhelpers.h b/gnuradio-core/src/lib/runtime/rpcregisterhelpers.h
index bbe4f6c7d3..6d5f878d3b 100644
--- a/gnuradio-core/src/lib/runtime/rpcregisterhelpers.h
+++ b/gnuradio-core/src/lib/runtime/rpcregisterhelpers.h
@@ -104,7 +104,7 @@ public:
void post(pmt::pmt_t which_port, pmt::pmt_t msg)
{
(rpcextractor_base<T,double>::_source->*rpcextractor_base<T,double>::_func)
- (pmt::pmt_to_double(msg));
+ (pmt::to_double(msg));
}
};
@@ -119,7 +119,7 @@ public:
void post(pmt::pmt_t which_port, pmt::pmt_t msg)
{
(rpcextractor_base<T,float>::_source->*rpcextractor_base<T,float>::_func)
- (pmt::pmt_to_double(msg));
+ (pmt::to_double(msg));
}
};
@@ -134,7 +134,7 @@ public:
void post(pmt::pmt_t which_port, pmt::pmt_t msg)
{
(rpcextractor_base<T,long>::_source->*rpcextractor_base<T,long>::_func)
- (pmt::pmt_to_long(msg));
+ (pmt::to_long(msg));
}
};
@@ -149,7 +149,7 @@ public:
void post(pmt::pmt_t which_port, pmt::pmt_t msg)
{
(rpcextractor_base<T,int>::_source->*rpcextractor_base<T,int>::_func)
- (pmt::pmt_to_long(msg));
+ (pmt::to_long(msg));
}
};
@@ -164,7 +164,7 @@ public:
void post(pmt::pmt_t which_port, pmt::pmt_t msg)
{
(rpcextractor_base<T,bool>::_source->*rpcextractor_base<T,bool>::_func)
- (pmt::pmt_to_bool(msg));
+ (pmt::to_bool(msg));
}
};
@@ -180,7 +180,7 @@ public:
void post(pmt::pmt_t which_port, pmt::pmt_t msg)
{
(rpcextractor_base<T,std::complex<double> >::
- _source->*rpcextractor_base<T,std::complex<double> >::_func)(pmt::pmt_to_complex(msg));
+ _source->*rpcextractor_base<T,std::complex<double> >::_func)(pmt::to_complex(msg));
}
};
@@ -196,7 +196,7 @@ public:
void post(pmt::pmt_t which_port, pmt::pmt_t msg)
{
(rpcextractor_base<T,std::string>::
- _source->*rpcextractor_base<T,std::string>::_func)(pmt::pmt_symbol_to_string(msg));
+ _source->*rpcextractor_base<T,std::string>::_func)(pmt::symbol_to_string(msg));
}
};
@@ -214,8 +214,8 @@ public:
pmt::pmt_t retrieve()
{
- return pmt::pmt_from_uint64((rpcinserter_base<T,uint64_t>::
- _source->*rpcinserter_base<T,uint64_t>::_func)());
+ return pmt::from_uint64((rpcinserter_base<T,uint64_t>::
+ _source->*rpcinserter_base<T,uint64_t>::_func)());
}
};
@@ -237,7 +237,7 @@ public:
std::vector< std::complex<float> >
vec((rpcinserter_base<T,std::vector<std::complex<float> > >::
_source->*rpcinserter_base<T,std::vector< std::complex<float> > >::_func)());
- return pmt::pmt_init_c32vector(vec.size(), &vec[0]);
+ return pmt::init_c32vector(vec.size(), &vec[0]);
}
};
@@ -258,7 +258,7 @@ public:
{
std::vector< float > vec((rpcinserter_base<T,std::vector<float> >::
_source->*rpcinserter_base<T,std::vector< float> >::_func)());
- return pmt::pmt_init_f32vector(vec.size(), &vec[0]);
+ return pmt::init_f32vector(vec.size(), &vec[0]);
}
};
diff --git a/gnuradio-core/src/python/gnuradio/gr/qa_block_gateway.py b/gnuradio-core/src/python/gnuradio/gr/qa_block_gateway.py
index 374d87c5ca..2c8cba5439 100644
--- a/gnuradio-core/src/python/gnuradio/gr/qa_block_gateway.py
+++ b/gnuradio-core/src/python/gnuradio/gr/qa_block_gateway.py
@@ -112,8 +112,8 @@ class tag_source(gr.sync_block):
#make a new tag on the middle element every time work is called
count = self.nitems_written(0) + num_output_items/2
- key = pmt.pmt_string_to_symbol("example_key")
- value = pmt.pmt_string_to_symbol("example_value")
+ key = pmt.string_to_symbol("example_key")
+ value = pmt.string_to_symbol("example_value")
self.add_item_tag(0, count, key, value)
return num_output_items
@@ -138,9 +138,9 @@ class tag_sink(gr.sync_block):
tags = self.get_tags_in_range(0, nread, nread+num_input_items)
for tag in tags:
#print tag.offset
- #print pmt.pmt_symbol_to_string(tag.key)
- #print pmt.pmt_symbol_to_string(tag.value)
- self.key = pmt.pmt_symbol_to_string(tag.key)
+ #print pmt.symbol_to_string(tag.key)
+ #print pmt.symbol_to_string(tag.value)
+ self.key = pmt.symbol_to_string(tag.key)
return num_input_items
diff --git a/gnuradio-core/src/python/gnuradio/gr/qa_pdu.py b/gnuradio-core/src/python/gnuradio/gr/qa_pdu.py
index 572d8b1861..59f927fa19 100755
--- a/gnuradio-core/src/python/gnuradio/gr/qa_pdu.py
+++ b/gnuradio-core/src/python/gnuradio/gr/qa_pdu.py
@@ -46,23 +46,23 @@ class test_pdu(gr_unittest.TestCase):
# Test that the right number of ports exist.
pi = dbg.message_ports_in()
po = dbg.message_ports_out()
- self.assertEqual(pmt.pmt_length(pi), 2)
- self.assertEqual(pmt.pmt_length(po), 0)
+ self.assertEqual(pmt.length(pi), 2)
+ self.assertEqual(pmt.length(po), 0)
pi = snk3.message_ports_in()
po = snk3.message_ports_out()
- self.assertEqual(pmt.pmt_length(pi), 0)
- self.assertEqual(pmt.pmt_length(po), 1)
+ self.assertEqual(pmt.length(pi), 0)
+ self.assertEqual(pmt.length(po), 1)
#print "Message Debug input ports: "
- #pmt.pmt_print(pi)
+ #pmt.print(pi)
#print "Message Debug output ports: "
- #pmt.pmt_print(po)
+ #pmt.print(po)
#print "Stream to PDU input ports: "
- #pmt.pmt_print(pi)
+ #pmt.print(pi)
#print "Stream to PDU output ports: "
- #pmt.pmt_print(po)
+ #pmt.print(po)
time.sleep(0.1)
self.tb.connect(src, snk)
@@ -73,12 +73,12 @@ class test_pdu(gr_unittest.TestCase):
self.tb.start()
# make our reference and message pmts
- port = pmt.pmt_intern("pdus")
- msg = pmt.pmt_cons( pmt.PMT_NIL, pmt.pmt_make_u8vector(16, 0xFF) )
+ port = pmt.intern("pdus")
+ msg = pmt.cons( pmt.PMT_NIL, pmt.make_u8vector(16, 0xFF) )
#print "printing port & msg"
- #pmt.pmt_print(port)
- #pmt.pmt_print(msg)
+ #print(port)
+ #print(msg)
# post the message
src.to_basic_block()._post( port, msg )
@@ -94,13 +94,13 @@ class test_pdu(gr_unittest.TestCase):
# Get the vector of data from the message sink
# Convert the message PMT as a pair into its vector
result_msg = dbg.get_message(0)
- msg_vec = pmt.pmt_cdr(result_msg)
- pmt.pmt_print(msg_vec)
+ msg_vec = pmt.cdr(result_msg)
+ print(msg_vec)
# Convert the PMT vector into a Python list
msg_data = []
for i in xrange(16):
- msg_data.append(pmt.pmt_u8vector_ref(msg_vec, i))
+ msg_data.append(pmt.u8vector_ref(msg_vec, i))
actual_data = 16*[0xFF,]
self.assertEqual(actual_data, list(result_data))
diff --git a/gr-blocks/lib/file_meta_sink_impl.cc b/gr-blocks/lib/file_meta_sink_impl.cc
index b707bfac4e..d996e7a93e 100644
--- a/gr-blocks/lib/file_meta_sink_impl.cc
+++ b/gr-blocks/lib/file_meta_sink_impl.cc
@@ -100,34 +100,34 @@ namespace gr {
if(!open(filename))
throw std::runtime_error("file_meta_sink: can't open file\n");
- pmt_t timestamp = pmt_make_tuple(pmt_from_uint64(0),
- pmt_from_double(0));
+ pmt::pmt_t timestamp = pmt::make_tuple(pmt::from_uint64(0),
+ pmt::from_double(0));
// handle extra dictionary
- d_extra = pmt_make_dict();
+ d_extra = pmt::make_dict();
if(extra_dict.size() > 0) {
- pmt_t extras = pmt_deserialize_str(extra_dict);
- pmt_t keys = pmt_dict_keys(extras);
- pmt_t vals = pmt_dict_values(extras);
- size_t nitems = pmt_length(keys);
+ pmt::pmt_t extras = pmt::deserialize_str(extra_dict);
+ pmt::pmt_t keys = pmt::dict_keys(extras);
+ pmt::pmt_t vals = pmt::dict_values(extras);
+ size_t nitems = pmt::length(keys);
for(size_t i = 0; i < nitems; i++) {
- d_extra = pmt_dict_add(d_extra,
- pmt_nth(i, keys),
- pmt_nth(i, vals));
+ d_extra = pmt::dict_add(d_extra,
+ pmt::nth(i, keys),
+ pmt::nth(i, vals));
}
}
- d_extra_size = pmt_serialize_str(d_extra).size();
+ d_extra_size = pmt::serialize_str(d_extra).size();
- d_header = pmt_make_dict();
- d_header = pmt_dict_add(d_header, mp("version"), mp(METADATA_VERSION));
- d_header = pmt_dict_add(d_header, mp("rx_rate"), mp(samp_rate));
- d_header = pmt_dict_add(d_header, mp("rx_time"), timestamp);
- d_header = pmt_dict_add(d_header, mp("size"), pmt_from_long(d_itemsize));
- d_header = pmt_dict_add(d_header, mp("type"), pmt_from_long(type));
- d_header = pmt_dict_add(d_header, mp("cplx"), complex ? PMT_T : PMT_F);
- d_header = pmt_dict_add(d_header, mp("strt"), pmt_from_uint64(METADATA_HEADER_SIZE+d_extra_size));
- d_header = pmt_dict_add(d_header, mp("bytes"), pmt_from_uint64(0));
+ d_header = pmt::make_dict();
+ d_header = pmt::dict_add(d_header, pmt::mp("version"), pmt::mp(METADATA_VERSION));
+ d_header = pmt::dict_add(d_header, pmt::mp("rx_rate"), pmt::mp(samp_rate));
+ d_header = pmt::dict_add(d_header, pmt::mp("rx_time"), timestamp);
+ d_header = pmt::dict_add(d_header, pmt::mp("size"), pmt::from_long(d_itemsize));
+ d_header = pmt::dict_add(d_header, pmt::mp("type"), pmt::from_long(type));
+ d_header = pmt::dict_add(d_header, pmt::mp("cplx"), complex ? pmt::PMT_T : pmt::PMT_F);
+ d_header = pmt::dict_add(d_header, pmt::mp("strt"), pmt::from_uint64(METADATA_HEADER_SIZE+d_extra_size));
+ d_header = pmt::dict_add(d_header, mp("bytes"), pmt::from_uint64(0));
do_update();
@@ -240,10 +240,10 @@ namespace gr {
}
void
- file_meta_sink_impl::write_header(FILE *fp, pmt_t header, pmt_t extra)
+ file_meta_sink_impl::write_header(FILE *fp, pmt::pmt_t header, pmt::pmt_t extra)
{
- std::string header_str = pmt_serialize_str(header);
- std::string extra_str = pmt_serialize_str(extra);
+ std::string header_str = pmt::serialize_str(header);
+ std::string extra_str = pmt::serialize_str(extra);
if((header_str.size() != METADATA_HEADER_SIZE) && (extra_str.size() != d_extra_size))
throw std::runtime_error("file_meta_sink: header or extras is wrong size.\n");
@@ -274,24 +274,24 @@ namespace gr {
}
void
- file_meta_sink_impl::update_header(pmt_t key, pmt_t value)
+ file_meta_sink_impl::update_header(pmt::pmt_t key, pmt::pmt_t value)
{
// Special handling caveat to transform rate from radio source into
// the rate at this sink.
- if(pmt_eq(key, mp("rx_rate"))) {
- d_samp_rate = pmt_to_double(value);
- value = pmt_from_double(d_samp_rate*d_relative_rate);
+ if(pmt::eq(key, mp("rx_rate"))) {
+ d_samp_rate = pmt::to_double(value);
+ value = pmt::from_double(d_samp_rate*d_relative_rate);
}
// If the tag is not part of the standard header, we put it into the
// extra data, which either updates the current dictionary or adds a
// new item.
- if(pmt_dict_has_key(d_header, key)) {
- d_header = pmt_dict_add(d_header, key, value);
+ if(pmt::dict_has_key(d_header, key)) {
+ d_header = pmt::dict_add(d_header, key, value);
}
else {
- d_extra = pmt_dict_add(d_extra, key, value);
- d_extra_size = pmt_serialize_str(d_extra).size();
+ d_extra = pmt::dict_add(d_extra, key, value);
+ d_extra_size = pmt::serialize_str(d_extra).size();
}
}
@@ -310,11 +310,11 @@ namespace gr {
// Update the last header info with the number of samples this
// block represents.
- size_t hdrlen = pmt_to_uint64(pmt_dict_ref(d_header, mp("strt"), PMT_NIL));
+ size_t hdrlen = pmt::to_uint64(pmt::dict_ref(d_header, mp("strt"), pmt::PMT_NIL));
size_t seg_size = d_itemsize*d_total_seg_size;
- pmt_t s = pmt_from_uint64(seg_size);
+ pmt::pmt_t s = pmt::from_uint64(seg_size);
update_header(mp("bytes"), s);
- update_header(mp("strt"), pmt_from_uint64(METADATA_HEADER_SIZE+d_extra_size));
+ update_header(mp("strt"), pmt::from_uint64(METADATA_HEADER_SIZE+d_extra_size));
fseek(d_fp, -seg_size-hdrlen, SEEK_CUR);
write_header(d_fp, d_header, d_extra);
fseek(d_fp, seg_size, SEEK_CUR);
@@ -325,11 +325,11 @@ namespace gr {
{
// Update the last header info with the number of samples this
// block represents.
- size_t hdrlen = pmt_to_uint64(pmt_dict_ref(d_header, mp("strt"), PMT_NIL));
+ size_t hdrlen = pmt::to_uint64(pmt::dict_ref(d_header, mp("strt"), pmt::PMT_NIL));
size_t seg_size = d_itemsize*d_total_seg_size;
- pmt_t s = pmt_from_uint64(seg_size);
+ pmt::pmt_t s = pmt::from_uint64(seg_size);
update_header(mp("bytes"), s);
- update_header(mp("strt"), pmt_from_uint64(METADATA_HEADER_SIZE+d_extra_size));
+ update_header(mp("strt"), pmt::from_uint64(METADATA_HEADER_SIZE+d_extra_size));
fseek(d_hdr_fp, -hdrlen, SEEK_CUR);
write_header(d_hdr_fp, d_header, d_extra);
}
@@ -340,13 +340,13 @@ namespace gr {
// New header, so set current size of chunk to 0 and start of chunk
// based on current index + header size.
//uint64_t loc = get_last_header_loc();
- pmt_t s = pmt_from_uint64(0);
+ pmt::pmt_t s = pmt::from_uint64(0);
update_header(mp("bytes"), s);
// If we have multiple tags on the same offset, this makes
// sure we just overwrite the same header each time instead
// of creating a new header per tag.
- s = pmt_from_uint64(METADATA_HEADER_SIZE + d_extra_size);
+ s = pmt::from_uint64(METADATA_HEADER_SIZE + d_extra_size);
update_header(mp("strt"), s);
if(d_state == STATE_DETACHED)
@@ -358,10 +358,10 @@ namespace gr {
void
file_meta_sink_impl::update_rx_time()
{
- pmt_t rx_time = pmt_string_to_symbol("rx_time");
- pmt_t r = pmt_dict_ref(d_header, rx_time, PMT_NIL);
- uint64_t secs = pmt_to_uint64(pmt_tuple_ref(r, 0));
- double fracs = pmt_to_double(pmt_tuple_ref(r, 1));
+ pmt::pmt_t rx_time = pmt::string_to_symbol("rx_time");
+ pmt::pmt_t r = pmt::dict_ref(d_header, rx_time, pmt::PMT_NIL);
+ uint64_t secs = pmt::to_uint64(pmt::tuple_ref(r, 0));
+ double fracs = pmt::to_double(pmt::tuple_ref(r, 1));
double diff = d_total_seg_size / (d_samp_rate*d_relative_rate);
//std::cerr << "old secs: " << secs << std::endl;
@@ -377,8 +377,8 @@ namespace gr {
//std::cerr << "new secs: " << secs << std::endl;
//std::cerr << "new fracs: " << fracs << std::endl << std::endl;
- r = pmt_make_tuple(pmt_from_uint64(secs), pmt_from_double(fracs));
- d_header = pmt_dict_add(d_header, rx_time, r);
+ r = pmt::make_tuple(pmt::from_uint64(secs), pmt::from_double(fracs));
+ d_header = pmt::dict_add(d_header, rx_time, r);
}
int
diff --git a/gr-blocks/lib/file_meta_source_impl.cc b/gr-blocks/lib/file_meta_source_impl.cc
index 42fdabb541..9d66193e53 100644
--- a/gr-blocks/lib/file_meta_source_impl.cc
+++ b/gr-blocks/lib/file_meta_source_impl.cc
@@ -95,7 +95,7 @@ namespace gr {
do_update();
- pmt_t hdr = PMT_NIL, extras = PMT_NIL;
+ pmt::pmt_t hdr = pmt::PMT_NIL, extras = pmt::PMT_NIL;
if(read_header(hdr, extras)) {
parse_header(hdr, 0, d_tags);
parse_extras(extras, 0, d_tags);
@@ -125,7 +125,7 @@ namespace gr {
}
bool
- file_meta_source_impl::read_header(pmt_t &hdr, pmt_t &extras)
+ file_meta_source_impl::read_header(pmt::pmt_t &hdr, pmt::pmt_t &extras)
{
// Select which file handle to read from.
FILE *fp;
@@ -156,14 +156,14 @@ namespace gr {
// Convert to string or the char array gets confused by the \0
str.insert(0, hdr_buffer, METADATA_HEADER_SIZE);
- hdr = pmt_deserialize_str(str);
+ hdr = pmt::deserialize_str(str);
delete [] hdr_buffer;
uint64_t seg_start, extra_len;
- pmt_t r, dump;
- if(pmt_dict_has_key(hdr, pmt_string_to_symbol("strt"))) {
- r = pmt_dict_ref(hdr, pmt_string_to_symbol("strt"), dump);
- seg_start = pmt_to_uint64(r);
+ pmt::pmt_t r, dump;
+ if(pmt::dict_has_key(hdr, pmt::string_to_symbol("strt"))) {
+ r = pmt::dict_ref(hdr, pmt::string_to_symbol("strt"), dump);
+ seg_start = pmt::to_uint64(r);
extra_len = seg_start - METADATA_HEADER_SIZE;
}
@@ -188,7 +188,7 @@ namespace gr {
str.clear();
str.insert(0, hdr_buffer, extra_len);
- extras = pmt_deserialize_str(str);
+ extras = pmt::deserialize_str(str);
delete [] hdr_buffer;
}
@@ -196,16 +196,16 @@ namespace gr {
}
void
- file_meta_source_impl::parse_header(pmt_t hdr, uint64_t offset,
+ file_meta_source_impl::parse_header(pmt::pmt_t hdr, uint64_t offset,
std::vector<gr_tag_t> &tags)
{
- pmt_t r, key;
+ pmt::pmt_t r, key;
// GET SAMPLE RATE
- key = pmt_string_to_symbol("rx_rate");
- if(pmt_dict_has_key(hdr, key)) {
- r = pmt_dict_ref(hdr, key, PMT_NIL);
- d_samp_rate = pmt_to_double(r);
+ key = pmt::string_to_symbol("rx_rate");
+ if(pmt::dict_has_key(hdr, key)) {
+ r = pmt::dict_ref(hdr, key, pmt::PMT_NIL);
+ d_samp_rate = pmt::to_double(r);
gr_tag_t t;
t.offset = offset;
@@ -219,9 +219,9 @@ namespace gr {
}
// GET TIME STAMP
- key = pmt_string_to_symbol("rx_time");
- if(pmt_dict_has_key(hdr, key)) {
- d_time_stamp = pmt_dict_ref(hdr, key, PMT_NIL);
+ key = pmt::string_to_symbol("rx_time");
+ if(pmt::dict_has_key(hdr, key)) {
+ d_time_stamp = pmt::dict_ref(hdr, key, pmt::PMT_NIL);
gr_tag_t t;
t.offset = offset;
@@ -235,16 +235,16 @@ namespace gr {
}
// GET ITEM SIZE OF DATA
- if(pmt_dict_has_key(hdr, pmt_string_to_symbol("size"))) {
- d_itemsize = pmt_to_long(pmt_dict_ref(hdr, pmt_string_to_symbol("size"), PMT_NIL));
+ if(pmt::dict_has_key(hdr, pmt::string_to_symbol("size"))) {
+ d_itemsize = pmt::to_long(pmt::dict_ref(hdr, pmt::string_to_symbol("size"), pmt::PMT_NIL));
}
else {
throw std::runtime_error("file_meta_source: Could not extract item size.\n");
}
// GET SEGMENT SIZE
- if(pmt_dict_has_key(hdr, pmt_string_to_symbol("bytes"))) {
- d_seg_size = pmt_to_uint64(pmt_dict_ref(hdr, pmt_string_to_symbol("bytes"), PMT_NIL));
+ if(pmt::dict_has_key(hdr, pmt::string_to_symbol("bytes"))) {
+ d_seg_size = pmt::to_uint64(pmt::dict_ref(hdr, pmt::string_to_symbol("bytes"), pmt::PMT_NIL));
// Convert from bytes to items
d_seg_size /= d_itemsize;
@@ -255,16 +255,16 @@ namespace gr {
}
void
- file_meta_source_impl::parse_extras(pmt_t extras, uint64_t offset,
+ file_meta_source_impl::parse_extras(pmt::pmt_t extras, uint64_t offset,
std::vector<gr_tag_t> &tags)
{
- pmt_t item, key, val;
+ pmt::pmt_t item, key, val;
- size_t nitems = pmt_length(extras);
+ size_t nitems = pmt::length(extras);
for(size_t i = 0; i < nitems; i++) {
- item = pmt_nth(i, extras);
- key = pmt_car(item);
- val = pmt_cdr(item);
+ item = pmt::nth(i, extras);
+ key = pmt::car(item);
+ val = pmt::cdr(item);
gr_tag_t t;
t.offset = offset;
@@ -370,7 +370,7 @@ namespace gr {
// We've reached the end of a segment; parse the next header and get
// the new tags to send and set the next segment size.
if(d_seg_size == 0) {
- pmt_t hdr=PMT_NIL, extras=PMT_NIL;
+ pmt::pmt_t hdr=pmt::PMT_NIL, extras=pmt::PMT_NIL;
if(read_header(hdr, extras)) {
parse_header(hdr, nitems_written(0), d_tags);
parse_extras(extras, nitems_written(0), d_tags);
diff --git a/gr-blocks/python/parse_file_metadata.py b/gr-blocks/python/parse_file_metadata.py
index c8ac2def94..eaa8025bbf 100644
--- a/gr-blocks/python/parse_file_metadata.py
+++ b/gr-blocks/python/parse_file_metadata.py
@@ -66,14 +66,14 @@ def parse_header(p, VERBOSE=False):
info = dict()
- if(pmt.pmt_is_dict(p) is False):
+ if(pmt.is_dict(p) is False):
sys.stderr.write("Header is not a PMT dictionary: invalid or corrupt data file.\n")
sys.exit(1)
# GET FILE FORMAT VERSION NUMBER
- if(pmt.pmt_dict_has_key(p, pmt.pmt_string_to_symbol("version"))):
- r = pmt.pmt_dict_ref(p, pmt.pmt_string_to_symbol("version"), dump)
- version = pmt.pmt_to_long(r)
+ if(pmt.dict_has_key(p, pmt.string_to_symbol("version"))):
+ r = pmt.dict_ref(p, pmt.string_to_symbol("version"), dump)
+ version = pmt.to_long(r)
if(VERBOSE):
print "Version Number: {0}".format(version)
else:
@@ -81,9 +81,9 @@ def parse_header(p, VERBOSE=False):
sys.exit(1)
# EXTRACT SAMPLE RATE
- if(pmt.pmt_dict_has_key(p, pmt.pmt_string_to_symbol("rx_rate"))):
- r = pmt.pmt_dict_ref(p, pmt.pmt_string_to_symbol("rx_rate"), dump)
- samp_rate = pmt.pmt_to_double(r)
+ if(pmt.dict_has_key(p, pmt.string_to_symbol("rx_rate"))):
+ r = pmt.dict_ref(p, pmt.string_to_symbol("rx_rate"), dump)
+ samp_rate = pmt.to_double(r)
info["rx_rate"] = samp_rate
if(VERBOSE):
print "Sample Rate: {0:.2f} sps".format(samp_rate)
@@ -92,12 +92,12 @@ def parse_header(p, VERBOSE=False):
sys.exit(1)
# EXTRACT TIME STAMP
- if(pmt.pmt_dict_has_key(p, pmt.pmt_string_to_symbol("rx_time"))):
- r = pmt.pmt_dict_ref(p, pmt.pmt_string_to_symbol("rx_time"), dump)
- pmt_secs = pmt.pmt_tuple_ref(r, 0)
- pmt_fracs = pmt.pmt_tuple_ref(r, 1)
- secs = float(pmt.pmt_to_uint64(pmt_secs))
- fracs = pmt.pmt_to_double(pmt_fracs)
+ if(pmt.dict_has_key(p, pmt.string_to_symbol("rx_time"))):
+ r = pmt.dict_ref(p, pmt.string_to_symbol("rx_time"), dump)
+ secs = pmt.tuple_ref(r, 0)
+ fracs = pmt.tuple_ref(r, 1)
+ secs = float(pmt.to_uint64(secs))
+ fracs = pmt.to_double(fracs)
t = secs + fracs
info["rx_time"] = t
if(VERBOSE):
@@ -107,9 +107,9 @@ def parse_header(p, VERBOSE=False):
sys.exit(1)
# EXTRACT ITEM SIZE
- if(pmt.pmt_dict_has_key(p, pmt.pmt_string_to_symbol("size"))):
- r = pmt.pmt_dict_ref(p, pmt.pmt_string_to_symbol("size"), dump)
- dsize = pmt.pmt_to_long(r)
+ if(pmt.dict_has_key(p, pmt.string_to_symbol("size"))):
+ r = pmt.dict_ref(p, pmt.string_to_symbol("size"), dump)
+ dsize = pmt.to_long(r)
info["size"] = dsize
if(VERBOSE):
print "Item size: {0}".format(dsize)
@@ -118,9 +118,9 @@ def parse_header(p, VERBOSE=False):
sys.exit(1)
# EXTRACT DATA TYPE
- if(pmt.pmt_dict_has_key(p, pmt.pmt_string_to_symbol("type"))):
- r = pmt.pmt_dict_ref(p, pmt.pmt_string_to_symbol("type"), dump)
- dtype = pmt.pmt_to_long(r)
+ if(pmt.dict_has_key(p, pmt.string_to_symbol("type"))):
+ r = pmt.dict_ref(p, pmt.string_to_symbol("type"), dump)
+ dtype = pmt.to_long(r)
stype = ftype_to_string[dtype]
info["type"] = stype
if(VERBOSE):
@@ -130,9 +130,9 @@ def parse_header(p, VERBOSE=False):
sys.exit(1)
# EXTRACT COMPLEX
- if(pmt.pmt_dict_has_key(p, pmt.pmt_string_to_symbol("cplx"))):
- r = pmt.pmt_dict_ref(p, pmt.pmt_string_to_symbol("cplx"), dump)
- cplx = pmt.pmt_to_bool(r)
+ if(pmt.dict_has_key(p, pmt.string_to_symbol("cplx"))):
+ r = pmt.dict_ref(p, pmt.string_to_symbol("cplx"), dump)
+ cplx = pmt.to_bool(r)
info["cplx"] = cplx
if(VERBOSE):
print "Complex? {0}".format(cplx)
@@ -141,9 +141,9 @@ def parse_header(p, VERBOSE=False):
sys.exit(1)
# EXTRACT WHERE CURRENT SEGMENT STARTS
- if(pmt.pmt_dict_has_key(p, pmt.pmt_string_to_symbol("strt"))):
- r = pmt.pmt_dict_ref(p, pmt.pmt_string_to_symbol("strt"), dump)
- seg_start = pmt.pmt_to_uint64(r)
+ if(pmt.dict_has_key(p, pmt.string_to_symbol("strt"))):
+ r = pmt.dict_ref(p, pmt.string_to_symbol("strt"), dump)
+ seg_start = pmt.to_uint64(r)
info["hdr_len"] = seg_start
info["extra_len"] = seg_start - HEADER_LENGTH
info["has_extra"] = info["extra_len"] > 0
@@ -156,9 +156,9 @@ def parse_header(p, VERBOSE=False):
sys.exit(1)
# EXTRACT SIZE OF DATA
- if(pmt.pmt_dict_has_key(p, pmt.pmt_string_to_symbol("bytes"))):
- r = pmt.pmt_dict_ref(p, pmt.pmt_string_to_symbol("bytes"), dump)
- nbytes = pmt.pmt_to_uint64(r)
+ if(pmt.dict_has_key(p, pmt.string_to_symbol("bytes"))):
+ r = pmt.dict_ref(p, pmt.string_to_symbol("bytes"), dump)
+ nbytes = pmt.to_uint64(r)
nitems = nbytes/dsize
info["nitems"] = nitems
@@ -175,19 +175,18 @@ def parse_header(p, VERBOSE=False):
# IF THERE IS EXTRA DATA, PULL OUT THE DICTIONARY AND PARSE IT
def parse_extra_dict(p, info, VERBOSE=False):
- if(pmt.pmt_is_dict(p) is False):
+ if(pmt.is_dict(p) is False):
sys.stderr.write("Extra header is not a PMT dictionary: invalid or corrupt data file.\n")
sys.exit(1)
- items = pmt.pmt_dict_items(p)
- nitems = pmt.pmt_length(items)
+ items = pmt.dict_items(p)
+ nitems = pmt.length(items)
for i in xrange(nitems):
- item = pmt.pmt_nth(i, items)
- key = pmt.pmt_symbol_to_string(pmt.pmt_car(item))
- val = pmt.pmt_cdr(item)
+ item = pmt.nth(i, items)
+ key = pmt.symbol_to_string(pmt.car(item))
+ val = pmt.cdr(item)
info[key] = val
if(VERBOSE):
- print "{0}: ".format(key)
- pmt.pmt_print(val)
+ print "{0}: {1}".format(key, val)
return info
diff --git a/gr-blocks/python/qa_file_metadata.py b/gr-blocks/python/qa_file_metadata.py
index 29ed0d1c87..26506c68de 100644
--- a/gr-blocks/python/qa_file_metadata.py
+++ b/gr-blocks/python/qa_file_metadata.py
@@ -46,11 +46,11 @@ class test_file_metadata(gr_unittest.TestCase):
detached = False
samp_rate = 200000
- key = pmt.pmt_intern("samp_rate")
- val = pmt.pmt_from_double(samp_rate)
- extras = pmt.pmt_make_dict()
- extras = pmt.pmt_dict_add(extras, key, val)
- extras_str = pmt.pmt_serialize_str(extras)
+ key = pmt.intern("samp_rate")
+ val = pmt.from_double(samp_rate)
+ extras = pmt.make_dict()
+ extras = pmt.dict_add(extras, key, val)
+ extras_str = pmt.serialize_str(extras)
data = sig_source_c(samp_rate, 1000, 1, N)
src = gr.vector_source_c(data)
@@ -70,7 +70,7 @@ class test_file_metadata(gr_unittest.TestCase):
self.assertFalse()
try:
- header = pmt.pmt_deserialize_str(header_str)
+ header = pmt.deserialize_str(header_str)
except RuntimeError:
self.assertFalse()
@@ -82,14 +82,14 @@ class test_file_metadata(gr_unittest.TestCase):
handle.close()
try:
- extra = pmt.pmt_deserialize_str(extra_str)
+ extra = pmt.deserialize_str(extra_str)
except RuntimeError:
self.assertFalse()
extra_info = parse_file_metadata.parse_extra_dict(extra, info, False)
self.assertEqual(info['rx_rate'], samp_rate)
- self.assertEqual(pmt.pmt_to_double(extra_info['samp_rate']), samp_rate)
+ self.assertEqual(pmt.to_double(extra_info['samp_rate']), samp_rate)
# Test file metadata source
@@ -108,10 +108,10 @@ class test_file_metadata(gr_unittest.TestCase):
# were generated and received correctly.
tags = tsnk.current_tags()
for t in tags:
- if(pmt.pmt_eq(t.key, pmt.pmt_intern("samp_rate"))):
- self.assertEqual(pmt.pmt_to_double(t.value), samp_rate)
- elif(pmt.pmt_eq(t.key, pmt.pmt_intern("rx_rate"))):
- self.assertEqual(pmt.pmt_to_double(t.value), samp_rate)
+ if(pmt.eq(t.key, pmt.intern("samp_rate"))):
+ self.assertEqual(pmt.to_double(t.value), samp_rate)
+ elif(pmt.eq(t.key, pmt.intern("rx_rate"))):
+ self.assertEqual(pmt.to_double(t.value), samp_rate)
# Test that the data portion was extracted and received correctly.
self.assertComplexTuplesAlmostEqual(vsnk.data(), ssnk.data(), 5)
@@ -125,11 +125,11 @@ class test_file_metadata(gr_unittest.TestCase):
detached = True
samp_rate = 200000
- key = pmt.pmt_intern("samp_rate")
- val = pmt.pmt_from_double(samp_rate)
- extras = pmt.pmt_make_dict()
- extras = pmt.pmt_dict_add(extras, key, val)
- extras_str = pmt.pmt_serialize_str(extras)
+ key = pmt.intern("samp_rate")
+ val = pmt.from_double(samp_rate)
+ extras = pmt.make_dict()
+ extras = pmt.dict_add(extras, key, val)
+ extras_str = pmt.serialize_str(extras)
data = sig_source_c(samp_rate, 1000, 1, N)
src = gr.vector_source_c(data)
@@ -150,7 +150,7 @@ class test_file_metadata(gr_unittest.TestCase):
self.assertFalse()
try:
- header = pmt.pmt_deserialize_str(header_str)
+ header = pmt.deserialize_str(header_str)
except RuntimeError:
self.assertFalse()
@@ -161,14 +161,14 @@ class test_file_metadata(gr_unittest.TestCase):
handle.close()
try:
- extra = pmt.pmt_deserialize_str(extra_str)
+ extra = pmt.deserialize_str(extra_str)
except RuntimeError:
self.assertFalse()
extra_info = parse_file_metadata.parse_extra_dict(extra, info, False)
self.assertEqual(info['rx_rate'], samp_rate)
- self.assertEqual(pmt.pmt_to_double(extra_info['samp_rate']), samp_rate)
+ self.assertEqual(pmt.to_double(extra_info['samp_rate']), samp_rate)
# Test file metadata source
@@ -187,10 +187,10 @@ class test_file_metadata(gr_unittest.TestCase):
# were generated and received correctly.
tags = tsnk.current_tags()
for t in tags:
- if(pmt.pmt_eq(t.key, pmt.pmt_intern("samp_rate"))):
- self.assertEqual(pmt.pmt_to_double(t.value), samp_rate)
- elif(pmt.pmt_eq(t.key, pmt.pmt_intern("rx_rate"))):
- self.assertEqual(pmt.pmt_to_double(t.value), samp_rate)
+ if(pmt.eq(t.key, pmt.intern("samp_rate"))):
+ self.assertEqual(pmt.to_double(t.value), samp_rate)
+ elif(pmt.eq(t.key, pmt.intern("rx_rate"))):
+ self.assertEqual(pmt.to_double(t.value), samp_rate)
# Test that the data portion was extracted and received correctly.
self.assertComplexTuplesAlmostEqual(vsnk.data(), ssnk.data(), 5)
diff --git a/gr-channels/lib/channel_model_impl.cc b/gr-channels/lib/channel_model_impl.cc
index 7ff157a739..9447a17784 100644
--- a/gr-channels/lib/channel_model_impl.cc
+++ b/gr-channels/lib/channel_model_impl.cc
@@ -167,9 +167,9 @@ namespace gr {
rpcbasic_sptr(new rpcbasic_register_get<channel_model_impl, std::vector<gr_complex> >(
d_name, "taps", this, unique_id(),
&channel_model_impl::taps,
- pmt::pmt_make_c32vector(0,-10),
- pmt::pmt_make_c32vector(0,10),
- pmt::pmt_make_c32vector(0,0),
+ pmt::make_c32vector(0,-10),
+ pmt::make_c32vector(0,10),
+ pmt::make_c32vector(0,0),
"", "Multipath taps",
RPC_PRIVLVL_MIN, DISPTIMESERIESC)));
diff --git a/gr-digital/lib/correlate_access_code_tag_bb_impl.cc b/gr-digital/lib/correlate_access_code_tag_bb_impl.cc
index d375daf95c..1ff27f02a5 100644
--- a/gr-digital/lib/correlate_access_code_tag_bb_impl.cc
+++ b/gr-digital/lib/correlate_access_code_tag_bb_impl.cc
@@ -61,8 +61,8 @@ namespace gr {
std::stringstream str;
str << name() << unique_id();
- d_me = pmt::pmt_string_to_symbol(str.str());
- d_key = pmt::pmt_string_to_symbol(tag_name);
+ d_me = pmt::string_to_symbol(str.str());
+ d_key = pmt::string_to_symbol(tag_name);
}
correlate_access_code_tag_bb_impl::~correlate_access_code_tag_bb_impl()
diff --git a/gr-digital/lib/mpsk_snr_est_cc_impl.cc b/gr-digital/lib/mpsk_snr_est_cc_impl.cc
index efd18ea4f4..621c41b9f0 100644
--- a/gr-digital/lib/mpsk_snr_est_cc_impl.cc
+++ b/gr-digital/lib/mpsk_snr_est_cc_impl.cc
@@ -61,8 +61,8 @@ namespace gr {
std::stringstream str;
str << name() << unique_id();
- d_me = pmt::pmt_string_to_symbol(str.str());
- d_key = pmt::pmt_string_to_symbol("snr");
+ d_me = pmt::string_to_symbol(str.str());
+ d_key = pmt::string_to_symbol("snr");
}
mpsk_snr_est_cc_impl::~mpsk_snr_est_cc_impl()
@@ -93,7 +93,7 @@ namespace gr {
d_snr_est->update(x, &in[index]);
// Issue a tag with the SNR data
- pmt::pmt_t pmt_snr = pmt::pmt_from_double(d_snr_est->snr());
+ pmt::pmt_t pmt_snr = pmt::from_double(d_snr_est->snr());
add_item_tag(0, // stream ID
nwritten, // tag's sample number
d_key, // snr key
diff --git a/gr-digital/lib/probe_mpsk_snr_est_c_impl.cc b/gr-digital/lib/probe_mpsk_snr_est_c_impl.cc
index 31de586e05..fb71bdc110 100644
--- a/gr-digital/lib/probe_mpsk_snr_est_c_impl.cc
+++ b/gr-digital/lib/probe_mpsk_snr_est_c_impl.cc
@@ -59,7 +59,7 @@ namespace gr {
// at least 1 estimator has to look back
set_history(2);
- d_key = pmt::pmt_string_to_symbol("snr");
+ d_key = pmt::string_to_symbol("snr");
}
probe_mpsk_snr_est_c_impl::~probe_mpsk_snr_est_c_impl()
diff --git a/gr-uhd/examples/c++/tag_sink_demo.h b/gr-uhd/examples/c++/tag_sink_demo.h
index 5417bd3242..676005e06c 100644
--- a/gr-uhd/examples/c++/tag_sink_demo.h
+++ b/gr-uhd/examples/c++/tag_sink_demo.h
@@ -47,7 +47,7 @@ public:
//grab all "rx time" tags in this work call
const uint64_t samp0_count = this->nitems_read(0);
std::vector<gr_tag_t> rx_time_tags;
- get_tags_in_range(rx_time_tags, 0, samp0_count, samp0_count + ninput_items, pmt::pmt_string_to_symbol("rx_time"));
+ get_tags_in_range(rx_time_tags, 0, samp0_count, samp0_count + ninput_items, pmt::string_to_symbol("rx_time"));
//print all tags
BOOST_FOREACH(const gr_tag_t &rx_time_tag, rx_time_tags){
@@ -55,8 +55,8 @@ public:
const pmt::pmt_t &value = rx_time_tag.value;
std::cout << boost::format("Full seconds %u, Frac seconds %f, abs sample offset %u")
- % pmt::pmt_to_uint64(pmt::pmt_tuple_ref(value, 0))
- % pmt::pmt_to_double(pmt::pmt_tuple_ref(value, 1))
+ % pmt::to_uint64(pmt::tuple_ref(value, 0))
+ % pmt::to_double(pmt::tuple_ref(value, 1))
% offset
<< std::endl;
}
diff --git a/gr-uhd/examples/c++/tag_source_demo.h b/gr-uhd/examples/c++/tag_source_demo.h
index 7d48502b24..6efe4667e5 100644
--- a/gr-uhd/examples/c++/tag_source_demo.h
+++ b/gr-uhd/examples/c++/tag_source_demo.h
@@ -53,26 +53,26 @@ public:
}
void make_time_tag(const uint64_t tag_count){;
- const pmt::pmt_t key = pmt::pmt_string_to_symbol("tx_time");
- const pmt::pmt_t value = pmt::pmt_make_tuple(
- pmt::pmt_from_uint64(_time_secs),
- pmt::pmt_from_double(_time_fracs)
+ const pmt::pmt_t key = pmt::string_to_symbol("tx_time");
+ const pmt::pmt_t value = pmt::make_tuple(
+ pmt::from_uint64(_time_secs),
+ pmt::from_double(_time_fracs)
);
- const pmt::pmt_t srcid = pmt::pmt_string_to_symbol(this->name());
+ const pmt::pmt_t srcid = pmt::string_to_symbol(this->name());
this->add_item_tag(0/*chan0*/, tag_count, key, value, srcid);
}
void make_sob_tag(const uint64_t tag_count){
- const pmt::pmt_t key = pmt::pmt_string_to_symbol("tx_sob");
+ const pmt::pmt_t key = pmt::string_to_symbol("tx_sob");
const pmt::pmt_t value = pmt::PMT_T;
- const pmt::pmt_t srcid = pmt::pmt_string_to_symbol(this->name());
+ const pmt::pmt_t srcid = pmt::string_to_symbol(this->name());
this->add_item_tag(0/*chan0*/, tag_count, key, value, srcid);
}
void make_eob_tag(const uint64_t tag_count){;
- const pmt::pmt_t key = pmt::pmt_string_to_symbol("tx_eob");
+ const pmt::pmt_t key = pmt::string_to_symbol("tx_eob");
const pmt::pmt_t value = pmt::PMT_T;
- const pmt::pmt_t srcid = pmt::pmt_string_to_symbol(this->name());
+ const pmt::pmt_t srcid = pmt::string_to_symbol(this->name());
this->add_item_tag(0/*chan0*/, tag_count, key, value, srcid);
}
diff --git a/gr-uhd/lib/gr_uhd_usrp_sink.cc b/gr-uhd/lib/gr_uhd_usrp_sink.cc
index 6216c94a83..3b8fcea405 100644
--- a/gr-uhd/lib/gr_uhd_usrp_sink.cc
+++ b/gr-uhd/lib/gr_uhd_usrp_sink.cc
@@ -25,9 +25,9 @@
#include <boost/make_shared.hpp>
#include "gr_uhd_common.h"
-static const pmt::pmt_t SOB_KEY = pmt::pmt_string_to_symbol("tx_sob");
-static const pmt::pmt_t EOB_KEY = pmt::pmt_string_to_symbol("tx_eob");
-static const pmt::pmt_t TIME_KEY = pmt::pmt_string_to_symbol("tx_time");
+static const pmt::pmt_t SOB_KEY = pmt::string_to_symbol("tx_sob");
+static const pmt::pmt_t EOB_KEY = pmt::string_to_symbol("tx_eob");
+static const pmt::pmt_t TIME_KEY = pmt::string_to_symbol("tx_time");
#include <uhd/convert.hpp>
inline gr_io_signature_sptr args_to_io_sig(const uhd::stream_args_t &args){
@@ -374,23 +374,23 @@ public:
}
//handle end of burst with a mini end of burst packet
- else if (pmt::pmt_equal(key, EOB_KEY)){
- _metadata.end_of_burst = pmt::pmt_to_bool(value);
+ else if (pmt::equal(key, EOB_KEY)){
+ _metadata.end_of_burst = pmt::to_bool(value);
ninput_items = 1;
return;
}
//set the start of burst flag in the metadata
- else if (pmt::pmt_equal(key, SOB_KEY)){
- _metadata.start_of_burst = pmt::pmt_to_bool(value);
+ else if (pmt::equal(key, SOB_KEY)){
+ _metadata.start_of_burst = pmt::to_bool(value);
}
//set the time specification in the metadata
- else if (pmt::pmt_equal(key, TIME_KEY)){
+ else if (pmt::equal(key, TIME_KEY)){
_metadata.has_time_spec = true;
_metadata.time_spec = uhd::time_spec_t(
- pmt::pmt_to_uint64(pmt::pmt_tuple_ref(value, 0)),
- pmt::pmt_to_double(pmt::pmt_tuple_ref(value, 1))
+ pmt::to_uint64(pmt::tuple_ref(value, 0)),
+ pmt::to_double(pmt::tuple_ref(value, 1))
);
}
}
diff --git a/gr-uhd/lib/gr_uhd_usrp_source.cc b/gr-uhd/lib/gr_uhd_usrp_source.cc
index 3813673b4b..6403d3d913 100644
--- a/gr-uhd/lib/gr_uhd_usrp_source.cc
+++ b/gr-uhd/lib/gr_uhd_usrp_source.cc
@@ -28,9 +28,9 @@
#include <boost/make_shared.hpp>
#include "gr_uhd_common.h"
-static const pmt::pmt_t TIME_KEY = pmt::pmt_string_to_symbol("rx_time");
-static const pmt::pmt_t RATE_KEY = pmt::pmt_string_to_symbol("rx_rate");
-static const pmt::pmt_t FREQ_KEY = pmt::pmt_string_to_symbol("rx_freq");
+static const pmt::pmt_t TIME_KEY = pmt::string_to_symbol("rx_time");
+static const pmt::pmt_t RATE_KEY = pmt::string_to_symbol("rx_rate");
+static const pmt::pmt_t FREQ_KEY = pmt::string_to_symbol("rx_freq");
#include <uhd/convert.hpp>
inline gr_io_signature_sptr args_to_io_sig(const uhd::stream_args_t &args){
@@ -69,7 +69,7 @@ public:
if (stream_args.cpu_format == "sc16") _type = boost::make_shared<uhd::io_type_t>(uhd::io_type_t::COMPLEX_INT16);
std::stringstream str;
str << name() << unique_id();
- _id = pmt::pmt_string_to_symbol(str.str());
+ _id = pmt::string_to_symbol(str.str());
_dev = uhd::usrp::multi_usrp::make(device_addr);
}
@@ -363,15 +363,15 @@ public:
if (_tag_now){
_tag_now = false;
//create a timestamp pmt for the first sample
- const pmt::pmt_t val = pmt::pmt_make_tuple(
- pmt::pmt_from_uint64(_metadata.time_spec.get_full_secs()),
- pmt::pmt_from_double(_metadata.time_spec.get_frac_secs())
+ const pmt::pmt_t val = pmt::make_tuple(
+ pmt::from_uint64(_metadata.time_spec.get_full_secs()),
+ pmt::from_double(_metadata.time_spec.get_frac_secs())
);
//create a tag set for each channel
for (size_t i = 0; i < _nchan; i++){
this->add_item_tag(i, nitems_written(0), TIME_KEY, val, _id);
- this->add_item_tag(i, nitems_written(0), RATE_KEY, pmt::pmt_from_double(_samp_rate), _id);
- this->add_item_tag(i, nitems_written(0), FREQ_KEY, pmt::pmt_from_double(_center_freq), _id);
+ this->add_item_tag(i, nitems_written(0), RATE_KEY, pmt::from_double(_samp_rate), _id);
+ this->add_item_tag(i, nitems_written(0), FREQ_KEY, pmt::from_double(_center_freq), _id);
}
}
break;
diff --git a/gr-utils/python/gr_read_file_metadata b/gr-utils/python/gr_read_file_metadata
index cf0cd5b116..3bc448b04e 100644
--- a/gr-utils/python/gr_read_file_metadata
+++ b/gr-utils/python/gr_read_file_metadata
@@ -40,7 +40,7 @@ def main(filename, detached=False):
# Convert from string to PMT (should be a dictionary)
try:
- header = pmt.pmt_deserialize_str(header_str)
+ header = pmt.deserialize_str(header_str)
except RuntimeError:
sys.stderr.write("Could not deserialize header: invalid or corrupt data file.\n")
sys.exit(1)
@@ -54,7 +54,7 @@ def main(filename, detached=False):
break
try:
- extra = pmt.pmt_deserialize_str(extra_str)
+ extra = pmt.deserialize_str(extra_str)
except RuntimeError:
sys.stderr.write("Could not deserialize extras: invalid or corrupt data file.\n")
sys.exit(1)
diff --git a/gruel/src/include/gruel/msg_passing.h b/gruel/src/include/gruel/msg_passing.h
index 25f30118f7..572507e0f3 100644
--- a/gruel/src/include/gruel/msg_passing.h
+++ b/gruel/src/include/gruel/msg_passing.h
@@ -95,7 +95,7 @@ namespace gruel {
/*!
* \brief send message to msg_accepter
*
- * \param accepter is the target of the send. precond: pmt_is_msg_accepter(accepter)
+ * \param accepter is the target of the send. precond: pmt::is_msg_accepter(accepter)
* \param which_port A pmt symbol describing the port by name.
* \param msg is the message to send. It's usually a pmt tuple.
*
@@ -108,7 +108,7 @@ namespace gruel {
static inline pmt::pmt_t
send(pmt::pmt_t accepter, const pmt::pmt_t &which_port, const pmt::pmt_t &msg)
{
- return send(pmt_msg_accepter_ref(accepter), which_port, msg);
+ return send(pmt::msg_accepter_ref(accepter), which_port, msg);
}
} /* namespace gruel */
diff --git a/gruel/src/include/gruel/pmt.h b/gruel/src/include/gruel/pmt.h
index 383a1d44d0..b4c51ab927 100644
--- a/gruel/src/include/gruel/pmt.h
+++ b/gruel/src/include/gruel/pmt.h
@@ -62,28 +62,28 @@ typedef boost::intrusive_ptr<pmt_base> pmt_t;
extern GRUEL_API void intrusive_ptr_add_ref(pmt_base*);
extern GRUEL_API void intrusive_ptr_release(pmt_base*);
-class GRUEL_API pmt_exception : public std::logic_error
+class GRUEL_API exception : public std::logic_error
{
public:
- pmt_exception(const std::string &msg, pmt_t obj);
+ exception(const std::string &msg, pmt_t obj);
};
-class GRUEL_API pmt_wrong_type : public pmt_exception
+class GRUEL_API wrong_type : public exception
{
public:
- pmt_wrong_type(const std::string &msg, pmt_t obj);
+ wrong_type(const std::string &msg, pmt_t obj);
};
-class GRUEL_API pmt_out_of_range : public pmt_exception
+class GRUEL_API out_of_range : public exception
{
public:
- pmt_out_of_range(const std::string &msg, pmt_t obj);
+ out_of_range(const std::string &msg, pmt_t obj);
};
-class GRUEL_API pmt_notimplemented : public pmt_exception
+class GRUEL_API notimplemented : public exception
{
public:
- pmt_notimplemented(const std::string &msg, pmt_t obj);
+ notimplemented(const std::string &msg, pmt_t obj);
};
/*
@@ -98,20 +98,20 @@ extern GRUEL_API const pmt_t PMT_T; //< \#t : boolean true constant
extern GRUEL_API const pmt_t PMT_F; //< \#f : boolean false constant
//! Return true if obj is \#t or \#f, else return false.
-GRUEL_API bool pmt_is_bool(pmt_t obj);
+GRUEL_API bool is_bool(pmt_t obj);
//! Return false if obj is \#f, else return true.
-GRUEL_API bool pmt_is_true(pmt_t obj);
+GRUEL_API bool is_true(pmt_t obj);
//! Return true if obj is \#f, else return true.
-GRUEL_API bool pmt_is_false(pmt_t obj);
+GRUEL_API bool is_false(pmt_t obj);
//! Return \#f is val is false, else return \#t.
-GRUEL_API pmt_t pmt_from_bool(bool val);
+GRUEL_API pmt_t from_bool(bool val);
-//! Return true if val is PMT_T, return false when val is PMT_F,
+//! Return true if val is pmt::True, return false when val is pmt::PMT_F,
// else raise wrong_type exception.
-GRUEL_API bool pmt_to_bool(pmt_t val);
+GRUEL_API bool to_bool(pmt_t val);
/*
* ------------------------------------------------------------------------
@@ -120,20 +120,20 @@ GRUEL_API bool pmt_to_bool(pmt_t val);
*/
//! Return true if obj is a symbol, else false.
-GRUEL_API bool pmt_is_symbol(const pmt_t& obj);
+GRUEL_API bool is_symbol(const pmt_t& obj);
//! Return the symbol whose name is \p s.
-GRUEL_API pmt_t pmt_string_to_symbol(const std::string &s);
+GRUEL_API pmt_t string_to_symbol(const std::string &s);
//! Alias for pmt_string_to_symbol
-GRUEL_API pmt_t pmt_intern(const std::string &s);
+GRUEL_API pmt_t intern(const std::string &s);
/*!
* If \p is a symbol, return the name of the symbol as a string.
* Otherwise, raise the wrong_type exception.
*/
-GRUEL_API const std::string pmt_symbol_to_string(const pmt_t& sym);
+GRUEL_API const std::string symbol_to_string(const pmt_t& sym);
/*
* ------------------------------------------------------------------------
@@ -142,7 +142,7 @@ GRUEL_API const std::string pmt_symbol_to_string(const pmt_t& sym);
*/
//! Return true if obj is any kind of number, else false.
-GRUEL_API bool pmt_is_number(pmt_t obj);
+GRUEL_API bool is_number(pmt_t obj);
/*
* ------------------------------------------------------------------------
@@ -151,10 +151,10 @@ GRUEL_API bool pmt_is_number(pmt_t obj);
*/
//! Return true if \p x is an integer number, else false
-GRUEL_API bool pmt_is_integer(pmt_t x);
+GRUEL_API bool is_integer(pmt_t x);
//! Return the pmt value that represents the integer \p x.
-GRUEL_API pmt_t pmt_from_long(long x);
+GRUEL_API pmt_t from_long(long x);
/*!
* \brief Convert pmt to long if possible.
@@ -163,7 +163,7 @@ GRUEL_API pmt_t pmt_from_long(long x);
* return that integer. Else raise an exception, either wrong_type
* when x is not an exact integer, or out_of_range when it doesn't fit.
*/
-GRUEL_API long pmt_to_long(pmt_t x);
+GRUEL_API long to_long(pmt_t x);
/*
* ------------------------------------------------------------------------
@@ -172,10 +172,10 @@ GRUEL_API long pmt_to_long(pmt_t x);
*/
//! Return true if \p x is an uint64 number, else false
-GRUEL_API bool pmt_is_uint64(pmt_t x);
+GRUEL_API bool is_uint64(pmt_t x);
//! Return the pmt value that represents the uint64 \p x.
-GRUEL_API pmt_t pmt_from_uint64(uint64_t x);
+GRUEL_API pmt_t from_uint64(uint64_t x);
/*!
* \brief Convert pmt to uint64 if possible.
@@ -184,7 +184,7 @@ GRUEL_API pmt_t pmt_from_uint64(uint64_t x);
* return that uint64. Else raise an exception, either wrong_type
* when x is not an exact uint64, or out_of_range when it doesn't fit.
*/
-GRUEL_API uint64_t pmt_to_uint64(pmt_t x);
+GRUEL_API uint64_t to_uint64(pmt_t x);
/*
* ------------------------------------------------------------------------
@@ -195,10 +195,10 @@ GRUEL_API uint64_t pmt_to_uint64(pmt_t x);
/*
* \brief Return true if \p obj is a real number, else false.
*/
-GRUEL_API bool pmt_is_real(pmt_t obj);
+GRUEL_API bool is_real(pmt_t obj);
//! Return the pmt value that represents double \p x.
-GRUEL_API pmt_t pmt_from_double(double x);
+GRUEL_API pmt_t from_double(double x);
/*!
* \brief Convert pmt to double if possible.
@@ -207,7 +207,7 @@ GRUEL_API pmt_t pmt_from_double(double x);
* as a double. The argument \p val must be a real or integer, otherwise
* a wrong_type exception is raised.
*/
-GRUEL_API double pmt_to_double(pmt_t x);
+GRUEL_API double to_double(pmt_t x);
/*
* ------------------------------------------------------------------------
@@ -218,10 +218,16 @@ GRUEL_API double pmt_to_double(pmt_t x);
/*!
* \brief return true if \p obj is a complex number, false otherwise.
*/
-GRUEL_API bool pmt_is_complex(pmt_t obj);
+GRUEL_API bool is_complex(pmt_t obj);
//! Return a complex number constructed of the given real and imaginary parts.
-GRUEL_API pmt_t pmt_make_rectangular(double re, double im);
+GRUEL_API pmt_t make_rectangular(double re, double im);
+
+//! Return a complex number constructed of the given real and imaginary parts.
+GRUEL_API pmt_t from_complex(double re, double im);
+
+//! Return a complex number constructed of the given a complex number.
+GRUEL_API pmt_t from_complex(const std::complex<double> &z);
//! Return a complex number constructed of the given real and imaginary parts.
GRUEL_API pmt_t pmt_from_complex(double re, double im);
@@ -233,7 +239,7 @@ GRUEL_API pmt_t pmt_from_complex(const std::complex<double> &z);
* If \p z is complex, real or integer, return the closest complex<double>.
* Otherwise, raise the wrong_type exception.
*/
-GRUEL_API std::complex<double> pmt_to_complex(pmt_t z);
+GRUEL_API std::complex<double> to_complex(pmt_t z);
/*
* ------------------------------------------------------------------------
@@ -244,32 +250,32 @@ GRUEL_API std::complex<double> pmt_to_complex(pmt_t z);
extern GRUEL_API const pmt_t PMT_NIL; //< the empty list
//! Return true if \p x is the empty list, otherwise return false.
-GRUEL_API bool pmt_is_null(const pmt_t& x);
+GRUEL_API bool is_null(const pmt_t& x);
//! Return true if \p obj is a pair, else false.
-GRUEL_API bool pmt_is_pair(const pmt_t& obj);
+GRUEL_API bool is_pair(const pmt_t& obj);
//! Return a newly allocated pair whose car is \p x and whose cdr is \p y.
-GRUEL_API pmt_t pmt_cons(const pmt_t& x, const pmt_t& y);
+GRUEL_API pmt_t cons(const pmt_t& x, const pmt_t& y);
//! If \p pair is a pair, return the car of the \p pair, otherwise raise wrong_type.
-GRUEL_API pmt_t pmt_car(const pmt_t& pair);
+GRUEL_API pmt_t car(const pmt_t& pair);
//! If \p pair is a pair, return the cdr of the \p pair, otherwise raise wrong_type.
-GRUEL_API pmt_t pmt_cdr(const pmt_t& pair);
+GRUEL_API pmt_t cdr(const pmt_t& pair);
//! Stores \p value in the car field of \p pair.
-GRUEL_API void pmt_set_car(pmt_t pair, pmt_t value);
+GRUEL_API void set_car(pmt_t pair, pmt_t value);
//! Stores \p value in the cdr field of \p pair.
-GRUEL_API void pmt_set_cdr(pmt_t pair, pmt_t value);
+GRUEL_API void set_cdr(pmt_t pair, pmt_t value);
-GRUEL_API pmt_t pmt_caar(pmt_t pair);
-GRUEL_API pmt_t pmt_cadr(pmt_t pair);
-GRUEL_API pmt_t pmt_cdar(pmt_t pair);
-GRUEL_API pmt_t pmt_cddr(pmt_t pair);
-GRUEL_API pmt_t pmt_caddr(pmt_t pair);
-GRUEL_API pmt_t pmt_cadddr(pmt_t pair);
+GRUEL_API pmt_t caar(pmt_t pair);
+GRUEL_API pmt_t cadr(pmt_t pair);
+GRUEL_API pmt_t cdar(pmt_t pair);
+GRUEL_API pmt_t cddr(pmt_t pair);
+GRUEL_API pmt_t caddr(pmt_t pair);
+GRUEL_API pmt_t cadddr(pmt_t pair);
/*
* ------------------------------------------------------------------------
@@ -282,30 +288,30 @@ GRUEL_API pmt_t pmt_cadddr(pmt_t pair);
*/
//! Return true if \p x is a tuple, othewise false.
-GRUEL_API bool pmt_is_tuple(pmt_t x);
+GRUEL_API bool is_tuple(pmt_t x);
-GRUEL_API pmt_t pmt_make_tuple();
-GRUEL_API pmt_t pmt_make_tuple(const pmt_t &e0);
-GRUEL_API pmt_t pmt_make_tuple(const pmt_t &e0, const pmt_t &e1);
-GRUEL_API pmt_t pmt_make_tuple(const pmt_t &e0, const pmt_t &e1, const pmt_t &e2);
-GRUEL_API pmt_t pmt_make_tuple(const pmt_t &e0, const pmt_t &e1, const pmt_t &e2, const pmt_t &e3);
-GRUEL_API pmt_t pmt_make_tuple(const pmt_t &e0, const pmt_t &e1, const pmt_t &e2, const pmt_t &e3, const pmt_t &e4);
-GRUEL_API pmt_t pmt_make_tuple(const pmt_t &e0, const pmt_t &e1, const pmt_t &e2, const pmt_t &e3, const pmt_t &e4, const pmt_t &e5);
-GRUEL_API pmt_t pmt_make_tuple(const pmt_t &e0, const pmt_t &e1, const pmt_t &e2, const pmt_t &e3, const pmt_t &e4, const pmt_t &e5, const pmt_t &e6);
-GRUEL_API pmt_t pmt_make_tuple(const pmt_t &e0, const pmt_t &e1, const pmt_t &e2, const pmt_t &e3, const pmt_t &e4, const pmt_t &e5, const pmt_t &e6, const pmt_t &e7);
-GRUEL_API pmt_t pmt_make_tuple(const pmt_t &e0, const pmt_t &e1, const pmt_t &e2, const pmt_t &e3, const pmt_t &e4, const pmt_t &e5, const pmt_t &e6, const pmt_t &e7, const pmt_t &e8);
-GRUEL_API pmt_t pmt_make_tuple(const pmt_t &e0, const pmt_t &e1, const pmt_t &e2, const pmt_t &e3, const pmt_t &e4, const pmt_t &e5, const pmt_t &e6, const pmt_t &e7, const pmt_t &e8, const pmt_t &e9);
+GRUEL_API pmt_t make_tuple();
+GRUEL_API pmt_t make_tuple(const pmt_t &e0);
+GRUEL_API pmt_t make_tuple(const pmt_t &e0, const pmt_t &e1);
+GRUEL_API pmt_t make_tuple(const pmt_t &e0, const pmt_t &e1, const pmt_t &e2);
+GRUEL_API pmt_t make_tuple(const pmt_t &e0, const pmt_t &e1, const pmt_t &e2, const pmt_t &e3);
+GRUEL_API pmt_t make_tuple(const pmt_t &e0, const pmt_t &e1, const pmt_t &e2, const pmt_t &e3, const pmt_t &e4);
+GRUEL_API pmt_t make_tuple(const pmt_t &e0, const pmt_t &e1, const pmt_t &e2, const pmt_t &e3, const pmt_t &e4, const pmt_t &e5);
+GRUEL_API pmt_t make_tuple(const pmt_t &e0, const pmt_t &e1, const pmt_t &e2, const pmt_t &e3, const pmt_t &e4, const pmt_t &e5, const pmt_t &e6);
+GRUEL_API pmt_t make_tuple(const pmt_t &e0, const pmt_t &e1, const pmt_t &e2, const pmt_t &e3, const pmt_t &e4, const pmt_t &e5, const pmt_t &e6, const pmt_t &e7);
+GRUEL_API pmt_t make_tuple(const pmt_t &e0, const pmt_t &e1, const pmt_t &e2, const pmt_t &e3, const pmt_t &e4, const pmt_t &e5, const pmt_t &e6, const pmt_t &e7, const pmt_t &e8);
+GRUEL_API pmt_t make_tuple(const pmt_t &e0, const pmt_t &e1, const pmt_t &e2, const pmt_t &e3, const pmt_t &e4, const pmt_t &e5, const pmt_t &e6, const pmt_t &e7, const pmt_t &e8, const pmt_t &e9);
/*!
* If \p x is a vector or proper list, return a tuple containing the elements of x
*/
-GRUEL_API pmt_t pmt_to_tuple(const pmt_t &x);
+GRUEL_API pmt_t to_tuple(const pmt_t &x);
/*!
* Return the contents of position \p k of \p tuple.
* \p k must be a valid index of \p tuple.
*/
-GRUEL_API pmt_t pmt_tuple_ref(const pmt_t &tuple, size_t k);
+GRUEL_API pmt_t tuple_ref(const pmt_t &tuple, size_t k);
/*
* ------------------------------------------------------------------------
@@ -316,22 +322,22 @@ GRUEL_API pmt_t pmt_tuple_ref(const pmt_t &tuple, size_t k);
*/
//! Return true if \p x is a vector, othewise false.
-GRUEL_API bool pmt_is_vector(pmt_t x);
+GRUEL_API bool is_vector(pmt_t x);
//! Make a vector of length \p k, with initial values set to \p fill
-GRUEL_API pmt_t pmt_make_vector(size_t k, pmt_t fill);
+GRUEL_API pmt_t make_vector(size_t k, pmt_t fill);
/*!
* Return the contents of position \p k of \p vector.
* \p k must be a valid index of \p vector.
*/
-GRUEL_API pmt_t pmt_vector_ref(pmt_t vector, size_t k);
+GRUEL_API pmt_t vector_ref(pmt_t vector, size_t k);
//! Store \p obj in position \p k.
-GRUEL_API void pmt_vector_set(pmt_t vector, size_t k, pmt_t obj);
+GRUEL_API void vector_set(pmt_t vector, size_t k, pmt_t obj);
//! Store \p fill in every position of \p vector
-GRUEL_API void pmt_vector_fill(pmt_t vector, pmt_t fill);
+GRUEL_API void vector_fill(pmt_t vector, pmt_t fill);
/*
* ------------------------------------------------------------------------
@@ -342,7 +348,7 @@ GRUEL_API void pmt_vector_fill(pmt_t vector, pmt_t fill);
*/
//! Return true if \p x is a blob, othewise false.
-GRUEL_API bool pmt_is_blob(pmt_t x);
+GRUEL_API bool is_blob(pmt_t x);
/*!
* \brief Make a blob given a pointer and length in bytes
@@ -352,13 +358,13 @@ GRUEL_API bool pmt_is_blob(pmt_t x);
*
* The data is copied into the blob.
*/
-GRUEL_API pmt_t pmt_make_blob(const void *buf, size_t len);
+GRUEL_API pmt_t make_blob(const void *buf, size_t len);
//! Return a pointer to the blob's data
-GRUEL_API const void *pmt_blob_data(pmt_t blob);
+GRUEL_API const void *blob_data(pmt_t blob);
//! Return the blob's length in bytes
-GRUEL_API size_t pmt_blob_length(pmt_t blob);
+GRUEL_API size_t blob_length(pmt_t blob);
/*!
* <pre>
@@ -390,101 +396,115 @@ GRUEL_API size_t pmt_blob_length(pmt_t blob);
*/
//! true if \p x is any kind of uniform numeric vector
-GRUEL_API bool pmt_is_uniform_vector(pmt_t x);
-
-GRUEL_API bool pmt_is_u8vector(pmt_t x);
-GRUEL_API bool pmt_is_s8vector(pmt_t x);
-GRUEL_API bool pmt_is_u16vector(pmt_t x);
-GRUEL_API bool pmt_is_s16vector(pmt_t x);
-GRUEL_API bool pmt_is_u32vector(pmt_t x);
-GRUEL_API bool pmt_is_s32vector(pmt_t x);
-GRUEL_API bool pmt_is_u64vector(pmt_t x);
-GRUEL_API bool pmt_is_s64vector(pmt_t x);
-GRUEL_API bool pmt_is_f32vector(pmt_t x);
-GRUEL_API bool pmt_is_f64vector(pmt_t x);
-GRUEL_API bool pmt_is_c32vector(pmt_t x);
-GRUEL_API bool pmt_is_c64vector(pmt_t x);
-
-GRUEL_API pmt_t pmt_make_u8vector(size_t k, uint8_t fill);
-GRUEL_API pmt_t pmt_make_s8vector(size_t k, int8_t fill);
-GRUEL_API pmt_t pmt_make_u16vector(size_t k, uint16_t fill);
-GRUEL_API pmt_t pmt_make_s16vector(size_t k, int16_t fill);
-GRUEL_API pmt_t pmt_make_u32vector(size_t k, uint32_t fill);
-GRUEL_API pmt_t pmt_make_s32vector(size_t k, int32_t fill);
-GRUEL_API pmt_t pmt_make_u64vector(size_t k, uint64_t fill);
-GRUEL_API pmt_t pmt_make_s64vector(size_t k, int64_t fill);
-GRUEL_API pmt_t pmt_make_f32vector(size_t k, float fill);
-GRUEL_API pmt_t pmt_make_f64vector(size_t k, double fill);
-GRUEL_API pmt_t pmt_make_c32vector(size_t k, std::complex<float> fill);
-GRUEL_API pmt_t pmt_make_c64vector(size_t k, std::complex<double> fill);
-
-GRUEL_API pmt_t pmt_init_u8vector(size_t k, const uint8_t *data);
-GRUEL_API pmt_t pmt_init_u8vector(size_t k, const std::vector<uint8_t> &data);
-GRUEL_API pmt_t pmt_init_s8vector(size_t k, const int8_t *data);
-GRUEL_API pmt_t pmt_init_s8vector(size_t k, const std::vector<int8_t> &data);
-GRUEL_API pmt_t pmt_init_u16vector(size_t k, const uint16_t *data);
-GRUEL_API pmt_t pmt_init_u16vector(size_t k, const std::vector<uint16_t> &data);
-GRUEL_API pmt_t pmt_init_s16vector(size_t k, const int16_t *data);
-GRUEL_API pmt_t pmt_init_s16vector(size_t k, const std::vector<int16_t> &data);
-GRUEL_API pmt_t pmt_init_u32vector(size_t k, const uint32_t *data);
-GRUEL_API pmt_t pmt_init_u32vector(size_t k, const std::vector<uint32_t> &data);
-GRUEL_API pmt_t pmt_init_s32vector(size_t k, const int32_t *data);
-GRUEL_API pmt_t pmt_init_s32vector(size_t k, const std::vector<int32_t> &data);
-GRUEL_API pmt_t pmt_init_u64vector(size_t k, const uint64_t *data);
-GRUEL_API pmt_t pmt_init_u64vector(size_t k, const std::vector<uint64_t> &data);
-GRUEL_API pmt_t pmt_init_s64vector(size_t k, const int64_t *data);
-GRUEL_API pmt_t pmt_init_s64vector(size_t k, const std::vector<int64_t> &data);
-GRUEL_API pmt_t pmt_init_f32vector(size_t k, const float *data);
-GRUEL_API pmt_t pmt_init_f32vector(size_t k, const std::vector<float> &data);
-GRUEL_API pmt_t pmt_init_f64vector(size_t k, const double *data);
-GRUEL_API pmt_t pmt_init_f64vector(size_t k, const std::vector<double> &data);
-GRUEL_API pmt_t pmt_init_c32vector(size_t k, const std::complex<float> *data);
-GRUEL_API pmt_t pmt_init_c32vector(size_t k, const std::vector<std::complex<float> > &data);
-GRUEL_API pmt_t pmt_init_c64vector(size_t k, const std::complex<double> *data);
-GRUEL_API pmt_t pmt_init_c64vector(size_t k, const std::vector<std::complex<double> > &data);
-
-GRUEL_API uint8_t pmt_u8vector_ref(pmt_t v, size_t k);
-GRUEL_API int8_t pmt_s8vector_ref(pmt_t v, size_t k);
-GRUEL_API uint16_t pmt_u16vector_ref(pmt_t v, size_t k);
-GRUEL_API int16_t pmt_s16vector_ref(pmt_t v, size_t k);
-GRUEL_API uint32_t pmt_u32vector_ref(pmt_t v, size_t k);
-GRUEL_API int32_t pmt_s32vector_ref(pmt_t v, size_t k);
-GRUEL_API uint64_t pmt_u64vector_ref(pmt_t v, size_t k);
-GRUEL_API int64_t pmt_s64vector_ref(pmt_t v, size_t k);
-GRUEL_API float pmt_f32vector_ref(pmt_t v, size_t k);
-GRUEL_API double pmt_f64vector_ref(pmt_t v, size_t k);
-GRUEL_API std::complex<float> pmt_c32vector_ref(pmt_t v, size_t k);
-GRUEL_API std::complex<double> pmt_c64vector_ref(pmt_t v, size_t k);
-
-GRUEL_API void pmt_u8vector_set(pmt_t v, size_t k, uint8_t x); //< v[k] = x
-GRUEL_API void pmt_s8vector_set(pmt_t v, size_t k, int8_t x);
-GRUEL_API void pmt_u16vector_set(pmt_t v, size_t k, uint16_t x);
-GRUEL_API void pmt_s16vector_set(pmt_t v, size_t k, int16_t x);
-GRUEL_API void pmt_u32vector_set(pmt_t v, size_t k, uint32_t x);
-GRUEL_API void pmt_s32vector_set(pmt_t v, size_t k, int32_t x);
-GRUEL_API void pmt_u64vector_set(pmt_t v, size_t k, uint64_t x);
-GRUEL_API void pmt_s64vector_set(pmt_t v, size_t k, int64_t x);
-GRUEL_API void pmt_f32vector_set(pmt_t v, size_t k, float x);
-GRUEL_API void pmt_f64vector_set(pmt_t v, size_t k, double x);
-GRUEL_API void pmt_c32vector_set(pmt_t v, size_t k, std::complex<float> x);
-GRUEL_API void pmt_c64vector_set(pmt_t v, size_t k, std::complex<double> x);
+GRUEL_API bool is_uniform_vector(pmt_t x);
+
+GRUEL_API bool is_u8vector(pmt_t x);
+GRUEL_API bool is_s8vector(pmt_t x);
+GRUEL_API bool is_u16vector(pmt_t x);
+GRUEL_API bool is_s16vector(pmt_t x);
+GRUEL_API bool is_u32vector(pmt_t x);
+GRUEL_API bool is_s32vector(pmt_t x);
+GRUEL_API bool is_u64vector(pmt_t x);
+GRUEL_API bool is_s64vector(pmt_t x);
+GRUEL_API bool is_f32vector(pmt_t x);
+GRUEL_API bool is_f64vector(pmt_t x);
+GRUEL_API bool is_c32vector(pmt_t x);
+GRUEL_API bool is_c64vector(pmt_t x);
+
+GRUEL_API pmt_t make_u8vector(size_t k, uint8_t fill);
+GRUEL_API pmt_t make_s8vector(size_t k, int8_t fill);
+GRUEL_API pmt_t make_u16vector(size_t k, uint16_t fill);
+GRUEL_API pmt_t make_s16vector(size_t k, int16_t fill);
+GRUEL_API pmt_t make_u32vector(size_t k, uint32_t fill);
+GRUEL_API pmt_t make_s32vector(size_t k, int32_t fill);
+GRUEL_API pmt_t make_u64vector(size_t k, uint64_t fill);
+GRUEL_API pmt_t make_s64vector(size_t k, int64_t fill);
+GRUEL_API pmt_t make_f32vector(size_t k, float fill);
+GRUEL_API pmt_t make_f64vector(size_t k, double fill);
+GRUEL_API pmt_t make_c32vector(size_t k, std::complex<float> fill);
+GRUEL_API pmt_t make_c64vector(size_t k, std::complex<double> fill);
+
+GRUEL_API pmt_t init_u8vector(size_t k, const uint8_t *data);
+GRUEL_API pmt_t init_u8vector(size_t k, const std::vector<uint8_t> &data);
+GRUEL_API pmt_t init_s8vector(size_t k, const int8_t *data);
+GRUEL_API pmt_t init_s8vector(size_t k, const std::vector<int8_t> &data);
+GRUEL_API pmt_t init_u16vector(size_t k, const uint16_t *data);
+GRUEL_API pmt_t init_u16vector(size_t k, const std::vector<uint16_t> &data);
+GRUEL_API pmt_t init_s16vector(size_t k, const int16_t *data);
+GRUEL_API pmt_t init_s16vector(size_t k, const std::vector<int16_t> &data);
+GRUEL_API pmt_t init_u32vector(size_t k, const uint32_t *data);
+GRUEL_API pmt_t init_u32vector(size_t k, const std::vector<uint32_t> &data);
+GRUEL_API pmt_t init_s32vector(size_t k, const int32_t *data);
+GRUEL_API pmt_t init_s32vector(size_t k, const std::vector<int32_t> &data);
+GRUEL_API pmt_t init_u64vector(size_t k, const uint64_t *data);
+GRUEL_API pmt_t init_u64vector(size_t k, const std::vector<uint64_t> &data);
+GRUEL_API pmt_t init_s64vector(size_t k, const int64_t *data);
+GRUEL_API pmt_t init_s64vector(size_t k, const std::vector<int64_t> &data);
+GRUEL_API pmt_t init_f32vector(size_t k, const float *data);
+GRUEL_API pmt_t init_f32vector(size_t k, const std::vector<float> &data);
+GRUEL_API pmt_t init_f64vector(size_t k, const double *data);
+GRUEL_API pmt_t init_f64vector(size_t k, const std::vector<double> &data);
+GRUEL_API pmt_t init_c32vector(size_t k, const std::complex<float> *data);
+GRUEL_API pmt_t init_c32vector(size_t k, const std::vector<std::complex<float> > &data);
+GRUEL_API pmt_t init_c64vector(size_t k, const std::complex<double> *data);
+GRUEL_API pmt_t init_c64vector(size_t k, const std::vector<std::complex<double> > &data);
+
+GRUEL_API uint8_t u8vector_ref(pmt_t v, size_t k);
+GRUEL_API int8_t s8vector_ref(pmt_t v, size_t k);
+GRUEL_API uint16_t u16vector_ref(pmt_t v, size_t k);
+GRUEL_API int16_t s16vector_ref(pmt_t v, size_t k);
+GRUEL_API uint32_t u32vector_ref(pmt_t v, size_t k);
+GRUEL_API int32_t s32vector_ref(pmt_t v, size_t k);
+GRUEL_API uint64_t u64vector_ref(pmt_t v, size_t k);
+GRUEL_API int64_t s64vector_ref(pmt_t v, size_t k);
+GRUEL_API float f32vector_ref(pmt_t v, size_t k);
+GRUEL_API double f64vector_ref(pmt_t v, size_t k);
+GRUEL_API std::complex<float> c32vector_ref(pmt_t v, size_t k);
+GRUEL_API std::complex<double> c64vector_ref(pmt_t v, size_t k);
+
+GRUEL_API void u8vector_set(pmt_t v, size_t k, uint8_t x); //< v[k] = x
+GRUEL_API void s8vector_set(pmt_t v, size_t k, int8_t x);
+GRUEL_API void u16vector_set(pmt_t v, size_t k, uint16_t x);
+GRUEL_API void s16vector_set(pmt_t v, size_t k, int16_t x);
+GRUEL_API void u32vector_set(pmt_t v, size_t k, uint32_t x);
+GRUEL_API void s32vector_set(pmt_t v, size_t k, int32_t x);
+GRUEL_API void u64vector_set(pmt_t v, size_t k, uint64_t x);
+GRUEL_API void s64vector_set(pmt_t v, size_t k, int64_t x);
+GRUEL_API void f32vector_set(pmt_t v, size_t k, float x);
+GRUEL_API void f64vector_set(pmt_t v, size_t k, double x);
+GRUEL_API void c32vector_set(pmt_t v, size_t k, std::complex<float> x);
+GRUEL_API void c64vector_set(pmt_t v, size_t k, std::complex<double> x);
// Return const pointers to the elements
-GRUEL_API const void *pmt_uniform_vector_elements(pmt_t v, size_t &len); //< works with any; len is in bytes
-
-GRUEL_API const uint8_t *pmt_u8vector_elements(pmt_t v, size_t &len); //< len is in elements
-GRUEL_API const int8_t *pmt_s8vector_elements(pmt_t v, size_t &len); //< len is in elements
-GRUEL_API const uint16_t *pmt_u16vector_elements(pmt_t v, size_t &len); //< len is in elements
-GRUEL_API const int16_t *pmt_s16vector_elements(pmt_t v, size_t &len); //< len is in elements
-GRUEL_API const uint32_t *pmt_u32vector_elements(pmt_t v, size_t &len); //< len is in elements
-GRUEL_API const int32_t *pmt_s32vector_elements(pmt_t v, size_t &len); //< len is in elements
-GRUEL_API const uint64_t *pmt_u64vector_elements(pmt_t v, size_t &len); //< len is in elements
-GRUEL_API const int64_t *pmt_s64vector_elements(pmt_t v, size_t &len); //< len is in elements
-GRUEL_API const float *pmt_f32vector_elements(pmt_t v, size_t &len); //< len is in elements
-GRUEL_API const double *pmt_f64vector_elements(pmt_t v, size_t &len); //< len is in elements
-GRUEL_API const std::complex<float> *pmt_c32vector_elements(pmt_t v, size_t &len); //< len is in elements
-GRUEL_API const std::complex<double> *pmt_c64vector_elements(pmt_t v, size_t &len); //< len is in elements
+GRUEL_API const void *uniform_vector_elements(pmt_t v, size_t &len); //< works with any; len is in bytes
+
+GRUEL_API const uint8_t *u8vector_elements(pmt_t v, size_t &len); //< len is in elements
+GRUEL_API const int8_t *s8vector_elements(pmt_t v, size_t &len); //< len is in elements
+GRUEL_API const uint16_t *u16vector_elements(pmt_t v, size_t &len); //< len is in elements
+GRUEL_API const int16_t *s16vector_elements(pmt_t v, size_t &len); //< len is in elements
+GRUEL_API const uint32_t *u32vector_elements(pmt_t v, size_t &len); //< len is in elements
+GRUEL_API const int32_t *s32vector_elements(pmt_t v, size_t &len); //< len is in elements
+GRUEL_API const uint64_t *u64vector_elements(pmt_t v, size_t &len); //< len is in elements
+GRUEL_API const int64_t *s64vector_elements(pmt_t v, size_t &len); //< len is in elements
+GRUEL_API const float *f32vector_elements(pmt_t v, size_t &len); //< len is in elements
+GRUEL_API const double *f64vector_elements(pmt_t v, size_t &len); //< len is in elements
+GRUEL_API const std::complex<float> *c32vector_elements(pmt_t v, size_t &len); //< len is in elements
+GRUEL_API const std::complex<double> *c64vector_elements(pmt_t v, size_t &len); //< len is in elements
+
+// len is in elements
+GRUEL_API const std::vector<uint8_t> u8vector_elements(pmt_t v);
+GRUEL_API const std::vector<int8_t> s8vector_elements(pmt_t v);
+GRUEL_API const std::vector<uint16_t> u16vector_elements(pmt_t v);
+GRUEL_API const std::vector<int16_t> s16vector_elements(pmt_t v);
+GRUEL_API const std::vector<uint32_t> u32vector_elements(pmt_t v);
+GRUEL_API const std::vector<int32_t> s32vector_elements(pmt_t v);
+GRUEL_API const std::vector<uint64_t> u64vector_elements(pmt_t v);
+GRUEL_API const std::vector<int64_t> s64vector_elements(pmt_t v);
+GRUEL_API const std::vector<float> f32vector_elements(pmt_t v);
+GRUEL_API const std::vector<double> f64vector_elements(pmt_t v);
+GRUEL_API const std::vector<std::complex<float> > c32vector_elements(pmt_t v);
+GRUEL_API const std::vector<std::complex<double> > c64vector_elements(pmt_t v);
// len is in elements
GRUEL_API const std::vector<uint8_t> pmt_u8vector_elements(pmt_t v);
@@ -502,20 +522,20 @@ GRUEL_API const std::vector<std::complex<double> > pmt_c64vector_elements(pmt_t
// Return non-const pointers to the elements
-GRUEL_API void *pmt_uniform_vector_writable_elements(pmt_t v, size_t &len); //< works with any; len is in bytes
-
-GRUEL_API uint8_t *pmt_u8vector_writable_elements(pmt_t v, size_t &len); //< len is in elements
-GRUEL_API int8_t *pmt_s8vector_writable_elements(pmt_t v, size_t &len); //< len is in elements
-GRUEL_API uint16_t *pmt_u16vector_writable_elements(pmt_t v, size_t &len); //< len is in elements
-GRUEL_API int16_t *pmt_s16vector_writable_elements(pmt_t v, size_t &len); //< len is in elements
-GRUEL_API uint32_t *pmt_u32vector_writable_elements(pmt_t v, size_t &len); //< len is in elements
-GRUEL_API int32_t *pmt_s32vector_writable_elements(pmt_t v, size_t &len); //< len is in elements
-GRUEL_API uint64_t *pmt_u64vector_writable_elements(pmt_t v, size_t &len); //< len is in elements
-GRUEL_API int64_t *pmt_s64vector_writable_elements(pmt_t v, size_t &len); //< len is in elements
-GRUEL_API float *pmt_f32vector_writable_elements(pmt_t v, size_t &len); //< len is in elements
-GRUEL_API double *pmt_f64vector_writable_elements(pmt_t v, size_t &len); //< len is in elements
-GRUEL_API std::complex<float> *pmt_c32vector_writable_elements(pmt_t v, size_t &len); //< len is in elements
-GRUEL_API std::complex<double> *pmt_c64vector_writable_elements(pmt_t v, size_t &len); //< len is in elements
+GRUEL_API void *uniform_vector_writable_elements(pmt_t v, size_t &len); //< works with any; len is in bytes
+
+GRUEL_API uint8_t *u8vector_writable_elements(pmt_t v, size_t &len); //< len is in elements
+GRUEL_API int8_t *s8vector_writable_elements(pmt_t v, size_t &len); //< len is in elements
+GRUEL_API uint16_t *u16vector_writable_elements(pmt_t v, size_t &len); //< len is in elements
+GRUEL_API int16_t *s16vector_writable_elements(pmt_t v, size_t &len); //< len is in elements
+GRUEL_API uint32_t *u32vector_writable_elements(pmt_t v, size_t &len); //< len is in elements
+GRUEL_API int32_t *s32vector_writable_elements(pmt_t v, size_t &len); //< len is in elements
+GRUEL_API uint64_t *u64vector_writable_elements(pmt_t v, size_t &len); //< len is in elements
+GRUEL_API int64_t *s64vector_writable_elements(pmt_t v, size_t &len); //< len is in elements
+GRUEL_API float *f32vector_writable_elements(pmt_t v, size_t &len); //< len is in elements
+GRUEL_API double *f64vector_writable_elements(pmt_t v, size_t &len); //< len is in elements
+GRUEL_API std::complex<float> *c32vector_writable_elements(pmt_t v, size_t &len); //< len is in elements
+GRUEL_API std::complex<double> *c64vector_writable_elements(pmt_t v, size_t &len); //< len is in elements
/*
* ------------------------------------------------------------------------
@@ -528,31 +548,31 @@ GRUEL_API std::complex<double> *pmt_c64vector_writable_elements(pmt_t v, size_t
*/
//! Return true if \p obj is a dictionary
-GRUEL_API bool pmt_is_dict(const pmt_t &obj);
+GRUEL_API bool is_dict(const pmt_t &obj);
//! Make an empty dictionary
-GRUEL_API pmt_t pmt_make_dict();
+GRUEL_API pmt_t make_dict();
//! Return a new dictionary with \p key associated with \p value.
-GRUEL_API pmt_t pmt_dict_add(const pmt_t &dict, const pmt_t &key, const pmt_t &value);
+GRUEL_API pmt_t dict_add(const pmt_t &dict, const pmt_t &key, const pmt_t &value);
//! Return a new dictionary with \p key removed.
-GRUEL_API pmt_t pmt_dict_delete(const pmt_t &dict, const pmt_t &key);
+GRUEL_API pmt_t dict_delete(const pmt_t &dict, const pmt_t &key);
//! Return true if \p key exists in \p dict
-GRUEL_API bool pmt_dict_has_key(const pmt_t &dict, const pmt_t &key);
+GRUEL_API bool dict_has_key(const pmt_t &dict, const pmt_t &key);
//! If \p key exists in \p dict, return associated value; otherwise return \p not_found.
-GRUEL_API pmt_t pmt_dict_ref(const pmt_t &dict, const pmt_t &key, const pmt_t &not_found);
+GRUEL_API pmt_t dict_ref(const pmt_t &dict, const pmt_t &key, const pmt_t &not_found);
//! Return list of (key . value) pairs
-GRUEL_API pmt_t pmt_dict_items(pmt_t dict);
+GRUEL_API pmt_t dict_items(pmt_t dict);
//! Return list of keys
-GRUEL_API pmt_t pmt_dict_keys(pmt_t dict);
+GRUEL_API pmt_t dict_keys(pmt_t dict);
//! Return list of values
-GRUEL_API pmt_t pmt_dict_values(pmt_t dict);
+GRUEL_API pmt_t dict_values(pmt_t dict);
/*
* ------------------------------------------------------------------------
@@ -564,16 +584,16 @@ GRUEL_API pmt_t pmt_dict_values(pmt_t dict);
*/
//! Return true if \p obj is an any
-GRUEL_API bool pmt_is_any(pmt_t obj);
+GRUEL_API bool is_any(pmt_t obj);
//! make an any
-GRUEL_API pmt_t pmt_make_any(const boost::any &any);
+GRUEL_API pmt_t make_any(const boost::any &any);
//! Return underlying boost::any
-GRUEL_API boost::any pmt_any_ref(pmt_t obj);
+GRUEL_API boost::any any_ref(pmt_t obj);
//! Store \p any in \p obj
-GRUEL_API void pmt_any_set(pmt_t obj, const boost::any &any);
+GRUEL_API void any_set(pmt_t obj, const boost::any &any);
/*
@@ -582,13 +602,13 @@ GRUEL_API void pmt_any_set(pmt_t obj, const boost::any &any);
* ------------------------------------------------------------------------
*/
//! Return true if \p obj is a msg_accepter
-GRUEL_API bool pmt_is_msg_accepter(const pmt_t &obj);
+GRUEL_API bool is_msg_accepter(const pmt_t &obj);
//! make a msg_accepter
-GRUEL_API pmt_t pmt_make_msg_accepter(boost::shared_ptr<gruel::msg_accepter> ma);
+GRUEL_API pmt_t make_msg_accepter(boost::shared_ptr<gruel::msg_accepter> ma);
//! Return underlying msg_accepter
-GRUEL_API boost::shared_ptr<gruel::msg_accepter> pmt_msg_accepter_ref(const pmt_t &obj);
+GRUEL_API boost::shared_ptr<gruel::msg_accepter> msg_accepter_ref(const pmt_t &obj);
/*
* ------------------------------------------------------------------------
@@ -597,7 +617,7 @@ GRUEL_API boost::shared_ptr<gruel::msg_accepter> pmt_msg_accepter_ref(const pmt_
*/
//! Return true if x and y are the same object; otherwise return false.
-GRUEL_API bool pmt_eq(const pmt_t& x, const pmt_t& y);
+GRUEL_API bool eq(const pmt_t& x, const pmt_t& y);
/*!
* \brief Return true if x and y should normally be regarded as the same object, else false.
@@ -612,19 +632,19 @@ GRUEL_API bool pmt_eq(const pmt_t& x, const pmt_t& y);
* x and y are pairs or vectors that denote same location in store.
* </pre>
*/
-GRUEL_API bool pmt_eqv(const pmt_t& x, const pmt_t& y);
+GRUEL_API bool eqv(const pmt_t& x, const pmt_t& y);
/*!
- * pmt_equal recursively compares the contents of pairs and vectors,
- * applying pmt_eqv on other objects such as numbers and symbols.
- * pmt_equal may fail to terminate if its arguments are circular data
+ * pmt::equal recursively compares the contents of pairs and vectors,
+ * applying pmt::eqv on other objects such as numbers and symbols.
+ * pmt::equal may fail to terminate if its arguments are circular data
* structures.
*/
-GRUEL_API bool pmt_equal(const pmt_t& x, const pmt_t& y);
+GRUEL_API bool equal(const pmt_t& x, const pmt_t& y);
//! Return the number of elements in v
-GRUEL_API size_t pmt_length(const pmt_t& v);
+GRUEL_API size_t length(const pmt_t& v);
/*!
* \brief Find the first pair in \p alist whose car field is \p obj
@@ -632,9 +652,9 @@ GRUEL_API size_t pmt_length(const pmt_t& v);
*
* \p alist (for "association list") must be a list of pairs. If no pair
* in \p alist has \p obj as its car then \#f is returned.
- * Uses pmt_eq to compare \p obj with car fields of the pairs in \p alist.
+ * Uses pmt::eq to compare \p obj with car fields of the pairs in \p alist.
*/
-GRUEL_API pmt_t pmt_assq(pmt_t obj, pmt_t alist);
+GRUEL_API pmt_t assq(pmt_t obj, pmt_t alist);
/*!
* \brief Find the first pair in \p alist whose car field is \p obj
@@ -642,9 +662,9 @@ GRUEL_API pmt_t pmt_assq(pmt_t obj, pmt_t alist);
*
* \p alist (for "association list") must be a list of pairs. If no pair
* in \p alist has \p obj as its car then \#f is returned.
- * Uses pmt_eqv to compare \p obj with car fields of the pairs in \p alist.
+ * Uses pmt::eqv to compare \p obj with car fields of the pairs in \p alist.
*/
-GRUEL_API pmt_t pmt_assv(pmt_t obj, pmt_t alist);
+GRUEL_API pmt_t assv(pmt_t obj, pmt_t alist);
/*!
* \brief Find the first pair in \p alist whose car field is \p obj
@@ -652,9 +672,9 @@ GRUEL_API pmt_t pmt_assv(pmt_t obj, pmt_t alist);
*
* \p alist (for "association list") must be a list of pairs. If no pair
* in \p alist has \p obj as its car then \#f is returned.
- * Uses pmt_equal to compare \p obj with car fields of the pairs in \p alist.
+ * Uses pmt::equal to compare \p obj with car fields of the pairs in \p alist.
*/
-GRUEL_API pmt_t pmt_assoc(pmt_t obj, pmt_t alist);
+GRUEL_API pmt_t assoc(pmt_t obj, pmt_t alist);
/*!
* \brief Apply \p proc element-wise to the elements of list and returns
@@ -663,114 +683,114 @@ GRUEL_API pmt_t pmt_assoc(pmt_t obj, pmt_t alist);
* \p list must be a list. The dynamic order in which \p proc is
* applied to the elements of \p list is unspecified.
*/
-GRUEL_API pmt_t pmt_map(pmt_t proc(const pmt_t&), pmt_t list);
+GRUEL_API pmt_t map(pmt_t proc(const pmt_t&), pmt_t list);
/*!
* \brief reverse \p list.
*
* \p list must be a proper list.
*/
-GRUEL_API pmt_t pmt_reverse(pmt_t list);
+GRUEL_API pmt_t reverse(pmt_t list);
/*!
* \brief destructively reverse \p list.
*
* \p list must be a proper list.
*/
-GRUEL_API pmt_t pmt_reverse_x(pmt_t list);
+GRUEL_API pmt_t reverse_x(pmt_t list);
/*!
* \brief (acons x y a) == (cons (cons x y) a)
*/
inline static pmt_t
-pmt_acons(pmt_t x, pmt_t y, pmt_t a)
+acons(pmt_t x, pmt_t y, pmt_t a)
{
- return pmt_cons(pmt_cons(x, y), a);
+ return cons(cons(x, y), a);
}
/*!
* \brief locates \p nth element of \n list where the car is the 'zeroth' element.
*/
-GRUEL_API pmt_t pmt_nth(size_t n, pmt_t list);
+GRUEL_API pmt_t nth(size_t n, pmt_t list);
/*!
* \brief returns the tail of \p list that would be obtained by calling
* cdr \p n times in succession.
*/
-GRUEL_API pmt_t pmt_nthcdr(size_t n, pmt_t list);
+GRUEL_API pmt_t nthcdr(size_t n, pmt_t list);
/*!
* \brief Return the first sublist of \p list whose car is \p obj.
* If \p obj does not occur in \p list, then \#f is returned.
- * pmt_memq use pmt_eq to compare \p obj with the elements of \p list.
+ * pmt::memq use pmt::eq to compare \p obj with the elements of \p list.
*/
-GRUEL_API pmt_t pmt_memq(pmt_t obj, pmt_t list);
+GRUEL_API pmt_t memq(pmt_t obj, pmt_t list);
/*!
* \brief Return the first sublist of \p list whose car is \p obj.
* If \p obj does not occur in \p list, then \#f is returned.
- * pmt_memv use pmt_eqv to compare \p obj with the elements of \p list.
+ * pmt::memv use pmt::eqv to compare \p obj with the elements of \p list.
*/
-GRUEL_API pmt_t pmt_memv(pmt_t obj, pmt_t list);
+GRUEL_API pmt_t memv(pmt_t obj, pmt_t list);
/*!
* \brief Return the first sublist of \p list whose car is \p obj.
* If \p obj does not occur in \p list, then \#f is returned.
- * pmt_member use pmt_equal to compare \p obj with the elements of \p list.
+ * pmt::member use pmt::equal to compare \p obj with the elements of \p list.
*/
-GRUEL_API pmt_t pmt_member(pmt_t obj, pmt_t list);
+GRUEL_API pmt_t member(pmt_t obj, pmt_t list);
/*!
* \brief Return true if every element of \p list1 appears in \p list2, and false otherwise.
- * Comparisons are done with pmt_eqv.
+ * Comparisons are done with pmt::eqv.
*/
-GRUEL_API bool pmt_subsetp(pmt_t list1, pmt_t list2);
+GRUEL_API bool subsetp(pmt_t list1, pmt_t list2);
/*!
* \brief Return a list of length 1 containing \p x1
*/
-GRUEL_API pmt_t pmt_list1(const pmt_t& x1);
+GRUEL_API pmt_t list1(const pmt_t& x1);
/*!
* \brief Return a list of length 2 containing \p x1, \p x2
*/
-GRUEL_API pmt_t pmt_list2(const pmt_t& x1, const pmt_t& x2);
+GRUEL_API pmt_t list2(const pmt_t& x1, const pmt_t& x2);
/*!
* \brief Return a list of length 3 containing \p x1, \p x2, \p x3
*/
-GRUEL_API pmt_t pmt_list3(const pmt_t& x1, const pmt_t& x2, const pmt_t& x3);
+GRUEL_API pmt_t list3(const pmt_t& x1, const pmt_t& x2, const pmt_t& x3);
/*!
* \brief Return a list of length 4 containing \p x1, \p x2, \p x3, \p x4
*/
-GRUEL_API pmt_t pmt_list4(const pmt_t& x1, const pmt_t& x2, const pmt_t& x3, const pmt_t& x4);
+GRUEL_API pmt_t list4(const pmt_t& x1, const pmt_t& x2, const pmt_t& x3, const pmt_t& x4);
/*!
* \brief Return a list of length 5 containing \p x1, \p x2, \p x3, \p x4, \p x5
*/
-GRUEL_API pmt_t pmt_list5(const pmt_t& x1, const pmt_t& x2, const pmt_t& x3, const pmt_t& x4, const pmt_t& x5);
+GRUEL_API pmt_t list5(const pmt_t& x1, const pmt_t& x2, const pmt_t& x3, const pmt_t& x4, const pmt_t& x5);
/*!
* \brief Return a list of length 6 containing \p x1, \p x2, \p x3, \p x4, \p
* x5, \p x6
*/
-GRUEL_API pmt_t pmt_list6(const pmt_t& x1, const pmt_t& x2, const pmt_t& x3, const pmt_t& x4, const pmt_t& x5, const pmt_t& x6);
+GRUEL_API pmt_t list6(const pmt_t& x1, const pmt_t& x2, const pmt_t& x3, const pmt_t& x4, const pmt_t& x5, const pmt_t& x6);
/*!
* \brief Return \p list with \p item added to it.
*/
-GRUEL_API pmt_t pmt_list_add(pmt_t list, const pmt_t& item);
+GRUEL_API pmt_t list_add(pmt_t list, const pmt_t& item);
/*!
* \brief Return \p list with \p item removed from it.
*/
-GRUEL_API pmt_t pmt_list_rm(pmt_t list, const pmt_t& item);
+GRUEL_API pmt_t list_rm(pmt_t list, const pmt_t& item);
/*!
* \brief Return bool of \p list contains \p item
*/
-GRUEL_API bool pmt_list_has(pmt_t list, const pmt_t& item);
+GRUEL_API bool list_has(pmt_t list, const pmt_t& item);
/*
@@ -781,7 +801,7 @@ GRUEL_API bool pmt_list_has(pmt_t list, const pmt_t& item);
extern GRUEL_API const pmt_t PMT_EOF; //< The end of file object
//! return true if obj is the EOF object, otherwise return false.
-GRUEL_API bool pmt_is_eof_object(pmt_t obj);
+GRUEL_API bool is_eof_object(pmt_t obj);
/*!
* read converts external representations of pmt objects into the
@@ -798,18 +818,18 @@ GRUEL_API bool pmt_is_eof_object(pmt_t obj);
* representation, but the external representation is incomplete and
* therefore not parsable, an error is signaled.
*/
-GRUEL_API pmt_t pmt_read(std::istream &port);
+GRUEL_API pmt_t read(std::istream &port);
/*!
* Write a written representation of \p obj to the given \p port.
*/
-GRUEL_API void pmt_write(pmt_t obj, std::ostream &port);
+GRUEL_API void write(pmt_t obj, std::ostream &port);
/*!
* Return a string representation of \p obj.
- * This is the same output as would be generated by pmt_write.
+ * This is the same output as would be generated by pmt::write.
*/
-GRUEL_API std::string pmt_write_string(pmt_t obj);
+GRUEL_API std::string write_string(pmt_t obj);
GRUEL_API std::ostream& operator<<(std::ostream &os, pmt_t obj);
@@ -817,7 +837,7 @@ GRUEL_API std::ostream& operator<<(std::ostream &os, pmt_t obj);
/*!
* \brief Write pmt string representation to stdout.
*/
-GRUEL_API void pmt_print(pmt_t v);
+GRUEL_API void print(pmt_t v);
/*
@@ -828,33 +848,33 @@ GRUEL_API void pmt_print(pmt_t v);
/*!
* \brief Write portable byte-serial representation of \p obj to \p sink
*/
-GRUEL_API bool pmt_serialize(pmt_t obj, std::streambuf &sink);
+GRUEL_API bool serialize(pmt_t obj, std::streambuf &sink);
/*!
* \brief Create obj from portable byte-serial representation
*/
-GRUEL_API pmt_t pmt_deserialize(std::streambuf &source);
+GRUEL_API pmt_t deserialize(std::streambuf &source);
-GRUEL_API void pmt_dump_sizeof(); // debugging
+GRUEL_API void dump_sizeof(); // debugging
/*!
* \brief Provide a simple string generating interface to pmt's serialize function
*/
-GRUEL_API std::string pmt_serialize_str(pmt_t obj);
+GRUEL_API std::string serialize_str(pmt_t obj);
/*!
* \brief Provide a simple string generating interface to pmt's deserialize function
*/
-GRUEL_API pmt_t pmt_deserialize_str(std::string str);
+GRUEL_API pmt_t deserialize_str(std::string str);
/*!
* \brief Provide a comparator function object to allow pmt use in stl types
*/
-class pmt_comperator {
+class comperator {
public:
bool operator()(pmt::pmt_t const& p1, pmt::pmt_t const& p2) const
- { return pmt::pmt_eqv(p1,p2)?false:p1.get()>p2.get(); }
+ { return pmt::eqv(p1,p2)?false:p1.get()>p2.get(); }
};
} /* namespace pmt */
diff --git a/gruel/src/include/gruel/pmt_sugar.h b/gruel/src/include/gruel/pmt_sugar.h
index bde7f716dc..7791bcce6a 100644
--- a/gruel/src/include/gruel/pmt_sugar.h
+++ b/gruel/src/include/gruel/pmt_sugar.h
@@ -32,136 +32,136 @@ namespace pmt {
static inline pmt_t
mp(const std::string &s)
{
- return pmt_string_to_symbol(s);
+ return string_to_symbol(s);
}
//! Make pmt symbol
static inline pmt_t
mp(const char *s)
{
- return pmt_string_to_symbol(s);
+ return string_to_symbol(s);
}
//! Make pmt long
static inline pmt_t
mp(long x){
- return pmt_from_long(x);
+ return from_long(x);
}
//! Make pmt long
static inline pmt_t
mp(long long unsigned x){
- return pmt_from_long(x);
+ return from_long(x);
}
//! Make pmt long
static inline pmt_t
mp(int x){
- return pmt_from_long(x);
+ return from_long(x);
}
//! Make pmt double
static inline pmt_t
mp(double x){
- return pmt_from_double(x);
+ return from_double(x);
}
//! Make pmt complex
static inline pmt_t
mp(std::complex<double> z)
{
- return pmt_make_rectangular(z.real(), z.imag());
+ return make_rectangular(z.real(), z.imag());
}
//! Make pmt complex
static inline pmt_t
mp(std::complex<float> z)
{
- return pmt_make_rectangular(z.real(), z.imag());
+ return make_rectangular(z.real(), z.imag());
}
//! Make pmt msg_accepter
static inline pmt_t
mp(boost::shared_ptr<gruel::msg_accepter> ma)
{
- return pmt_make_msg_accepter(ma);
+ return make_msg_accepter(ma);
}
//! Make pmt Binary Large Object (BLOB)
static inline pmt_t
mp(const void *data, size_t len_in_bytes)
{
- return pmt_make_blob(data, len_in_bytes);
+ return make_blob(data, len_in_bytes);
}
//! Make tuple
static inline pmt_t
mp(const pmt_t &e0)
{
- return pmt_make_tuple(e0);
+ return make_tuple(e0);
}
//! Make tuple
static inline pmt_t
mp(const pmt_t &e0, const pmt_t &e1)
{
- return pmt_make_tuple(e0, e1);
+ return make_tuple(e0, e1);
}
//! Make tuple
static inline pmt_t
mp(const pmt_t &e0, const pmt_t &e1, const pmt_t &e2)
{
- return pmt_make_tuple(e0, e1, e2);
+ return make_tuple(e0, e1, e2);
}
//! Make tuple
static inline pmt_t
mp(const pmt_t &e0, const pmt_t &e1, const pmt_t &e2, const pmt_t &e3)
{
- return pmt_make_tuple(e0, e1, e2, e3);
+ return make_tuple(e0, e1, e2, e3);
}
//! Make tuple
static inline pmt_t
mp(const pmt_t &e0, const pmt_t &e1, const pmt_t &e2, const pmt_t &e3, const pmt_t &e4)
{
- return pmt_make_tuple(e0, e1, e2, e3, e4);
+ return make_tuple(e0, e1, e2, e3, e4);
}
//! Make tuple
static inline pmt_t
mp(const pmt_t &e0, const pmt_t &e1, const pmt_t &e2, const pmt_t &e3, const pmt_t &e4, const pmt_t &e5)
{
- return pmt_make_tuple(e0, e1, e2, e3, e4, e5);
+ return make_tuple(e0, e1, e2, e3, e4, e5);
}
//! Make tuple
static inline pmt_t
mp(const pmt_t &e0, const pmt_t &e1, const pmt_t &e2, const pmt_t &e3, const pmt_t &e4, const pmt_t &e5, const pmt_t &e6)
{
- return pmt_make_tuple(e0, e1, e2, e3, e4, e5, e6);
+ return make_tuple(e0, e1, e2, e3, e4, e5, e6);
}
//! Make tuple
static inline pmt_t
mp(const pmt_t &e0, const pmt_t &e1, const pmt_t &e2, const pmt_t &e3, const pmt_t &e4, const pmt_t &e5, const pmt_t &e6, const pmt_t &e7)
{
- return pmt_make_tuple(e0, e1, e2, e3, e4, e5, e6, e7);
+ return make_tuple(e0, e1, e2, e3, e4, e5, e6, e7);
}
//! Make tuple
static inline pmt_t
mp(const pmt_t &e0, const pmt_t &e1, const pmt_t &e2, const pmt_t &e3, const pmt_t &e4, const pmt_t &e5, const pmt_t &e6, const pmt_t &e7, const pmt_t &e8)
{
- return pmt_make_tuple(e0, e1, e2, e3, e4, e5, e6, e7, e8);
+ return make_tuple(e0, e1, e2, e3, e4, e5, e6, e7, e8);
}
//! Make tuple
static inline pmt_t
mp(const pmt_t &e0, const pmt_t &e1, const pmt_t &e2, const pmt_t &e3, const pmt_t &e4, const pmt_t &e5, const pmt_t &e6, const pmt_t &e7, const pmt_t &e8, const pmt_t &e9)
{
- return pmt_make_tuple(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9);
+ return make_tuple(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9);
}
diff --git a/gruel/src/lib/pmt/pmt.cc b/gruel/src/lib/pmt/pmt.cc
index 1d1e9ba7c8..8ea0e76143 100644
--- a/gruel/src/lib/pmt/pmt.cc
+++ b/gruel/src/lib/pmt/pmt.cc
@@ -69,23 +69,23 @@ pmt_base::~pmt_base()
// Exceptions
////////////////////////////////////////////////////////////////////////////
-pmt_exception::pmt_exception(const std::string &msg, pmt_t obj)
- : logic_error(msg + ": " + pmt_write_string(obj))
+exception::exception(const std::string &msg, pmt_t obj)
+ : logic_error(msg + ": " + write_string(obj))
{
}
-pmt_wrong_type::pmt_wrong_type(const std::string &msg, pmt_t obj)
- : pmt_exception(msg + ": wrong_type ", obj)
+wrong_type::wrong_type(const std::string &msg, pmt_t obj)
+ : exception(msg + ": wrong_type ", obj)
{
}
-pmt_out_of_range::pmt_out_of_range(const std::string &msg, pmt_t obj)
- : pmt_exception(msg + ": out of range ", obj)
+out_of_range::out_of_range(const std::string &msg, pmt_t obj)
+ : exception(msg + ": out of range ", obj)
{
}
-pmt_notimplemented::pmt_notimplemented(const std::string &msg, pmt_t obj)
- : pmt_exception(msg + ": notimplemented ", obj)
+notimplemented::notimplemented(const std::string &msg, pmt_t obj)
+ : exception(msg + ": notimplemented ", obj)
{
}
@@ -157,10 +157,10 @@ _any(pmt_t x)
// Globals
////////////////////////////////////////////////////////////////////////////
-const pmt_t PMT_T = pmt_t(new pmt_bool()); // singleton
-const pmt_t PMT_F = pmt_t(new pmt_bool()); // singleton
-const pmt_t PMT_NIL = pmt_t(new pmt_null()); // singleton
-const pmt_t PMT_EOF = pmt_cons(PMT_NIL, PMT_NIL); // singleton
+const pmt_t PMT_T = pmt_t(new pmt_bool()); // singleton
+const pmt_t PMT_F = pmt_t(new pmt_bool()); // singleton
+const pmt_t PMT_NIL = pmt_t(new pmt_null()); // singleton
+const pmt_t PMT_EOF = cons(PMT_NIL, PMT_NIL); // singleton
////////////////////////////////////////////////////////////////////////////
// Booleans
@@ -169,37 +169,37 @@ const pmt_t PMT_EOF = pmt_cons(PMT_NIL, PMT_NIL); // singleton
pmt_bool::pmt_bool(){}
bool
-pmt_is_true(pmt_t obj)
+is_true(pmt_t obj)
{
return obj != PMT_F;
}
bool
-pmt_is_false(pmt_t obj)
+is_false(pmt_t obj)
{
return obj == PMT_F;
}
bool
-pmt_is_bool(pmt_t obj)
+is_bool(pmt_t obj)
{
return obj->is_bool();
}
pmt_t
-pmt_from_bool(bool val)
+from_bool(bool val)
{
return val ? PMT_T : PMT_F;
}
bool
-pmt_to_bool(pmt_t val)
+to_bool(pmt_t val)
{
if (val == PMT_T)
return true;
if (val == PMT_F)
return false;
- throw pmt_wrong_type("pmt_to_bool", val);
+ throw wrong_type("pmt_to_bool", val);
}
////////////////////////////////////////////////////////////////////////////
@@ -230,13 +230,13 @@ hash_string(const std::string &s)
}
bool
-pmt_is_symbol(const pmt_t& obj)
+is_symbol(const pmt_t& obj)
{
return obj->is_symbol();
}
pmt_t
-pmt_string_to_symbol(const std::string &name)
+string_to_symbol(const std::string &name)
{
unsigned hash = hash_string(name) % SYMBOL_HASH_TABLE_SIZE;
@@ -255,16 +255,16 @@ pmt_string_to_symbol(const std::string &name)
// alias...
pmt_t
-pmt_intern(const std::string &name)
+intern(const std::string &name)
{
- return pmt_string_to_symbol(name);
+ return string_to_symbol(name);
}
const std::string
-pmt_symbol_to_string(const pmt_t& sym)
+symbol_to_string(const pmt_t& sym)
{
if (!sym->is_symbol())
- throw pmt_wrong_type("pmt_symbol_to_string", sym);
+ throw wrong_type("pmt_symbol_to_string", sym);
return _symbol(sym)->name();
}
@@ -276,7 +276,7 @@ pmt_symbol_to_string(const pmt_t& sym)
////////////////////////////////////////////////////////////////////////////
bool
-pmt_is_number(pmt_t x)
+is_number(pmt_t x)
{
return x->is_number();
}
@@ -288,26 +288,26 @@ pmt_is_number(pmt_t x)
pmt_integer::pmt_integer(long value) : d_value(value) {}
bool
-pmt_is_integer(pmt_t x)
+is_integer(pmt_t x)
{
return x->is_integer();
}
pmt_t
-pmt_from_long(long x)
+from_long(long x)
{
return pmt_t(new pmt_integer(x));
}
long
-pmt_to_long(pmt_t x)
+to_long(pmt_t x)
{
pmt_integer* i = dynamic_cast<pmt_integer*>(x.get());
if ( i )
return i->value();
- throw pmt_wrong_type("pmt_to_long", x);
+ throw wrong_type("pmt_to_long", x);
}
////////////////////////////////////////////////////////////////////////////
@@ -317,20 +317,20 @@ pmt_to_long(pmt_t x)
pmt_uint64::pmt_uint64(uint64_t value) : d_value(value) {}
bool
-pmt_is_uint64(pmt_t x)
+is_uint64(pmt_t x)
{
return x->is_uint64();
}
pmt_t
-pmt_from_uint64(uint64_t x)
+from_uint64(uint64_t x)
{
return pmt_t(new pmt_uint64(x));
}
uint64_t
-pmt_to_uint64(pmt_t x)
+to_uint64(pmt_t x)
{
if(x->is_uint64())
return _uint64(x)->value();
@@ -341,7 +341,7 @@ pmt_to_uint64(pmt_t x)
return (uint64_t) tmp;
}
- throw pmt_wrong_type("pmt_to_uint64", x);
+ throw wrong_type("pmt_to_uint64", x);
}
////////////////////////////////////////////////////////////////////////////
@@ -351,26 +351,26 @@ pmt_to_uint64(pmt_t x)
pmt_real::pmt_real(double value) : d_value(value) {}
bool
-pmt_is_real(pmt_t x)
+is_real(pmt_t x)
{
return x->is_real();
}
pmt_t
-pmt_from_double(double x)
+from_double(double x)
{
return pmt_t(new pmt_real(x));
}
double
-pmt_to_double(pmt_t x)
+to_double(pmt_t x)
{
if (x->is_real())
return _real(x)->value();
if (x->is_integer())
return _integer(x)->value();
- throw pmt_wrong_type("pmt_to_double", x);
+ throw wrong_type("pmt_to_double", x);
}
////////////////////////////////////////////////////////////////////////////
@@ -380,13 +380,19 @@ pmt_to_double(pmt_t x)
pmt_complex::pmt_complex(std::complex<double> value) : d_value(value) {}
bool
-pmt_is_complex(pmt_t x)
+is_complex(pmt_t x)
{
return x->is_complex();
}
pmt_t
-pmt_make_rectangular(double re, double im)
+make_rectangular(double re, double im)
+{
+ return from_complex(re, im);
+}
+
+pmt_t
+from_complex(double re, double im)
{
return pmt_from_complex(re, im);
}
@@ -396,13 +402,14 @@ pmt_t pmt_from_complex(double re, double im)
return pmt_t(new pmt_complex(std::complex<double>(re, im)));
}
-pmt_t pmt_from_complex(const std::complex<double> &z)
+pmt_t
+from_complex(const std::complex<double> &z)
{
return pmt_t(new pmt_complex(z));
}
std::complex<double>
-pmt_to_complex(pmt_t x)
+to_complex(pmt_t x)
{
if (x->is_complex())
return _complex(x)->value();
@@ -411,7 +418,7 @@ pmt_to_complex(pmt_t x)
if (x->is_integer())
return _integer(x)->value();
- throw pmt_wrong_type("pmt_to_complex", x);
+ throw wrong_type("pmt_to_complex", x);
}
////////////////////////////////////////////////////////////////////////////
@@ -422,59 +429,59 @@ pmt_null::pmt_null() {}
pmt_pair::pmt_pair(const pmt_t& car, const pmt_t& cdr) : d_car(car), d_cdr(cdr) {}
bool
-pmt_is_null(const pmt_t& x)
+is_null(const pmt_t& x)
{
return x == PMT_NIL;
}
bool
-pmt_is_pair(const pmt_t& obj)
+is_pair(const pmt_t& obj)
{
return obj->is_pair();
}
pmt_t
-pmt_cons(const pmt_t& x, const pmt_t& y)
+cons(const pmt_t& x, const pmt_t& y)
{
return pmt_t(new pmt_pair(x, y));
}
pmt_t
-pmt_car(const pmt_t& pair)
+car(const pmt_t& pair)
{
pmt_pair* p = dynamic_cast<pmt_pair*>(pair.get());
if ( p )
return p->car();
- throw pmt_wrong_type("pmt_car", pair);
+ throw wrong_type("pmt_car", pair);
}
pmt_t
-pmt_cdr(const pmt_t& pair)
+cdr(const pmt_t& pair)
{
pmt_pair* p = dynamic_cast<pmt_pair*>(pair.get());
if ( p )
return p->cdr();
- throw pmt_wrong_type("pmt_cdr", pair);
+ throw wrong_type("pmt_cdr", pair);
}
void
-pmt_set_car(pmt_t pair, pmt_t obj)
+set_car(pmt_t pair, pmt_t obj)
{
if (pair->is_pair())
_pair(pair)->set_car(obj);
else
- throw pmt_wrong_type("pmt_set_car", pair);
+ throw wrong_type("pmt_set_car", pair);
}
void
-pmt_set_cdr(pmt_t pair, pmt_t obj)
+set_cdr(pmt_t pair, pmt_t obj)
{
if (pair->is_pair())
_pair(pair)->set_cdr(obj);
else
- throw pmt_wrong_type("pmt_set_cdr", pair);
+ throw wrong_type("pmt_set_cdr", pair);
}
////////////////////////////////////////////////////////////////////////////
@@ -492,7 +499,7 @@ pmt_t
pmt_vector::ref(size_t k) const
{
if (k >= length())
- throw pmt_out_of_range("pmt_vector_ref", pmt_from_long(k));
+ throw out_of_range("pmt_vector_ref", from_long(k));
return d_v[k];
}
@@ -500,7 +507,7 @@ void
pmt_vector::set(size_t k, pmt_t obj)
{
if (k >= length())
- throw pmt_out_of_range("pmt_vector_set", pmt_from_long(k));
+ throw out_of_range("pmt_vector_set", from_long(k));
d_v[k] = obj;
}
@@ -512,38 +519,38 @@ pmt_vector::fill(pmt_t obj)
}
bool
-pmt_is_vector(pmt_t obj)
+is_vector(pmt_t obj)
{
return obj->is_vector();
}
pmt_t
-pmt_make_vector(size_t k, pmt_t fill)
+make_vector(size_t k, pmt_t fill)
{
return pmt_t(new pmt_vector(k, fill));
}
pmt_t
-pmt_vector_ref(pmt_t vector, size_t k)
+vector_ref(pmt_t vector, size_t k)
{
if (!vector->is_vector())
- throw pmt_wrong_type("pmt_vector_ref", vector);
+ throw wrong_type("pmt_vector_ref", vector);
return _vector(vector)->ref(k);
}
void
-pmt_vector_set(pmt_t vector, size_t k, pmt_t obj)
+vector_set(pmt_t vector, size_t k, pmt_t obj)
{
if (!vector->is_vector())
- throw pmt_wrong_type("pmt_vector_set", vector);
+ throw wrong_type("pmt_vector_set", vector);
_vector(vector)->set(k, obj);
}
void
-pmt_vector_fill(pmt_t vector, pmt_t obj)
+vector_fill(pmt_t vector, pmt_t obj)
{
if (!vector->is_vector())
- throw pmt_wrong_type("pmt_vector_set", vector);
+ throw wrong_type("pmt_vector_set", vector);
_vector(vector)->fill(obj);
}
@@ -560,21 +567,21 @@ pmt_t
pmt_tuple::ref(size_t k) const
{
if (k >= length())
- throw pmt_out_of_range("pmt_tuple_ref", pmt_from_long(k));
+ throw out_of_range("pmt_tuple_ref", from_long(k));
return d_v[k];
}
bool
-pmt_is_tuple(pmt_t obj)
+is_tuple(pmt_t obj)
{
return obj->is_tuple();
}
pmt_t
-pmt_tuple_ref(const pmt_t &tuple, size_t k)
+tuple_ref(const pmt_t &tuple, size_t k)
{
if (!tuple->is_tuple())
- throw pmt_wrong_type("pmt_tuple_ref", tuple);
+ throw wrong_type("pmt_tuple_ref", tuple);
return _tuple(tuple)->ref(k);
}
@@ -582,13 +589,13 @@ pmt_tuple_ref(const pmt_t &tuple, size_t k)
// make_constructor()
pmt_t
-pmt_make_tuple()
+make_tuple()
{
return pmt_t(new pmt_tuple(0));
}
pmt_t
-pmt_make_tuple(const pmt_t &e0)
+make_tuple(const pmt_t &e0)
{
pmt_tuple *t = new pmt_tuple(1);
t->_set(0, e0);
@@ -596,7 +603,7 @@ pmt_make_tuple(const pmt_t &e0)
}
pmt_t
-pmt_make_tuple(const pmt_t &e0, const pmt_t &e1)
+make_tuple(const pmt_t &e0, const pmt_t &e1)
{
pmt_tuple *t = new pmt_tuple(2);
t->_set(0, e0);
@@ -605,7 +612,7 @@ pmt_make_tuple(const pmt_t &e0, const pmt_t &e1)
}
pmt_t
-pmt_make_tuple(const pmt_t &e0, const pmt_t &e1, const pmt_t &e2)
+make_tuple(const pmt_t &e0, const pmt_t &e1, const pmt_t &e2)
{
pmt_tuple *t = new pmt_tuple(3);
t->_set(0, e0);
@@ -615,7 +622,7 @@ pmt_make_tuple(const pmt_t &e0, const pmt_t &e1, const pmt_t &e2)
}
pmt_t
-pmt_make_tuple(const pmt_t &e0, const pmt_t &e1, const pmt_t &e2, const pmt_t &e3)
+make_tuple(const pmt_t &e0, const pmt_t &e1, const pmt_t &e2, const pmt_t &e3)
{
pmt_tuple *t = new pmt_tuple(4);
t->_set(0, e0);
@@ -626,7 +633,7 @@ pmt_make_tuple(const pmt_t &e0, const pmt_t &e1, const pmt_t &e2, const pmt_t &e
}
pmt_t
-pmt_make_tuple(const pmt_t &e0, const pmt_t &e1, const pmt_t &e2, const pmt_t &e3, const pmt_t &e4)
+make_tuple(const pmt_t &e0, const pmt_t &e1, const pmt_t &e2, const pmt_t &e3, const pmt_t &e4)
{
pmt_tuple *t = new pmt_tuple(5);
t->_set(0, e0);
@@ -638,7 +645,7 @@ pmt_make_tuple(const pmt_t &e0, const pmt_t &e1, const pmt_t &e2, const pmt_t &e
}
pmt_t
-pmt_make_tuple(const pmt_t &e0, const pmt_t &e1, const pmt_t &e2, const pmt_t &e3, const pmt_t &e4, const pmt_t &e5)
+make_tuple(const pmt_t &e0, const pmt_t &e1, const pmt_t &e2, const pmt_t &e3, const pmt_t &e4, const pmt_t &e5)
{
pmt_tuple *t = new pmt_tuple(6);
t->_set(0, e0);
@@ -651,7 +658,7 @@ pmt_make_tuple(const pmt_t &e0, const pmt_t &e1, const pmt_t &e2, const pmt_t &e
}
pmt_t
-pmt_make_tuple(const pmt_t &e0, const pmt_t &e1, const pmt_t &e2, const pmt_t &e3, const pmt_t &e4, const pmt_t &e5, const pmt_t &e6)
+make_tuple(const pmt_t &e0, const pmt_t &e1, const pmt_t &e2, const pmt_t &e3, const pmt_t &e4, const pmt_t &e5, const pmt_t &e6)
{
pmt_tuple *t = new pmt_tuple(7);
t->_set(0, e0);
@@ -665,7 +672,7 @@ pmt_make_tuple(const pmt_t &e0, const pmt_t &e1, const pmt_t &e2, const pmt_t &e
}
pmt_t
-pmt_make_tuple(const pmt_t &e0, const pmt_t &e1, const pmt_t &e2, const pmt_t &e3, const pmt_t &e4, const pmt_t &e5, const pmt_t &e6, const pmt_t &e7)
+make_tuple(const pmt_t &e0, const pmt_t &e1, const pmt_t &e2, const pmt_t &e3, const pmt_t &e4, const pmt_t &e5, const pmt_t &e6, const pmt_t &e7)
{
pmt_tuple *t = new pmt_tuple(8);
t->_set(0, e0);
@@ -680,7 +687,7 @@ pmt_make_tuple(const pmt_t &e0, const pmt_t &e1, const pmt_t &e2, const pmt_t &e
}
pmt_t
-pmt_make_tuple(const pmt_t &e0, const pmt_t &e1, const pmt_t &e2, const pmt_t &e3, const pmt_t &e4, const pmt_t &e5, const pmt_t &e6, const pmt_t &e7, const pmt_t &e8)
+make_tuple(const pmt_t &e0, const pmt_t &e1, const pmt_t &e2, const pmt_t &e3, const pmt_t &e4, const pmt_t &e5, const pmt_t &e6, const pmt_t &e7, const pmt_t &e8)
{
pmt_tuple *t = new pmt_tuple(9);
t->_set(0, e0);
@@ -696,7 +703,7 @@ pmt_make_tuple(const pmt_t &e0, const pmt_t &e1, const pmt_t &e2, const pmt_t &e
}
pmt_t
-pmt_make_tuple(const pmt_t &e0, const pmt_t &e1, const pmt_t &e2, const pmt_t &e3, const pmt_t &e4, const pmt_t &e5, const pmt_t &e6, const pmt_t &e7, const pmt_t &e8, const pmt_t &e9)
+make_tuple(const pmt_t &e0, const pmt_t &e1, const pmt_t &e2, const pmt_t &e3, const pmt_t &e4, const pmt_t &e5, const pmt_t &e6, const pmt_t &e7, const pmt_t &e8, const pmt_t &e9)
{
pmt_tuple *t = new pmt_tuple(10);
t->_set(0, e0);
@@ -713,12 +720,12 @@ pmt_make_tuple(const pmt_t &e0, const pmt_t &e1, const pmt_t &e2, const pmt_t &e
}
pmt_t
-pmt_to_tuple(const pmt_t &x)
+to_tuple(const pmt_t &x)
{
if (x->is_tuple()) // already one
return x;
- size_t len = pmt_length(x);
+ size_t len = length(x);
pmt_tuple *t = new pmt_tuple(len);
pmt_t r = pmt_t(t);
@@ -731,13 +738,13 @@ pmt_to_tuple(const pmt_t &x)
if (x->is_pair()){
pmt_t y = x;
for (size_t i = 0; i < len; i++){
- t->_set(i, pmt_car(y));
- y = pmt_cdr(y);
+ t->_set(i, car(y));
+ y = cdr(y);
}
return r;
}
- throw pmt_wrong_type("pmt_to_tuple", x);
+ throw wrong_type("pmt_to_tuple", x);
}
@@ -747,24 +754,24 @@ pmt_to_tuple(const pmt_t &x)
////////////////////////////////////////////////////////////////////////////
bool
-pmt_is_uniform_vector(pmt_t x)
+is_uniform_vector(pmt_t x)
{
return x->is_uniform_vector();
}
const void *
-pmt_uniform_vector_elements(pmt_t vector, size_t &len)
+uniform_vector_elements(pmt_t vector, size_t &len)
{
if (!vector->is_uniform_vector())
- throw pmt_wrong_type("pmt_uniform_vector_elements", vector);
+ throw wrong_type("pmt_uniform_vector_elements", vector);
return _uniform_vector(vector)->uniform_elements(len);
}
void *
-pmt_uniform_vector_writable_elements(pmt_t vector, size_t &len)
+uniform_vector_writable_elements(pmt_t vector, size_t &len)
{
if (!vector->is_uniform_vector())
- throw pmt_wrong_type("pmt_uniform_vector_writable_elements", vector);
+ throw wrong_type("pmt_uniform_vector_writable_elements", vector);
return _uniform_vector(vector)->uniform_writable_elements(len);
}
@@ -781,82 +788,82 @@ pmt_uniform_vector_writable_elements(pmt_t vector, size_t &len)
*/
bool
-pmt_is_dict(const pmt_t &obj)
+is_dict(const pmt_t &obj)
{
- return pmt_is_null(obj) || pmt_is_pair(obj);
+ return is_null(obj) || is_pair(obj);
}
pmt_t
-pmt_make_dict()
+make_dict()
{
return PMT_NIL;
}
pmt_t
-pmt_dict_add(const pmt_t &dict, const pmt_t &key, const pmt_t &value)
+dict_add(const pmt_t &dict, const pmt_t &key, const pmt_t &value)
{
- if (pmt_is_null(dict))
- return pmt_acons(key, value, PMT_NIL);
+ if (is_null(dict))
+ return acons(key, value, PMT_NIL);
- if (pmt_dict_has_key(dict, key))
- return pmt_acons(key, value, pmt_dict_delete(dict, key));
+ if (dict_has_key(dict, key))
+ return acons(key, value, dict_delete(dict, key));
- return pmt_acons(key, value, dict);
+ return acons(key, value, dict);
}
pmt_t
-pmt_dict_delete(const pmt_t &dict, const pmt_t &key)
+dict_delete(const pmt_t &dict, const pmt_t &key)
{
- if (pmt_is_null(dict))
+ if (is_null(dict))
return dict;
- if (pmt_eqv(pmt_caar(dict), key))
- return pmt_cdr(dict);
+ if (eqv(caar(dict), key))
+ return cdr(dict);
- return pmt_cons(pmt_car(dict), pmt_dict_delete(pmt_cdr(dict), key));
+ return cons(car(dict), dict_delete(cdr(dict), key));
}
pmt_t
-pmt_dict_ref(const pmt_t &dict, const pmt_t &key, const pmt_t &not_found)
+dict_ref(const pmt_t &dict, const pmt_t &key, const pmt_t &not_found)
{
- pmt_t p = pmt_assv(key, dict); // look for (key . value) pair
- if (pmt_is_pair(p))
- return pmt_cdr(p);
+ pmt_t p = assv(key, dict); // look for (key . value) pair
+ if (is_pair(p))
+ return cdr(p);
else
return not_found;
}
bool
-pmt_dict_has_key(const pmt_t &dict, const pmt_t &key)
+dict_has_key(const pmt_t &dict, const pmt_t &key)
{
- return pmt_is_pair(pmt_assv(key, dict));
+ return is_pair(assv(key, dict));
}
pmt_t
-pmt_dict_items(pmt_t dict)
+dict_items(pmt_t dict)
{
- if (!pmt_is_dict(dict))
- throw pmt_wrong_type("pmt_dict_values", dict);
+ if (!is_dict(dict))
+ throw wrong_type("pmt_dict_values", dict);
return dict; // equivalent to dict in the a-list case
}
pmt_t
-pmt_dict_keys(pmt_t dict)
+dict_keys(pmt_t dict)
{
- if (!pmt_is_dict(dict))
- throw pmt_wrong_type("pmt_dict_keys", dict);
+ if (!is_dict(dict))
+ throw wrong_type("pmt_dict_keys", dict);
- return pmt_map(pmt_car, dict);
+ return map(car, dict);
}
pmt_t
-pmt_dict_values(pmt_t dict)
+dict_values(pmt_t dict)
{
- if (!pmt_is_dict(dict))
- throw pmt_wrong_type("pmt_dict_keys", dict);
+ if (!is_dict(dict))
+ throw wrong_type("pmt_dict_keys", dict);
- return pmt_map(pmt_cdr, dict);
+ return map(cdr, dict);
}
////////////////////////////////////////////////////////////////////////////
@@ -866,30 +873,30 @@ pmt_dict_values(pmt_t dict)
pmt_any::pmt_any(const boost::any &any) : d_any(any) {}
bool
-pmt_is_any(pmt_t obj)
+is_any(pmt_t obj)
{
return obj->is_any();
}
pmt_t
-pmt_make_any(const boost::any &any)
+make_any(const boost::any &any)
{
return pmt_t(new pmt_any(any));
}
boost::any
-pmt_any_ref(pmt_t obj)
+any_ref(pmt_t obj)
{
if (!obj->is_any())
- throw pmt_wrong_type("pmt_any_ref", obj);
+ throw wrong_type("pmt_any_ref", obj);
return _any(obj)->ref();
}
void
-pmt_any_set(pmt_t obj, const boost::any &any)
+any_set(pmt_t obj, const boost::any &any)
{
if (!obj->is_any())
- throw pmt_wrong_type("pmt_any_set", obj);
+ throw wrong_type("pmt_any_set", obj);
_any(obj)->set(any);
}
@@ -898,31 +905,31 @@ pmt_any_set(pmt_t obj, const boost::any &any)
////////////////////////////////////////////////////////////////////////////
bool
-pmt_is_msg_accepter(const pmt_t &obj)
+is_msg_accepter(const pmt_t &obj)
{
- if (!pmt_is_any(obj))
+ if (!is_any(obj))
return false;
- boost::any r = pmt_any_ref(obj);
+ boost::any r = any_ref(obj);
return boost::any_cast<gruel::msg_accepter_sptr>(&r) != 0;
}
//! make a msg_accepter
pmt_t
-pmt_make_msg_accepter(gruel::msg_accepter_sptr ma)
+make_msg_accepter(gruel::msg_accepter_sptr ma)
{
- return pmt_make_any(ma);
+ return make_any(ma);
}
//! Return underlying msg_accepter
gruel::msg_accepter_sptr
-pmt_msg_accepter_ref(const pmt_t &obj)
+msg_accepter_ref(const pmt_t &obj)
{
try {
- return boost::any_cast<gruel::msg_accepter_sptr>(pmt_any_ref(obj));
+ return boost::any_cast<gruel::msg_accepter_sptr>(any_ref(obj));
}
catch (boost::bad_any_cast &e){
- throw pmt_wrong_type("pmt_msg_accepter_ref", obj);
+ throw wrong_type("pmt_msg_accepter_ref", obj);
}
}
@@ -932,30 +939,30 @@ pmt_msg_accepter_ref(const pmt_t &obj)
////////////////////////////////////////////////////////////////////////////
bool
-pmt_is_blob(pmt_t x)
+is_blob(pmt_t x)
{
- // return pmt_is_u8vector(x);
- return pmt_is_uniform_vector(x);
+ // return is_u8vector(x);
+ return is_uniform_vector(x);
}
pmt_t
-pmt_make_blob(const void *buf, size_t len_in_bytes)
+make_blob(const void *buf, size_t len_in_bytes)
{
- return pmt_init_u8vector(len_in_bytes, (const uint8_t *) buf);
+ return init_u8vector(len_in_bytes, (const uint8_t *) buf);
}
const void *
-pmt_blob_data(pmt_t blob)
+blob_data(pmt_t blob)
{
size_t len;
- return pmt_uniform_vector_elements(blob, len);
+ return uniform_vector_elements(blob, len);
}
size_t
-pmt_blob_length(pmt_t blob)
+blob_length(pmt_t blob)
{
size_t len;
- pmt_uniform_vector_elements(blob, len);
+ uniform_vector_elements(blob, len);
return len;
}
@@ -965,13 +972,13 @@ pmt_blob_length(pmt_t blob)
////////////////////////////////////////////////////////////////////////////
bool
-pmt_eq(const pmt_t& x, const pmt_t& y)
+eq(const pmt_t& x, const pmt_t& y)
{
return x == y;
}
bool
-pmt_eqv(const pmt_t& x, const pmt_t& y)
+eqv(const pmt_t& x, const pmt_t& y)
{
if (x == y)
return true;
@@ -992,7 +999,7 @@ pmt_eqv(const pmt_t& x, const pmt_t& y)
}
bool
-pmt_eqv_raw(pmt_base *x, pmt_base *y)
+eqv_raw(pmt_base *x, pmt_base *y)
{
if (x == y)
return true;
@@ -1013,13 +1020,13 @@ pmt_eqv_raw(pmt_base *x, pmt_base *y)
}
bool
-pmt_equal(const pmt_t& x, const pmt_t& y)
+equal(const pmt_t& x, const pmt_t& y)
{
- if (pmt_eqv(x, y))
+ if (eqv(x, y))
return true;
if (x->is_pair() && y->is_pair())
- return pmt_equal(pmt_car(x), pmt_car(y)) && pmt_equal(pmt_cdr(x), pmt_cdr(y));
+ return equal(car(x), car(y)) && equal(cdr(x), cdr(y));
if (x->is_vector() && y->is_vector()){
pmt_vector *xv = _vector(x);
@@ -1028,7 +1035,7 @@ pmt_equal(const pmt_t& x, const pmt_t& y)
return false;
for (unsigned i = 0; i < xv->length(); i++)
- if (!pmt_equal(xv->_ref(i), yv->_ref(i)))
+ if (!equal(xv->_ref(i), yv->_ref(i)))
return false;
return true;
@@ -1041,7 +1048,7 @@ pmt_equal(const pmt_t& x, const pmt_t& y)
return false;
for (unsigned i = 0; i < xv->length(); i++)
- if (!pmt_equal(xv->_ref(i), yv->_ref(i)))
+ if (!equal(xv->_ref(i), yv->_ref(i)))
return false;
return true;
@@ -1068,7 +1075,7 @@ pmt_equal(const pmt_t& x, const pmt_t& y)
}
size_t
-pmt_length(const pmt_t& x)
+length(const pmt_t& x)
{
if (x->is_vector())
return _vector(x)->length();
@@ -1084,35 +1091,35 @@ pmt_length(const pmt_t& x)
if (x->is_pair()) {
size_t length=1;
- pmt_t it = pmt_cdr(x);
- while (pmt_is_pair(it)){
+ pmt_t it = cdr(x);
+ while (is_pair(it)){
length++;
- it = pmt_cdr(it);
+ it = cdr(it);
}
- if (pmt_is_null(it))
+ if (is_null(it))
return length;
// not a proper list
- throw pmt_wrong_type("pmt_length", x);
+ throw wrong_type("pmt_length", x);
}
// FIXME dictionary length (number of entries)
- throw pmt_wrong_type("pmt_length", x);
+ throw wrong_type("pmt_length", x);
}
pmt_t
-pmt_assq(pmt_t obj, pmt_t alist)
+assq(pmt_t obj, pmt_t alist)
{
- while (pmt_is_pair(alist)){
- pmt_t p = pmt_car(alist);
- if (!pmt_is_pair(p)) // malformed alist
+ while (is_pair(alist)){
+ pmt_t p = car(alist);
+ if (!is_pair(p)) // malformed alist
return PMT_F;
- if (pmt_eq(obj, pmt_car(p)))
+ if (eq(obj, car(p)))
return p;
- alist = pmt_cdr(alist);
+ alist = cdr(alist);
}
return PMT_F;
}
@@ -1121,14 +1128,14 @@ pmt_assq(pmt_t obj, pmt_t alist)
* This avoids a bunch of shared_pointer reference count manipulation.
*/
pmt_t
-pmt_assv_raw(pmt_base *obj, pmt_base *alist)
+assv_raw(pmt_base *obj, pmt_base *alist)
{
while (alist->is_pair()){
pmt_base *p = ((pmt_pair *)alist)->d_car.get();
if (!p->is_pair()) // malformed alist
return PMT_F;
- if (pmt_eqv_raw(obj, ((pmt_pair *)p)->d_car.get()))
+ if (eqv_raw(obj, ((pmt_pair *)p)->d_car.get()))
return ((pmt_pair *)alist)->d_car;
alist = (((pmt_pair *)alist)->d_cdr).get();
@@ -1139,25 +1146,25 @@ pmt_assv_raw(pmt_base *obj, pmt_base *alist)
#if 1
pmt_t
-pmt_assv(pmt_t obj, pmt_t alist)
+assv(pmt_t obj, pmt_t alist)
{
- return pmt_assv_raw(obj.get(), alist.get());
+ return assv_raw(obj.get(), alist.get());
}
#else
pmt_t
-pmt_assv(pmt_t obj, pmt_t alist)
+assv(pmt_t obj, pmt_t alist)
{
- while (pmt_is_pair(alist)){
- pmt_t p = pmt_car(alist);
- if (!pmt_is_pair(p)) // malformed alist
+ while (is_pair(alist)){
+ pmt_t p = car(alist);
+ if (!is_pair(p)) // malformed alist
return PMT_F;
- if (pmt_eqv(obj, pmt_car(p)))
+ if (eqv(obj, car(p)))
return p;
- alist = pmt_cdr(alist);
+ alist = cdr(alist);
}
return PMT_F;
}
@@ -1166,184 +1173,184 @@ pmt_assv(pmt_t obj, pmt_t alist)
pmt_t
-pmt_assoc(pmt_t obj, pmt_t alist)
+assoc(pmt_t obj, pmt_t alist)
{
- while (pmt_is_pair(alist)){
- pmt_t p = pmt_car(alist);
- if (!pmt_is_pair(p)) // malformed alist
+ while (is_pair(alist)){
+ pmt_t p = car(alist);
+ if (!is_pair(p)) // malformed alist
return PMT_F;
- if (pmt_equal(obj, pmt_car(p)))
+ if (equal(obj, car(p)))
return p;
- alist = pmt_cdr(alist);
+ alist = cdr(alist);
}
return PMT_F;
}
pmt_t
-pmt_map(pmt_t proc(const pmt_t&), pmt_t list)
+map(pmt_t proc(const pmt_t&), pmt_t list)
{
pmt_t r = PMT_NIL;
- while(pmt_is_pair(list)){
- r = pmt_cons(proc(pmt_car(list)), r);
- list = pmt_cdr(list);
+ while(is_pair(list)){
+ r = cons(proc(car(list)), r);
+ list = cdr(list);
}
- return pmt_reverse_x(r);
+ return reverse_x(r);
}
pmt_t
-pmt_reverse(pmt_t listx)
+reverse(pmt_t listx)
{
pmt_t list = listx;
pmt_t r = PMT_NIL;
- while(pmt_is_pair(list)){
- r = pmt_cons(pmt_car(list), r);
- list = pmt_cdr(list);
+ while(is_pair(list)){
+ r = cons(car(list), r);
+ list = cdr(list);
}
- if (pmt_is_null(list))
+ if (is_null(list))
return r;
else
- throw pmt_wrong_type("pmt_reverse", listx);
+ throw wrong_type("pmt_reverse", listx);
}
pmt_t
-pmt_reverse_x(pmt_t list)
+reverse_x(pmt_t list)
{
// FIXME do it destructively
- return pmt_reverse(list);
+ return reverse(list);
}
pmt_t
-pmt_nth(size_t n, pmt_t list)
+nth(size_t n, pmt_t list)
{
- pmt_t t = pmt_nthcdr(n, list);
- if (pmt_is_pair(t))
- return pmt_car(t);
+ pmt_t t = nthcdr(n, list);
+ if (is_pair(t))
+ return car(t);
else
return PMT_NIL;
}
pmt_t
-pmt_nthcdr(size_t n, pmt_t list)
+nthcdr(size_t n, pmt_t list)
{
- if (!(pmt_is_pair(list) || pmt_is_null(list)))
- throw pmt_wrong_type("pmt_nthcdr", list);
+ if (!(is_pair(list) || is_null(list)))
+ throw wrong_type("pmt_nthcdr", list);
while (n > 0){
- if (pmt_is_pair(list)){
- list = pmt_cdr(list);
+ if (is_pair(list)){
+ list = cdr(list);
n--;
continue;
}
- if (pmt_is_null(list))
+ if (is_null(list))
return PMT_NIL;
else
- throw pmt_wrong_type("pmt_nthcdr: not a LIST", list);
+ throw wrong_type("pmt_nthcdr: not a LIST", list);
}
return list;
}
pmt_t
-pmt_memq(pmt_t obj, pmt_t list)
+memq(pmt_t obj, pmt_t list)
{
- while (pmt_is_pair(list)){
- if (pmt_eq(obj, pmt_car(list)))
+ while (is_pair(list)){
+ if (eq(obj, car(list)))
return list;
- list = pmt_cdr(list);
+ list = cdr(list);
}
return PMT_F;
}
pmt_t
-pmt_memv(pmt_t obj, pmt_t list)
+memv(pmt_t obj, pmt_t list)
{
- while (pmt_is_pair(list)){
- if (pmt_eqv(obj, pmt_car(list)))
+ while (is_pair(list)){
+ if (eqv(obj, car(list)))
return list;
- list = pmt_cdr(list);
+ list = cdr(list);
}
return PMT_F;
}
pmt_t
-pmt_member(pmt_t obj, pmt_t list)
+member(pmt_t obj, pmt_t list)
{
- while (pmt_is_pair(list)){
- if (pmt_equal(obj, pmt_car(list)))
+ while (is_pair(list)){
+ if (equal(obj, car(list)))
return list;
- list = pmt_cdr(list);
+ list = cdr(list);
}
return PMT_F;
}
bool
-pmt_subsetp(pmt_t list1, pmt_t list2)
+subsetp(pmt_t list1, pmt_t list2)
{
- while (pmt_is_pair(list1)){
- pmt_t p = pmt_car(list1);
- if (pmt_is_false(pmt_memv(p, list2)))
+ while (is_pair(list1)){
+ pmt_t p = car(list1);
+ if (is_false(memv(p, list2)))
return false;
- list1 = pmt_cdr(list1);
+ list1 = cdr(list1);
}
return true;
}
pmt_t
-pmt_list1(const pmt_t& x1)
+list1(const pmt_t& x1)
{
- return pmt_cons(x1, PMT_NIL);
+ return cons(x1, PMT_NIL);
}
pmt_t
-pmt_list2(const pmt_t& x1, const pmt_t& x2)
+list2(const pmt_t& x1, const pmt_t& x2)
{
- return pmt_cons(x1, pmt_cons(x2, PMT_NIL));
+ return cons(x1, cons(x2, PMT_NIL));
}
pmt_t
-pmt_list3(const pmt_t& x1, const pmt_t& x2, const pmt_t& x3)
+list3(const pmt_t& x1, const pmt_t& x2, const pmt_t& x3)
{
- return pmt_cons(x1, pmt_cons(x2, pmt_cons(x3, PMT_NIL)));
+ return cons(x1, cons(x2, cons(x3, PMT_NIL)));
}
pmt_t
-pmt_list4(const pmt_t& x1, const pmt_t& x2, const pmt_t& x3, const pmt_t& x4)
+list4(const pmt_t& x1, const pmt_t& x2, const pmt_t& x3, const pmt_t& x4)
{
- return pmt_cons(x1, pmt_cons(x2, pmt_cons(x3, pmt_cons(x4, PMT_NIL))));
+ return cons(x1, cons(x2, cons(x3, cons(x4, PMT_NIL))));
}
pmt_t
-pmt_list5(const pmt_t& x1, const pmt_t& x2, const pmt_t& x3, const pmt_t& x4, const pmt_t& x5)
+list5(const pmt_t& x1, const pmt_t& x2, const pmt_t& x3, const pmt_t& x4, const pmt_t& x5)
{
- return pmt_cons(x1, pmt_cons(x2, pmt_cons(x3, pmt_cons(x4, pmt_cons(x5, PMT_NIL)))));
+ return cons(x1, cons(x2, cons(x3, cons(x4, cons(x5, PMT_NIL)))));
}
pmt_t
-pmt_list6(const pmt_t& x1, const pmt_t& x2, const pmt_t& x3, const pmt_t& x4, const pmt_t& x5, const pmt_t& x6)
+list6(const pmt_t& x1, const pmt_t& x2, const pmt_t& x3, const pmt_t& x4, const pmt_t& x5, const pmt_t& x6)
{
- return pmt_cons(x1, pmt_cons(x2, pmt_cons(x3, pmt_cons(x4, pmt_cons(x5, pmt_cons(x6, PMT_NIL))))));
+ return cons(x1, cons(x2, cons(x3, cons(x4, cons(x5, cons(x6, PMT_NIL))))));
}
pmt_t
-pmt_list_add(pmt_t list, const pmt_t& item)
+list_add(pmt_t list, const pmt_t& item)
{
- return pmt_reverse(pmt_cons(item, pmt_reverse(list)));
+ return reverse(cons(item, reverse(list)));
}
pmt_t
-pmt_list_rm(pmt_t list, const pmt_t& item)
+list_rm(pmt_t list, const pmt_t& item)
{
- if(pmt_is_pair(list)){
- pmt_t left = pmt_car(list);
- pmt_t right = pmt_cdr(list);
- if(!pmt_equal(left, item)){
- return pmt_cons(left, pmt_list_rm(right, item));
+ if(is_pair(list)){
+ pmt_t left = car(list);
+ pmt_t right = cdr(list);
+ if(!equal(left, item)){
+ return cons(left, list_rm(right, item));
} else {
- return pmt_list_rm(right, item);
+ return list_rm(right, item);
}
} else {
return list;
@@ -1351,65 +1358,65 @@ pmt_list_rm(pmt_t list, const pmt_t& item)
}
bool
-pmt_list_has(pmt_t list, const pmt_t& item)
+list_has(pmt_t list, const pmt_t& item)
{
- if(pmt_is_pair(list)){
- pmt_t left = pmt_car(list);
- pmt_t right = pmt_cdr(list);
- if(pmt_equal(left,item))
+ if(is_pair(list)){
+ pmt_t left = car(list);
+ pmt_t right = cdr(list);
+ if(equal(left,item))
return true;
- return pmt_list_has(right, item);
+ return list_has(right, item);
} else {
- if(pmt_is_null(list))
+ if(is_null(list))
return false;
throw std::runtime_error("list contains invalid format!");
}
}
pmt_t
-pmt_caar(pmt_t pair)
+caar(pmt_t pair)
{
- return (pmt_car(pmt_car(pair)));
+ return (car(car(pair)));
}
pmt_t
-pmt_cadr(pmt_t pair)
+cadr(pmt_t pair)
{
- return pmt_car(pmt_cdr(pair));
+ return car(cdr(pair));
}
pmt_t
-pmt_cdar(pmt_t pair)
+cdar(pmt_t pair)
{
- return pmt_cdr(pmt_car(pair));
+ return cdr(car(pair));
}
pmt_t
-pmt_cddr(pmt_t pair)
+cddr(pmt_t pair)
{
- return pmt_cdr(pmt_cdr(pair));
+ return cdr(cdr(pair));
}
pmt_t
-pmt_caddr(pmt_t pair)
+caddr(pmt_t pair)
{
- return pmt_car(pmt_cdr(pmt_cdr(pair)));
+ return car(cdr(cdr(pair)));
}
pmt_t
-pmt_cadddr(pmt_t pair)
+cadddr(pmt_t pair)
{
- return pmt_car(pmt_cdr(pmt_cdr(pmt_cdr(pair))));
+ return car(cdr(cdr(cdr(pair))));
}
bool
-pmt_is_eof_object(pmt_t obj)
+is_eof_object(pmt_t obj)
{
- return pmt_eq(obj, PMT_EOF);
+ return eq(obj, PMT_EOF);
}
void
-pmt_dump_sizeof()
+dump_sizeof()
{
printf("sizeof(pmt_t) = %3zd\n", sizeof(pmt_t));
printf("sizeof(pmt_base) = %3zd\n", sizeof(pmt_base));
diff --git a/gruel/src/lib/pmt/pmt_io.cc b/gruel/src/lib/pmt/pmt_io.cc
index 4bac4a0ecb..2e853b9147 100644
--- a/gruel/src/lib/pmt/pmt_io.cc
+++ b/gruel/src/lib/pmt/pmt_io.cc
@@ -31,84 +31,84 @@
namespace pmt {
static void
-pmt_write_list_tail(pmt_t obj, std::ostream &port)
+write_list_tail(pmt_t obj, std::ostream &port)
{
- pmt_write(pmt_car(obj), port); // write the car
- obj = pmt_cdr(obj); // step to cdr
+ write(car(obj), port); // write the car
+ obj = cdr(obj); // step to cdr
- if (pmt_is_null(obj)) // ()
+ if (is_null(obj)) // ()
port << ")";
- else if (pmt_is_pair(obj)){ // normal list
+ else if (is_pair(obj)){ // normal list
port << " ";
- pmt_write_list_tail(obj, port);
+ write_list_tail(obj, port);
}
else { // dotted pair
port << " . ";
- pmt_write(obj, port);
+ write(obj, port);
port << ")";
}
}
void
-pmt_write(pmt_t obj, std::ostream &port)
+write(pmt_t obj, std::ostream &port)
{
- if (pmt_is_bool(obj)){
- if (pmt_is_true(obj))
+ if (is_bool(obj)){
+ if (is_true(obj))
port << "#t";
else
port << "#f";
}
- else if (pmt_is_symbol(obj)){
- port << pmt_symbol_to_string(obj);
+ else if (is_symbol(obj)){
+ port << symbol_to_string(obj);
}
- else if (pmt_is_number(obj)){
- if (pmt_is_integer(obj))
- port << pmt_to_long(obj);
- else if (pmt_is_uint64(obj))
- port << pmt_to_uint64(obj);
- else if (pmt_is_real(obj))
- port << pmt_to_double(obj);
- else if (pmt_is_complex(obj)){
- std::complex<double> c = pmt_to_complex(obj);
+ else if (is_number(obj)){
+ if (is_integer(obj))
+ port << to_long(obj);
+ else if (is_uint64(obj))
+ port << to_uint64(obj);
+ else if (is_real(obj))
+ port << to_double(obj);
+ else if (is_complex(obj)){
+ std::complex<double> c = to_complex(obj);
port << c.real() << '+' << c.imag() << 'i';
}
else
goto error;
}
- else if (pmt_is_null(obj)){
+ else if (is_null(obj)){
port << "()";
}
- else if (pmt_is_pair(obj)){
+ else if (is_pair(obj)){
port << "(";
- pmt_write_list_tail(obj, port);
+ write_list_tail(obj, port);
}
- else if (pmt_is_tuple(obj)){
+ else if (is_tuple(obj)){
port << "{";
- size_t len = pmt_length(obj);
+ size_t len = length(obj);
if (len > 0){
- port << pmt_tuple_ref(obj, 0);
+ port << tuple_ref(obj, 0);
for (size_t i = 1; i < len; i++)
- port << " " << pmt_tuple_ref(obj, i);
+ port << " " << tuple_ref(obj, i);
}
port << "}";
}
- else if (pmt_is_vector(obj)){
+ else if (is_vector(obj)){
port << "#(";
- size_t len = pmt_length(obj);
+ size_t len = length(obj);
if (len > 0){
- port << pmt_vector_ref(obj, 0);
+ port << vector_ref(obj, 0);
for (size_t i = 1; i < len; i++)
- port << " " << pmt_vector_ref(obj, i);
+ port << " " << vector_ref(obj, i);
}
port << ")";
}
- else if (pmt_is_dict(obj)){
+ else if (is_dict(obj)){
// FIXME
// port << "#<dict " << obj << ">";
port << "#<dict>";
}
- else if (pmt_is_uniform_vector(obj)){
+ else if (is_uniform_vector(obj)){
// FIXME
// port << "#<uniform-vector " << obj << ">";
port << "#<uniform-vector>";
@@ -123,12 +123,12 @@ pmt_write(pmt_t obj, std::ostream &port)
std::ostream& operator<<(std::ostream &os, pmt_t obj)
{
- pmt_write(obj, os);
+ write(obj, os);
return os;
}
std::string
-pmt_write_string(pmt_t obj)
+write_string(pmt_t obj)
{
std::ostringstream s;
s << obj;
@@ -136,33 +136,33 @@ pmt_write_string(pmt_t obj)
}
pmt_t
-pmt_read(std::istream &port)
+read(std::istream &port)
{
- throw pmt_notimplemented("notimplemented: pmt_read", PMT_NIL);
+ throw notimplemented("notimplemented: pmt::read", PMT_NIL);
}
void
-pmt_serialize(pmt_t obj, std::ostream &sink)
+serialize(pmt_t obj, std::ostream &sink)
{
- throw pmt_notimplemented("notimplemented: pmt_serialize", obj);
+ throw notimplemented("notimplemented: pmt::serialize", obj);
}
/*!
* \brief Create obj from portable byte-serial representation
*/
pmt_t
-pmt_deserialize(std::istream &source)
+deserialize(std::istream &source)
{
- throw pmt_notimplemented("notimplemented: pmt_deserialize", PMT_NIL);
+ throw notimplemented("notimplemented: pmt::deserialize", PMT_NIL);
}
} /* namespace pmt */
void
-pmt::pmt_print(pmt_t v)
+pmt::print(pmt_t v)
{
- std::cout << pmt_write_string(v) << std::endl;
+ std::cout << write_string(v) << std::endl;
}
diff --git a/gruel/src/lib/pmt/pmt_serialize.cc b/gruel/src/lib/pmt/pmt_serialize.cc
index 24be6b772c..2c74f30b01 100644
--- a/gruel/src/lib/pmt/pmt_serialize.cc
+++ b/gruel/src/lib/pmt/pmt_serialize.cc
@@ -219,15 +219,16 @@ deserialize_tuple(pmt_t *tuple, std::streambuf &sb)
uint32_t nitems;
bool ok = deserialize_untagged_u32(&nitems, sb);
pmt_t list(PMT_NIL);
- for(uint32_t i=0; i<nitems; i++){
- pmt_t item = pmt_deserialize( sb );
- if(pmt_eq(list, PMT_NIL)){
- list = pmt_list1(item);
- } else {
- list = pmt_list_add(list, item);
- }
+ for(uint32_t i=0; i<nitems; i++) {
+ pmt_t item = deserialize(sb);
+ if(eq(list, PMT_NIL)) {
+ list = list1(item);
+ }
+ else {
+ list = list_add(list, item);
+ }
}
- (*tuple) = pmt_to_tuple(list);
+ (*tuple) = to_tuple(list);
return ok;
}
@@ -238,92 +239,93 @@ deserialize_tuple(pmt_t *tuple, std::streambuf &sb)
* N.B., Circular structures cause infinite recursion.
*/
bool
-pmt_serialize(pmt_t obj, std::streambuf &sb)
+serialize(pmt_t obj, std::streambuf &sb)
{
bool ok = true;
tail_recursion:
- if (pmt_is_bool(obj)){
- if (pmt_eq(obj, PMT_T))
+ if(is_bool(obj)) {
+ if(eq(obj, PMT_T))
return serialize_untagged_u8(PST_TRUE, sb);
else
return serialize_untagged_u8(PST_FALSE, sb);
}
- if (pmt_is_null(obj))
+ if(is_null(obj))
return serialize_untagged_u8(PST_NULL, sb);
- if (pmt_is_symbol(obj)){
- const std::string s = pmt_symbol_to_string(obj);
+ if(is_symbol(obj)) {
+ const std::string s = symbol_to_string(obj);
size_t len = s.size();
ok = serialize_untagged_u8(PST_SYMBOL, sb);
ok &= serialize_untagged_u16(len, sb);
- for (size_t i = 0; i < len; i++)
+ for(size_t i = 0; i < len; i++)
ok &= serialize_untagged_u8(s[i], sb);
return ok;
}
- if (pmt_is_pair(obj)){
+ if(is_pair(obj)) {
ok = serialize_untagged_u8(PST_PAIR, sb);
- ok &= pmt_serialize(pmt_car(obj), sb);
- if (!ok)
+ ok &= serialize(car(obj), sb);
+ if(!ok)
return false;
- obj = pmt_cdr(obj);
+ obj = cdr(obj);
goto tail_recursion;
}
- if (pmt_is_number(obj)){
+ if(is_number(obj)) {
- if (pmt_is_uint64(obj)){
- uint64_t i = pmt_to_uint64(obj);
+ if(is_uint64(obj)) {
+ uint64_t i = to_uint64(obj);
ok = serialize_untagged_u8(PST_UINT64, sb);
ok &= serialize_untagged_u64(i, sb);
return ok;
- } else
- if (pmt_is_integer(obj)){
- long i = pmt_to_long(obj);
- if (sizeof(long) > 4){
- if (i < -2147483647 || i > 2147483647)
- throw pmt_notimplemented("pmt_serialize (64-bit integers)", obj);
+ }
+ else {
+ if(is_integer(obj)) {
+ long i = to_long(obj);
+ if(sizeof(long) > 4) {
+ if(i < -2147483647 || i > 2147483647)
+ throw notimplemented("pmt::serialize (64-bit integers)", obj);
+ }
+ ok = serialize_untagged_u8(PST_INT32, sb);
+ ok &= serialize_untagged_u32(i, sb);
+ return ok;
}
- ok = serialize_untagged_u8(PST_INT32, sb);
- ok &= serialize_untagged_u32(i, sb);
- return ok;
}
- if (pmt_is_real(obj)){
- float i = pmt_to_double(obj);
+ if(is_real(obj)) {
+ float i = to_double(obj);
ok = serialize_untagged_u8(PST_DOUBLE, sb);
ok &= serialize_untagged_f64(i, sb);
return ok;
}
- if (pmt_is_complex(obj)){
- std::complex<double> i = pmt_to_complex(obj);
+ if(is_complex(obj)) {
+ std::complex<double> i = to_complex(obj);
ok = serialize_untagged_u8(PST_COMPLEX, sb);
ok &= serialize_untagged_f64(i.real(), sb);
ok &= serialize_untagged_f64(i.imag(), sb);
return ok;
}
-
}
- if (pmt_is_vector(obj)) {
- size_t vec_len = pmt::pmt_length(obj);
+ if(is_vector(obj)) {
+ size_t vec_len = pmt::length(obj);
ok = serialize_untagged_u8(PST_VECTOR, sb);
ok &= serialize_untagged_u32(vec_len, sb);
for(size_t i=0; i<vec_len; i++) {
- ok &= pmt_serialize(pmt_vector_ref(obj, i), sb);
+ ok &= serialize(vector_ref(obj, i), sb);
}
return ok;
}
- if (pmt_is_uniform_vector(obj)) {
+ if(is_uniform_vector(obj)) {
size_t npad = 1;
- size_t vec_len = pmt::pmt_length(obj);
+ size_t vec_len = pmt::length(obj);
- if(pmt_is_u8vector(obj)) {
+ if(is_u8vector(obj)) {
ok = serialize_untagged_u8(PST_UNIFORM_VECTOR, sb);
ok &= serialize_untagged_u8(UVI_U8, sb);
ok &= serialize_untagged_u32(vec_len, sb);
@@ -332,12 +334,12 @@ pmt_serialize(pmt_t obj, std::streambuf &sb)
ok &= serialize_untagged_u8(0, sb);
}
for(size_t i=0; i<vec_len; i++) {
- ok &= serialize_untagged_u8(pmt_u8vector_ref(obj, i), sb);
+ ok &= serialize_untagged_u8(u8vector_ref(obj, i), sb);
}
return ok;
}
- if(pmt_is_s8vector(obj)) {
+ if(is_s8vector(obj)) {
ok = serialize_untagged_u8(PST_UNIFORM_VECTOR, sb);
ok &= serialize_untagged_u8(UVI_S8, sb);
ok &= serialize_untagged_u32(vec_len, sb);
@@ -346,12 +348,12 @@ pmt_serialize(pmt_t obj, std::streambuf &sb)
ok &= serialize_untagged_u8(0, sb);
}
for(size_t i=0; i<vec_len; i++) {
- ok &= serialize_untagged_u8(pmt_s8vector_ref(obj, i), sb);
+ ok &= serialize_untagged_u8(s8vector_ref(obj, i), sb);
}
return ok;
}
- if(pmt_is_u16vector(obj)) {
+ if(is_u16vector(obj)) {
ok = serialize_untagged_u8(PST_UNIFORM_VECTOR, sb);
ok &= serialize_untagged_u8(UVI_U16, sb);
ok &= serialize_untagged_u32(vec_len, sb);
@@ -360,12 +362,12 @@ pmt_serialize(pmt_t obj, std::streambuf &sb)
ok &= serialize_untagged_u8(0, sb);
}
for(size_t i=0; i<vec_len; i++) {
- ok &= serialize_untagged_u16(pmt_u16vector_ref(obj, i), sb);
+ ok &= serialize_untagged_u16(u16vector_ref(obj, i), sb);
}
return ok;
}
- if(pmt_is_s16vector(obj)) {
+ if(is_s16vector(obj)) {
ok = serialize_untagged_u8(PST_UNIFORM_VECTOR, sb);
ok &= serialize_untagged_u8(UVI_S16, sb);
ok &= serialize_untagged_u32(vec_len, sb);
@@ -374,12 +376,12 @@ pmt_serialize(pmt_t obj, std::streambuf &sb)
ok &= serialize_untagged_u8(0, sb);
}
for(size_t i=0; i<vec_len; i++) {
- ok &= serialize_untagged_u16(pmt_s16vector_ref(obj, i), sb);
+ ok &= serialize_untagged_u16(s16vector_ref(obj, i), sb);
}
return ok;
}
- if(pmt_is_u32vector(obj)) {
+ if(is_u32vector(obj)) {
ok = serialize_untagged_u8(PST_UNIFORM_VECTOR, sb);
ok &= serialize_untagged_u8(UVI_U32, sb);
ok &= serialize_untagged_u32(vec_len, sb);
@@ -388,12 +390,12 @@ pmt_serialize(pmt_t obj, std::streambuf &sb)
ok &= serialize_untagged_u8(0, sb);
}
for(size_t i=0; i<vec_len; i++) {
- ok &= serialize_untagged_u32(pmt_u32vector_ref(obj, i), sb);
+ ok &= serialize_untagged_u32(u32vector_ref(obj, i), sb);
}
return ok;
}
- if(pmt_is_s32vector(obj)) {
+ if(is_s32vector(obj)) {
ok = serialize_untagged_u8(PST_UNIFORM_VECTOR, sb);
ok &= serialize_untagged_u8(UVI_S32, sb);
ok &= serialize_untagged_u32(vec_len, sb);
@@ -402,12 +404,12 @@ pmt_serialize(pmt_t obj, std::streambuf &sb)
ok &= serialize_untagged_u8(0, sb);
}
for(size_t i=0; i<vec_len; i++) {
- ok &= serialize_untagged_u32(pmt_s32vector_ref(obj, i), sb);
+ ok &= serialize_untagged_u32(s32vector_ref(obj, i), sb);
}
return ok;
}
- if(pmt_is_u64vector(obj)) {
+ if(is_u64vector(obj)) {
ok = serialize_untagged_u8(PST_UNIFORM_VECTOR, sb);
ok &= serialize_untagged_u8(UVI_U64, sb);
ok &= serialize_untagged_u32(vec_len, sb);
@@ -416,12 +418,12 @@ pmt_serialize(pmt_t obj, std::streambuf &sb)
ok &= serialize_untagged_u8(0, sb);
}
for(size_t i=0; i<vec_len; i++) {
- ok &= serialize_untagged_u64(pmt_u64vector_ref(obj, i), sb);
+ ok &= serialize_untagged_u64(u64vector_ref(obj, i), sb);
}
return ok;
}
- if(pmt_is_s64vector(obj)) {
+ if(is_s64vector(obj)) {
ok = serialize_untagged_u8(PST_UNIFORM_VECTOR, sb);
ok &= serialize_untagged_u8(UVI_S64, sb);
ok &= serialize_untagged_u32(vec_len, sb);
@@ -430,12 +432,12 @@ pmt_serialize(pmt_t obj, std::streambuf &sb)
ok &= serialize_untagged_u8(0, sb);
}
for(size_t i=0; i<vec_len; i++) {
- ok &= serialize_untagged_u64(pmt_s64vector_ref(obj, i), sb);
+ ok &= serialize_untagged_u64(s64vector_ref(obj, i), sb);
}
return ok;
}
- if(pmt_is_f32vector(obj)) {
+ if(is_f32vector(obj)) {
ok = serialize_untagged_u8(PST_UNIFORM_VECTOR, sb);
ok &= serialize_untagged_u8(UVI_F32, sb);
ok &= serialize_untagged_u32(vec_len, sb);
@@ -444,12 +446,12 @@ pmt_serialize(pmt_t obj, std::streambuf &sb)
ok &= serialize_untagged_u8(0, sb);
}
for(size_t i=0; i<vec_len; i++) {
- ok &= serialize_untagged_f64(pmt_f32vector_ref(obj, i), sb);
+ ok &= serialize_untagged_f64(f32vector_ref(obj, i), sb);
}
return ok;
}
- if(pmt_is_f64vector(obj)) {
+ if(is_f64vector(obj)) {
ok = serialize_untagged_u8(PST_UNIFORM_VECTOR, sb);
ok &= serialize_untagged_u8(UVI_F64, sb);
ok &= serialize_untagged_u32(vec_len, sb);
@@ -458,12 +460,12 @@ pmt_serialize(pmt_t obj, std::streambuf &sb)
ok &= serialize_untagged_u8(0, sb);
}
for(size_t i=0; i<vec_len; i++) {
- ok &= serialize_untagged_f64(pmt_f64vector_ref(obj, i), sb);
+ ok &= serialize_untagged_f64(f64vector_ref(obj, i), sb);
}
return ok;
}
- if(pmt_is_c32vector(obj)) {
+ if(is_c32vector(obj)) {
ok = serialize_untagged_u8(PST_UNIFORM_VECTOR, sb);
ok &= serialize_untagged_u8(UVI_C32, sb);
ok &= serialize_untagged_u32(vec_len, sb);
@@ -472,14 +474,14 @@ pmt_serialize(pmt_t obj, std::streambuf &sb)
ok &= serialize_untagged_u8(0, sb);
}
for(size_t i=0; i<vec_len; i++) {
- std::complex<float> c = pmt_c32vector_ref(obj, i);
+ std::complex<float> c = c32vector_ref(obj, i);
ok &= serialize_untagged_f64(c.real(), sb);
ok &= serialize_untagged_f64(c.imag(), sb);
}
return ok;
}
- if(pmt_is_c64vector(obj)) {
+ if(is_c64vector(obj)) {
ok = serialize_untagged_u8(PST_UNIFORM_VECTOR, sb);
ok &= serialize_untagged_u8(UVI_C64, sb);
ok &= serialize_untagged_u32(vec_len, sb);
@@ -488,7 +490,7 @@ pmt_serialize(pmt_t obj, std::streambuf &sb)
ok &= serialize_untagged_u8(0, sb);
}
for(size_t i=0; i<vec_len; i++) {
- std::complex<double> c = pmt_c64vector_ref(obj, i);
+ std::complex<double> c = c64vector_ref(obj, i);
ok &= serialize_untagged_f64(c.real(), sb);
ok &= serialize_untagged_f64(c.imag(), sb);
}
@@ -496,21 +498,21 @@ pmt_serialize(pmt_t obj, std::streambuf &sb)
}
}
- if (pmt_is_dict(obj))
- throw pmt_notimplemented("pmt_serialize (dict)", obj);
+ if (is_dict(obj))
+ throw notimplemented("pmt::serialize (dict)", obj);
- if (pmt_is_tuple(obj)){
- size_t tuple_len = pmt::pmt_length(obj);
+ if (is_tuple(obj)){
+ size_t tuple_len = pmt::length(obj);
ok = serialize_untagged_u8(PST_TUPLE, sb);
ok &= serialize_untagged_u32(tuple_len, sb);
for(size_t i=0; i<tuple_len; i++){
- ok &= pmt_serialize(pmt_tuple_ref(obj, i), sb);
+ ok &= serialize(tuple_ref(obj, i), sb);
}
return ok;
}
- //throw pmt_notimplemented("pmt_serialize (tuple)", obj);
+ //throw pmt_notimplemented("pmt::serialize (tuple)", obj);
- throw pmt_notimplemented("pmt_serialize (?)", obj);
+ throw notimplemented("pmt::serialize (?)", obj);
}
/*
@@ -520,7 +522,7 @@ pmt_serialize(pmt_t obj, std::streambuf &sb)
* Throws exception on malformed input.
*/
pmt_t
-pmt_deserialize(std::streambuf &sb)
+deserialize(std::streambuf &sb)
{
uint8_t tag;
uint8_t u8;
@@ -547,21 +549,21 @@ pmt_deserialize(std::streambuf &sb)
if (!deserialize_untagged_u16(&u16, sb))
goto error;
if (u16 > sizeof(tmpbuf))
- throw pmt_notimplemented("pmt_deserialize: very long symbol",
- PMT_F);
+ throw notimplemented("pmt::deserialize: very long symbol",
+ PMT_F);
if (sb.sgetn(tmpbuf, u16) != u16)
goto error;
- return pmt_intern(std::string(tmpbuf, u16));
+ return intern(std::string(tmpbuf, u16));
case PST_INT32:
if (!deserialize_untagged_u32(&u32, sb))
goto error;
- return pmt_from_long((int32_t) u32);
+ return from_long((int32_t) u32);
case PST_UINT64:
if(!deserialize_untagged_u64(&u64, sb))
goto error;
- return pmt_from_uint64(u64);
+ return from_uint64(u64);
case PST_PAIR:
return parse_pair(sb);
@@ -569,14 +571,14 @@ pmt_deserialize(std::streambuf &sb)
case PST_DOUBLE:
if(!deserialize_untagged_f64(&f64, sb))
goto error;
- return pmt_from_double( f64 );
+ return from_double( f64 );
case PST_COMPLEX:
{
double r,i;
if(!deserialize_untagged_f64(&r, sb) && !deserialize_untagged_f64(&i, sb))
goto error;
- return pmt_make_rectangular( r,i );
+ return make_rectangular( r,i );
}
case PST_TUPLE:
@@ -593,10 +595,10 @@ pmt_deserialize(std::streambuf &sb)
uint32_t nitems;
if(!deserialize_untagged_u32(&nitems, sb))
goto error;
- pmt_t vec = pmt_make_vector(nitems, PMT_NIL);
+ pmt_t vec = make_vector(nitems, PMT_NIL);
for(uint32_t i=0; i<nitems; i++) {
- pmt_t item = pmt_deserialize(sb);
- pmt_vector_set(vec, i, item);
+ pmt_t item = deserialize(sb);
+ vector_set(vec, i, item);
}
return vec;
}
@@ -619,149 +621,150 @@ pmt_deserialize(std::streambuf &sb)
switch(utag) {
case(UVI_U8):
{
- pmt_t vec = pmt_make_u8vector(nitems, 0);
+ pmt_t vec = make_u8vector(nitems, 0);
for(uint32_t i=0; i<nitems; i++) {
deserialize_untagged_u8(&u8, sb);
- pmt_u8vector_set(vec, i, u8);
+ u8vector_set(vec, i, u8);
}
return vec;
}
case(UVI_S8):
{
- pmt_t vec = pmt_make_s8vector(nitems, 0);
+ pmt_t vec = make_s8vector(nitems, 0);
for(uint32_t i=0; i<nitems; i++) {
deserialize_untagged_u8(&u8, sb);
- pmt_s8vector_set(vec, i, u8);
+ s8vector_set(vec, i, u8);
}
return vec;
}
case(UVI_U16):
{
- pmt_t vec = pmt_make_u16vector(nitems, 0);
+ pmt_t vec = make_u16vector(nitems, 0);
for(uint32_t i=0; i<nitems; i++) {
deserialize_untagged_u16(&u16, sb);
- pmt_u16vector_set(vec, i, u16);
+ u16vector_set(vec, i, u16);
}
return vec;
}
case(UVI_S16):
{
- pmt_t vec = pmt_make_s16vector(nitems, 0);
+ pmt_t vec = make_s16vector(nitems, 0);
for(uint32_t i=0; i<nitems; i++) {
deserialize_untagged_u16(&u16, sb);
- pmt_s16vector_set(vec, i, u16);
+ s16vector_set(vec, i, u16);
}
return vec;
}
case(UVI_U32):
{
- pmt_t vec = pmt_make_u32vector(nitems, 0);
+ pmt_t vec = make_u32vector(nitems, 0);
for(uint32_t i=0; i<nitems; i++) {
deserialize_untagged_u32(&u32, sb);
- pmt_u32vector_set(vec, i, u32);
+ u32vector_set(vec, i, u32);
}
return vec;
}
case(UVI_S32):
{
- pmt_t vec = pmt_make_s32vector(nitems, 0);
+ pmt_t vec = make_s32vector(nitems, 0);
for(uint32_t i=0; i<nitems; i++) {
deserialize_untagged_u32(&u32, sb);
- pmt_s32vector_set(vec, i, u32);
+ s32vector_set(vec, i, u32);
}
return vec;
}
case(UVI_U64):
{
- pmt_t vec = pmt_make_u64vector(nitems, 0);
+ pmt_t vec = make_u64vector(nitems, 0);
for(uint32_t i=0; i<nitems; i++) {
deserialize_untagged_u64(&u64, sb);
- pmt_u64vector_set(vec, i, u64);
+ u64vector_set(vec, i, u64);
}
return vec;
}
case(UVI_S64):
{
- pmt_t vec = pmt_make_s64vector(nitems, 0);
+ pmt_t vec = make_s64vector(nitems, 0);
for(uint32_t i=0; i<nitems; i++) {
deserialize_untagged_u64(&u64, sb);
- pmt_s64vector_set(vec, i, u64);
+ s64vector_set(vec, i, u64);
}
return vec;
}
case(UVI_F32):
{
- pmt_t vec = pmt_make_f32vector(nitems, 0);
+ pmt_t vec = make_f32vector(nitems, 0);
for(uint32_t i=0; i<nitems; i++) {
deserialize_untagged_f64(&f64, sb);
- pmt_f32vector_set(vec, i, static_cast<float>(f64));
+ f32vector_set(vec, i, static_cast<float>(f64));
}
return vec;
}
case(UVI_F64):
{
- pmt_t vec = pmt_make_f64vector(nitems, 0);
+ pmt_t vec = make_f64vector(nitems, 0);
for(uint32_t i=0; i<nitems; i++) {
deserialize_untagged_f64(&f64, sb);
- pmt_f64vector_set(vec, i, f64);
+ f64vector_set(vec, i, f64);
}
return vec;
}
case(UVI_C32):
{
- pmt_t vec = pmt_make_c32vector(nitems, 0);
+ pmt_t vec = make_c32vector(nitems, 0);
for(uint32_t i=0; i<nitems; i++) {
float re, im;
deserialize_untagged_f64(&f64, sb);
re = static_cast<float>(f64);
deserialize_untagged_f64(&f64, sb);
im = static_cast<float>(f64);
- pmt_c32vector_set(vec, i, std::complex<float>(re, im));
+ c32vector_set(vec, i, std::complex<float>(re, im));
}
return vec;
}
case(UVI_C64):
{
- pmt_t vec = pmt_make_c64vector(nitems, 0);
+ pmt_t vec = make_c64vector(nitems, 0);
for(uint32_t i=0; i<nitems; i++) {
double re, im;
deserialize_untagged_f64(&f64, sb);
re = f64;
deserialize_untagged_f64(&f64, sb);
im = f64;
- pmt_c64vector_set(vec, i, std::complex<double>(re, im));
+ c64vector_set(vec, i, std::complex<double>(re, im));
}
return vec;
}
default:
- throw pmt_exception("pmt_deserialize: malformed input stream, tag value = ",
- pmt_from_long(tag));
+ throw exception("pmt::deserialize: malformed input stream, tag value = ",
+ from_long(tag));
}
}
case PST_DICT:
case PST_COMMENT:
- throw pmt_notimplemented("pmt_deserialize: tag value = ",
- pmt_from_long(tag));
+ throw notimplemented("pmt::deserialize: tag value = ",
+ from_long(tag));
default:
- throw pmt_exception("pmt_deserialize: malformed input stream, tag value = ",
- pmt_from_long(tag));
+ throw exception("pmt::deserialize: malformed input stream, tag value = ",
+ from_long(tag));
}
error:
- throw pmt_exception("pmt_deserialize: malformed input stream", PMT_F);
+ throw exception("pmt::deserialize: malformed input stream", PMT_F);
}
/*
* provide a simple string accessor to the serialized pmt form
*/
-std::string pmt_serialize_str(pmt_t obj){
+std::string
+serialize_str(pmt_t obj){
std::stringbuf sb;
- pmt_serialize(obj, sb);
+ serialize(obj, sb);
return sb.str();
}
@@ -769,9 +772,10 @@ std::string pmt_serialize_str(pmt_t obj){
/*
* provide a simple string accessor to the deserialized pmt form
*/
-pmt_t pmt_deserialize_str(std::string s){
+pmt_t
+deserialize_str(std::string s){
std::stringbuf sb(s);
- return pmt_deserialize(sb);
+ return deserialize(sb);
}
@@ -792,17 +796,17 @@ parse_pair(std::streambuf &sb)
//
lastnptr = PMT_NIL;
while (1){
- expr = pmt_deserialize(sb); // read the car
+ expr = deserialize(sb); // read the car
- nptr = pmt_cons(expr, PMT_NIL); // build new cell
- if (pmt_is_null(lastnptr))
+ nptr = cons(expr, PMT_NIL); // build new cell
+ if (is_null(lastnptr))
val = nptr;
else
- pmt_set_cdr(lastnptr, nptr);
+ set_cdr(lastnptr, nptr);
lastnptr = nptr;
if (!deserialize_untagged_u8(&tag, sb)) // get tag of cdr
- throw pmt_exception("pmt_deserialize: malformed input stream", PMT_F);
+ throw exception("pmt::deserialize: malformed input stream", PMT_F);
if (tag == PST_PAIR)
continue; // keep on looping...
@@ -816,14 +820,14 @@ parse_pair(std::streambuf &sb)
// default: push tag back and use pmt_deserialize to get the cdr
//
sb.sungetc();
- expr = pmt_deserialize(sb);
+ expr = deserialize(sb);
break;
}
//
// At this point, expr contains the value of the final cdr in the list.
//
- pmt_set_cdr(lastnptr, expr);
+ set_cdr(lastnptr, expr);
return val;
}
diff --git a/gruel/src/lib/pmt/qa_pmt_prims.cc b/gruel/src/lib/pmt/qa_pmt_prims.cc
index 3ae4d70b6d..85d29cf78f 100644
--- a/gruel/src/lib/pmt/qa_pmt_prims.cc
+++ b/gruel/src/lib/pmt/qa_pmt_prims.cc
@@ -28,35 +28,33 @@
#include <cstring>
#include <sstream>
-using namespace pmt;
-
void
qa_pmt_prims::test_symbols()
{
- CPPUNIT_ASSERT(!pmt_is_symbol(PMT_T));
- CPPUNIT_ASSERT(!pmt_is_symbol(PMT_F));
- CPPUNIT_ASSERT_THROW(pmt_symbol_to_string(PMT_F), pmt_wrong_type);
-
- pmt_t sym1 = mp("test");
- CPPUNIT_ASSERT(pmt_is_symbol(sym1));
- CPPUNIT_ASSERT_EQUAL(std::string("test"), pmt_symbol_to_string(sym1));
- CPPUNIT_ASSERT(pmt_is_true(sym1));
- CPPUNIT_ASSERT(!pmt_is_false(sym1));
-
- pmt_t sym2 = mp("foo");
- pmt_t sym3 = mp("test");
+ CPPUNIT_ASSERT(!pmt::is_symbol(pmt::PMT_T));
+ CPPUNIT_ASSERT(!pmt::is_symbol(pmt::PMT_F));
+ CPPUNIT_ASSERT_THROW(pmt::symbol_to_string(pmt::PMT_F), pmt::wrong_type);
+
+ pmt::pmt_t sym1 = pmt::mp("test");
+ CPPUNIT_ASSERT(pmt::is_symbol(sym1));
+ CPPUNIT_ASSERT_EQUAL(std::string("test"), pmt::symbol_to_string(sym1));
+ CPPUNIT_ASSERT(pmt::is_true(sym1));
+ CPPUNIT_ASSERT(!pmt::is_false(sym1));
+
+ pmt::pmt_t sym2 = pmt::mp("foo");
+ pmt::pmt_t sym3 = pmt::mp("test");
CPPUNIT_ASSERT_EQUAL(sym1, sym3);
CPPUNIT_ASSERT(sym1 != sym2);
CPPUNIT_ASSERT(sym1 == sym3);
static const int N = 2048;
- std::vector<pmt_t> v1(N);
- std::vector<pmt_t> v2(N);
+ std::vector<pmt::pmt_t> v1(N);
+ std::vector<pmt::pmt_t> v2(N);
// generate a bunch of symbols
for (int i = 0; i < N; i++){
std::string buf = str(boost::format("test-%d") % i);
- v1[i] = mp(buf.c_str());
+ v1[i] = pmt::mp(buf.c_str());
}
// confirm that they are all unique
@@ -67,7 +65,7 @@ qa_pmt_prims::test_symbols()
// generate the same symbols again
for (int i = 0; i < N; i++){
std::string buf = str(boost::format("test-%d") % i);
- v2[i] = mp(buf.c_str());
+ v2[i] = pmt::mp(buf.c_str());
}
// confirm that we get the same ones back
@@ -78,355 +76,355 @@ qa_pmt_prims::test_symbols()
void
qa_pmt_prims::test_booleans()
{
- pmt_t sym = mp("test");
- CPPUNIT_ASSERT(pmt_is_bool(PMT_T));
- CPPUNIT_ASSERT(pmt_is_bool(PMT_F));
- CPPUNIT_ASSERT(!pmt_is_bool(sym));
- CPPUNIT_ASSERT_EQUAL(pmt_from_bool(false), PMT_F);
- CPPUNIT_ASSERT_EQUAL(pmt_from_bool(true), PMT_T);
- CPPUNIT_ASSERT_EQUAL(false, pmt_to_bool(PMT_F));
- CPPUNIT_ASSERT_EQUAL(true, pmt_to_bool(PMT_T));
- CPPUNIT_ASSERT_THROW(pmt_to_bool(sym), pmt_wrong_type);
+ pmt::pmt_t sym = pmt::mp("test");
+ CPPUNIT_ASSERT(pmt::is_bool(pmt::PMT_T));
+ CPPUNIT_ASSERT(pmt::is_bool(pmt::PMT_F));
+ CPPUNIT_ASSERT(!pmt::is_bool(sym));
+ CPPUNIT_ASSERT_EQUAL(pmt::from_bool(false), pmt::PMT_F);
+ CPPUNIT_ASSERT_EQUAL(pmt::from_bool(true), pmt::PMT_T);
+ CPPUNIT_ASSERT_EQUAL(false, pmt::to_bool(pmt::PMT_F));
+ CPPUNIT_ASSERT_EQUAL(true, pmt::to_bool(pmt::PMT_T));
+ CPPUNIT_ASSERT_THROW(pmt::to_bool(sym), pmt::wrong_type);
}
void
qa_pmt_prims::test_integers()
{
- pmt_t p1 = pmt_from_long(1);
- pmt_t m1 = pmt_from_long(-1);
- CPPUNIT_ASSERT(!pmt_is_integer(PMT_T));
- CPPUNIT_ASSERT(pmt_is_integer(p1));
- CPPUNIT_ASSERT(pmt_is_integer(m1));
- CPPUNIT_ASSERT_THROW(pmt_to_long(PMT_T), pmt_wrong_type);
- CPPUNIT_ASSERT_EQUAL(-1L, pmt_to_long(m1));
- CPPUNIT_ASSERT_EQUAL(1L, pmt_to_long(p1));
+ pmt::pmt_t p1 = pmt::from_long(1);
+ pmt::pmt_t m1 = pmt::from_long(-1);
+ CPPUNIT_ASSERT(!pmt::is_integer(pmt::PMT_T));
+ CPPUNIT_ASSERT(pmt::is_integer(p1));
+ CPPUNIT_ASSERT(pmt::is_integer(m1));
+ CPPUNIT_ASSERT_THROW(pmt::to_long(pmt::PMT_T), pmt::wrong_type);
+ CPPUNIT_ASSERT_EQUAL(-1L, pmt::to_long(m1));
+ CPPUNIT_ASSERT_EQUAL(1L, pmt::to_long(p1));
}
void
qa_pmt_prims::test_uint64s()
{
- pmt_t p1 = pmt_from_uint64((uint64_t)1);
- pmt_t m1 = pmt_from_uint64((uint64_t)8589934592ULL);
- CPPUNIT_ASSERT(!pmt_is_uint64(PMT_T));
- CPPUNIT_ASSERT(pmt_is_uint64(p1));
- CPPUNIT_ASSERT(pmt_is_uint64(m1));
- CPPUNIT_ASSERT_THROW(pmt_to_uint64(PMT_T), pmt_wrong_type);
- CPPUNIT_ASSERT_EQUAL((uint64_t)8589934592ULL, (uint64_t)pmt_to_uint64(m1));
- CPPUNIT_ASSERT_EQUAL((uint64_t)1ULL, (uint64_t)pmt_to_uint64(p1));
+ pmt::pmt_t p1 = pmt::from_uint64((uint64_t)1);
+ pmt::pmt_t m1 = pmt::from_uint64((uint64_t)8589934592ULL);
+ CPPUNIT_ASSERT(!pmt::is_uint64(pmt::PMT_T));
+ CPPUNIT_ASSERT(pmt::is_uint64(p1));
+ CPPUNIT_ASSERT(pmt::is_uint64(m1));
+ CPPUNIT_ASSERT_THROW(pmt::to_uint64(pmt::PMT_T), pmt::wrong_type);
+ CPPUNIT_ASSERT_EQUAL((uint64_t)8589934592ULL, (uint64_t)pmt::to_uint64(m1));
+ CPPUNIT_ASSERT_EQUAL((uint64_t)1ULL, (uint64_t)pmt::to_uint64(p1));
}
void
qa_pmt_prims::test_reals()
{
- pmt_t p1 = pmt_from_double(1);
- pmt_t m1 = pmt_from_double(-1);
- CPPUNIT_ASSERT(!pmt_is_real(PMT_T));
- CPPUNIT_ASSERT(pmt_is_real(p1));
- CPPUNIT_ASSERT(pmt_is_real(m1));
- CPPUNIT_ASSERT_THROW(pmt_to_double(PMT_T), pmt_wrong_type);
- CPPUNIT_ASSERT_EQUAL(-1.0, pmt_to_double(m1));
- CPPUNIT_ASSERT_EQUAL(1.0, pmt_to_double(p1));
- CPPUNIT_ASSERT_EQUAL(1.0, pmt_to_double(pmt_from_long(1)));
+ pmt::pmt_t p1 = pmt::from_double(1);
+ pmt::pmt_t m1 = pmt::from_double(-1);
+ CPPUNIT_ASSERT(!pmt::is_real(pmt::PMT_T));
+ CPPUNIT_ASSERT(pmt::is_real(p1));
+ CPPUNIT_ASSERT(pmt::is_real(m1));
+ CPPUNIT_ASSERT_THROW(pmt::to_double(pmt::PMT_T), pmt::wrong_type);
+ CPPUNIT_ASSERT_EQUAL(-1.0, pmt::to_double(m1));
+ CPPUNIT_ASSERT_EQUAL(1.0, pmt::to_double(p1));
+ CPPUNIT_ASSERT_EQUAL(1.0, pmt::to_double(pmt::from_long(1)));
}
void
qa_pmt_prims::test_complexes()
{
- pmt_t p1 = pmt_make_rectangular(2, -3);
- pmt_t m1 = pmt_make_rectangular(-3, 2);
- pmt_t p2 = pmt_from_complex(2, -3);
- pmt_t m2 = pmt_from_complex(-3, 2);
- pmt_t p3 = pmt_from_complex(std::complex<double>(2, -3));
- pmt_t m3 = pmt_from_complex(std::complex<double>(-3, 2));
- CPPUNIT_ASSERT(!pmt_is_complex(PMT_T));
- CPPUNIT_ASSERT(pmt_is_complex(p1));
- CPPUNIT_ASSERT(pmt_is_complex(m1));
- CPPUNIT_ASSERT(pmt_is_complex(p2));
- CPPUNIT_ASSERT(pmt_is_complex(m2));
- CPPUNIT_ASSERT(pmt_is_complex(p3));
- CPPUNIT_ASSERT(pmt_is_complex(m3));
- CPPUNIT_ASSERT_THROW(pmt_to_complex(PMT_T), pmt_wrong_type);
- CPPUNIT_ASSERT_EQUAL(std::complex<double>(2, -3), pmt_to_complex(p1));
- CPPUNIT_ASSERT_EQUAL(std::complex<double>(-3, 2), pmt_to_complex(m1));
- CPPUNIT_ASSERT_EQUAL(std::complex<double>(2, -3), pmt_to_complex(p2));
- CPPUNIT_ASSERT_EQUAL(std::complex<double>(-3, 2), pmt_to_complex(m2));
- CPPUNIT_ASSERT_EQUAL(std::complex<double>(2, -3), pmt_to_complex(p3));
- CPPUNIT_ASSERT_EQUAL(std::complex<double>(-3, 2), pmt_to_complex(m3));
- CPPUNIT_ASSERT_EQUAL(std::complex<double>(1.0, 0), pmt_to_complex(pmt_from_long(1)));
- CPPUNIT_ASSERT_EQUAL(std::complex<double>(1.0, 0), pmt_to_complex(pmt_from_double(1.0)));
+ pmt::pmt_t p1 = pmt::make_rectangular(2, -3);
+ pmt::pmt_t m1 = pmt::make_rectangular(-3, 2);
+ pmt::pmt_t p2 = pmt::from_complex(2, -3);
+ pmt::pmt_t m2 = pmt::from_complex(-3, 2);
+ pmt::pmt_t p3 = pmt::from_complex(std::complex<double>(2, -3));
+ pmt::pmt_t m3 = pmt::from_complex(std::complex<double>(-3, 2));
+ CPPUNIT_ASSERT(!pmt::is_complex(pmt::PMT_T));
+ CPPUNIT_ASSERT(pmt::is_complex(p1));
+ CPPUNIT_ASSERT(pmt::is_complex(m1));
+ CPPUNIT_ASSERT(pmt::is_complex(p2));
+ CPPUNIT_ASSERT(pmt::is_complex(m2));
+ CPPUNIT_ASSERT(pmt::is_complex(p3));
+ CPPUNIT_ASSERT(pmt::is_complex(m3));
+ CPPUNIT_ASSERT_THROW(pmt::to_complex(pmt::PMT_T), pmt::wrong_type);
+ CPPUNIT_ASSERT_EQUAL(std::complex<double>(2, -3), pmt::to_complex(p1));
+ CPPUNIT_ASSERT_EQUAL(std::complex<double>(-3, 2), pmt::to_complex(m1));
+ CPPUNIT_ASSERT_EQUAL(std::complex<double>(2, -3), pmt::to_complex(p2));
+ CPPUNIT_ASSERT_EQUAL(std::complex<double>(-3, 2), pmt::to_complex(m2));
+ CPPUNIT_ASSERT_EQUAL(std::complex<double>(2, -3), pmt::to_complex(p3));
+ CPPUNIT_ASSERT_EQUAL(std::complex<double>(-3, 2), pmt::to_complex(m3));
+ CPPUNIT_ASSERT_EQUAL(std::complex<double>(1.0, 0), pmt::to_complex(pmt::from_long(1)));
+ CPPUNIT_ASSERT_EQUAL(std::complex<double>(1.0, 0), pmt::to_complex(pmt::from_double(1.0)));
}
void
qa_pmt_prims::test_pairs()
{
- CPPUNIT_ASSERT(pmt_is_null(PMT_NIL));
- CPPUNIT_ASSERT(!pmt_is_pair(PMT_NIL));
- pmt_t s1 = mp("s1");
- pmt_t s2 = mp("s2");
- pmt_t s3 = mp("s3");
-
-
- CPPUNIT_ASSERT_EQUAL((size_t)0, pmt_length(PMT_NIL));
- CPPUNIT_ASSERT_THROW(pmt_length(s1), pmt_wrong_type);
- CPPUNIT_ASSERT_THROW(pmt_length(pmt_from_double(42)), pmt_wrong_type);
-
- pmt_t c1 = pmt_cons(s1, PMT_NIL);
- CPPUNIT_ASSERT(pmt_is_pair(c1));
- CPPUNIT_ASSERT(!pmt_is_pair(s1));
- CPPUNIT_ASSERT_EQUAL(s1, pmt_car(c1));
- CPPUNIT_ASSERT_EQUAL(PMT_NIL, pmt_cdr(c1));
- CPPUNIT_ASSERT_EQUAL((size_t) 1, pmt_length(c1));
-
- pmt_t c3 = pmt_cons(s3, PMT_NIL);
- pmt_t c2 = pmt_cons(s2, c3);
- pmt_set_cdr(c1, c2);
- CPPUNIT_ASSERT_EQUAL(c2, pmt_cdr(c1));
- pmt_set_car(c1, s3);
- CPPUNIT_ASSERT_EQUAL(s3, pmt_car(c1));
- CPPUNIT_ASSERT_EQUAL((size_t)1, pmt_length(c3));
- CPPUNIT_ASSERT_EQUAL((size_t)2, pmt_length(c2));
-
- CPPUNIT_ASSERT_THROW(pmt_cdr(PMT_NIL), pmt_wrong_type);
- CPPUNIT_ASSERT_THROW(pmt_car(PMT_NIL), pmt_wrong_type);
- CPPUNIT_ASSERT_THROW(pmt_set_car(s1, PMT_NIL), pmt_wrong_type);
- CPPUNIT_ASSERT_THROW(pmt_set_cdr(s1, PMT_NIL), pmt_wrong_type);
+ CPPUNIT_ASSERT(pmt::is_null(pmt::PMT_NIL));
+ CPPUNIT_ASSERT(!pmt::is_pair(pmt::PMT_NIL));
+ pmt::pmt_t s1 = pmt::mp("s1");
+ pmt::pmt_t s2 = pmt::mp("s2");
+ pmt::pmt_t s3 = pmt::mp("s3");
+
+
+ CPPUNIT_ASSERT_EQUAL((size_t)0, pmt::length(pmt::PMT_NIL));
+ CPPUNIT_ASSERT_THROW(pmt::length(s1), pmt::wrong_type);
+ CPPUNIT_ASSERT_THROW(pmt::length(pmt::from_double(42)), pmt::wrong_type);
+
+ pmt::pmt_t c1 = pmt::cons(s1, pmt::PMT_NIL);
+ CPPUNIT_ASSERT(pmt::is_pair(c1));
+ CPPUNIT_ASSERT(!pmt::is_pair(s1));
+ CPPUNIT_ASSERT_EQUAL(s1, pmt::car(c1));
+ CPPUNIT_ASSERT_EQUAL(pmt::PMT_NIL, pmt::cdr(c1));
+ CPPUNIT_ASSERT_EQUAL((size_t) 1, pmt::length(c1));
+
+ pmt::pmt_t c3 = pmt::cons(s3, pmt::PMT_NIL);
+ pmt::pmt_t c2 = pmt::cons(s2, c3);
+ pmt::set_cdr(c1, c2);
+ CPPUNIT_ASSERT_EQUAL(c2, pmt::cdr(c1));
+ pmt::set_car(c1, s3);
+ CPPUNIT_ASSERT_EQUAL(s3, pmt::car(c1));
+ CPPUNIT_ASSERT_EQUAL((size_t)1, pmt::length(c3));
+ CPPUNIT_ASSERT_EQUAL((size_t)2, pmt::length(c2));
+
+ CPPUNIT_ASSERT_THROW(pmt::cdr(pmt::PMT_NIL), pmt::wrong_type);
+ CPPUNIT_ASSERT_THROW(pmt::car(pmt::PMT_NIL), pmt::wrong_type);
+ CPPUNIT_ASSERT_THROW(pmt::set_car(s1, pmt::PMT_NIL), pmt::wrong_type);
+ CPPUNIT_ASSERT_THROW(pmt::set_cdr(s1, pmt::PMT_NIL), pmt::wrong_type);
}
void
qa_pmt_prims::test_vectors()
{
static const size_t N = 3;
- pmt_t v1 = pmt_make_vector(N, PMT_NIL);
- CPPUNIT_ASSERT_EQUAL(N, pmt_length(v1));
- pmt_t s0 = mp("s0");
- pmt_t s1 = mp("s1");
- pmt_t s2 = mp("s2");
+ pmt::pmt_t v1 = pmt::make_vector(N, pmt::PMT_NIL);
+ CPPUNIT_ASSERT_EQUAL(N, pmt::length(v1));
+ pmt::pmt_t s0 = pmt::mp("s0");
+ pmt::pmt_t s1 = pmt::mp("s1");
+ pmt::pmt_t s2 = pmt::mp("s2");
- pmt_vector_set(v1, 0, s0);
- pmt_vector_set(v1, 1, s1);
- pmt_vector_set(v1, 2, s2);
+ pmt::vector_set(v1, 0, s0);
+ pmt::vector_set(v1, 1, s1);
+ pmt::vector_set(v1, 2, s2);
- CPPUNIT_ASSERT_EQUAL(s0, pmt_vector_ref(v1, 0));
- CPPUNIT_ASSERT_EQUAL(s1, pmt_vector_ref(v1, 1));
- CPPUNIT_ASSERT_EQUAL(s2, pmt_vector_ref(v1, 2));
+ CPPUNIT_ASSERT_EQUAL(s0, pmt::vector_ref(v1, 0));
+ CPPUNIT_ASSERT_EQUAL(s1, pmt::vector_ref(v1, 1));
+ CPPUNIT_ASSERT_EQUAL(s2, pmt::vector_ref(v1, 2));
- CPPUNIT_ASSERT_THROW(pmt_vector_ref(v1, N), pmt_out_of_range);
- CPPUNIT_ASSERT_THROW(pmt_vector_set(v1, N, PMT_NIL), pmt_out_of_range);
+ CPPUNIT_ASSERT_THROW(pmt::vector_ref(v1, N), pmt::out_of_range);
+ CPPUNIT_ASSERT_THROW(pmt::vector_set(v1, N, pmt::PMT_NIL), pmt::out_of_range);
- pmt_vector_fill(v1, s0);
+ pmt::vector_fill(v1, s0);
for (size_t i = 0; i < N; i++)
- CPPUNIT_ASSERT_EQUAL(s0, pmt_vector_ref(v1, i));
+ CPPUNIT_ASSERT_EQUAL(s0, pmt::vector_ref(v1, i));
}
static void
-check_tuple(size_t len, const std::vector<pmt_t> &s, pmt_t t)
+check_tuple(size_t len, const std::vector<pmt::pmt_t> &s, pmt::pmt_t t)
{
- CPPUNIT_ASSERT_EQUAL(true, pmt_is_tuple(t));
- CPPUNIT_ASSERT_EQUAL(len, pmt_length(t));
+ CPPUNIT_ASSERT_EQUAL(true, pmt::is_tuple(t));
+ CPPUNIT_ASSERT_EQUAL(len, pmt::length(t));
for (size_t i = 0; i < len; i++)
- CPPUNIT_ASSERT_EQUAL(s[i], pmt_tuple_ref(t, i));
+ CPPUNIT_ASSERT_EQUAL(s[i], pmt::tuple_ref(t, i));
}
void
qa_pmt_prims::test_tuples()
{
- pmt_t v = pmt_make_vector(10, PMT_NIL);
- std::vector<pmt_t> s(10);
+ pmt::pmt_t v = pmt::make_vector(10, pmt::PMT_NIL);
+ std::vector<pmt::pmt_t> s(10);
for (size_t i = 0; i < 10; i++){
std::ostringstream os;
os << "s" << i;
- s[i] = mp(os.str());
- pmt_vector_set(v, i, s[i]);
+ s[i] = pmt::mp(os.str());
+ pmt::vector_set(v, i, s[i]);
}
- pmt_t t;
+ pmt::pmt_t t;
- t = pmt_make_tuple();
+ t = pmt::make_tuple();
check_tuple(0, s, t);
- t = pmt_make_tuple(s[0]);
+ t = pmt::make_tuple(s[0]);
check_tuple(1, s, t);
- CPPUNIT_ASSERT(pmt_is_vector(v));
- CPPUNIT_ASSERT(!pmt_is_tuple(v));
- CPPUNIT_ASSERT(pmt_is_tuple(t));
- CPPUNIT_ASSERT(!pmt_is_vector(t));
+ CPPUNIT_ASSERT(pmt::is_vector(v));
+ CPPUNIT_ASSERT(!pmt::is_tuple(v));
+ CPPUNIT_ASSERT(pmt::is_tuple(t));
+ CPPUNIT_ASSERT(!pmt::is_vector(t));
- t = pmt_make_tuple(s[0], s[1]);
+ t = pmt::make_tuple(s[0], s[1]);
check_tuple(2, s, t);
- t = pmt_make_tuple(s[0], s[1], s[2]);
+ t = pmt::make_tuple(s[0], s[1], s[2]);
check_tuple(3, s, t);
- t = pmt_make_tuple(s[0], s[1], s[2], s[3]);
+ t = pmt::make_tuple(s[0], s[1], s[2], s[3]);
check_tuple(4, s, t);
- t = pmt_make_tuple(s[0], s[1], s[2], s[3], s[4]);
+ t = pmt::make_tuple(s[0], s[1], s[2], s[3], s[4]);
check_tuple(5, s, t);
- t = pmt_make_tuple(s[0], s[1], s[2], s[3], s[4], s[5]);
+ t = pmt::make_tuple(s[0], s[1], s[2], s[3], s[4], s[5]);
check_tuple(6, s, t);
- t = pmt_make_tuple(s[0], s[1], s[2], s[3], s[4], s[5], s[6]);
+ t = pmt::make_tuple(s[0], s[1], s[2], s[3], s[4], s[5], s[6]);
check_tuple(7, s, t);
- t = pmt_make_tuple(s[0], s[1], s[2], s[3], s[4], s[5], s[6], s[7]);
+ t = pmt::make_tuple(s[0], s[1], s[2], s[3], s[4], s[5], s[6], s[7]);
check_tuple(8, s, t);
- t = pmt_make_tuple(s[0], s[1], s[2], s[3], s[4], s[5], s[6], s[7], s[8]);
+ t = pmt::make_tuple(s[0], s[1], s[2], s[3], s[4], s[5], s[6], s[7], s[8]);
check_tuple(9, s, t);
- t = pmt_make_tuple(s[0], s[1], s[2], s[3], s[4], s[5], s[6], s[7], s[8], s[9]);
+ t = pmt::make_tuple(s[0], s[1], s[2], s[3], s[4], s[5], s[6], s[7], s[8], s[9]);
check_tuple(10, s, t);
- t = pmt_make_tuple(s[0], s[1], s[2]);
- CPPUNIT_ASSERT_THROW(pmt_tuple_ref(t, 3), pmt_out_of_range);
- CPPUNIT_ASSERT_THROW(pmt_vector_ref(t, 0), pmt_wrong_type);
- CPPUNIT_ASSERT_THROW(pmt_tuple_ref(v, 0), pmt_wrong_type);
+ t = pmt::make_tuple(s[0], s[1], s[2]);
+ CPPUNIT_ASSERT_THROW(pmt::tuple_ref(t, 3), pmt::out_of_range);
+ CPPUNIT_ASSERT_THROW(pmt::vector_ref(t, 0), pmt::wrong_type);
+ CPPUNIT_ASSERT_THROW(pmt::tuple_ref(v, 0), pmt::wrong_type);
- t = pmt_make_tuple(s[0], s[1], s[2], s[3], s[4], s[5], s[6], s[7], s[8], s[9]);
- pmt_t t2 = pmt_to_tuple(v);
- CPPUNIT_ASSERT_EQUAL(size_t(10), pmt_length(v));
- CPPUNIT_ASSERT(pmt_equal(t, t2));
+ t = pmt::make_tuple(s[0], s[1], s[2], s[3], s[4], s[5], s[6], s[7], s[8], s[9]);
+ pmt::pmt_t t2 = pmt::to_tuple(v);
+ CPPUNIT_ASSERT_EQUAL(size_t(10), pmt::length(v));
+ CPPUNIT_ASSERT(pmt::equal(t, t2));
//std::cout << v << std::endl;
//std::cout << t2 << std::endl;
- t = pmt_make_tuple(s[0], s[1], s[2]);
- pmt_t list0 = pmt_list3(s[0], s[1], s[2]);
- CPPUNIT_ASSERT_EQUAL(size_t(3), pmt_length(list0));
- t2 = pmt_to_tuple(list0);
- CPPUNIT_ASSERT_EQUAL(size_t(3), pmt_length(t2));
- CPPUNIT_ASSERT(pmt_equal(t, t2));
+ t = pmt::make_tuple(s[0], s[1], s[2]);
+ pmt::pmt_t list0 = pmt::list3(s[0], s[1], s[2]);
+ CPPUNIT_ASSERT_EQUAL(size_t(3), pmt::length(list0));
+ t2 = pmt::to_tuple(list0);
+ CPPUNIT_ASSERT_EQUAL(size_t(3), pmt::length(t2));
+ CPPUNIT_ASSERT(pmt::equal(t, t2));
}
void
qa_pmt_prims::test_equivalence()
{
- pmt_t s0 = mp("s0");
- pmt_t s1 = mp("s1");
- pmt_t s2 = mp("s2");
- pmt_t list0 = pmt_cons(s0, pmt_cons(s1, pmt_cons(s2, PMT_NIL)));
- pmt_t list1 = pmt_cons(s0, pmt_cons(s1, pmt_cons(s2, PMT_NIL)));
- pmt_t i0 = pmt_from_long(42);
- pmt_t i1 = pmt_from_long(42);
- pmt_t r0 = pmt_from_double(42);
- pmt_t r1 = pmt_from_double(42);
- pmt_t r2 = pmt_from_double(43);
-
- CPPUNIT_ASSERT(pmt_eq(s0, s0));
- CPPUNIT_ASSERT(!pmt_eq(s0, s1));
- CPPUNIT_ASSERT(pmt_eqv(s0, s0));
- CPPUNIT_ASSERT(!pmt_eqv(s0, s1));
-
- CPPUNIT_ASSERT(pmt_eqv(i0, i1));
- CPPUNIT_ASSERT(pmt_eqv(r0, r1));
- CPPUNIT_ASSERT(!pmt_eqv(r0, r2));
- CPPUNIT_ASSERT(!pmt_eqv(i0, r0));
-
- CPPUNIT_ASSERT(!pmt_eq(list0, list1));
- CPPUNIT_ASSERT(!pmt_eqv(list0, list1));
- CPPUNIT_ASSERT(pmt_equal(list0, list1));
-
- pmt_t v0 = pmt_make_vector(3, s0);
- pmt_t v1 = pmt_make_vector(3, s0);
- pmt_t v2 = pmt_make_vector(4, s0);
- CPPUNIT_ASSERT(!pmt_eqv(v0, v1));
- CPPUNIT_ASSERT(pmt_equal(v0, v1));
- CPPUNIT_ASSERT(!pmt_equal(v0, v2));
-
- pmt_vector_set(v0, 0, list0);
- pmt_vector_set(v0, 1, list0);
- pmt_vector_set(v1, 0, list1);
- pmt_vector_set(v1, 1, list1);
- CPPUNIT_ASSERT(pmt_equal(v0, v1));
+ pmt::pmt_t s0 = pmt::mp("s0");
+ pmt::pmt_t s1 = pmt::mp("s1");
+ pmt::pmt_t s2 = pmt::mp("s2");
+ pmt::pmt_t list0 = pmt::cons(s0, pmt::cons(s1, pmt::cons(s2, pmt::PMT_NIL)));
+ pmt::pmt_t list1 = pmt::cons(s0, pmt::cons(s1, pmt::cons(s2, pmt::PMT_NIL)));
+ pmt::pmt_t i0 = pmt::from_long(42);
+ pmt::pmt_t i1 = pmt::from_long(42);
+ pmt::pmt_t r0 = pmt::from_double(42);
+ pmt::pmt_t r1 = pmt::from_double(42);
+ pmt::pmt_t r2 = pmt::from_double(43);
+
+ CPPUNIT_ASSERT(pmt::eq(s0, s0));
+ CPPUNIT_ASSERT(!pmt::eq(s0, s1));
+ CPPUNIT_ASSERT(pmt::eqv(s0, s0));
+ CPPUNIT_ASSERT(!pmt::eqv(s0, s1));
+
+ CPPUNIT_ASSERT(pmt::eqv(i0, i1));
+ CPPUNIT_ASSERT(pmt::eqv(r0, r1));
+ CPPUNIT_ASSERT(!pmt::eqv(r0, r2));
+ CPPUNIT_ASSERT(!pmt::eqv(i0, r0));
+
+ CPPUNIT_ASSERT(!pmt::eq(list0, list1));
+ CPPUNIT_ASSERT(!pmt::eqv(list0, list1));
+ CPPUNIT_ASSERT(pmt::equal(list0, list1));
+
+ pmt::pmt_t v0 = pmt::make_vector(3, s0);
+ pmt::pmt_t v1 = pmt::make_vector(3, s0);
+ pmt::pmt_t v2 = pmt::make_vector(4, s0);
+ CPPUNIT_ASSERT(!pmt::eqv(v0, v1));
+ CPPUNIT_ASSERT(pmt::equal(v0, v1));
+ CPPUNIT_ASSERT(!pmt::equal(v0, v2));
+
+ pmt::vector_set(v0, 0, list0);
+ pmt::vector_set(v0, 1, list0);
+ pmt::vector_set(v1, 0, list1);
+ pmt::vector_set(v1, 1, list1);
+ CPPUNIT_ASSERT(pmt::equal(v0, v1));
}
void
qa_pmt_prims::test_misc()
{
- pmt_t k0 = mp("k0");
- pmt_t k1 = mp("k1");
- pmt_t k2 = mp("k2");
- pmt_t k3 = mp("k3");
- pmt_t v0 = mp("v0");
- pmt_t v1 = mp("v1");
- pmt_t v2 = mp("v2");
- pmt_t p0 = pmt_cons(k0, v0);
- pmt_t p1 = pmt_cons(k1, v1);
- pmt_t p2 = pmt_cons(k2, v2);
-
- pmt_t alist = pmt_cons(p0, pmt_cons(p1, pmt_cons(p2, PMT_NIL)));
- CPPUNIT_ASSERT(pmt_eq(p1, pmt_assv(k1, alist)));
- CPPUNIT_ASSERT(pmt_eq(PMT_F, pmt_assv(k3, alist)));
-
- pmt_t keys = pmt_cons(k0, pmt_cons(k1, pmt_cons(k2, PMT_NIL)));
- pmt_t vals = pmt_cons(v0, pmt_cons(v1, pmt_cons(v2, PMT_NIL)));
- CPPUNIT_ASSERT(pmt_equal(keys, pmt_map(pmt_car, alist)));
- CPPUNIT_ASSERT(pmt_equal(vals, pmt_map(pmt_cdr, alist)));
+ pmt::pmt_t k0 = pmt::mp("k0");
+ pmt::pmt_t k1 = pmt::mp("k1");
+ pmt::pmt_t k2 = pmt::mp("k2");
+ pmt::pmt_t k3 = pmt::mp("k3");
+ pmt::pmt_t v0 = pmt::mp("v0");
+ pmt::pmt_t v1 = pmt::mp("v1");
+ pmt::pmt_t v2 = pmt::mp("v2");
+ pmt::pmt_t p0 = pmt::cons(k0, v0);
+ pmt::pmt_t p1 = pmt::cons(k1, v1);
+ pmt::pmt_t p2 = pmt::cons(k2, v2);
+
+ pmt::pmt_t alist = pmt::cons(p0, pmt::cons(p1, pmt::cons(p2, pmt::PMT_NIL)));
+ CPPUNIT_ASSERT(pmt::eq(p1, pmt::assv(k1, alist)));
+ CPPUNIT_ASSERT(pmt::eq(pmt::PMT_F, pmt::assv(k3, alist)));
+
+ pmt::pmt_t keys = pmt::cons(k0, pmt::cons(k1, pmt::cons(k2, pmt::PMT_NIL)));
+ pmt::pmt_t vals = pmt::cons(v0, pmt::cons(v1, pmt::cons(v2, pmt::PMT_NIL)));
+ CPPUNIT_ASSERT(pmt::equal(keys, pmt::map(pmt::car, alist)));
+ CPPUNIT_ASSERT(pmt::equal(vals, pmt::map(pmt::cdr, alist)));
}
void
qa_pmt_prims::test_dict()
{
- pmt_t dict = pmt_make_dict();
- CPPUNIT_ASSERT(pmt_is_dict(dict));
-
- pmt_t k0 = mp("k0");
- pmt_t k1 = mp("k1");
- pmt_t k2 = mp("k2");
- pmt_t k3 = mp("k3");
- pmt_t v0 = mp("v0");
- pmt_t v1 = mp("v1");
- pmt_t v2 = mp("v2");
- pmt_t v3 = mp("v3");
- pmt_t not_found = pmt_cons(PMT_NIL, PMT_NIL);
-
- CPPUNIT_ASSERT(!pmt_dict_has_key(dict, k0));
- dict = pmt_dict_add(dict, k0, v0);
- CPPUNIT_ASSERT(pmt_dict_has_key(dict, k0));
- CPPUNIT_ASSERT(pmt_eqv(pmt_dict_ref(dict, k0, not_found), v0));
- CPPUNIT_ASSERT(pmt_eqv(pmt_dict_ref(dict, k1, not_found), not_found));
- dict = pmt_dict_add(dict, k1, v1);
- dict = pmt_dict_add(dict, k2, v2);
- CPPUNIT_ASSERT(pmt_eqv(pmt_dict_ref(dict, k1, not_found), v1));
- dict = pmt_dict_add(dict, k1, v3);
- CPPUNIT_ASSERT(pmt_eqv(pmt_dict_ref(dict, k1, not_found), v3));
-
- pmt_t keys = pmt_list3(k1, k2, k0);
- pmt_t vals = pmt_list3(v3, v2, v0);
- //std::cout << "pmt_dict_keys: " << pmt_dict_keys(dict) << std::endl;
- //std::cout << "pmt_dict_values: " << pmt_dict_values(dict) << std::endl;
- CPPUNIT_ASSERT(pmt_equal(keys, pmt_dict_keys(dict)));
- CPPUNIT_ASSERT(pmt_equal(vals, pmt_dict_values(dict)));
+ pmt::pmt_t dict = pmt::make_dict();
+ CPPUNIT_ASSERT(pmt::is_dict(dict));
+
+ pmt::pmt_t k0 = pmt::mp("k0");
+ pmt::pmt_t k1 = pmt::mp("k1");
+ pmt::pmt_t k2 = pmt::mp("k2");
+ pmt::pmt_t k3 = pmt::mp("k3");
+ pmt::pmt_t v0 = pmt::mp("v0");
+ pmt::pmt_t v1 = pmt::mp("v1");
+ pmt::pmt_t v2 = pmt::mp("v2");
+ pmt::pmt_t v3 = pmt::mp("v3");
+ pmt::pmt_t not_found = pmt::cons(pmt::PMT_NIL, pmt::PMT_NIL);
+
+ CPPUNIT_ASSERT(!pmt::dict_has_key(dict, k0));
+ dict = pmt::dict_add(dict, k0, v0);
+ CPPUNIT_ASSERT(pmt::dict_has_key(dict, k0));
+ CPPUNIT_ASSERT(pmt::eqv(pmt::dict_ref(dict, k0, not_found), v0));
+ CPPUNIT_ASSERT(pmt::eqv(pmt::dict_ref(dict, k1, not_found), not_found));
+ dict = pmt::dict_add(dict, k1, v1);
+ dict = pmt::dict_add(dict, k2, v2);
+ CPPUNIT_ASSERT(pmt::eqv(pmt::dict_ref(dict, k1, not_found), v1));
+ dict = pmt::dict_add(dict, k1, v3);
+ CPPUNIT_ASSERT(pmt::eqv(pmt::dict_ref(dict, k1, not_found), v3));
+
+ pmt::pmt_t keys = pmt::list3(k1, k2, k0);
+ pmt::pmt_t vals = pmt::list3(v3, v2, v0);
+ //std::cout << "pmt::dict_keys: " << pmt::dict_keys(dict) << std::endl;
+ //std::cout << "pmt::dict_values: " << pmt::dict_values(dict) << std::endl;
+ CPPUNIT_ASSERT(pmt::equal(keys, pmt::dict_keys(dict)));
+ CPPUNIT_ASSERT(pmt::equal(vals, pmt::dict_values(dict)));
}
void
qa_pmt_prims::test_io()
{
- pmt_t k0 = mp("k0");
- pmt_t k1 = mp("k1");
- pmt_t k2 = mp("k2");
- pmt_t k3 = mp("k3");
+ pmt::pmt_t k0 = pmt::mp("k0");
+ pmt::pmt_t k1 = pmt::mp("k1");
+ pmt::pmt_t k2 = pmt::mp("k2");
+ pmt::pmt_t k3 = pmt::mp("k3");
- CPPUNIT_ASSERT_EQUAL(std::string("k0"), pmt_write_string(k0));
+ CPPUNIT_ASSERT_EQUAL(std::string("k0"), pmt::write_string(k0));
}
void
qa_pmt_prims::test_lists()
{
- pmt_t s0 = mp("s0");
- pmt_t s1 = mp("s1");
- pmt_t s2 = mp("s2");
- pmt_t s3 = mp("s3");
-
- pmt_t l1 = pmt_list4(s0, s1, s2, s3);
- pmt_t l2 = pmt_list3(s0, s1, s2);
- pmt_t l3 = pmt_list_add(l2, s3);
- CPPUNIT_ASSERT(pmt_equal(l1, l3));
+ pmt::pmt_t s0 = pmt::mp("s0");
+ pmt::pmt_t s1 = pmt::mp("s1");
+ pmt::pmt_t s2 = pmt::mp("s2");
+ pmt::pmt_t s3 = pmt::mp("s3");
+
+ pmt::pmt_t l1 = pmt::list4(s0, s1, s2, s3);
+ pmt::pmt_t l2 = pmt::list3(s0, s1, s2);
+ pmt::pmt_t l3 = pmt::list_add(l2, s3);
+ CPPUNIT_ASSERT(pmt::equal(l1, l3));
}
// ------------------------------------------------------------------------
@@ -464,18 +462,18 @@ qa_pmt_prims::test_any()
a1 = 42;
a2 = foo(3.250, 21);
- pmt_t p0 = pmt_make_any(a0);
- pmt_t p1 = pmt_make_any(a1);
- pmt_t p2 = pmt_make_any(a2);
+ pmt::pmt_t p0 = pmt::make_any(a0);
+ pmt::pmt_t p1 = pmt::make_any(a1);
+ pmt::pmt_t p2 = pmt::make_any(a2);
CPPUNIT_ASSERT_EQUAL(std::string("Hello!"),
- boost::any_cast<std::string>(pmt_any_ref(p0)));
+ boost::any_cast<std::string>(pmt::any_ref(p0)));
CPPUNIT_ASSERT_EQUAL(42,
- boost::any_cast<int>(pmt_any_ref(p1)));
+ boost::any_cast<int>(pmt::any_ref(p1)));
CPPUNIT_ASSERT_EQUAL(foo(3.250, 21),
- boost::any_cast<foo>(pmt_any_ref(p2)));
+ boost::any_cast<foo>(pmt::any_ref(p2)));
}
// ------------------------------------------------------------------------
@@ -484,7 +482,7 @@ class qa_pmt_msg_accepter_nop : public gruel::msg_accepter {
public:
qa_pmt_msg_accepter_nop(){};
~qa_pmt_msg_accepter_nop();
- void post(pmt_t,pmt_t){};
+ void post(pmt::pmt_t,pmt::pmt_t){};
};
qa_pmt_msg_accepter_nop::~qa_pmt_msg_accepter_nop(){}
@@ -492,22 +490,22 @@ qa_pmt_msg_accepter_nop::~qa_pmt_msg_accepter_nop(){}
void
qa_pmt_prims::test_msg_accepter()
{
- pmt_t sym = mp("my-symbol");
+ pmt::pmt_t sym = pmt::mp("my-symbol");
boost::any a0;
a0 = std::string("Hello!");
- pmt_t p0 = pmt_make_any(a0);
+ pmt::pmt_t p0 = pmt::make_any(a0);
gruel::msg_accepter_sptr ma0 = gruel::msg_accepter_sptr(new qa_pmt_msg_accepter_nop());
- pmt_t p1 = pmt_make_msg_accepter(ma0);
+ pmt::pmt_t p1 = pmt::make_msg_accepter(ma0);
- CPPUNIT_ASSERT_EQUAL(ma0.get(), pmt_msg_accepter_ref(p1).get());
+ CPPUNIT_ASSERT_EQUAL(ma0.get(), pmt::msg_accepter_ref(p1).get());
- CPPUNIT_ASSERT_THROW(pmt_msg_accepter_ref(sym), pmt_wrong_type);
- CPPUNIT_ASSERT_THROW(pmt_msg_accepter_ref(p0), pmt_wrong_type);
+ CPPUNIT_ASSERT_THROW(pmt::msg_accepter_ref(sym), pmt::wrong_type);
+ CPPUNIT_ASSERT_THROW(pmt::msg_accepter_ref(p0), pmt::wrong_type);
// just confirm interfaces on send are OK
- pmt_t port(pmt_intern("port"));
+ pmt::pmt_t port(pmt::intern("port"));
gruel::send(ma0.get(), port, sym);
gruel::send(ma0, port, sym);
gruel::send(p1, port, sym);
@@ -520,43 +518,43 @@ void
qa_pmt_prims::test_serialize()
{
std::stringbuf sb; // fake channel
- pmt_t a = mp("a");
- pmt_t b = mp("b");
- pmt_t c = mp("c");
+ pmt::pmt_t a = pmt::mp("a");
+ pmt::pmt_t b = pmt::mp("b");
+ pmt::pmt_t c = pmt::mp("c");
sb.str(""); // reset channel to empty
// write stuff to channel
- pmt_serialize(PMT_NIL, sb);
- pmt_serialize(mp("foobarvia"), sb);
- pmt_serialize(pmt_from_long(123456789), sb);
- pmt_serialize(pmt_from_long(-123456789), sb);
- pmt_serialize(pmt_cons(PMT_NIL, PMT_NIL), sb);
- pmt_serialize(pmt_cons(a, b), sb);
- pmt_serialize(pmt_list1(a), sb);
- pmt_serialize(pmt_list2(a, b), sb);
- pmt_serialize(pmt_list3(a, b, c), sb);
- pmt_serialize(pmt_list3(a, pmt_list3(c, b, a), c), sb);
- pmt_serialize(PMT_T, sb);
- pmt_serialize(PMT_F, sb);
+ pmt::serialize(pmt::PMT_NIL, sb);
+ pmt::serialize(pmt::mp("foobarvia"), sb);
+ pmt::serialize(pmt::from_long(123456789), sb);
+ pmt::serialize(pmt::from_long(-123456789), sb);
+ pmt::serialize(pmt::cons(pmt::PMT_NIL, pmt::PMT_NIL), sb);
+ pmt::serialize(pmt::cons(a, b), sb);
+ pmt::serialize(pmt::list1(a), sb);
+ pmt::serialize(pmt::list2(a, b), sb);
+ pmt::serialize(pmt::list3(a, b, c), sb);
+ pmt::serialize(pmt::list3(a, pmt::list3(c, b, a), c), sb);
+ pmt::serialize(pmt::PMT_T, sb);
+ pmt::serialize(pmt::PMT_F, sb);
// read it back
- CPPUNIT_ASSERT(pmt_equal(pmt_deserialize(sb), PMT_NIL));
- CPPUNIT_ASSERT(pmt_equal(pmt_deserialize(sb), mp("foobarvia")));
- CPPUNIT_ASSERT(pmt_equal(pmt_deserialize(sb), pmt_from_long(123456789)));
- CPPUNIT_ASSERT(pmt_equal(pmt_deserialize(sb), pmt_from_long(-123456789)));
- CPPUNIT_ASSERT(pmt_equal(pmt_deserialize(sb), pmt_cons(PMT_NIL, PMT_NIL)));
- CPPUNIT_ASSERT(pmt_equal(pmt_deserialize(sb), pmt_cons(a, b)));
- CPPUNIT_ASSERT(pmt_equal(pmt_deserialize(sb), pmt_list1(a)));
- CPPUNIT_ASSERT(pmt_equal(pmt_deserialize(sb), pmt_list2(a, b)));
- CPPUNIT_ASSERT(pmt_equal(pmt_deserialize(sb), pmt_list3(a, b, c)));
- CPPUNIT_ASSERT(pmt_equal(pmt_deserialize(sb), pmt_list3(a, pmt_list3(c, b, a), c)));
- CPPUNIT_ASSERT(pmt_equal(pmt_deserialize(sb), PMT_T));
- CPPUNIT_ASSERT(pmt_equal(pmt_deserialize(sb), PMT_F));
+ CPPUNIT_ASSERT(pmt::equal(pmt::deserialize(sb), pmt::PMT_NIL));
+ CPPUNIT_ASSERT(pmt::equal(pmt::deserialize(sb), pmt::mp("foobarvia")));
+ CPPUNIT_ASSERT(pmt::equal(pmt::deserialize(sb), pmt::from_long(123456789)));
+ CPPUNIT_ASSERT(pmt::equal(pmt::deserialize(sb), pmt::from_long(-123456789)));
+ CPPUNIT_ASSERT(pmt::equal(pmt::deserialize(sb), pmt::cons(pmt::PMT_NIL, pmt::PMT_NIL)));
+ CPPUNIT_ASSERT(pmt::equal(pmt::deserialize(sb), pmt::cons(a, b)));
+ CPPUNIT_ASSERT(pmt::equal(pmt::deserialize(sb), pmt::list1(a)));
+ CPPUNIT_ASSERT(pmt::equal(pmt::deserialize(sb), pmt::list2(a, b)));
+ CPPUNIT_ASSERT(pmt::equal(pmt::deserialize(sb), pmt::list3(a, b, c)));
+ CPPUNIT_ASSERT(pmt::equal(pmt::deserialize(sb), pmt::list3(a, pmt::list3(c, b, a), c)));
+ CPPUNIT_ASSERT(pmt::equal(pmt::deserialize(sb), pmt::PMT_T));
+ CPPUNIT_ASSERT(pmt::equal(pmt::deserialize(sb), pmt::PMT_F));
- CPPUNIT_ASSERT(pmt_equal(pmt_deserialize(sb), PMT_EOF)); // last item
+ CPPUNIT_ASSERT(pmt::equal(pmt::deserialize(sb), pmt::PMT_EOF)); // last item
// FIXME add tests for real, complex, vector, uniform-vector, dict
@@ -567,37 +565,37 @@ qa_pmt_prims::test_serialize()
void
qa_pmt_prims::test_sets()
{
- pmt_t s1 = mp("s1");
- pmt_t s2 = mp("s2");
- pmt_t s3 = mp("s3");
-
- pmt_t l1 = pmt_list1(s1);
- pmt_t l2 = pmt_list2(s2,s3);
- pmt_t l3 = pmt_list3(s1,s2,s3);
-
- CPPUNIT_ASSERT(pmt_is_pair(pmt_memq(s1,l1)));
- CPPUNIT_ASSERT(pmt_is_false(pmt_memq(s3,l1)));
-
- CPPUNIT_ASSERT(pmt_subsetp(l1,l3));
- CPPUNIT_ASSERT(pmt_subsetp(l2,l3));
- CPPUNIT_ASSERT(!pmt_subsetp(l1,l2));
- CPPUNIT_ASSERT(!pmt_subsetp(l2,l1));
- CPPUNIT_ASSERT(!pmt_subsetp(l3,l2));
+ pmt::pmt_t s1 = pmt::mp("s1");
+ pmt::pmt_t s2 = pmt::mp("s2");
+ pmt::pmt_t s3 = pmt::mp("s3");
+
+ pmt::pmt_t l1 = pmt::list1(s1);
+ pmt::pmt_t l2 = pmt::list2(s2,s3);
+ pmt::pmt_t l3 = pmt::list3(s1,s2,s3);
+
+ CPPUNIT_ASSERT(pmt::is_pair(pmt::memq(s1,l1)));
+ CPPUNIT_ASSERT(pmt::is_false(pmt::memq(s3,l1)));
+
+ CPPUNIT_ASSERT(pmt::subsetp(l1,l3));
+ CPPUNIT_ASSERT(pmt::subsetp(l2,l3));
+ CPPUNIT_ASSERT(!pmt::subsetp(l1,l2));
+ CPPUNIT_ASSERT(!pmt::subsetp(l2,l1));
+ CPPUNIT_ASSERT(!pmt::subsetp(l3,l2));
}
void
qa_pmt_prims::test_sugar()
{
- CPPUNIT_ASSERT(pmt_is_symbol(mp("my-symbol")));
- CPPUNIT_ASSERT_EQUAL((long) 10, pmt_to_long(mp(10)));
- CPPUNIT_ASSERT_EQUAL((double) 1e6, pmt_to_double(mp(1e6)));
+ CPPUNIT_ASSERT(pmt::is_symbol(pmt::mp("my-symbol")));
+ CPPUNIT_ASSERT_EQUAL((long) 10, pmt::to_long(pmt::mp(10)));
+ CPPUNIT_ASSERT_EQUAL((double) 1e6, pmt::to_double(pmt::mp(1e6)));
CPPUNIT_ASSERT_EQUAL(std::complex<double>(2, 3),
- pmt_to_complex(mp(std::complex<double>(2, 3))));
+ pmt::to_complex(pmt::mp(std::complex<double>(2, 3))));
int buf[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
- pmt_t blob = mp(buf, sizeof(buf));
- const void *data = pmt_blob_data(blob);
- size_t nbytes = pmt_blob_length(blob);
+ pmt::pmt_t blob = pmt::mp(buf, sizeof(buf));
+ const void *data = pmt::blob_data(blob);
+ size_t nbytes = pmt::blob_length(blob);
CPPUNIT_ASSERT_EQUAL(sizeof(buf), nbytes);
CPPUNIT_ASSERT(memcmp(buf, data, nbytes) == 0);
}
diff --git a/gruel/src/lib/pmt/unv_qa_template.cc.t b/gruel/src/lib/pmt/unv_qa_template.cc.t
index 1e2c8e8eb5..a04d532b4e 100644
--- a/gruel/src/lib/pmt/unv_qa_template.cc.t
+++ b/gruel/src/lib/pmt/unv_qa_template.cc.t
@@ -2,31 +2,31 @@ void
qa_pmt_unv::test_@TAG@vector()
{
static const size_t N = 3;
- pmt_t v1 = pmt_make_@TAG@vector(N, 0);
- CPPUNIT_ASSERT_EQUAL(N, pmt_length(v1));
+ pmt_t v1 = pmt::make_@TAG@vector(N, 0);
+ CPPUNIT_ASSERT_EQUAL(N, pmt::length(v1));
@TYPE@ s0 = @TYPE@(10);
@TYPE@ s1 = @TYPE@(20);
@TYPE@ s2 = @TYPE@(30);
- pmt_@TAG@vector_set(v1, 0, s0);
- pmt_@TAG@vector_set(v1, 1, s1);
- pmt_@TAG@vector_set(v1, 2, s2);
+ pmt::@TAG@vector_set(v1, 0, s0);
+ pmt::@TAG@vector_set(v1, 1, s1);
+ pmt::@TAG@vector_set(v1, 2, s2);
- CPPUNIT_ASSERT_EQUAL(s0, pmt_@TAG@vector_ref(v1, 0));
- CPPUNIT_ASSERT_EQUAL(s1, pmt_@TAG@vector_ref(v1, 1));
- CPPUNIT_ASSERT_EQUAL(s2, pmt_@TAG@vector_ref(v1, 2));
+ CPPUNIT_ASSERT_EQUAL(s0, pmt::@TAG@vector_ref(v1, 0));
+ CPPUNIT_ASSERT_EQUAL(s1, pmt::@TAG@vector_ref(v1, 1));
+ CPPUNIT_ASSERT_EQUAL(s2, pmt::@TAG@vector_ref(v1, 2));
- CPPUNIT_ASSERT_THROW(pmt_@TAG@vector_ref(v1, N), pmt_out_of_range);
- CPPUNIT_ASSERT_THROW(pmt_@TAG@vector_set(v1, N, @TYPE@(0)), pmt_out_of_range);
+ CPPUNIT_ASSERT_THROW(pmt::@TAG@vector_ref(v1, N), pmt::out_of_range);
+ CPPUNIT_ASSERT_THROW(pmt::@TAG@vector_set(v1, N, @TYPE@(0)), pmt::out_of_range);
size_t len;
- const @TYPE@ *rd = pmt_@TAG@vector_elements(v1, len);
+ const @TYPE@ *rd = pmt::@TAG@vector_elements(v1, len);
CPPUNIT_ASSERT_EQUAL(len, N);
CPPUNIT_ASSERT_EQUAL(s0, rd[0]);
CPPUNIT_ASSERT_EQUAL(s1, rd[1]);
CPPUNIT_ASSERT_EQUAL(s2, rd[2]);
- @TYPE@ *wr = pmt_@TAG@vector_writable_elements(v1, len);
+ @TYPE@ *wr = pmt::@TAG@vector_writable_elements(v1, len);
CPPUNIT_ASSERT_EQUAL(len, N);
wr[0] = @TYPE@(0);
CPPUNIT_ASSERT_EQUAL(@TYPE@(0), wr[0]);
diff --git a/gruel/src/lib/pmt/unv_template.cc.t b/gruel/src/lib/pmt/unv_template.cc.t
index 1ed505e29a..8678894973 100644
--- a/gruel/src/lib/pmt/unv_template.cc.t
+++ b/gruel/src/lib/pmt/unv_template.cc.t
@@ -29,7 +29,7 @@ pmt_@TAG@vector::pmt_@TAG@vector(size_t k, const @TYPE@ *data)
pmt_@TAG@vector::ref(size_t k) const
{
if (k >= length())
- throw pmt_out_of_range("pmt_@TAG@vector_ref", pmt_from_long(k));
+ throw out_of_range("pmt_@TAG@vector_ref", from_long(k));
return d_v[k];
}
@@ -37,7 +37,7 @@ void
pmt_@TAG@vector::set(size_t k, @TYPE@ x)
{
if (k >= length())
- throw pmt_out_of_range("pmt_@TAG@vector_set", pmt_from_long(k));
+ throw out_of_range("pmt_@TAG@vector_set", from_long(k));
d_v[k] = x;
}
@@ -70,59 +70,59 @@ pmt_@TAG@vector::uniform_writable_elements(size_t &len)
}
bool
-pmt_is_@TAG@vector(pmt_t obj)
+is_@TAG@vector(pmt_t obj)
{
return obj->is_@TAG@vector();
}
pmt_t
-pmt_make_@TAG@vector(size_t k, @TYPE@ fill)
+make_@TAG@vector(size_t k, @TYPE@ fill)
{
return pmt_t(new pmt_@TAG@vector(k, fill));
}
pmt_t
-pmt_init_@TAG@vector(size_t k, const @TYPE@ *data)
+init_@TAG@vector(size_t k, const @TYPE@ *data)
{
return pmt_t(new pmt_@TAG@vector(k, data));
}
pmt_t
-pmt_init_@TAG@vector(size_t k, const std::vector< @TYPE@ > &data)
+init_@TAG@vector(size_t k, const std::vector< @TYPE@ > &data)
{
return pmt_t(new pmt_@TAG@vector(k, &data[0]));
}
@TYPE@
-pmt_@TAG@vector_ref(pmt_t vector, size_t k)
+@TAG@vector_ref(pmt_t vector, size_t k)
{
if (!vector->is_@TAG@vector())
- throw pmt_wrong_type("pmt_@TAG@vector_ref", vector);
+ throw wrong_type("pmt_@TAG@vector_ref", vector);
return _@TAG@vector(vector)->ref(k);
}
void
-pmt_@TAG@vector_set(pmt_t vector, size_t k, @TYPE@ obj)
+@TAG@vector_set(pmt_t vector, size_t k, @TYPE@ obj)
{
if (!vector->is_@TAG@vector())
- throw pmt_wrong_type("pmt_@TAG@vector_set", vector);
+ throw wrong_type("pmt_@TAG@vector_set", vector);
_@TAG@vector(vector)->set(k, obj);
}
const @TYPE@ *
-pmt_@TAG@vector_elements(pmt_t vector, size_t &len)
+@TAG@vector_elements(pmt_t vector, size_t &len)
{
if (!vector->is_@TAG@vector())
- throw pmt_wrong_type("pmt_@TAG@vector_elements", vector);
+ throw wrong_type("pmt_@TAG@vector_elements", vector);
return _@TAG@vector(vector)->elements(len);
}
const std::vector< @TYPE@ >
-pmt_@TAG@vector_elements(pmt_t vector)
+@TAG@vector_elements(pmt_t vector)
{
if (!vector->is_@TAG@vector())
- throw pmt_wrong_type("pmt_@TAG@vector_elements", vector);
+ throw wrong_type("pmt_@TAG@vector_elements", vector);
size_t len;
const @TYPE@ *array = _@TAG@vector(vector)->elements(len);
const std::vector< @TYPE@ > vec(array, array+len);
@@ -131,10 +131,10 @@ pmt_@TAG@vector_elements(pmt_t vector)
@TYPE@ *
-pmt_@TAG@vector_writable_elements(pmt_t vector, size_t &len)
+@TAG@vector_writable_elements(pmt_t vector, size_t &len)
{
if (!vector->is_@TAG@vector())
- throw pmt_wrong_type("pmt_@TAG@vector_writable_elements", vector);
+ throw wrong_type("pmt_@TAG@vector_writable_elements", vector);
return _@TAG@vector(vector)->writable_elements(len);
}
diff --git a/gruel/src/python/qa_pmt.py b/gruel/src/python/qa_pmt.py
index 59a5725fc4..c8d3df93b2 100755
--- a/gruel/src/python/qa_pmt.py
+++ b/gruel/src/python/qa_pmt.py
@@ -25,78 +25,78 @@ import pmt_swig as pmt
class test_gruel_pmt(unittest.TestCase):
- def test01 (self):
- a = pmt.pmt_intern("a")
- b = pmt.pmt_from_double(123765)
- d1 = pmt.pmt_make_dict()
- d2 = pmt.pmt_dict_add(d1, a, b)
- pmt.pmt_print(d2)
+ def test01(self):
+ a = pmt.intern("a")
+ b = pmt.from_double(123765)
+ d1 = pmt.make_dict()
+ d2 = pmt.dict_add(d1, a, b)
+ print d2
- def test02 (self):
+ def test02(self):
const = 123765
- x_pmt = pmt.pmt_from_double(const)
- x_int = pmt.pmt_to_double(x_pmt)
+ x_pmt = pmt.from_double(const)
+ x_int = pmt.to_double(x_pmt)
self.assertEqual(x_int, const)
def test03(self):
- v = pmt.pmt_init_f32vector(3, [11, -22, 33])
- s = pmt.pmt_serialize_str(v)
- d = pmt.pmt_deserialize_str(s)
- self.assertTrue(pmt.pmt_equal(v, d))
+ v = pmt.init_f32vector(3, [11, -22, 33])
+ s = pmt.serialize_str(v)
+ d = pmt.deserialize_str(s)
+ self.assertTrue(pmt.equal(v, d))
def test04(self):
- v = pmt.pmt_init_f64vector(3, [11, -22, 33])
- s = pmt.pmt_serialize_str(v)
- d = pmt.pmt_deserialize_str(s)
- self.assertTrue(pmt.pmt_equal(v, d))
+ v = pmt.init_f64vector(3, [11, -22, 33])
+ s = pmt.serialize_str(v)
+ d = pmt.deserialize_str(s)
+ self.assertTrue(pmt.equal(v, d))
def test05(self):
- v = pmt.pmt_init_u8vector(3, [11, 22, 33])
- s = pmt.pmt_serialize_str(v)
- d = pmt.pmt_deserialize_str(s)
- self.assertTrue(pmt.pmt_equal(v, d))
+ v = pmt.init_u8vector(3, [11, 22, 33])
+ s = pmt.serialize_str(v)
+ d = pmt.deserialize_str(s)
+ self.assertTrue(pmt.equal(v, d))
def test06(self):
- v = pmt.pmt_init_s8vector(3, [11, -22, 33])
- s = pmt.pmt_serialize_str(v)
- d = pmt.pmt_deserialize_str(s)
- self.assertTrue(pmt.pmt_equal(v, d))
+ v = pmt.init_s8vector(3, [11, -22, 33])
+ s = pmt.serialize_str(v)
+ d = pmt.deserialize_str(s)
+ self.assertTrue(pmt.equal(v, d))
def test07(self):
- v = pmt.pmt_init_u16vector(3, [11, 22, 33])
- s = pmt.pmt_serialize_str(v)
- d = pmt.pmt_deserialize_str(s)
- self.assertTrue(pmt.pmt_equal(v, d))
+ v = pmt.init_u16vector(3, [11, 22, 33])
+ s = pmt.serialize_str(v)
+ d = pmt.deserialize_str(s)
+ self.assertTrue(pmt.equal(v, d))
def test08(self):
- v = pmt.pmt_init_s16vector(3, [11, -22, 33])
- s = pmt.pmt_serialize_str(v)
- d = pmt.pmt_deserialize_str(s)
- self.assertTrue(pmt.pmt_equal(v, d))
+ v = pmt.init_s16vector(3, [11, -22, 33])
+ s = pmt.serialize_str(v)
+ d = pmt.deserialize_str(s)
+ self.assertTrue(pmt.equal(v, d))
def test09(self):
- v = pmt.pmt_init_u32vector(3, [11, 22, 33])
- s = pmt.pmt_serialize_str(v)
- d = pmt.pmt_deserialize_str(s)
- self.assertTrue(pmt.pmt_equal(v, d))
+ v = pmt.init_u32vector(3, [11, 22, 33])
+ s = pmt.serialize_str(v)
+ d = pmt.deserialize_str(s)
+ self.assertTrue(pmt.equal(v, d))
def test10(self):
- v = pmt.pmt_init_s32vector(3, [11, -22, 33])
- s = pmt.pmt_serialize_str(v)
- d = pmt.pmt_deserialize_str(s)
- self.assertTrue(pmt.pmt_equal(v, d))
+ v = pmt.init_s32vector(3, [11, -22, 33])
+ s = pmt.serialize_str(v)
+ d = pmt.deserialize_str(s)
+ self.assertTrue(pmt.equal(v, d))
def test11(self):
- v = pmt.pmt_init_c32vector(3, [11 + -101j, -22 + 202j, 33 + -303j])
- s = pmt.pmt_serialize_str(v)
- d = pmt.pmt_deserialize_str(s)
- self.assertTrue(pmt.pmt_equal(v, d))
+ v = pmt.init_c32vector(3, [11 + -101j, -22 + 202j, 33 + -303j])
+ s = pmt.serialize_str(v)
+ d = pmt.deserialize_str(s)
+ self.assertTrue(pmt.equal(v, d))
def test12(self):
- v = pmt.pmt_init_c64vector(3, [11 + -101j, -22 + 202j, 33 + -303j])
- s = pmt.pmt_serialize_str(v)
- d = pmt.pmt_deserialize_str(s)
- self.assertTrue(pmt.pmt_equal(v, d))
+ v = pmt.init_c64vector(3, [11 + -101j, -22 + 202j, 33 + -303j])
+ s = pmt.serialize_str(v)
+ d = pmt.deserialize_str(s)
+ self.assertTrue(pmt.equal(v, d))
if __name__ == '__main__':
unittest.main()
diff --git a/gruel/src/swig/CMakeLists.txt b/gruel/src/swig/CMakeLists.txt
index a5e3f93994..b1d4090af0 100644
--- a/gruel/src/swig/CMakeLists.txt
+++ b/gruel/src/swig/CMakeLists.txt
@@ -34,7 +34,7 @@ GR_SWIG_MAKE(pmt_swig pmt_swig.i)
GR_SWIG_INSTALL(
TARGETS pmt_swig
- DESTINATION ${GR_PYTHON_DIR}/gruel/pmt
+ DESTINATION ${GR_PYTHON_DIR}/pmt
COMPONENT "gruel_python"
)
diff --git a/gruel/src/swig/pmt_swig.i b/gruel/src/swig/pmt_swig.i
index 84f48b099a..ba16511114 100644
--- a/gruel/src/swig/pmt_swig.i
+++ b/gruel/src/swig/pmt_swig.i
@@ -73,720 +73,223 @@ namespace pmt{
namespace pmt{
-typedef boost::intrusive_ptr<pmt_base> pmt_t;
-
-/*
- * ------------------------------------------------------------------------
- * Booleans. Two constants, #t and #f.
- *
- * In predicates, anything that is not #f is considered true.
- * I.e., there is a single false value, #f.
- * ------------------------------------------------------------------------
- */
-extern const pmt_t PMT_T;
-extern const pmt_t PMT_F;
-
-//! Return true if obj is \#t or \#f, else return false.
-bool pmt_is_bool(pmt_t obj);
-
-//! Return false if obj is \#f, else return true.
-bool pmt_is_true(pmt_t obj);
-
-//! Return true if obj is \#f, else return true.
-bool pmt_is_false(pmt_t obj);
-
-//! Return \#f is val is false, else return \#t.
-pmt_t pmt_from_bool(bool val);
-
-//! Return true if val is PMT_T, return false when val is PMT_F,
-// else raise wrong_type exception.
-bool pmt_to_bool(pmt_t val);
-
-/*
- * ------------------------------------------------------------------------
- * Symbols
- * ------------------------------------------------------------------------
- */
-
-//! Return true if obj is a symbol, else false.
-bool pmt_is_symbol(const pmt_t& obj);
-
-//! Return the symbol whose name is \p s.
-pmt_t pmt_string_to_symbol(const std::string &s);
-
-//! Alias for pmt_string_to_symbol
-pmt_t pmt_intern(const std::string &s);
-
-
-/*!
- * If \p is a symbol, return the name of the symbol as a string.
- * Otherwise, raise the wrong_type exception.
- */
-const std::string pmt_symbol_to_string(const pmt_t& sym);
-
-/*
- * ------------------------------------------------------------------------
- * Numbers: we support integer, real and complex
- * ------------------------------------------------------------------------
- */
-
-//! Return true if obj is any kind of number, else false.
-bool pmt_is_number(pmt_t obj);
-
-/*
- * ------------------------------------------------------------------------
- * Integers
- * ------------------------------------------------------------------------
- */
-
-//! Return true if \p x is an integer number, else false
-bool pmt_is_integer(pmt_t x);
-
-//! Return the pmt value that represents the integer \p x.
-pmt_t pmt_from_long(long x);
-
-/*!
- * \brief Convert pmt to long if possible.
- *
- * When \p x represents an exact integer that fits in a long,
- * return that integer. Else raise an exception, either wrong_type
- * when x is not an exact integer, or out_of_range when it doesn't fit.
- */
-long pmt_to_long(pmt_t x);
-
-/*
- * ------------------------------------------------------------------------
- * uint64_t
- * ------------------------------------------------------------------------
- */
-
-//! Return true if \p x is an uint64 number, else false
-bool pmt_is_uint64(pmt_t x);
-
-//! Return the pmt value that represents the uint64 \p x.
-pmt_t pmt_from_uint64(uint64_t x);
-
-/*!
- * \brief Convert pmt to uint64 if possible.
- *
- * When \p x represents an exact integer that fits in a uint64,
- * return that uint64. Else raise an exception, either wrong_type
- * when x is not an exact uint64, or out_of_range when it doesn't fit.
- */
-uint64_t pmt_to_uint64(pmt_t x);
-
-/*
- * ------------------------------------------------------------------------
- * Reals
- * ------------------------------------------------------------------------
- */
-
-/*
- * \brief Return true if \p obj is a real number, else false.
- */
-bool pmt_is_real(pmt_t obj);
-
-//! Return the pmt value that represents double \p x.
-pmt_t pmt_from_double(double x);
-
-/*!
- * \brief Convert pmt to double if possible.
- *
- * Returns the number closest to \p val that is representable
- * as a double. The argument \p val must be a real or integer, otherwise
- * a wrong_type exception is raised.
- */
-double pmt_to_double(pmt_t x);
-
-/*
- * ------------------------------------------------------------------------
- * Complex
- * ------------------------------------------------------------------------
- */
-
-/*!
- * \brief return true if \p obj is a complex number, false otherwise.
- */
-bool pmt_is_complex(pmt_t obj);
-
-//! Return a complex number constructed of the given real and imaginary parts.
-pmt_t pmt_make_rectangular(double re, double im);
-
-pmt_t pmt_from_complex(const std::complex<double> &z);
-
-/*!
- * If \p z is complex, real or integer, return the closest complex<double>.
- * Otherwise, raise the wrong_type exception.
- */
-std::complex<double> pmt_to_complex(pmt_t z);
-
-/*
- * ------------------------------------------------------------------------
- * Pairs
- * ------------------------------------------------------------------------
- */
-
-extern const pmt_t PMT_NIL; //< the empty list
-
-//! Return true if \p x is the empty list, otherwise return false.
-bool pmt_is_null(const pmt_t& x);
-
-//! Return true if \p obj is a pair, else false.
-bool pmt_is_pair(const pmt_t& obj);
-
-//! Return a newly allocated pair whose car is \p x and whose cdr is \p y.
-pmt_t pmt_cons(const pmt_t& x, const pmt_t& y);
-
-//! If \p pair is a pair, return the car of the \p pair, otherwise raise wrong_type.
-pmt_t pmt_car(const pmt_t& pair);
-
-//! If \p pair is a pair, return the cdr of the \p pair, otherwise raise wrong_type.
-pmt_t pmt_cdr(const pmt_t& pair);
-
-//! Stores \p value in the car field of \p pair.
-void pmt_set_car(pmt_t pair, pmt_t value);
-
-//! Stores \p value in the cdr field of \p pair.
-void pmt_set_cdr(pmt_t pair, pmt_t value);
-
-pmt_t pmt_caar(pmt_t pair);
-pmt_t pmt_cadr(pmt_t pair);
-pmt_t pmt_cdar(pmt_t pair);
-pmt_t pmt_cddr(pmt_t pair);
-pmt_t pmt_caddr(pmt_t pair);
-pmt_t pmt_cadddr(pmt_t pair);
-
-/*
- * ------------------------------------------------------------------------
- * Tuples
- *
- * Store a fixed number of objects. Tuples are not modifiable, and thus
- * are excellent for use as messages. Indexing is zero based.
- * Access time to an element is O(1).
- * ------------------------------------------------------------------------
- */
-
-//! Return true if \p x is a tuple, othewise false.
-bool pmt_is_tuple(pmt_t x);
-
-pmt_t pmt_make_tuple();
-pmt_t pmt_make_tuple(const pmt_t &e0);
-pmt_t pmt_make_tuple(const pmt_t &e0, const pmt_t &e1);
-pmt_t pmt_make_tuple(const pmt_t &e0, const pmt_t &e1, const pmt_t &e2);
-pmt_t pmt_make_tuple(const pmt_t &e0, const pmt_t &e1, const pmt_t &e2, const pmt_t &e3);
-pmt_t pmt_make_tuple(const pmt_t &e0, const pmt_t &e1, const pmt_t &e2, const pmt_t &e3, const pmt_t &e4);
-pmt_t pmt_make_tuple(const pmt_t &e0, const pmt_t &e1, const pmt_t &e2, const pmt_t &e3, const pmt_t &e4, const pmt_t &e5);
-pmt_t pmt_make_tuple(const pmt_t &e0, const pmt_t &e1, const pmt_t &e2, const pmt_t &e3, const pmt_t &e4, const pmt_t &e5, const pmt_t &e6);
-pmt_t pmt_make_tuple(const pmt_t &e0, const pmt_t &e1, const pmt_t &e2, const pmt_t &e3, const pmt_t &e4, const pmt_t &e5, const pmt_t &e6, const pmt_t &e7);
-pmt_t pmt_make_tuple(const pmt_t &e0, const pmt_t &e1, const pmt_t &e2, const pmt_t &e3, const pmt_t &e4, const pmt_t &e5, const pmt_t &e6, const pmt_t &e7, const pmt_t &e8);
-pmt_t pmt_make_tuple(const pmt_t &e0, const pmt_t &e1, const pmt_t &e2, const pmt_t &e3, const pmt_t &e4, const pmt_t &e5, const pmt_t &e6, const pmt_t &e7, const pmt_t &e8, const pmt_t &e9);
-
-/*!
- * If \p x is a vector or proper list, return a tuple containing the elements of x
- */
-pmt_t pmt_to_tuple(const pmt_t &x);
-
-/*!
- * Return the contents of position \p k of \p tuple.
- * \p k must be a valid index of \p tuple.
- */
-pmt_t pmt_tuple_ref(const pmt_t &tuple, size_t k);
-
-/*
- * ------------------------------------------------------------------------
- * Vectors
- *
- * These vectors can hold any kind of objects. Indexing is zero based.
- * ------------------------------------------------------------------------
- */
-
-//! Return true if \p x is a vector, othewise false.
-bool pmt_is_vector(pmt_t x);
-
-//! Make a vector of length \p k, with initial values set to \p fill
-pmt_t pmt_make_vector(size_t k, pmt_t fill);
-
-/*!
- * Return the contents of position \p k of \p vector.
- * \p k must be a valid index of \p vector.
- */
-pmt_t pmt_vector_ref(pmt_t vector, size_t k);
-
-//! Store \p obj in position \p k.
-void pmt_vector_set(pmt_t vector, size_t k, pmt_t obj);
-
-//! Store \p fill in every position of \p vector
-void pmt_vector_fill(pmt_t vector, pmt_t fill);
-
-/*
- * ------------------------------------------------------------------------
- * Binary Large Objects (BLOBs)
- *
- * Handy for passing around uninterpreted chunks of memory.
- * ------------------------------------------------------------------------
- */
-
-//! Return true if \p x is a blob, othewise false.
-bool pmt_is_blob(pmt_t x);
-
-/*!
- * \brief Make a blob given a pointer and length in bytes
- *
- * \param buf is the pointer to data to use to create blob
- * \param len is the size of the data in bytes.
- *
- * The data is copied into the blob.
- */
-pmt_t pmt_make_blob(const void *buf, size_t len);
-
-//! Return a pointer to the blob's data
-const void *pmt_blob_data(pmt_t blob);
-
-//! Return the blob's length in bytes
-size_t pmt_blob_length(pmt_t blob);
-
-/*!
- * <pre>
- * ------------------------------------------------------------------------
- * Uniform Numeric Vectors
- *
- * A uniform numeric vector is a vector whose elements are all of single
- * numeric type. pmt offers uniform numeric vectors for signed and
- * unsigned 8-bit, 16-bit, 32-bit, and 64-bit integers, two sizes of
- * floating point values, and complex floating-point numbers of these
- * two sizes. Indexing is zero based.
- *
- * The names of the functions include these tags in their names:
- *
- * u8 unsigned 8-bit integers
- * s8 signed 8-bit integers
- * u16 unsigned 16-bit integers
- * s16 signed 16-bit integers
- * u32 unsigned 32-bit integers
- * s32 signed 32-bit integers
- * u64 unsigned 64-bit integers
- * s64 signed 64-bit integers
- * f32 the C++ type float
- * f64 the C++ type double
- * c32 the C++ type complex<float>
- * c64 the C++ type complex<double>
- * ------------------------------------------------------------------------
- * </pre>
- */
-
-//! true if \p x is any kind of uniform numeric vector
-bool pmt_is_uniform_vector(pmt_t x);
-
-bool pmt_is_u8vector(pmt_t x);
-bool pmt_is_s8vector(pmt_t x);
-bool pmt_is_u16vector(pmt_t x);
-bool pmt_is_s16vector(pmt_t x);
-bool pmt_is_u32vector(pmt_t x);
-bool pmt_is_s32vector(pmt_t x);
-bool pmt_is_u64vector(pmt_t x);
-bool pmt_is_s64vector(pmt_t x);
-bool pmt_is_f32vector(pmt_t x);
-bool pmt_is_f64vector(pmt_t x);
-bool pmt_is_c32vector(pmt_t x);
-bool pmt_is_c64vector(pmt_t x);
-
-pmt_t pmt_make_u8vector(size_t k, uint8_t fill);
-pmt_t pmt_make_s8vector(size_t k, int8_t fill);
-pmt_t pmt_make_u16vector(size_t k, uint16_t fill);
-pmt_t pmt_make_s16vector(size_t k, int16_t fill);
-pmt_t pmt_make_u32vector(size_t k, uint32_t fill);
-pmt_t pmt_make_s32vector(size_t k, int32_t fill);
-pmt_t pmt_make_u64vector(size_t k, uint64_t fill);
-pmt_t pmt_make_s64vector(size_t k, int64_t fill);
-pmt_t pmt_make_f32vector(size_t k, float fill);
-pmt_t pmt_make_f64vector(size_t k, double fill);
-pmt_t pmt_make_c32vector(size_t k, std::complex<float> fill);
-pmt_t pmt_make_c64vector(size_t k, std::complex<double> fill);
-
-
-pmt_t pmt_init_u8vector(size_t k, const std::vector<uint8_t> &data);
-pmt_t pmt_init_s8vector(size_t k, const std::vector<int8_t> &data);
-pmt_t pmt_init_u16vector(size_t k, const std::vector<uint16_t> &data);
-pmt_t pmt_init_s16vector(size_t k, const std::vector<int16_t> &data);
-pmt_t pmt_init_u32vector(size_t k, const std::vector<uint32_t> &data);
-pmt_t pmt_init_s32vector(size_t k, const std::vector<int32_t> &data);
-pmt_t pmt_init_f32vector(size_t k, const std::vector<float> &data);
-pmt_t pmt_init_f64vector(size_t k, const std::vector<double> &data);
-pmt_t pmt_init_c32vector(size_t k, const std::vector<std::complex<float> > &data);
-pmt_t pmt_init_c64vector(size_t k, const std::vector<std::complex<double> > &data);
-
-uint8_t pmt_u8vector_ref(pmt_t v, size_t k);
-int8_t pmt_s8vector_ref(pmt_t v, size_t k);
-uint16_t pmt_u16vector_ref(pmt_t v, size_t k);
-int16_t pmt_s16vector_ref(pmt_t v, size_t k);
-uint32_t pmt_u32vector_ref(pmt_t v, size_t k);
-int32_t pmt_s32vector_ref(pmt_t v, size_t k);
-uint64_t pmt_u64vector_ref(pmt_t v, size_t k);
-int64_t pmt_s64vector_ref(pmt_t v, size_t k);
-float pmt_f32vector_ref(pmt_t v, size_t k);
-double pmt_f64vector_ref(pmt_t v, size_t k);
-std::complex<float> pmt_c32vector_ref(pmt_t v, size_t k);
-std::complex<double> pmt_c64vector_ref(pmt_t v, size_t k);
-
-void pmt_u8vector_set(pmt_t v, size_t k, uint8_t x); //< v[k] = x
-void pmt_s8vector_set(pmt_t v, size_t k, int8_t x);
-void pmt_u16vector_set(pmt_t v, size_t k, uint16_t x);
-void pmt_s16vector_set(pmt_t v, size_t k, int16_t x);
-void pmt_u32vector_set(pmt_t v, size_t k, uint32_t x);
-void pmt_s32vector_set(pmt_t v, size_t k, int32_t x);
-void pmt_u64vector_set(pmt_t v, size_t k, uint64_t x);
-void pmt_s64vector_set(pmt_t v, size_t k, int64_t x);
-void pmt_f32vector_set(pmt_t v, size_t k, float x);
-void pmt_f64vector_set(pmt_t v, size_t k, double x);
-void pmt_c32vector_set(pmt_t v, size_t k, std::complex<float> x);
-void pmt_c64vector_set(pmt_t v, size_t k, std::complex<double> x);
-
-// Return const pointers to the elements
-
-%apply size_t & INOUT { size_t &len };
-
-// works with any; len is in bytes
-// Returns an opaque Python type
-const void *pmt_uniform_vector_elements(pmt_t v, size_t &len);
-
-// Returns a Python tuple
-const std::vector<uint8_t> pmt_u8vector_elements(pmt_t v);
-const std::vector<int8_t> pmt_s8vector_elements(pmt_t v);
-const std::vector<uint16_t> pmt_u16vector_elements(pmt_t v);
-const std::vector<int16_t> pmt_s16vector_elements(pmt_t v);
-const std::vector<uint32_t> pmt_u32vector_elements(pmt_t v);
-const std::vector<int32_t> pmt_s32vector_elements(pmt_t v);
-const std::vector<float> pmt_f32vector_elements(pmt_t v);
-const std::vector<double> pmt_f64vector_elements(pmt_t v);
-const std::vector<std::complex<float> > pmt_c32vector_elements(pmt_t v);
-const std::vector<std::complex<double> > pmt_c64vector_elements(pmt_t v);
-
-/*
- * ------------------------------------------------------------------------
- * Dictionary (a.k.a associative array, hash, map)
- *
- * This is a functional data structure that is persistent. Updating a
- * functional data structure does not destroy the existing version, but
- * rather creates a new version that coexists with the old.
- * ------------------------------------------------------------------------
- */
-
-//! Return true if \p obj is a dictionary
-bool pmt_is_dict(const pmt_t &obj);
-
-//! Make an empty dictionary
-pmt_t pmt_make_dict();
-
-//! Return a new dictionary with \p key associated with \p value.
-pmt_t pmt_dict_add(const pmt_t &dict, const pmt_t &key, const pmt_t &value);
-
-//! Return a new dictionary with \p key removed.
-pmt_t pmt_dict_delete(const pmt_t &dict, const pmt_t &key);
-
-//! Return true if \p key exists in \p dict
-bool pmt_dict_has_key(const pmt_t &dict, const pmt_t &key);
-
-//! If \p key exists in \p dict, return associated value; otherwise return \p not_found.
-pmt_t pmt_dict_ref(const pmt_t &dict, const pmt_t &key, const pmt_t &not_found);
-
-//! Return list of (key . value) pairs
-pmt_t pmt_dict_items(pmt_t dict);
-
-//! Return list of keys
-pmt_t pmt_dict_keys(pmt_t dict);
-
-//! Return list of values
-pmt_t pmt_dict_values(pmt_t dict);
-
-/*
- * ------------------------------------------------------------------------
- * Any (wraps boost::any -- can be used to wrap pretty much anything)
- *
- * Cannot be serialized or used across process boundaries.
- * See http://www.boost.org/doc/html/any.html
- * ------------------------------------------------------------------------
- */
-
-//! Return true if \p obj is an any
-bool pmt_is_any(pmt_t obj);
-
-//! make an any
-pmt_t pmt_make_any(const boost::any &any);
-
-//! Return underlying boost::any
-boost::any pmt_any_ref(pmt_t obj);
-
-//! Store \p any in \p obj
-void pmt_any_set(pmt_t obj, const boost::any &any);
-
-
-/*
- * ------------------------------------------------------------------------
- * msg_accepter -- pmt representation of gruel::msg_accepter
- * ------------------------------------------------------------------------
- */
-//! Return true if \p obj is a msg_accepter
-bool pmt_is_msg_accepter(const pmt_t &obj);
-
-//! make a msg_accepter
-pmt_t pmt_make_msg_accepter(boost::shared_ptr<gruel::msg_accepter> ma);
-
-//! Return underlying msg_accepter
-boost::shared_ptr<gruel::msg_accepter> pmt_msg_accepter_ref(const pmt_t &obj);
-
-/*
- * ------------------------------------------------------------------------
- * General functions
- * ------------------------------------------------------------------------
- */
-
-//! Return true if x and y are the same object; otherwise return false.
-bool pmt_eq(const pmt_t& x, const pmt_t& y);
-
-/*!
- * \brief Return true if x and y should normally be regarded as the same object, else false.
- *
- * <pre>
- * eqv returns true if:
- * x and y are the same object.
- * x and y are both \#t or both \#f.
- * x and y are both symbols and their names are the same.
- * x and y are both numbers, and are numerically equal.
- * x and y are both the empty list (nil).
- * x and y are pairs or vectors that denote same location in store.
- * </pre>
- */
-bool pmt_eqv(const pmt_t& x, const pmt_t& y);
-
-/*!
- * pmt_equal recursively compares the contents of pairs and vectors,
- * applying pmt_eqv on other objects such as numbers and symbols.
- * pmt_equal may fail to terminate if its arguments are circular data
- * structures.
- */
-bool pmt_equal(const pmt_t& x, const pmt_t& y);
-
-
-//! Return the number of elements in v
-size_t pmt_length(const pmt_t& v);
-
-/*!
- * \brief Find the first pair in \p alist whose car field is \p obj
- * and return that pair.
- *
- * \p alist (for "association list") must be a list of pairs. If no pair
- * in \p alist has \p obj as its car then \#f is returned.
- * Uses pmt_eq to compare \p obj with car fields of the pairs in \p alist.
- */
-pmt_t pmt_assq(pmt_t obj, pmt_t alist);
-
-/*!
- * \brief Find the first pair in \p alist whose car field is \p obj
- * and return that pair.
- *
- * \p alist (for "association list") must be a list of pairs. If no pair
- * in \p alist has \p obj as its car then \#f is returned.
- * Uses pmt_eqv to compare \p obj with car fields of the pairs in \p alist.
- */
-pmt_t pmt_assv(pmt_t obj, pmt_t alist);
-
-/*!
- * \brief Find the first pair in \p alist whose car field is \p obj
- * and return that pair.
- *
- * \p alist (for "association list") must be a list of pairs. If no pair
- * in \p alist has \p obj as its car then \#f is returned.
- * Uses pmt_equal to compare \p obj with car fields of the pairs in \p alist.
- */
-pmt_t pmt_assoc(pmt_t obj, pmt_t alist);
-
-/*!
- * \brief Apply \p proc element-wise to the elements of list and returns
- * a list of the results, in order.
- *
- * \p list must be a list. The dynamic order in which \p proc is
- * applied to the elements of \p list is unspecified.
- */
-pmt_t pmt_map(pmt_t proc(const pmt_t&), pmt_t list);
-
-/*!
- * \brief reverse \p list.
- *
- * \p list must be a proper list.
- */
-pmt_t pmt_reverse(pmt_t list);
-
-/*!
- * \brief destructively reverse \p list.
- *
- * \p list must be a proper list.
- */
-pmt_t pmt_reverse_x(pmt_t list);
-
-/*!
- * \brief (acons x y a) == (cons (cons x y) a)
- */
-inline static pmt_t
-pmt_acons(pmt_t x, pmt_t y, pmt_t a)
-{
- return pmt_cons(pmt_cons(x, y), a);
-}
-
-/*!
- * \brief locates \p nth element of \n list where the car is the 'zeroth' element.
- */
-pmt_t pmt_nth(size_t n, pmt_t list);
-
-/*!
- * \brief returns the tail of \p list that would be obtained by calling
- * cdr \p n times in succession.
- */
-pmt_t pmt_nthcdr(size_t n, pmt_t list);
-
-/*!
- * \brief Return the first sublist of \p list whose car is \p obj.
- * If \p obj does not occur in \p list, then \#f is returned.
- * pmt_memq use pmt_eq to compare \p obj with the elements of \p list.
- */
-pmt_t pmt_memq(pmt_t obj, pmt_t list);
-
-/*!
- * \brief Return the first sublist of \p list whose car is \p obj.
- * If \p obj does not occur in \p list, then \#f is returned.
- * pmt_memv use pmt_eqv to compare \p obj with the elements of \p list.
- */
-pmt_t pmt_memv(pmt_t obj, pmt_t list);
-
-/*!
- * \brief Return the first sublist of \p list whose car is \p obj.
- * If \p obj does not occur in \p list, then \#f is returned.
- * pmt_member use pmt_equal to compare \p obj with the elements of \p list.
- */
-pmt_t pmt_member(pmt_t obj, pmt_t list);
-
-/*!
- * \brief Return true if every element of \p list1 appears in \p list2, and false otherwise.
- * Comparisons are done with pmt_eqv.
- */
-bool pmt_subsetp(pmt_t list1, pmt_t list2);
-
-/*!
- * \brief Return a list of length 1 containing \p x1
- */
-pmt_t pmt_list1(const pmt_t& x1);
-
-/*!
- * \brief Return a list of length 2 containing \p x1, \p x2
- */
-pmt_t pmt_list2(const pmt_t& x1, const pmt_t& x2);
-
-/*!
- * \brief Return a list of length 3 containing \p x1, \p x2, \p x3
- */
-pmt_t pmt_list3(const pmt_t& x1, const pmt_t& x2, const pmt_t& x3);
-
-/*!
- * \brief Return a list of length 4 containing \p x1, \p x2, \p x3, \p x4
- */
-pmt_t pmt_list4(const pmt_t& x1, const pmt_t& x2, const pmt_t& x3, const pmt_t& x4);
-
-/*!
- * \brief Return a list of length 5 containing \p x1, \p x2, \p x3, \p x4, \p x5
- */
-pmt_t pmt_list5(const pmt_t& x1, const pmt_t& x2, const pmt_t& x3, const pmt_t& x4, const pmt_t& x5);
-
-/*!
- * \brief Return a list of length 6 containing \p x1, \p x2, \p x3, \p x4, \p
- * x5, \p x6
- */
-pmt_t pmt_list6(const pmt_t& x1, const pmt_t& x2, const pmt_t& x3, const pmt_t& x4, const pmt_t& x5, const pmt_t& x6);
-
-/*!
- * \brief Return \p list with \p item added to it.
- */
-pmt_t pmt_list_add(pmt_t list, const pmt_t& item);
-
-/*!
- * \brief Return \p list with \p item removed
- */
-pmt_t pmt_list_rm(pmt_t list, const pmt_t& item);
-
-/*!
- * \brief Return bool of \p list contains \p item
- */
-bool pmt_list_has(pmt_t list, const pmt_t& item);
-
-/*
- * ------------------------------------------------------------------------
- * read / write
- * ------------------------------------------------------------------------
- */
-extern const pmt_t PMT_EOF; //< The end of file object
-
-//! return true if obj is the EOF object, otherwise return false.
-bool pmt_is_eof_object(pmt_t obj);
-
-/*!
- * read converts external representations of pmt objects into the
- * objects themselves. Read returns the next object parsable from
- * the given input port, updating port to point to the first
- * character past the end of the external representation of the
- * object.
- *
- * If an end of file is encountered in the input before any
- * characters are found that can begin an object, then an end of file
- * object is returned. The port remains open, and further attempts
- * to read will also return an end of file object. If an end of file
- * is encountered after the beginning of an object's external
- * representation, but the external representation is incomplete and
- * therefore not parsable, an error is signaled.
- */
-pmt_t pmt_read(std::istream &port);
-
-/*!
- * Write a written representation of \p obj to the given \p port.
- */
-void pmt_write(pmt_t obj, std::ostream &port);
-
-/*!
- * Return a string representation of \p obj.
- * This is the same output as would be generated by pmt_write.
- */
-std::string pmt_write_string(pmt_t obj);
-
-
-/*!
- * \brief Write pmt string representation to stdout.
- */
-void pmt_print(pmt_t v);
-
-
-/*
- * ------------------------------------------------------------------------
- * portable byte stream representation
- * ------------------------------------------------------------------------
- */
-/*!
- * \brief Write portable byte-serial representation of \p obj to \p sink
- */
-bool pmt_serialize(pmt_t obj, std::streambuf &sink);
-
-/*!
- * \brief Create obj from portable byte-serial representation
- */
-pmt_t pmt_deserialize(std::streambuf &source);
-
-
-void pmt_dump_sizeof(); // debugging
-
-/*!
- * \brief Provide a simple string generating interface to pmt's serialize function
- */
-std::string pmt_serialize_str(pmt_t obj);
-
-/*!
- * \brief Provide a simple string generating interface to pmt's deserialize function
- */
-pmt_t pmt_deserialize_str(std::string str);
+ typedef boost::intrusive_ptr<pmt_base> pmt_t;
+
+ // Allows Python to directly print a PMT object
+ %pythoncode
+ %{
+ swig_int_ptr.__repr__ = lambda self: write_string(self)
+ %}
+
+
+ extern const pmt_t PMT_T;
+ extern const pmt_t PMT_F;
+ extern const pmt_t PMT_NIL;
+ extern const pmt_t PMT_EOF;
+
+ bool is_bool(pmt_t obj);
+ bool is_true(pmt_t obj);
+ bool is_false(pmt_t obj);
+ pmt_t from_bool(bool val);
+ bool to_bool(pmt_t val);
+
+ bool is_symbol(const pmt_t& obj);
+ pmt_t string_to_symbol(const std::string &s);
+ pmt_t intern(const std::string &s);
+ const std::string symbol_to_string(const pmt_t& sym);
+
+ bool is_number(pmt_t obj);
+ bool is_integer(pmt_t x);
+ pmt_t from_long(long x);
+ long to_long(pmt_t x);
+
+ bool is_uint64(pmt_t x);
+ pmt_t from_uint64(uint64_t x);
+ uint64_t to_uint64(pmt_t x);
+
+ bool is_real(pmt_t obj);
+ pmt_t from_double(double x);
+ double to_double(pmt_t x);
+
+ bool is_complex(pmt_t obj);
+ pmt_t make_rectangular(double re, double im);
+ pmt_t from_complex(const std::complex<double> &z);
+ std::complex<double> to_complex(pmt_t z);
+
+ bool is_null(const pmt_t& x);
+ bool is_pair(const pmt_t& obj);
+ pmt_t cons(const pmt_t& x, const pmt_t& y);
+ pmt_t car(const pmt_t& pair);
+ pmt_t cdr(const pmt_t& pair);
+ void set_car(pmt_t pair, pmt_t value);
+ void set_cdr(pmt_t pair, pmt_t value);
+
+ pmt_t caar(pmt_t pair);
+ pmt_t cadr(pmt_t pair);
+ pmt_t cdar(pmt_t pair);
+ pmt_t cddr(pmt_t pair);
+ pmt_t caddr(pmt_t pair);
+ pmt_t cadddr(pmt_t pair);
+
+ bool is_tuple(pmt_t x);
+ pmt_t make_tuple();
+ pmt_t make_tuple(const pmt_t &e0);
+ pmt_t make_tuple(const pmt_t &e0, const pmt_t &e1);
+ pmt_t make_tuple(const pmt_t &e0, const pmt_t &e1, const pmt_t &e2);
+ pmt_t make_tuple(const pmt_t &e0, const pmt_t &e1, const pmt_t &e2, const pmt_t &e3);
+ pmt_t make_tuple(const pmt_t &e0, const pmt_t &e1, const pmt_t &e2, const pmt_t &e3, const pmt_t &e4);
+ pmt_t make_tuple(const pmt_t &e0, const pmt_t &e1, const pmt_t &e2, const pmt_t &e3, const pmt_t &e4, const pmt_t &e5);
+ pmt_t make_tuple(const pmt_t &e0, const pmt_t &e1, const pmt_t &e2, const pmt_t &e3, const pmt_t &e4, const pmt_t &e5, const pmt_t &e6);
+ pmt_t make_tuple(const pmt_t &e0, const pmt_t &e1, const pmt_t &e2, const pmt_t &e3, const pmt_t &e4, const pmt_t &e5, const pmt_t &e6, const pmt_t &e7);
+ pmt_t make_tuple(const pmt_t &e0, const pmt_t &e1, const pmt_t &e2, const pmt_t &e3, const pmt_t &e4, const pmt_t &e5, const pmt_t &e6, const pmt_t &e7, const pmt_t &e8);
+ pmt_t make_tuple(const pmt_t &e0, const pmt_t &e1, const pmt_t &e2, const pmt_t &e3, const pmt_t &e4, const pmt_t &e5, const pmt_t &e6, const pmt_t &e7, const pmt_t &e8, const pmt_t &e9);
+
+ pmt_t to_tuple(const pmt_t &x);
+ pmt_t tuple_ref(const pmt_t &tuple, size_t k);
+
+ bool is_vector(pmt_t x);
+ pmt_t make_vector(size_t k, pmt_t fill);
+ pmt_t vector_ref(pmt_t vector, size_t k);
+ void vector_set(pmt_t vector, size_t k, pmt_t obj);
+ void vector_fill(pmt_t vector, pmt_t fill);
+
+ bool is_blob(pmt_t x);
+ pmt_t make_blob(const void *buf, size_t len);
+ const void *blob_data(pmt_t blob);
+ size_t blob_length(pmt_t blob);
+
+ bool is_uniform_vector(pmt_t x);
+ bool is_u8vector(pmt_t x);
+ bool is_s8vector(pmt_t x);
+ bool is_u16vector(pmt_t x);
+ bool is_s16vector(pmt_t x);
+ bool is_u32vector(pmt_t x);
+ bool is_s32vector(pmt_t x);
+ bool is_u64vector(pmt_t x);
+ bool is_s64vector(pmt_t x);
+ bool is_f32vector(pmt_t x);
+ bool is_f64vector(pmt_t x);
+ bool is_c32vector(pmt_t x);
+ bool is_c64vector(pmt_t x);
+ pmt_t make_u8vector(size_t k, uint8_t fill);
+ pmt_t make_s8vector(size_t k, int8_t fill);
+ pmt_t make_u16vector(size_t k, uint16_t fill);
+ pmt_t make_s16vector(size_t k, int16_t fill);
+ pmt_t make_u32vector(size_t k, uint32_t fill);
+ pmt_t make_s32vector(size_t k, int32_t fill);
+ pmt_t make_u64vector(size_t k, uint64_t fill);
+ pmt_t make_s64vector(size_t k, int64_t fill);
+ pmt_t make_f32vector(size_t k, float fill);
+ pmt_t make_f64vector(size_t k, double fill);
+ pmt_t make_c32vector(size_t k, std::complex<float> fill);
+ pmt_t make_c64vector(size_t k, std::complex<double> fill);
+ pmt_t init_u8vector(size_t k, const std::vector<uint8_t> &data);
+ pmt_t init_s8vector(size_t k, const std::vector<int8_t> &data);
+ pmt_t init_u16vector(size_t k, const std::vector<uint16_t> &data);
+ pmt_t init_s16vector(size_t k, const std::vector<int16_t> &data);
+ pmt_t init_u32vector(size_t k, const std::vector<uint32_t> &data);
+ pmt_t init_s32vector(size_t k, const std::vector<int32_t> &data);
+ pmt_t init_f32vector(size_t k, const std::vector<float> &data);
+ pmt_t init_f64vector(size_t k, const std::vector<double> &data);
+ pmt_t init_c32vector(size_t k, const std::vector<std::complex<float> > &data);
+ pmt_t init_c64vector(size_t k, const std::vector<std::complex<double> > &data);
+ uint8_t u8vector_ref(pmt_t v, size_t k);
+ int8_t s8vector_ref(pmt_t v, size_t k);
+ uint16_t u16vector_ref(pmt_t v, size_t k);
+ int16_t s16vector_ref(pmt_t v, size_t k);
+ uint32_t u32vector_ref(pmt_t v, size_t k);
+ int32_t s32vector_ref(pmt_t v, size_t k);
+ uint64_t u64vector_ref(pmt_t v, size_t k);
+ int64_t s64vector_ref(pmt_t v, size_t k);
+ float f32vector_ref(pmt_t v, size_t k);
+ double f64vector_ref(pmt_t v, size_t k);
+ std::complex<float> c32vector_ref(pmt_t v, size_t k);
+ std::complex<double> c64vector_ref(pmt_t v, size_t k);
+ void u8vector_set(pmt_t v, size_t k, uint8_t x); //< v[k] = x
+ void s8vector_set(pmt_t v, size_t k, int8_t x);
+ void u16vector_set(pmt_t v, size_t k, uint16_t x);
+ void s16vector_set(pmt_t v, size_t k, int16_t x);
+ void u32vector_set(pmt_t v, size_t k, uint32_t x);
+ void s32vector_set(pmt_t v, size_t k, int32_t x);
+ void u64vector_set(pmt_t v, size_t k, uint64_t x);
+ void s64vector_set(pmt_t v, size_t k, int64_t x);
+ void f32vector_set(pmt_t v, size_t k, float x);
+ void f64vector_set(pmt_t v, size_t k, double x);
+ void c32vector_set(pmt_t v, size_t k, std::complex<float> x);
+ void c64vector_set(pmt_t v, size_t k, std::complex<double> x);
+
+ %apply size_t & INOUT { size_t &len };
+ const void *uniform_vector_elements(pmt_t v, size_t &len);
+
+ const std::vector<uint8_t> u8vector_elements(pmt_t v);
+ const std::vector<int8_t> s8vector_elements(pmt_t v);
+ const std::vector<uint16_t> u16vector_elements(pmt_t v);
+ const std::vector<int16_t> s16vector_elements(pmt_t v);
+ const std::vector<uint32_t> u32vector_elements(pmt_t v);
+ const std::vector<int32_t> s32vector_elements(pmt_t v);
+ const std::vector<float> f32vector_elements(pmt_t v);
+ const std::vector<double> f64vector_elements(pmt_t v);
+ const std::vector<std::complex<float> > c32vector_elements(pmt_t v);
+ const std::vector<std::complex<double> > c64vector_elements(pmt_t v);
+
+ bool is_dict(const pmt_t &obj);
+ pmt_t make_dict();
+ pmt_t dict_add(const pmt_t &dict, const pmt_t &key, const pmt_t &value);
+ pmt_t dict_delete(const pmt_t &dict, const pmt_t &key);
+ bool dict_has_key(const pmt_t &dict, const pmt_t &key);
+ pmt_t dict_ref(const pmt_t &dict, const pmt_t &key, const pmt_t &not_found);
+ pmt_t dict_items(pmt_t dict);
+ pmt_t dict_keys(pmt_t dict);
+ pmt_t dict_values(pmt_t dict);
+
+ bool is_any(pmt_t obj);
+ pmt_t make_any(const boost::any &any);
+ boost::any any_ref(pmt_t obj);
+ void any_set(pmt_t obj, const boost::any &any);
+
+ bool is_msg_accepter(const pmt_t &obj);
+ pmt_t make_msg_accepter(boost::shared_ptr<gruel::msg_accepter> ma);
+ boost::shared_ptr<gruel::msg_accepter> msg_accepter_ref(const pmt_t &obj);
+
+ bool eq(const pmt_t& x, const pmt_t& y);
+ bool eqv(const pmt_t& x, const pmt_t& y);
+ bool equal(const pmt_t& x, const pmt_t& y);
+ size_t length(const pmt_t& v);
+ pmt_t assq(pmt_t obj, pmt_t alist);
+ pmt_t assv(pmt_t obj, pmt_t alist);
+ pmt_t assoc(pmt_t obj, pmt_t alist);
+ pmt_t map(pmt_t proc(const pmt_t&), pmt_t list);
+ pmt_t reverse(pmt_t list);
+ pmt_t reverse_x(pmt_t list);
+ inline static pmt_t acons(pmt_t x, pmt_t y, pmt_t a);
+ pmt_t nth(size_t n, pmt_t list);
+ pmt_t nthcdr(size_t n, pmt_t list);
+ pmt_t memq(pmt_t obj, pmt_t list);
+ pmt_t memv(pmt_t obj, pmt_t list);
+ pmt_t member(pmt_t obj, pmt_t list);
+ bool subsetp(pmt_t list1, pmt_t list2);
+
+ pmt_t list1(const pmt_t& x1);
+ pmt_t list2(const pmt_t& x1, const pmt_t& x2);
+ pmt_t list3(const pmt_t& x1, const pmt_t& x2, const pmt_t& x3);
+ pmt_t list4(const pmt_t& x1, const pmt_t& x2, const pmt_t& x3, const pmt_t& x4);
+ pmt_t list5(const pmt_t& x1, const pmt_t& x2, const pmt_t& x3, const pmt_t& x4, const pmt_t& x5);
+ pmt_t list6(const pmt_t& x1, const pmt_t& x2, const pmt_t& x3, const pmt_t& x4, const pmt_t& x5, const pmt_t& x6);
+ pmt_t list_add(pmt_t list, const pmt_t& item);
+ pmt_t list_rm(pmt_t list, const pmt_t& item);
+ bool list_has(pmt_t list, const pmt_t& item);
+
+ bool is_eof_object(pmt_t obj);
+ pmt_t read(std::istream &port);
+ void write(pmt_t obj, std::ostream &port);
+ std::string write_string(pmt_t obj);
+
+ //void pmt_print(pmt_t v);
+
+ bool serialize(pmt_t obj, std::streambuf &sink);
+ pmt_t deserialize(std::streambuf &source);
+ void dump_sizeof();
+ std::string serialize_str(pmt_t obj);
+ pmt_t deserialize_str(std::string str);
} //namespace pmt