Imported Upstream version 4.6.0
[debian/atlc] / src / non_gui / byteswap.c
1 /* atlc - arbitrary transmission line calculator, for the analysis of
2 transmission lines are directional couplers. 
3
4 Copyright (C) 2002. Dr. David Kirkby, PhD (G8WRB).
5
6 This program is free software; you can redistribute it and/or
7 modify it under the terms of the GNU General Public License
8 as published by the Free Software Foundation; either package_version 2
9 of the License, or (at your option) any later package_version.
10
11 This program is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14 GNU General Public License for more details.
15
16 You should have received a copy of the GNU General Public License
17 along with this program; if not, write to the Free Software
18 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,
19 USA.
20
21 Dr. David Kirkby, e-mail drkirkby at ntlworld.com 
22
23 */
24
25 #include "config.h"
26
27 #ifdef HAVE_STRING_H
28 #include <string.h>
29 #endif
30
31 #include "definitions.h"
32
33 extern int errno;
34
35 /* This routine swaps data from the little-endian format to the big-endian 
36 format or visa-versa. */
37
38 void byteswap_doubles(double *a)
39 {
40         unsigned char b[8],c[8];
41         (void) memcpy(b,a,8); 
42         c[0]=b[7]; /* swap data around */
43         c[1]=b[6];
44         c[2]=b[5];
45         c[3]=b[4];
46         c[4]=b[3];
47         c[5]=b[2];
48         c[6]=b[1];
49         c[7]=b[0];
50         (void) memcpy(a,c,8);
51 #ifdef DEBUG
52         error_check("byteswap");
53 #endif 
54 }