|
1 | 1 | @@
|
2 |
| -type T; |
3 |
| -T *dst; |
4 |
| -T *src; |
5 |
| -expression n; |
| 2 | +expression dst, src, n, E; |
6 | 3 | @@
|
7 |
| -- memcpy(dst, src, (n) * sizeof(*dst)); |
8 |
| -+ COPY_ARRAY(dst, src, n); |
| 4 | + memcpy(dst, src, n * sizeof( |
| 5 | +- E[...] |
| 6 | ++ *(E) |
| 7 | + )) |
9 | 8 |
|
10 | 9 | @@
|
11 | 10 | type T;
|
12 |
| -T *dst; |
13 |
| -T *src; |
14 |
| -expression n; |
| 11 | +T *ptr; |
| 12 | +T[] arr; |
| 13 | +expression E, n; |
15 | 14 | @@
|
16 |
| -- memcpy(dst, src, (n) * sizeof(*src)); |
17 |
| -+ COPY_ARRAY(dst, src, n); |
| 15 | +( |
| 16 | + memcpy(ptr, E, |
| 17 | +- n * sizeof(*(ptr)) |
| 18 | ++ n * sizeof(T) |
| 19 | + ) |
| 20 | +| |
| 21 | + memcpy(arr, E, |
| 22 | +- n * sizeof(*(arr)) |
| 23 | ++ n * sizeof(T) |
| 24 | + ) |
| 25 | +| |
| 26 | + memcpy(E, ptr, |
| 27 | +- n * sizeof(*(ptr)) |
| 28 | ++ n * sizeof(T) |
| 29 | + ) |
| 30 | +| |
| 31 | + memcpy(E, arr, |
| 32 | +- n * sizeof(*(arr)) |
| 33 | ++ n * sizeof(T) |
| 34 | + ) |
| 35 | +) |
18 | 36 |
|
19 | 37 | @@
|
20 | 38 | type T;
|
21 |
| -T *dst; |
22 |
| -T *src; |
| 39 | +T *dst_ptr; |
| 40 | +T *src_ptr; |
| 41 | +T[] dst_arr; |
| 42 | +T[] src_arr; |
23 | 43 | expression n;
|
24 | 44 | @@
|
25 |
| -- memcpy(dst, src, (n) * sizeof(T)); |
26 |
| -+ COPY_ARRAY(dst, src, n); |
| 45 | +( |
| 46 | +- memcpy(dst_ptr, src_ptr, (n) * sizeof(T)) |
| 47 | ++ COPY_ARRAY(dst_ptr, src_ptr, n) |
| 48 | +| |
| 49 | +- memcpy(dst_ptr, src_arr, (n) * sizeof(T)) |
| 50 | ++ COPY_ARRAY(dst_ptr, src_arr, n) |
| 51 | +| |
| 52 | +- memcpy(dst_arr, src_ptr, (n) * sizeof(T)) |
| 53 | ++ COPY_ARRAY(dst_arr, src_ptr, n) |
| 54 | +| |
| 55 | +- memcpy(dst_arr, src_arr, (n) * sizeof(T)) |
| 56 | ++ COPY_ARRAY(dst_arr, src_arr, n) |
| 57 | +) |
27 | 58 |
|
28 | 59 | @@
|
29 | 60 | type T;
|
|
0 commit comments