File: swap.c

package info (click to toggle)
cf-python 1.3.2%2Bdfsg1-4
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 7,996 kB
  • sloc: python: 51,733; ansic: 2,736; makefile: 78; sh: 2
file content (37 lines) | stat: -rw-r--r-- 545 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#include "umfileint.h"

#define DO_SWAP(x, y) {t = p[x]; p[x] = p[y]; p[y] = t;}

void swap_bytes_sgl(void *ptr, size_t num_words)
{
  int i;
  char *p;
  char t;

  p = (char*) ptr;
  for (i = 0; i < num_words; i++)
    {
      DO_SWAP(3, 0);
      DO_SWAP(2, 1);
      p += 4;  
    }
}

void swap_bytes_dbl(void *ptr, size_t num_words)
{
  int i;
  char *p;
  char t;

  p = (char*) ptr;
  for (i = 0; i < num_words; i++)
    {
      DO_SWAP(7, 0);
      DO_SWAP(6, 1);
      DO_SWAP(5, 2);
      DO_SWAP(4, 3);
      p += 8;      
    }
}