Cloned library of VTK-5.0.0 with extra build files for internal package management.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

160 lines
7.0 KiB

2 years ago
/*=========================================================================
Program: Visualization Toolkit
Module: $RCSfile: otherByteSwap.cxx,v $
Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
All rights reserved.
See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
This software is distributed WITHOUT ANY WARRANTY; without even
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE. See the above copyright notice for more information.
=========================================================================*/
// .NAME
// .SECTION Description
// this program tests the byte swapper
#include "vtkByteSwap.h"
#include "vtkDebugLeaks.h"
int TestByteSwap(ostream& strm)
{
// actual test
strm << "Test vtkByteSwap Start" << endl;
char check[1024];
short sword[2];
char cword[1024];
unsigned short usword[2];
memcpy ((char *) sword, "abcd", 2);
vtkByteSwap::Swap2BE(sword);
memcpy ((char *) check, sword, 2);
strm << "Swap2BE(short \"ab\") -> " << (char) check[0] << (char) check[1] << endl;
memcpy ((char *) usword, "abcd", 2);
vtkByteSwap::Swap2BE(usword);
memcpy ((char *) check, usword, 2);
strm << "Swap2BE(unsigned short \"ab\") -> " << (char) check[0] << (char) check[1] << endl;
memcpy ((char *) cword, "abcd", 4);
vtkByteSwap::Swap4BE(cword);
memcpy ((char *) check, cword, 4);
strm << "Swap4BE(char *\"abcd\") -> " << (char) check[0] << (char) check[1] << (char) check[2] << (char) check[3] << endl;
memcpy ((char *) cword, "abcdefgh", 8);
vtkByteSwap::Swap8BE(cword);
memcpy ((char *) check, cword, 8);
strm << "Swap8BE(char *\"abcdefgh\") -> " << (char) check[0] << (char) check[1] << (char) check[2] << (char) check[3] << (char) check[4] << (char) check[5] << (char) check[6] << (char) check[7] << endl;
memcpy ((char *) cword, "abcdefgh", 8);
vtkByteSwap::Swap2BERange(cword,8);
memcpy ((char *) check, cword, 8);
strm << "Swap2BERange(char *\"abcdefgh\",8) -> " << (char) check[0] << (char) check[1] << (char) check[2] << (char) check[3] << (char) check[4] << (char) check[5] << (char) check[6] << (char) check[7] << endl;
memcpy ((char *) cword, "abcdefgh", 8);
vtkByteSwap::Swap4BERange(cword,8);
memcpy ((char *) check, cword, 8);
strm << "Swap4BERange(char *\"abcdefgh\",8) -> " << (char) check[0] << (char) check[1] << (char) check[2] << (char) check[3] << (char) check[4] << (char) check[5] << (char) check[6] << (char) check[7] << endl;
memcpy ((char *) cword, "abcdefgh", 8);
vtkByteSwap::Swap8BERange(cword,8);
memcpy ((char *) check, cword, 8);
strm << "Swap8BERange(char *\"abcdefgh\",8) -> " << (char) check[0] << (char) check[1] << (char) check[2] << (char) check[3] << (char) check[4] << (char) check[5] << (char) check[6] << (char) check[7] << endl;
memcpy ((char *) cword, "abcdefghijklmnop", 16);
strm << "SwapWrite2BERange(char *\"abcdefghijklmnop\",8,stdout) -> ";
vtkByteSwap::SwapWrite2BERange(cword,8,stdout);
strm << endl;
memcpy ((char *) cword, "abcdefghijklmnop", 16);
strm << "SwapWrite4BERange(char *\"abcdefghijklmnop\",4,stdout) -> ";
vtkByteSwap::SwapWrite4BERange(cword,4,stdout);
strm << endl;
memcpy ((char *) cword, "abcdefghijklmnop", 16);
strm << "SwapWrite8BERange(char *\"abcdefghijklmnop\",2,stdout) -> ";
vtkByteSwap::SwapWrite8BERange(cword,2,stdout);
strm << endl;
memcpy ((char *) cword, "abcdefghijklmnop", 16);
strm << "SwapWrite2BERange(char *\"abcdefghijklmnop\",8,&strm) -> ";
vtkByteSwap::SwapWrite2BERange(cword,8,&strm);
strm << endl;
memcpy ((char *) cword, "abcdefghijklmnop", 16);
strm << "SwapWrite4BERange(char *\"abcdefghijklmnop\",4,&strm) -> ";
vtkByteSwap::SwapWrite4BERange(cword,4,&strm);
strm << endl;
memcpy ((char *) cword, "abcdefghijklmnop", 16);
strm << "SwapWrite8BERange(char *\"abcdefghijklmnop\",2,&strm) -> ";
vtkByteSwap::SwapWrite8BERange(cword,2,&strm);
strm << endl;
memcpy ((char *) sword, "abcd", 2);
vtkByteSwap::Swap2LE(sword);
memcpy ((char *) check, sword, 2);
strm << "Swap2LE(short \"ab\") -> " << (char) check[0] << (char) check[1] << endl;
memcpy ((char *) usword, "abcd", 2);
vtkByteSwap::Swap2LE(usword);
memcpy ((char *) check, usword, 2);
strm << "Swap2LE(unsigned short \"ab\") -> " << (char) check[0] << (char) check[1] << endl;
memcpy ((char *) cword, "abcd", 4);
vtkByteSwap::Swap4LE(cword);
memcpy ((char *) check, cword, 4);
strm << "Swap4LE(char *\"abcd\") -> " << (char) check[0] << (char) check[1] << (char) check[2] << (char) check[3] << endl;
memcpy ((char *) cword, "abcdefgh", 8);
vtkByteSwap::Swap8LE(cword);
memcpy ((char *) check, cword, 8);
strm << "Swap8LE(char *\"abcdefgh\") -> " << (char) check[0] << (char) check[1] << (char) check[2] << (char) check[3] << (char) check[4] << (char) check[5] << (char) check[6] << (char) check[7] << endl;
memcpy ((char *) cword, "abcdefgh", 8);
vtkByteSwap::Swap2LERange(cword,8);
memcpy ((char *) check, cword, 8);
strm << "Swap2LERange(char *\"abcdefgh\",8) -> " << (char) check[0] << (char) check[1] << (char) check[2] << (char) check[3] << (char) check[4] << (char) check[5] << (char) check[6] << (char) check[7] << endl;
memcpy ((char *) cword, "abcdefgh", 8);
vtkByteSwap::Swap4LERange(cword,8);
memcpy ((char *) check, cword, 8);
strm << "Swap4LERange(char *\"abcdefgh\",8) -> " << (char) check[0] << (char) check[1] << (char) check[2] << (char) check[3] << (char) check[4] << (char) check[5] << (char) check[6] << (char) check[7] << endl;
memcpy ((char *) cword, "abcdefgh", 8);
vtkByteSwap::Swap8LERange(cword,8);
memcpy ((char *) check, cword, 8);
strm << "Swap8LERange(char *\"abcdefgh\",8) -> " << (char) check[0] << (char) check[1] << (char) check[2] << (char) check[3] << (char) check[4] << (char) check[5] << (char) check[6] << (char) check[7] << endl;
memcpy ((char *) cword, "abcdefgh", 8);
vtkByteSwap::SwapVoidRange(cword,4,2);
memcpy ((char *) check, cword, 8);
strm << "SwapVoidRange(char *\"abcdefgh\",4,2) -> " << (char) check[0] << (char) check[1] << (char) check[2] << (char) check[3] << (char) check[4] << (char) check[5] << (char) check[6] << (char) check[7] << endl;
memcpy ((char *) cword, "abcdefgh", 8);
vtkByteSwap::SwapVoidRange(cword,2,4);
memcpy ((char *) check, cword, 8);
strm << "SwapVoidRange(char *\"abcdefgh\",2,4) -> " << (char) check[0] << (char) check[1] << (char) check[2] << (char) check[3] << (char) check[4] << (char) check[5] << (char) check[6] << (char) check[7] << endl;
memcpy ((char *) cword, "abcdefgh", 8);
vtkByteSwap::SwapVoidRange(cword,1,8);
memcpy ((char *) check, cword, 8);
strm << "SwapVoidRange(char *\"abcdefgh\",1,8) -> " << (char) check[0] << (char) check[1] << (char) check[2] << (char) check[3] << (char) check[4] << (char) check[5] << (char) check[6] << (char) check[7] << endl;
strm << "Test vtkByteSwap End" << endl;
return 0;
}
int otherByteSwap(int,char *[])
{
ostrstream vtkmsg_with_warning_C4701;
return TestByteSwap(vtkmsg_with_warning_C4701);
}