1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 #ifndef DATATYPE_CHECKSUM_H_HAS_BEEN_INCLUDED
20 #define DATATYPE_CHECKSUM_H_HAS_BEEN_INCLUDED
21
22
23 #include "opal/datatype/opal_datatype_memcpy.h"
24 #include "opal/util/crc.h"
25
26 #if defined(CHECKSUM)
27
28 #if defined (OPAL_CSUM_DST)
29 #define MEMCPY_CSUM( DST, SRC, BLENGTH, CONVERTOR ) \
30 do { \
31 (CONVERTOR)->checksum += OPAL_CSUM_BCOPY_PARTIAL( (SRC), (DST), (BLENGTH), (BLENGTH), &(CONVERTOR)->csum_ui1, &(CONVERTOR)->csum_ui2 ); \
32 } while (0)
33
34 #else
35
36 #define MEMCPY_CSUM( DST, SRC, BLENGTH, CONVERTOR ) \
37 do { \
38 (CONVERTOR)->checksum += OPAL_CSUM_BCOPY_PARTIAL( (SRC), (DST), (BLENGTH), (BLENGTH), &(CONVERTOR)->csum_ui1, &(CONVERTOR)->csum_ui2 ); \
39 } while (0)
40 #endif
41
42 #define COMPUTE_CSUM( SRC, BLENGTH, CONVERTOR ) \
43 do { \
44 (CONVERTOR)->checksum += OPAL_CSUM_PARTIAL( (SRC), (BLENGTH), &(CONVERTOR)->csum_ui1, &(CONVERTOR)->csum_ui2 ); \
45 } while (0)
46
47 #else
48
49 #define MEMCPY_CSUM( DST, SRC, BLENGTH, CONVERTOR ) \
50 MEMCPY( (DST), (SRC), (BLENGTH) )
51
52 #define COMPUTE_CSUM( SRC, BLENGTH, CONVERTOR )
53
54 #endif
55 #endif