Skip to content

Commit 39d9b4a

Browse files
committed
Merge pull request python-quantities#98 from bjodah/more_ufuncs
More ufuncs (fixes python-quantities#76)
2 parents 1948072 + c122923 commit 39d9b4a

4 files changed

Lines changed: 55 additions & 4 deletions

File tree

‎.travis.yml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ language: python
22
sudo: false
33
env:
44
matrix:
5-
- NUMPY_VERSION="1.7.1"
5+
- NUMPY_VERSION="1.8.2"
66
- NUMPY_VERSION="1.9.1"
77
python:
88
- 2.6

‎quantities/dimensionality.py‎

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ def string(self):
4747
@property
4848
def unicode(self):
4949
return markup.format_units_unicode(self)
50-
50+
5151
@property
5252
def latex(self):
5353
return markup.format_units_latex(self)
@@ -285,6 +285,12 @@ def _d_check_uniform(q1, q2, out=None):
285285
p_dict[np.floor_divide] = _d_check_uniform
286286
p_dict[np.arctan2] = _d_check_uniform
287287
p_dict[np.hypot] = _d_check_uniform
288+
p_dict[np.equal] = _d_check_uniform
289+
p_dict[np.not_equal] = _d_check_uniform
290+
p_dict[np.less] = _d_check_uniform
291+
p_dict[np.less_equal] = _d_check_uniform
292+
p_dict[np.greater] = _d_check_uniform
293+
p_dict[np.greater_equal] = _d_check_uniform
288294

289295
def _d_power(q1, q2, out=None):
290296
if getattr(q2, 'dimensionality', None):

‎quantities/tests/test_umath.py‎

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -242,3 +242,39 @@ def test_radians(self):
242242
def test_unwrap(self):
243243
self.assertQuantityEqual(np.unwrap([0,3*np.pi]*pq.radians), [0,np.pi])
244244
self.assertQuantityEqual(np.unwrap([0,540]*pq.deg), [0,180]*pq.deg)
245+
246+
def test_equal(self):
247+
arr1 = (1, 1) * pq.m
248+
arr2 = (1.0, 1.0) * pq.m
249+
self.assertTrue(np.all(np.equal(arr1, arr2)))
250+
self.assertFalse(np.all(np.equal(arr1, arr2 * 2)))
251+
252+
def test_not_equal(self):
253+
arr1 = (1, 1) * pq.m
254+
arr2 = (1.0, 1.0) * pq.m
255+
self.assertTrue(np.all(np.not_equal(arr1, arr2*2)))
256+
self.assertFalse(np.all(np.not_equal(arr1, arr2)))
257+
258+
def test_less(self):
259+
arr1 = (1, 1) * pq.m
260+
arr2 = (1.0, 1.0) * pq.m
261+
self.assertTrue(np.all(np.less(arr1, arr2*2)))
262+
self.assertFalse(np.all(np.less(arr1*2, arr2)))
263+
264+
def test_less_equal(self):
265+
arr1 = (1, 1) * pq.m
266+
arr2 = (1.0, 2.0) * pq.m
267+
self.assertTrue(np.all(np.less_equal(arr1, arr2)))
268+
self.assertFalse(np.all(np.less_equal(arr2, arr1)))
269+
270+
def test_greater(self):
271+
arr1 = (1, 1) * pq.m
272+
arr2 = (1.0, 2.0) * pq.m
273+
self.assertTrue(np.all(np.greater(arr2*1.01, arr1)))
274+
self.assertFalse(np.all(np.greater(arr2, arr1)))
275+
276+
def test_greater_equal(self):
277+
arr1 = (1, 1) * pq.m
278+
arr2 = (1.0, 2.0) * pq.m
279+
self.assertTrue(np.all(np.greater_equal(arr2, arr1)))
280+
self.assertFalse(np.all(np.greater_equal(arr2*0.99, arr1)))

‎setup.py‎

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,11 @@
33
from distutils.command.sdist import sdist as _sdist
44
from distutils.command.build import build as _build
55
import os
6+
import sys
67

78
import versioneer
89

10+
TEST_RESULT = None
911

1012
cmdclass = versioneer.get_cmdclass()
1113

@@ -88,7 +90,8 @@ def run(self):
8890
else:
8991
import unittest
9092
suite = unittest.TestLoader().discover('.')
91-
unittest.TextTestRunner(verbosity=self.verbosity+1).run(suite)
93+
global TEST_RESULT
94+
TEST_RESULT = unittest.TextTestRunner(verbosity=self.verbosity+1).run(suite)
9295

9396
cmdclass['test'] = test
9497

@@ -137,8 +140,14 @@ def run(self):
137140
platforms = 'Any',
138141
requires = [
139142
'python (>=2.6.0)',
140-
'numpy (>=1.4.0)',
143+
'numpy (>=1.8.2)',
141144
],
142145
url = 'http://packages.python.org/quantities',
143146
version = versioneer.get_version(),
144147
)
148+
149+
if __name__ == '__main__':
150+
if TEST_RESULT is not None:
151+
if len(TEST_RESULT.errors) > 0:
152+
# failing test -> Set non-success exit-code
153+
sys.exit(os.EX_OK+1)

0 commit comments

Comments
 (0)