summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan van der Walt <stefan@sun.ac.za>2007-11-18 00:00:37 +0000
committerStefan van der Walt <stefan@sun.ac.za>2007-11-18 00:00:37 +0000
commit4ae613d0b53ef17aced122ce8a89274c1ee1ac8e (patch)
treeae14f17c8e1dda4cfe4a218ce2fc7574d652dada
parenta81039b7ec0834840468937a00317d85a3515eb8 (diff)
downloadnumpy-4ae613d0b53ef17aced122ce8a89274c1ee1ac8e.tar.gz
Fix arange output byteorder. Closes ticket #616.
-rw-r--r--numpy/core/src/multiarraymodule.c2
-rw-r--r--numpy/core/tests/test_regression.py8
2 files changed, 9 insertions, 1 deletions
diff --git a/numpy/core/src/multiarraymodule.c b/numpy/core/src/multiarraymodule.c
index c150b3a10..4163902f6 100644
--- a/numpy/core/src/multiarraymodule.c
+++ b/numpy/core/src/multiarraymodule.c
@@ -6806,6 +6806,7 @@ PyArray_ArangeObj(PyObject *start, PyObject *stop, PyObject *step, PyArray_Descr
funcs->fill(PyArray_DATA(range), length, (PyArrayObject *)range);
if (PyErr_Occurred()) goto fail;
+ finish:
if (swap) {
PyObject *new;
new = PyArray_Byteswap((PyArrayObject *)range, 1);
@@ -6814,7 +6815,6 @@ PyArray_ArangeObj(PyObject *start, PyObject *stop, PyObject *step, PyArray_Descr
PyArray_DESCR(range) = dtype; /* steals the reference */
}
- finish:
Py_DECREF(start);
Py_DECREF(step);
Py_DECREF(next);
diff --git a/numpy/core/tests/test_regression.py b/numpy/core/tests/test_regression.py
index f0ad8d5d9..fd81b231f 100644
--- a/numpy/core/tests/test_regression.py
+++ b/numpy/core/tests/test_regression.py
@@ -748,5 +748,13 @@ class TestRegression(NumpyTestCase):
new = cPickle.loads(cPickle.dumps(el))
assert_equal(new, el)
+ def check_arange_non_native_dtype(self, level=rlevel):
+ """Ticket #616"""
+ for T in ('>f4','<f4'):
+ dt = N.dtype(T)
+ assert_equal(N.arange(0,dtype=dt).dtype,dt)
+ assert_equal(N.arange(0.5,dtype=dt).dtype,dt)
+ assert_equal(N.arange(5,dtype=dt).dtype,dt)
+
if __name__ == "__main__":
NumpyTest().run()