/*
- * Copyright (C) 1995-2008 University of Karlsruhe. All right reserved.
- *
* This file is part of libFirm.
- *
- * This file may be distributed and/or modified under the terms of the
- * GNU General Public License version 2 as published by the Free Software
- * Foundation and appearing in the file LICENSE.GPL included in the
- * packaging of this file.
- *
- * Licensees holding valid libFirm Professional Edition licenses may use
- * this file in accordance with the libFirm Commercial License.
- * Agreement provided with the Software.
- *
- * This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
- * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE.
+ * Copyright (C) 2012 University of Karlsruhe.
*/
/**
* @file
* @brief Statistics for Firm. Counter implementation.
* @author Michael Beck
- * @version $Id$
*/
#ifndef FIRM_STAT_COUNTER_H
#define FIRM_STAT_COUNTER_H
#define STAT_CNT_NUM 1
#endif
-typedef struct _counter_t {
+typedef struct counter_t {
unsigned cnt[STAT_CNT_NUM];
} counter_t;
/**
* increase a counter
*/
-static INLINE void cnt_inc(counter_t *cnt)
+static inline void cnt_inc(counter_t *cnt)
{
int i;
/**
* decrease a counter
*/
-static INLINE void cnt_dec(counter_t *cnt)
+static inline void cnt_dec(counter_t *cnt)
{
int i;
/**
* set a counter to zero
*/
-static INLINE void cnt_clr(counter_t *cnt)
+static inline void cnt_clr(counter_t *cnt)
{
memset(cnt->cnt, 0, sizeof(cnt->cnt));
}
/**
* add a counter to another
*/
-static INLINE void cnt_add(counter_t *dst, const counter_t *src)
+static inline void cnt_add(counter_t *dst, const counter_t *src)
{
int i, carry = 0;
/**
* add an (positive) integer to an counter
*/
-static INLINE void cnt_add_i(counter_t *dst, int src)
+static inline void cnt_add_i(counter_t *dst, int src)
{
int i;
unsigned carry = src;
/**
* compare two counter
*/
-static INLINE int cnt_cmp(const counter_t *a, const counter_t *b)
+static inline int cnt_cmp(const counter_t *a, const counter_t *b)
{
int i;
- unsigned va, vb;
+ unsigned va = 0;
+ unsigned vb = 0;
for (i = STAT_CNT_NUM - 1 ; i >= 0; --i) {
va = a->cnt[i];
/**
* convert a counter into a double
*/
-static INLINE double cnt_to_dbl(const counter_t *a)
+static inline double cnt_to_dbl(const counter_t *a)
{
int i;
double res = 0.0, scale = 1.0, tmp;
/**
* convert a counter into an unsigned
*/
-static INLINE unsigned cnt_to_uint(const counter_t *a)
+static inline unsigned cnt_to_uint(const counter_t *a)
{
int i;
/**
* check, if a counter is equal to an unsigned
*/
-static INLINE int cnt_eq(const counter_t *a, unsigned value)
+static inline int cnt_eq(const counter_t *a, unsigned value)
{
int i;
/**
* check, if a counter as greater than an unsigned
*/
-static INLINE int cnt_gt(const counter_t *a, unsigned value)
+static inline int cnt_gt(const counter_t *a, unsigned value)
{
int i;