~ubuntu-branches/ubuntu/trusty/octave-parallel/trusty

« back to all changes in this revision

Viewing changes to src/swab.h

  • Committer: Bazaar Package Importer
  • Author(s): Rafael Laboissiere
  • Date: 2008-05-20 22:32:26 UTC
  • Revision ID: james.westby@ubuntu.com-20080520223226-mywtchjnbz1xldl1
Tags: upstream-1.0.6
ImportĀ upstreamĀ versionĀ 1.0.6

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#define swab32(x) \
 
2
({ \
 
3
        u_int32_t *__x = (u_int32_t *)(x); \
 
4
        ((u_int32_t)( \
 
5
                (((u_int32_t)(*__x) & (u_int32_t)0x000000ffUL) << 24) | \
 
6
                (((u_int32_t)(*__x) & (u_int32_t)0x0000ff00UL) <<  8) | \
 
7
                (((u_int32_t)(*__x) & (u_int32_t)0x00ff0000UL) >>  8) | \
 
8
                (((u_int32_t)(*__x) & (u_int32_t)0xff000000UL) >> 24) )); \
 
9
})
 
10
 
 
11
#define swab64(x) \
 
12
({ \
 
13
        u_int64_t *__x = (u_int64_t *)(x); \
 
14
        ((u_int64_t)( \
 
15
                (u_int64_t)(((u_int64_t)(*__x) & (u_int64_t)0x00000000000000ffULL) << 56) | \
 
16
                (u_int64_t)(((u_int64_t)(*__x) & (u_int64_t)0x000000000000ff00ULL) << 40) | \
 
17
                (u_int64_t)(((u_int64_t)(*__x) & (u_int64_t)0x0000000000ff0000ULL) << 24) | \
 
18
                (u_int64_t)(((u_int64_t)(*__x) & (u_int64_t)0x00000000ff000000ULL) <<  8) | \
 
19
                (u_int64_t)(((u_int64_t)(*__x) & (u_int64_t)0x000000ff00000000ULL) >>  8) | \
 
20
                (u_int64_t)(((u_int64_t)(*__x) & (u_int64_t)0x0000ff0000000000ULL) >> 24) | \
 
21
                (u_int64_t)(((u_int64_t)(*__x) & (u_int64_t)0x00ff000000000000ULL) >> 40) | \
 
22
                (u_int64_t)(((u_int64_t)(*__x) & (u_int64_t)0xff00000000000000ULL) >> 56) )); \
 
23
})