[Scipy-svn] r2127 - in trunk/Lib/sandbox/svm: . libsvm-2.82
scipy-svn at scipy.org
scipy-svn at scipy.org
Tue Jul 25 19:20:32 EDT 2006
Author: fullung
Date: 2006-07-25 18:20:21 -0500 (Tue, 25 Jul 2006)
New Revision: 2127
Modified:
trunk/Lib/sandbox/svm/classification.py
trunk/Lib/sandbox/svm/libsvm-2.82/svm.h
trunk/Lib/sandbox/svm/libsvm.py
trunk/Lib/sandbox/svm/predict.py
trunk/Lib/sandbox/svm/regression.py
Log:
Use .ctypes.data_as instead of ctypes.cast.
Modified: trunk/Lib/sandbox/svm/classification.py
===================================================================
--- trunk/Lib/sandbox/svm/classification.py 2006-07-25 13:28:26 UTC (rev 2126)
+++ trunk/Lib/sandbox/svm/classification.py 2006-07-25 23:20:21 UTC (rev 2127)
@@ -1,4 +1,4 @@
-from ctypes import cast, POINTER, c_int, c_double
+from ctypes import POINTER, c_int, c_double
import numpy as N
from model import LibSvmModel
@@ -103,9 +103,9 @@
self.weights[i] = weight
self.param.nr_weight = len(weights)
self.param.weight_label = \
- cast(self.weight_labels.ctypes.data, POINTER(c_int))
+ self.weight_labels.ctypes.data_as(POINTER(c_int))
self.param.weight = \
- cast(self.weights.ctypes.data, POINTER(c_double))
+ self.weights.ctypes.data_as(POINTER(c_double))
def cross_validate(self, dataset, nr_fold):
"""
@@ -121,7 +121,7 @@
"""
problem = dataset._create_svm_problem()
target = N.empty((len(dataset.data),), dtype=N.float64)
- tp = cast(target.ctypes.data, POINTER(c_double))
+ tp = target.ctypes.data_as(POINTER(c_double))
libsvm.svm_cross_validation(problem, self.param, nr_fold, tp)
total_correct = 0.
for x, t in zip(dataset.data, target):
Modified: trunk/Lib/sandbox/svm/libsvm-2.82/svm.h
===================================================================
--- trunk/Lib/sandbox/svm/libsvm-2.82/svm.h 2006-07-25 13:28:26 UTC (rev 2126)
+++ trunk/Lib/sandbox/svm/libsvm-2.82/svm.h 2006-07-25 23:20:21 UTC (rev 2127)
@@ -6,10 +6,10 @@
#define LIBSVM_API __declspec(dllexport)
#else
#define LIBSVM_API __declspec(dllimport)
-#endif /* _LIBSVM_EXPORTS */
+#endif /* LIBSVM_EXPORTS */
#else
#define LIBSVM_API
-#endif /* _WIN32 */
+#endif /* LIBSVM_DLL */
#ifdef __cplusplus
extern "C" {
Modified: trunk/Lib/sandbox/svm/libsvm.py
===================================================================
--- trunk/Lib/sandbox/svm/libsvm.py 2006-07-25 13:28:26 UTC (rev 2126)
+++ trunk/Lib/sandbox/svm/libsvm.py 2006-07-25 23:20:21 UTC (rev 2127)
@@ -136,7 +136,7 @@
x = (POINTER(svm_node)*problem.l)()
for i, (yi, xi) in enumerate(data):
y[i] = yi
- x[i] = cast(xi.ctypes.data, POINTER(svm_node))
+ x[i] = xi.ctypes.data_as(POINTER(svm_node))
problem.x = x
problem.y = y
return problem
Modified: trunk/Lib/sandbox/svm/predict.py
===================================================================
--- trunk/Lib/sandbox/svm/predict.py 2006-07-25 13:28:26 UTC (rev 2126)
+++ trunk/Lib/sandbox/svm/predict.py 2006-07-25 23:20:21 UTC (rev 2127)
@@ -1,4 +1,4 @@
-from ctypes import cast, POINTER, c_double, addressof
+from ctypes import POINTER, c_double, addressof
import numpy as N
from dataset import svm_node_dot
@@ -35,14 +35,14 @@
def predict(self, x):
x = self._transform_input(x)
- xptr = cast(x.ctypes.data, POINTER(libsvm.svm_node))
+ xptr = x.ctypes.data_as(POINTER(libsvm.svm_node))
return libsvm.svm_predict(self.model, xptr)
def predict_values(self, x, n):
x = self._transform_input(x)
- xptr = cast(x.ctypes.data, POINTER(libsvm.svm_node))
+ xptr = x.ctypes.data_as(POINTER(libsvm.svm_node))
v = N.empty((n,), dtype=N.float64)
- vptr = cast(v.ctypes.data, POINTER(c_double))
+ vptr = v.ctypes.data_as(POINTER(c_double))
libsvm.svm_predict_values(self.model, xptr, vptr)
return v
@@ -50,9 +50,9 @@
if not self.model.contents.param.probability:
raise ValueError, 'not a probability model'
x = self._transform_input(x)
- xptr = cast(x.ctypes.data, POINTER(libsvm.svm_node))
+ xptr = x.ctypes.data_as(POINTER(libsvm.svm_node))
pe = N.empty((n,), dtype=N.float64)
- peptr = cast(pe.ctypes.data, POINTER(c_double))
+ peptr = pe.ctypes.data_as(POINTER(c_double))
label = libsvm.svm_predict_probability(self.model, xptr, peptr)
return label, pe
Modified: trunk/Lib/sandbox/svm/regression.py
===================================================================
--- trunk/Lib/sandbox/svm/regression.py 2006-07-25 13:28:26 UTC (rev 2126)
+++ trunk/Lib/sandbox/svm/regression.py 2006-07-25 23:20:21 UTC (rev 2127)
@@ -1,4 +1,4 @@
-from ctypes import cast, POINTER, c_double
+from ctypes import POINTER, c_double
import numpy as N
from model import LibSvmModel
@@ -65,7 +65,7 @@
problem = dataset._create_svm_problem()
target = N.empty((len(dataset.data),), dtype=N.float64)
- tp = cast(target.ctypes.data, POINTER(c_double))
+ tp = target.ctypes.data_as(POINTER(c_double))
libsvm.svm_cross_validation(problem, self.param, nr_fold, tp)
total_error = sumv = sumy = sumvv = sumyy = sumvy = 0.
More information about the Scipy-svn
mailing list