Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: orxonox.OLD/branches/network/src/lib/network/converter.h @ 6564

Last change on this file since 6564 was 6564, checked in by bwuest, 18 years ago

Converter.cc changed: float converter should work now except for numbers with absolute value less than 10(-30) and ± infinity

File size: 1.5 KB
RevLine 
[6106]1/*!
2 * @file converter.h
3 *  Is able to convert int to byte-array and vice versa
4 */
[6341]5
[6106]6#ifndef _CONVERTER
7#define _CONVERTER
8
9/* include this file, it contains some default definitions */
10#include "netdefs.h"
11
[6564]12
[6106]13/* include base_object.h since all classes are derived from this one */
14#include "base_object.h"
15
16/* The size of an int in byte */
17#define INTSIZE 4
[6341]18/* The size of a float in byte */
19#define FLOATSIZE 4
[6106]20
21/*!
22 * a class that can convert int to byte-array and vice versa
23 */
[6564]24class Converter : public BaseObject
[6106]25{
26  public:
27    static byte* intToByteArray(int x);
[6341]28    static int byteArrayToInt(const byte* a);
29
30    static int intToByteArray(int x, byte* a, int length);
31    static int byteArrayToInt(const byte* a, int* x);
32
33    static int floatToByteArray(float x, byte* a, int length);
34    static int byteArrayToFloat(const byte* a, float* x);
35
36    static int stringToByteArray(const char* s, byte* a, int length, int maxLength);
37    static int byteArrayToString(const byte* a, char* s, int maxLength);
38    static int byteArrayToStringM(const byte* a, char*& s );
39
[6128]40    //Test
41    static char* floatToBinString(float x);
[6341]42
43    static byte* floatToByteArray(float x);
44    static float byteArrayToFloat(byte* a);
45
46    static byte* _floatToByteArray(float x);
47    static float _byteArrayToFloat(byte* a);
[6564]48   
49   
50    static void debug();
51    static void floatTest(float x);
52    static float getDenormConst();
53 
54   
[6106]55  private:
56    Converter();
57    ~Converter();
58};
59
[6564]60#undef byte
61
[6106]62#endif /*_CONVERTER*/
Note: See TracBrowser for help on using the repository browser.