[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[py-rrdtool-cvs] [Commit] py-rrdtool/src _rrdtoolmodule.c
From: |
Hye-Shik Chang <address@hidden> |
Subject: |
[py-rrdtool-cvs] [Commit] py-rrdtool/src _rrdtoolmodule.c |
Date: |
Mon, 27 May 2002 15:48:25 -0400 |
perky 02/05/27 15:48:25
Modified: src _rrdtoolmodule.c
Log:
Remove isnan method and change all NaNs to None
Revision Changes Path
1.9 +15 -27 py-rrdtool/src/_rrdtoolmodule.c
Index: _rrdtoolmodule.c
===================================================================
RCS file: /cvsroot/py-rrdtool/py-rrdtool/src/_rrdtoolmodule.c,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- _rrdtoolmodule.c 26 May 2002 00:40:26 -0000 1.8
+++ _rrdtoolmodule.c 27 May 2002 19:48:25 -0000 1.9
@@ -4,10 +4,10 @@
* RRDTool Python binding
*
* Author : Hye-Shik Chang <address@hidden>
- * Date : $Date: 2002/05/26 00:40:26 $
+ * Date : $Date: 2002/05/27 19:48:25 $
* Created : 23 May 2002
*
- * $Revision: 1.8 $
+ * $Revision: 1.9 $
*
*
==========================================================================
* This file is part of py-rrdtool.
@@ -29,7 +29,7 @@
*/
static char *version =
-"$Id: _rrdtoolmodule.c,v 1.8 2002/05/26 00:40:26 perky Exp $";
+"$Id: _rrdtoolmodule.c,v 1.9 2002/05/27 19:48:25 perky Exp $";
#include "Python.h"
#include "rrd.h"
@@ -158,6 +158,7 @@
} else {
PyObject *range_tup, *dsnam_tup, *data_list, *t;
int i, j, row = ((end - start)/step + 1);
+ rrd_value_t dv;
/* Return :
((start, end, step), (name1, name2, ...), [(data1, data2, ..),
...]) */
@@ -181,8 +182,15 @@
for (i = 0; i < row; i ++) {
t = PyTuple_New(ds_cnt);
PyList_SET_ITEM(data_list, i, t);
- for (j = 0; j < ds_cnt; j++)
- PyTuple_SET_ITEM(t, j,
PyFloat_FromDouble((double)*(datai++)));
+ for (j = 0; j < ds_cnt; j++) {
+ dv = *(datai++);
+ if (isnan(dv)) {
+ PyTuple_SET_ITEM(t, j, Py_None);
+ Py_INCREF(Py_None);
+ } else {
+ PyTuple_SET_ITEM(t, j,
PyFloat_FromDouble((double)*(datai++)));
+ }
+ }
}
for (i = 0; i < ds_cnt; i++)
@@ -373,7 +381,8 @@
Py_DECREF(t);
#define DICTSET_VAL(dict, name, value) \
- t = PyFloat_FromDouble((double)value); \
+ t = isnan(value) ? (Py_INCREF(Py_None), Py_None) : \
+ PyFloat_FromDouble((double)value); \
PyDict_SetItemString(dict, name, t); \
Py_DECREF(t);
@@ -441,26 +450,6 @@
return r;
}
-static char PyRRD_isnan__doc__[] =
-"isnan(value): test wheter value is NaN";
-
-static PyObject *
-PyRRD_isnan(PyObject *self, PyObject *args)
-{
- double tv;
-
- if (! PyArg_ParseTuple(args, "d:isnan", &tv))
- return NULL;
-
- if (isnan(tv)) {
- Py_INCREF(Py_True);
- return Py_True;
- } else {
- Py_INCREF(Py_False);
- return Py_False;
- }
-}
-
/* List of methods defined in the module */
#define meth(name, func, doc) {name, (PyCFunction)func, METH_VARARGS, doc}
@@ -473,7 +462,6 @@
meth("last", PyRRD_last, PyRRD_last__doc__),
meth("resize", PyRRD_resize, PyRRD_resize__doc__),
meth("info", PyRRD_info, PyRRD_info__doc__),
- meth("isnan", PyRRD_isnan, PyRRD_isnan__doc__),
{NULL, NULL},
};