#include "pbc.h" #include #include #include #include #include "readfile.h" static void dump(uint8_t *buffer, int sz) { int i , j; for (i=0;i=32 && c<127) { printf("%c",c); } else { printf("."); } } printf("\n"); } } printf("\n"); } static void test_rmessage(struct pbc_env *env, struct pbc_slice *slice) { struct pbc_rmessage * m = pbc_rmessage_new(env, "real", slice); printf("f = %f\n", pbc_rmessage_real(m , "f" , 0 )); printf("d = %f\n", pbc_rmessage_real(m , "d" , 0 )); pbc_rmessage_delete(m); } static struct pbc_wmessage * test_wmessage(struct pbc_env * env) { struct pbc_wmessage * msg = pbc_wmessage_new(env, "real"); pbc_wmessage_real(msg, "f", 1.0); pbc_wmessage_real(msg, "d" , 4.0); return msg; } int main() { struct pbc_slice slice; read_file("float.pb", &slice); if (slice.buffer == NULL) return 1; struct pbc_env * env = pbc_new(); pbc_register(env, &slice); free(slice.buffer); struct pbc_wmessage *msg = test_wmessage(env); pbc_wmessage_buffer(msg, &slice); dump(slice.buffer, slice.len); test_rmessage(env, &slice); pbc_wmessage_delete(msg); pbc_delete(env); return 0; }