00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef INCLUDED_GRUEL_PMT_SUGAR_H
00022 #define INCLUDED_GRUEL_PMT_SUGAR_H
00023
00024
00025
00026
00027
00028
00029 namespace pmt {
00030
00031
00032 static inline pmt_t
00033 mp(const std::string &s)
00034 {
00035 return pmt_string_to_symbol(s);
00036 }
00037
00038
00039 static inline pmt_t
00040 mp(const char *s)
00041 {
00042 return pmt_string_to_symbol(s);
00043 }
00044
00045
00046 static inline pmt_t
00047 mp(long x){
00048 return pmt_from_long(x);
00049 }
00050
00051
00052 static inline pmt_t
00053 mp(int x){
00054 return pmt_from_long(x);
00055 }
00056
00057
00058 static inline pmt_t
00059 mp(double x){
00060 return pmt_from_double(x);
00061 }
00062
00063
00064 static inline pmt_t
00065 mp(std::complex<double> z)
00066 {
00067 return pmt_make_rectangular(z.real(), z.imag());
00068 }
00069
00070
00071 static inline pmt_t
00072 mp(std::complex<float> z)
00073 {
00074 return pmt_make_rectangular(z.real(), z.imag());
00075 }
00076
00077
00078 static inline pmt_t
00079 mp(boost::shared_ptr<gruel::msg_accepter> ma)
00080 {
00081 return pmt_make_msg_accepter(ma);
00082 }
00083
00084
00085 static inline pmt_t
00086 mp(const void *data, size_t len_in_bytes)
00087 {
00088 return pmt_make_blob(data, len_in_bytes);
00089 }
00090
00091
00092 static inline pmt_t
00093 mp(const pmt_t &e0)
00094 {
00095 return pmt_make_tuple(e0);
00096 }
00097
00098
00099 static inline pmt_t
00100 mp(const pmt_t &e0, const pmt_t &e1)
00101 {
00102 return pmt_make_tuple(e0, e1);
00103 }
00104
00105
00106 static inline pmt_t
00107 mp(const pmt_t &e0, const pmt_t &e1, const pmt_t &e2)
00108 {
00109 return pmt_make_tuple(e0, e1, e2);
00110 }
00111
00112
00113 static inline pmt_t
00114 mp(const pmt_t &e0, const pmt_t &e1, const pmt_t &e2, const pmt_t &e3)
00115 {
00116 return pmt_make_tuple(e0, e1, e2, e3);
00117 }
00118
00119
00120 static inline pmt_t
00121 mp(const pmt_t &e0, const pmt_t &e1, const pmt_t &e2, const pmt_t &e3, const pmt_t &e4)
00122 {
00123 return pmt_make_tuple(e0, e1, e2, e3, e4);
00124 }
00125
00126
00127 static inline pmt_t
00128 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)
00129 {
00130 return pmt_make_tuple(e0, e1, e2, e3, e4, e5);
00131 }
00132
00133
00134 static inline pmt_t
00135 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)
00136 {
00137 return pmt_make_tuple(e0, e1, e2, e3, e4, e5, e6);
00138 }
00139
00140
00141 static inline pmt_t
00142 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)
00143 {
00144 return pmt_make_tuple(e0, e1, e2, e3, e4, e5, e6, e7);
00145 }
00146
00147
00148 static inline pmt_t
00149 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)
00150 {
00151 return pmt_make_tuple(e0, e1, e2, e3, e4, e5, e6, e7, e8);
00152 }
00153
00154
00155 static inline pmt_t
00156 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)
00157 {
00158 return pmt_make_tuple(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9);
00159 }
00160
00161
00162 }
00163
00164
00165 #endif