Mercurial > hg > Game > Cerium
annotate old/tmp/test.c @ 693:c512e879153a draft
document
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 07 Dec 2009 12:39:34 +0900 |
parents | d38d9896dfa4 |
children |
rev | line source |
---|---|
595 | 1 |
2 | |
3 #include <stdio.h> | |
4 #include <stdlib.h> | |
5 #include <sys/types.h> | |
6 | |
7 #define FALSE 0 | |
8 #define TRUE 1 | |
9 typedef int bool_t; | |
10 typedef int enum_t; | |
11 | |
12 #include <rpc/xdr.h> | |
13 | |
14 #define CHUNK 1024 | |
15 | |
16 | |
17 int | |
18 main() | |
19 { | |
610
d38d9896dfa4
change htonl to xdr_float (checked working on mac)
kazz@kazzone.st.ie.u-ryukyu.ac.jp
parents:
596
diff
changeset
|
20 XDR xdrs1, xdrs2; |
595 | 21 double dp[6]; |
22 | |
23 int size = CHUNK; | |
610
d38d9896dfa4
change htonl to xdr_float (checked working on mac)
kazz@kazzone.st.ie.u-ryukyu.ac.jp
parents:
596
diff
changeset
|
24 unsigned char *addr = (unsigned char*)malloc(size); |
595 | 25 int i; |
26 | |
27 double d = 0.1; | |
610
d38d9896dfa4
change htonl to xdr_float (checked working on mac)
kazz@kazzone.st.ie.u-ryukyu.ac.jp
parents:
596
diff
changeset
|
28 xdrmem_create(&xdrs1, addr, size, XDR_ENCODE); |
595 | 29 |
610
d38d9896dfa4
change htonl to xdr_float (checked working on mac)
kazz@kazzone.st.ie.u-ryukyu.ac.jp
parents:
596
diff
changeset
|
30 printf("--send side--\n"); |
d38d9896dfa4
change htonl to xdr_float (checked working on mac)
kazz@kazzone.st.ie.u-ryukyu.ac.jp
parents:
596
diff
changeset
|
31 for (i = 0; i < 6; i++) { |
595 | 32 dp[i] = d * i; |
610
d38d9896dfa4
change htonl to xdr_float (checked working on mac)
kazz@kazzone.st.ie.u-ryukyu.ac.jp
parents:
596
diff
changeset
|
33 xdr_double(&xdrs1, &dp[i]); |
595 | 34 } |
610
d38d9896dfa4
change htonl to xdr_float (checked working on mac)
kazz@kazzone.st.ie.u-ryukyu.ac.jp
parents:
596
diff
changeset
|
35 int pos = xdr_getpos(&xdrs1); |
596 | 36 printf("xdr written %d\n",pos); |
610
d38d9896dfa4
change htonl to xdr_float (checked working on mac)
kazz@kazzone.st.ie.u-ryukyu.ac.jp
parents:
596
diff
changeset
|
37 for (i = 0; i < pos; i++) { |
d38d9896dfa4
change htonl to xdr_float (checked working on mac)
kazz@kazzone.st.ie.u-ryukyu.ac.jp
parents:
596
diff
changeset
|
38 printf("%02x", addr[i]); |
d38d9896dfa4
change htonl to xdr_float (checked working on mac)
kazz@kazzone.st.ie.u-ryukyu.ac.jp
parents:
596
diff
changeset
|
39 } |
d38d9896dfa4
change htonl to xdr_float (checked working on mac)
kazz@kazzone.st.ie.u-ryukyu.ac.jp
parents:
596
diff
changeset
|
40 printf("\n"); |
595 | 41 |
42 for (i = 0; i< 6; i++) dp[i] = 0.0; | |
43 | |
610
d38d9896dfa4
change htonl to xdr_float (checked working on mac)
kazz@kazzone.st.ie.u-ryukyu.ac.jp
parents:
596
diff
changeset
|
44 xdrmem_create(&xdrs2, addr, size, XDR_DECODE); |
595 | 45 |
610
d38d9896dfa4
change htonl to xdr_float (checked working on mac)
kazz@kazzone.st.ie.u-ryukyu.ac.jp
parents:
596
diff
changeset
|
46 printf("--recieve side--\n"); |
595 | 47 for (i = 0; i< 6; i++) { |
610
d38d9896dfa4
change htonl to xdr_float (checked working on mac)
kazz@kazzone.st.ie.u-ryukyu.ac.jp
parents:
596
diff
changeset
|
48 xdr_double(&xdrs2, &dp[i]); |
d38d9896dfa4
change htonl to xdr_float (checked working on mac)
kazz@kazzone.st.ie.u-ryukyu.ac.jp
parents:
596
diff
changeset
|
49 printf("%g\n", dp[i]); |
595 | 50 } |
610
d38d9896dfa4
change htonl to xdr_float (checked working on mac)
kazz@kazzone.st.ie.u-ryukyu.ac.jp
parents:
596
diff
changeset
|
51 free(addr); |
d38d9896dfa4
change htonl to xdr_float (checked working on mac)
kazz@kazzone.st.ie.u-ryukyu.ac.jp
parents:
596
diff
changeset
|
52 return 0; |
595 | 53 } |
54 | |
55 |