@@ -224,16 +224,19 @@ def __add__(self, other):
224224 ret ._dimensionality = dims
225225 return ret
226226
227+ @usedoc (numpy .ndarray .__iadd__ )
227228 def __iadd__ (self , other ):
228229 if not isinstance (other , Quantity ):
229230 other = Quantity (other , copy = False )
230231
231232 self ._dimensionality += other .dimensionality
232233 return super (Quantity , self ).__iadd__ (other )
233234
235+ @usedoc (numpy .ndarray .__radd__ )
234236 def __radd__ (self , other ):
235237 return self .__add__ (other )
236238
239+ @usedoc (numpy .ndarray .__sub__ )
237240 def __sub__ (self , other ):
238241 if not isinstance (other , Quantity ):
239242 other = numpy .asarray (other ).view (Quantity )
@@ -243,13 +246,15 @@ def __sub__(self, other):
243246 ret ._dimensionality = dims
244247 return ret
245248
249+ @usedoc (numpy .ndarray .__isub__ )
246250 def __isub__ (self , other ):
247251 if not isinstance (other , Quantity ):
248252 other = numpy .asarray (other ).view (Quantity )
249253
250254 self ._dimensionality -= other .dimensionality
251255 return super (Quantity , self ).__isub__ (other )
252256
257+ @usedoc (numpy .ndarray .__rsub__ )
253258 def __rsub__ (self , other ):
254259 if not isinstance (other , Quantity ):
255260 other = numpy .asarray (other ).view (Quantity )
@@ -259,6 +264,7 @@ def __rsub__(self, other):
259264 ret ._dimensionality = dims
260265 return ret
261266
267+ @usedoc (numpy .ndarray .__mul__ )
262268 def __mul__ (self , other ):
263269 try :
264270 dims = self .dimensionality * other .dimensionality
@@ -270,6 +276,7 @@ def __mul__(self, other):
270276 ret ._dimensionality = dims
271277 return ret
272278
279+ @usedoc (numpy .ndarray .__imul__ )
273280 def __imul__ (self , other ):
274281 if getattr (other , 'dimensionality' , None ):
275282 try :
@@ -284,9 +291,11 @@ def __imul__(self, other):
284291
285292 return super (Quantity , self ).__imul__ (other )
286293
294+ @usedoc (numpy .ndarray .__rmul__ )
287295 def __rmul__ (self , other ):
288296 return self .__mul__ (other )
289297
298+ @usedoc (numpy .ndarray .__truediv__ )
290299 def __truediv__ (self , other ):
291300 try :
292301 dims = self .dimensionality / other .dimensionality
@@ -298,9 +307,11 @@ def __truediv__(self, other):
298307 ret ._dimensionality = dims
299308 return ret
300309
310+ @usedoc (numpy .ndarray .__div__ )
301311 def __div__ (self , other ):
302312 return self .__truediv__ (other )
303313
314+ @usedoc (numpy .ndarray .__itruediv__ )
304315 def __itruediv__ (self , other ):
305316 if getattr (other , 'dimensionality' , None ):
306317 try :
@@ -315,9 +326,11 @@ def __itruediv__(self, other):
315326
316327 return super (Quantity , self ).__itruediv__ (other )
317328
329+ @usedoc (numpy .ndarray .__idiv__ )
318330 def __idiv__ (self , other ):
319331 return self .__itruediv__ (other )
320332
333+ @usedoc (numpy .ndarray .__rtruediv__ )
321334 def __rtruediv__ (self , other ):
322335 try :
323336 dims = other .dimensionality / self .dimensionality
@@ -329,9 +342,11 @@ def __rtruediv__(self, other):
329342 ret ._dimensionality = dims
330343 return ret
331344
345+ @usedoc (numpy .ndarray .__rdiv__ )
332346 def __rdiv__ (self , other ):
333347 return self .__rtruediv__ (other )
334348
349+ @usedoc (numpy .ndarray .__pow__ )
335350 def __pow__ (self , other ):
336351 if getattr (other , 'dimensionality' , None ):
337352 raise ValueError ("exponent must be dimensionless" )
@@ -347,6 +362,7 @@ def __pow__(self, other):
347362 ret ._dimensionality = dims
348363 return ret
349364
365+ @usedoc (numpy .ndarray .__ipow__ )
350366 def __ipow__ (self , other ):
351367 if getattr (other , 'dimensionality' , None ):
352368 try :
@@ -366,62 +382,74 @@ def __ipow__(self, other):
366382 self ._dimensionality **= other .min ()
367383 return super (Quantity , self ).__ipow__ (other )
368384
385+ @usedoc (numpy .ndarray .__rpow__ )
369386 def __rpow__ (self , other ):
370387 if self .dimensionality .simplified :
371388 raise ValueError ("exponent must be dimensionless" )
372389
373390 return super (Quantity , self .simplified ).__rpow__ (other )
374391
392+ @usedoc (numpy .ndarray .__repr__ )
375393 def __repr__ (self ):
376394 return '%s*%s' % (
377395 repr (self .magnitude ), repr (self .dimensionality )
378396 )
379397
398+ @usedoc (numpy .ndarray .__str__ )
380399 def __str__ (self ):
381400 return '%s %s' % (
382401 str (self .magnitude ), str (self .dimensionality )
383402 )
384403
404+ @usedoc (numpy .ndarray .__getitem__ )
385405 def __getitem__ (self , key ):
386406 if isinstance (key , int ):
387407 # This might be resolved by issue # 826
388408 return Quantity (self .magnitude [key ], self ._dimensionality )
389409 else :
390410 return super (Quantity , self ).__getitem__ (key )
391411
412+ @usedoc (numpy .ndarray .__setitem__ )
392413 def __setitem__ (self , key , value ):
393414 if not isinstance (value , Quantity ):
394415 value = Quantity (value )
395416
396417 # TODO: do we want this kind of magic?
397418 self .magnitude [key ] = value .rescale (self ._dimensionality ).magnitude
398419
420+ @usedoc (numpy .ndarray .__lt__ )
399421 def __lt__ (self , other ):
400422 ss , os = prepare_compatible_units (self , other )
401423 return ss .magnitude < os .magnitude
402424
425+ @usedoc (numpy .ndarray .__le__ )
403426 def __le__ (self , other ):
404427 ss , os = prepare_compatible_units (self , other )
405428 return ss .magnitude <= os .magnitude
406429
430+ @usedoc (numpy .ndarray .__eq__ )
407431 def __eq__ (self , other ):
408432 ss , os = prepare_compatible_units (self , other )
409433 return ss .magnitude == os .magnitude
410434
435+ @usedoc (numpy .ndarray .__ne__ )
411436 def __ne__ (self , other ):
412437 ss , os = prepare_compatible_units (self , other )
413438 return ss .magnitude != os .magnitude
414439
440+ @usedoc (numpy .ndarray .__gt__ )
415441 def __gt__ (self , other ):
416442 ss , os = prepare_compatible_units (self , other )
417443 return ss .magnitude > os .magnitude
418444
445+ @usedoc (numpy .ndarray .__ge__ )
419446 def __ge__ (self , other ):
420447 ss , os = prepare_compatible_units (self , other )
421448 return ss .magnitude >= os .magnitude
422449
423450 #I don't think this implementation is particularly efficient,
424451 #perhaps there is something better
452+ @usedoc (numpy .ndarray .tolist )
425453 def tolist (self ):
426454 #first get a dummy array from the ndarray method
427455 work_list = self .magnitude .tolist ()
@@ -442,13 +470,15 @@ def _tolist(self, work_list):
442470 #need to implement other Array conversion methods:
443471 # item, itemset, tofile, dump, byteswap
444472
473+ @usedoc (numpy .ndarray .sum )
445474 def sum (self , axis = None , dtype = None , out = None ):
446475 return Quantity (
447476 self .magnitude .sum (axis , dtype , out ),
448477 self .dimensionality ,
449478 copy = False
450479 )
451480
481+ @usedoc (numpy .ndarray .fill )
452482 def fill (self , scalar ):
453483 if not isinstance (scalar , Quantity ):
454484 scalar = Quantity (scalar , copy = False )
@@ -458,6 +488,7 @@ def fill(self, scalar):
458488 else :
459489 raise ValueError ("scalar must have the same units as self" )
460490
491+ @usedoc (numpy .ndarray .put )
461492 def put (self , indicies , values , mode = 'raise' ):
462493 """
463494 performs the equivalent of ndarray.put() but enforces units
@@ -474,9 +505,11 @@ def put(self, indicies, values, mode='raise'):
474505 # choose does not function correctly, and it is not clear
475506 # how it would function, so for now it will not be implemented
476507
508+ @usedoc (numpy .ndarray .argsort )
477509 def argsort (self , axis = - 1 , kind = 'quick' , order = None ):
478510 return self .magnitude .argsort (axis , kind , order )
479511
512+ @usedoc (numpy .ndarray .searchsorted )
480513 def searchsorted (self ,values , side = 'left' ):
481514 if not isinstance (values , Quantity ):
482515 values = Quantity (values , copy = False )
@@ -486,33 +519,39 @@ def searchsorted(self,values, side='left'):
486519
487520 return self .magnitude .searchsorted (values .magnitude , side )
488521
522+ @usedoc (numpy .ndarray .nonzero )
489523 def nonzero (self ):
490524 return self .magnitude .nonzero ()
491525
526+ @usedoc (numpy .ndarray .max )
492527 def max (self , axis = None , out = None ):
493528 return Quantity (
494529 self .magnitude .max (),
495530 self .dimensionality ,
496531 copy = False
497532 )
498533
534+ @usedoc (numpy .ndarray .min )
499535 def min (self , axis = None , out = None ):
500536 return Quantity (
501537 self .magnitude .min (),
502538 self .dimensionality ,
503539 copy = False
504540 )
505541
542+ @usedoc (numpy .ndarray .argmin )
506543 def argmin (self ,axis = None , out = None ):
507544 return self .magnitude .argmin ()
508545
546+ @usedoc (numpy .ndarray .ptp )
509547 def ptp (self , axis = None , out = None ):
510548 return Quantity (
511549 self .magnitude .ptp (),
512550 self .dimensionality ,
513551 copy = False
514552 )
515553
554+ @usedoc (numpy .ndarray .clip )
516555 def clip (self , min = None , max = None , out = None ):
517556 if min is None and max is None :
518557 raise ValueError ("at least one of min or max must be set" )
@@ -533,40 +572,46 @@ def clip(self, min=None, max=None, out=None):
533572 )
534573 return Quantity (clipped , self .dimensionality , copy = False )
535574
575+ @usedoc (numpy .ndarray .round )
536576 def round (self , decimals = 0 , out = None ):
537577 return Quantity (
538578 self .magnitude .round (decimals , out ),
539579 self .dimensionality ,
540580 copy = False
541581 )
542582
583+ @usedoc (numpy .ndarray .trace )
543584 def trace (self , offset = 0 , axis1 = 0 , axis2 = 1 , dtype = None , out = None ):
544585 return Quantity (
545586 self .magnitude .trace (offset , axis1 , axis2 , dtype , out ),
546587 self .dimensionality ,
547588 copy = False
548589 )
549590
591+ @usedoc (numpy .ndarray .mean )
550592 def mean (self , axis = None , dtype = None , out = None ):
551593 return Quantity (
552594 self .magnitude .mean (axis , dtype , out ),
553595 self .dimensionality ,
554596 copy = False )
555597
598+ @usedoc (numpy .ndarray .var )
556599 def var (self , axis = None , dtype = None , out = None ):
557600 return Quantity (
558601 self .magnitude .var (axis , dtype , out ),
559602 self ._dimensionality ** 2 ,
560603 copy = False
561604 )
562605
606+ @usedoc (numpy .ndarray .std )
563607 def std (self , axis = None , dtype = None , out = None ):
564608 return Quantity (
565609 self .magnitude .std (axis , dtype , out ),
566610 self ._dimensionality ,
567611 copy = False
568612 )
569613
614+ @usedoc (numpy .ndarray .prod )
570615 def prod (self , axis = None , dtype = None , out = None ):
571616 if axis == None :
572617 power = self .size
@@ -579,6 +624,7 @@ def prod(self, axis=None, dtype=None, out=None):
579624 copy = False
580625 )
581626
627+ @usedoc (numpy .ndarray .cumprod )
582628 def cumprod (self , axis = None , dtype = None , out = None ):
583629 if self ._dimensionality :
584630 # different array elements would have different dimensionality
0 commit comments