source: branches/with_autoconf/src/hex2string.cc

Last change on this file was 20, checked in by nipo, 16 years ago

Sync up with trunk changes

File size: 2.4 KB
Line 
1/*------------------------------------------------------------\
2|                                                             |
3| Tool    :                  systemcass                       |
4|                                                             |
5| File    :                 hex2string.cc                     |
6|                                                             |
7| Author  :                 Buchmann Richard                  |
8|                                                             |
9| Date    :                   09_07_2004                      |
10|                                                             |
11\------------------------------------------------------------*/
12
13/*
14 * This file is part of the Disydent Project
15 * Copyright (C) Laboratoire LIP6 - Département ASIM
16 * Universite Pierre et Marie Curie
17 *
18 * Home page          : http://www-asim.lip6.fr/disydent
19 * E-mail             : mailto:richard.buchmann@lip6.fr
20 *
21 * This library is free software; you  can redistribute it and/or modify it
22 * under the terms  of the GNU Library General Public  License as published
23 * by the Free Software Foundation; either version 2 of the License, or (at
24 * your option) any later version.
25 *
26 * Disydent is distributed  in the hope  that it  will be
27 * useful, but WITHOUT  ANY WARRANTY; without even the  implied warranty of
28 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
29 * Public License for more details.
30 *
31 * You should have received a copy  of the GNU General Public License along
32 * with the GNU C Library; see the  file COPYING. If not, write to the Free
33 * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
34 */
35
36#include "hex2string.h"
37
38//#include <string>
39#include <stdarg.h>
40#include <cstdio>
41#include <cstdlib>
42#include <iostream>
43#ifdef HAVE_CONFIG_H
44#include "config.h"
45#endif
46       
47using namespace std;
48
49namespace sc_core {
50
51void 
52hex2string(char        *buf,
53           const tab_t *val,
54           int          bit_number)
55{
56        int tmp=*((const int*)val);
57        //cout << "tmp = " << tmp << "\n";     
58        buf[bit_number >> 2]='\0';
59        for (int i = (bit_number >> 2) - 1; i >= 0 ;i--) 
60        {
61                char value = tmp & 0x0F;
62                buf[i]=(value > 9)?('A' + value - 10):('0'+value);
63                tmp=tmp>>4;
64        }
65#if 0
66  sscanf (buf, "%X", &tmp);
67  if (atoi (buf) != *val)
68    cerr << "hex2string (0x" << hex << *val << ") returns 0x" << buf << "    KO !\n";
69#endif 
70}
71
72} // end of sc_core namespace
73
Note: See TracBrowser for help on using the repository browser.