;ò
5ut?c           @   sÂ  d  Z  d d d d d g Z d k Z d k Z d k Z d k Z d k	 Z
 d „  Z d „  Z d	 „  Z d
 „  Z d Z e o e Z e Z n e i i Z e i i Z d a d a d d d „ Z d „  Z d „  Z d „  Z d a d d „ Z d a d d „ Z d „  Z d d d „ Z  e! e! e! d d d „ Z" d „  Z# d „  Z$ d d „ Z% d „  Z& d „  Z' d  d! „ Z( d" „  Z) d# „  Z* e+ d$ j o8 e
 i, d% ƒ Z- e" e- ƒ GHe" e
 i. g  g  g ƒ ƒ GHn d S(&   sX   Array printing function

$Id: arrayprint.py,v 1.18 2003/09/26 17:19:49 jaytmiller Exp $
s   set_summarys   summary_offs   set_precisions   set_line_widths   array2stringNc         C   s   |  | Sd  S(   N(   s   xs   y(   s   xs   y(    (    sL   /mit/python/arch/i386_rh9/lib/python2.3/site-packages/numarray/arrayprint.pys   product   s    c         C   sQ   |  d } x< t d |  i ƒ  ƒ D]% } |  | | j o |  | } q  q  W| Sd  S(   Ni    i   (   s   arrs   maximums   xranges	   nelementss   i(   s   arrs   is   maximum(    (    sL   /mit/python/arch/i386_rh9/lib/python2.3/site-packages/numarray/arrayprint.pys   _maximum_reduce   s    
  c         C   sQ   |  d } x< t d |  i ƒ  ƒ D]% } |  | | j  o |  | } q  q  W| Sd  S(   Ni    i   (   s   arrs   minimums   xranges	   nelementss   i(   s   arrs   is   minimum(    (    sL   /mit/python/arch/i386_rh9/lib/python2.3/site-packages/numarray/arrayprint.pys   _minimum_reduce   s    
  c         C   s²   d } x9 t |  i ƒ  ƒ D]% } |  | d j o | d 7} q q Wt i | f ƒ } d } xM t |  i ƒ  ƒ D]9 } |  | d j o" t |  | ƒ | | <| d 7} qm qm W| Sd  S(   Ni    i   (	   s   nonzeros   xranges   arrs	   nelementss   is   _ncs   zeross   retarrs   abs(   s   arrs   nonzeros   is   retarr(    (    sL   /mit/python/arch/i386_rh9/lib/python2.3/site-packages/numarray/arrayprint.pys   _numeric_compress$   s       i    i   iè  c         C   s   |  a | a d S(   s#  set_summary sets arrayprint summarization parameters:
    
    threshhold  total number of array elements which trigger summarization
                    rather than full repr.

    edge_items  number of array items in summary at beginning and end of
                    each dimension.
    N(   s
   threshholds   _summaryThreshholds
   edge_itemss   _summaryEdgeItems(   s
   threshholds
   edge_items(    (    sL   /mit/python/arch/i386_rh9/lib/python2.3/site-packages/numarray/arrayprint.pys   set_summary;   s      c           C   s   t  Sd S(   s�   returns the number of elements in an array at or
	below which the entire array is printed, and above
	which array summarization is activated.N(   s   _summaryThreshhold(    (    (    sL   /mit/python/arch/i386_rh9/lib/python2.3/site-packages/numarray/arrayprint.pys   get_summary_threshholdH   s     c           C   s   t  Sd S(   sW   returns the number of elements on each border of
	each dimension of a summarized array.N(   s   _summaryEdgeItems(    (    (    sL   /mit/python/arch/i386_rh9/lib/python2.3/site-packages/numarray/arrayprint.pys   get_summary_edge_itemsN   s     c           C   s   t  d t i ƒ d S(   so   summary_off  effectively disables summarization of large numarray,
    resulting in full strings and reprs
    s
   threshholdN(   s   set_summarys   syss   maxint(    (    (    sL   /mit/python/arch/i386_rh9/lib/python2.3/site-packages/numarray/arrayprint.pys   summary_offS   s     i   c         C   s
   |  a d S(   sV   set_precision sets the default number of digits of precision for floating point outputN(   s	   precisions   _float_output_precision(   s	   precision(    (    sL   /mit/python/arch/i386_rh9/lib/python2.3/site-packages/numarray/arrayprint.pys   set_precisionZ   s      iG   c         C   s
   |  a d S(   s{   set_line_width  sets the number of characters per line for the purpose
    of inserting line breaks into arrayprint output.N(   s	   linewidths   _line_width(   s	   linewidth(    (    sL   /mit/python/arch/i386_rh9/lib/python2.3/site-packages/numarray/arrayprint.pys   set_line_width`   s      c         C   sh  |  i ƒ  d j oC t |  ƒ d t j o" t i |  t  |  t f ƒ } q`|  } nt |  ƒ d t j ož g  i } t	 t
 t |  ƒ t ƒ ƒ D] } | t |  | ƒ ƒ q� ~ } | i g  i } t	 t
 t |  ƒ t ƒ d d ƒ D] } | t |  | ƒ ƒ qâ ~ ƒ nA g  i } t	 d t |  ƒ ƒ D] } | t |  | ƒ ƒ q(~ } t i t | ƒ ƒ } | Sd  S(   Ni   i   i    iÿÿÿÿ(   s   as   getranks   lens   _summaryEdgeItemss   _gens   concatenates   bs   appends   _[1]s   ranges   mins   is   _leading_trailings   ls   extends   tuple(   s   as   bs   is   ls   _[1](    (    sL   /mit/python/arch/i386_rh9/lib/python2.3/site-packages/numarray/arrayprint.pys   _leading_trailingf   s    "
FX@s    s    c      	   C   sE  | t j o
 t } n | t j o
 t } n | t j o- y t i } Wqh t j
 o d } qh Xn |  i
 ƒ  t j o d } t |  ƒ } n d } t i |  ƒ } |  i d }
 y |  i } Wn2t j
 o&|  i } t | t i t i f ƒ oW t t t t | ƒ ƒ ƒ t t t | ƒ ƒ ƒ ƒ }	 d t |	 ƒ d } | d „ } qõt | t i" ƒ o" t# | | | ƒ } | d „ } qõt | t i$ ƒ oO t# | i% ƒ  | | d	 d ƒ} t# | i' ƒ  | | d	 d
 ƒ} | | d „ } qõt) d ƒ ‚ n Xd } | d t | ƒ 7} t, |  | t |  i ƒ | | | t. | ƒ d  } | Sd  S(   Ni    s   ..., s    iÿÿÿÿs   %s   dc         C   s   t  |  | ƒ S(   N(   s   _formatIntegers   xs   f(   s   xs   f(    (    sL   /mit/python/arch/i386_rh9/lib/python2.3/site-packages/numarray/arrayprint.pys   <lambda>˜   s    c         C   s   t  |  | ƒ S(   N(   s   _formatFloats   xs   f(   s   xs   f(    (    sL   /mit/python/arch/i386_rh9/lib/python2.3/site-packages/numarray/arrayprint.pys   <lambda>›   s    s   signi   c         C   s   t  |  | | ƒ S(   N(   s   _formatComplexs   xs   f1s   f2(   s   xs   f1s   f2(    (    sL   /mit/python/arch/i386_rh9/lib/python2.3/site-packages/numarray/arrayprint.pys   <lambda>¡   s    s   Can only handle numeric arrayss    (0   s   max_line_widths   Nones   _line_widths	   precisions   _float_output_precisions   suppress_smalls   syss   float_output_suppress_smalls   AttributeErrors   as	   nelementss   _summaryThreshholds   summary_inserts   _leading_trailings   datas   _gens   ravels   _shapes   items_per_lines   _formats   format_functions   _types   types
   isinstances   _nts   IntegralTypes   BooleanTypes   maxs   lens   strs
   max_reduces
   min_reduces   max_str_lens   formats   FloatingTypes   _floatFormats   ComplexTypes   getreals   real_formats   getimags   imag_formats
   ValueErrors   next_line_prefixs   prefixs   _formatArrays	   separators   _summaryEdgeItemss   lst(   s   as   max_line_widths	   precisions   suppress_smalls	   separators   prefixs   real_formats   format_functions   types   max_str_lens   items_per_lines   formats   next_line_prefixs   imag_formats   summary_inserts   datas   lst(    (    sL   /mit/python/arch/i386_rh9/lib/python2.3/site-packages/numarray/arrayprint.pys   _array2stringx   sL    

	c         C   s™   |  i f  j oC |  f  } y |  i | ƒ } Wq‘ t j
 o t | ƒ } q‘ Xn? t t |  i ƒ d j o
 d } n t	 |  | | | | | ƒ } | Sd  S(   Ni    s   [](   s   as   _shapes   xs   _formats   lsts   AttributeErrors   reprs   reduces   products   _array2strings   max_line_widths	   precisions   suppress_smalls	   separators   prefix(   s   as   max_line_widths	   precisions   suppress_smalls	   separators   prefixs   lsts   x(    (    sL   /mit/python/arch/i386_rh9/lib/python2.3/site-packages/numarray/arrayprint.pys   array2string®   s    

c         C   s_   t  | i ƒ  ƒ t  | i ƒ  ƒ | j o |  | i ƒ  d 7}  | } n | | 7} |  | f Sd  S(   Ns   
(   s   lens   lines   rstrips   words   max_line_lens   ss   next_line_prefix(   s   ss   lines   words   max_line_lens   next_line_prefix(    (    sL   /mit/python/arch/i386_rh9/lib/python2.3/site-packages/numarray/arrayprint.pys   _extendLine¾   s
    )

c         C   sd  | d j o t |  f  ƒ Sn | o d | t |  ƒ j  o | | | f \ }
 } }	 n d t |  ƒ d f \ }
 } }	 | d j o"d } | } xF t |
 ƒ D]8 } | |  | ƒ | } t | | | | | ƒ \ } } q� W|	 o" t | | |	 | | ƒ \ } } n xM t | d d ƒ D]9 } | |  | ƒ | } t | | | | | ƒ \ } } qW| |  d ƒ } t | | | | | ƒ \ } } | | d 7} d | t | ƒ } n·d } | i ƒ  } x‹ t |
 ƒ D]} } | d j o | | 7} n | t |  | | | d | d | | | | ƒ 7} | i ƒ  | i ƒ  d	 t | d d ƒ } qÅW|	 o | | |	 d	 7} n x™ t | d d ƒ D]… } |
 p
 | | j o | | 7} n | t |  | | | d | d | | | | ƒ 7} | i ƒ  | i ƒ  d	 t | d d ƒ } qvW|
 p
 | d j o | | 7} n | t |  d | | d | d | | | | ƒ i ƒ  d 7} | Sd
 S(   sk   formatArray is designed for two modes of operation:

    1. Full output

    2. Summarized output
    
    i    i   s    i   iÿÿÿÿs   ]
s   [s    s   
N(   s   ranks   strs   as   summary_inserts
   edge_itemss   lens   leading_itemss   trailing_itemss   summary_insert1s   ss   next_line_prefixs   lines   xranges   is   format_functions	   separators   words   _extendLines   max_line_lens   rstrips   seps   _formatArrays   max(   s   as   format_functions   ranks   max_line_lens   next_line_prefixs	   separators
   edge_itemss   summary_inserts   seps   summary_insert1s   leading_itemss   lines   words   is   trailing_itemss   s(    (    sL   /mit/python/arch/i386_rh9/lib/python2.3/site-packages/numarray/arrayprint.pys   _formatArrayÅ   sb      "" " 
/ 
/c         C   sâ  d } t i t i t i |  d ƒ |  ƒ ƒ } t | ƒ d j o d } d }
 n` t | ƒ } t | ƒ }
 | d j o
 d } n | o |
 d j  p | |
 d j o
 d } n | oŠ d |
 j  o
 d j  n p
 | d j }	 d	 | |	 } | o
 d
 } n d } | t | ƒ d t | ƒ d } |	 o | d } qÚn› d t | ƒ d } t | t t t | | d „ |  ƒ ƒ ƒ ƒ } t t t | ƒ ƒ ƒ | d } | o
 d } n d } | t | ƒ d t | ƒ d } | Sd  S(   Ni    f0.0f100000000.0i   f0.0001f1000.0f1e-99f1e+100i   s   %+s   %s   .s   es   3s   %.s   fc         C   s   t  |  | | ƒ S(   N(   s   _digitss   xs   ps   f(   s   xs   ps   f(    (    sL   /mit/python/arch/i386_rh9/lib/python2.3/site-packages/numarray/arrayprint.pys   <lambda>  s    i   s   %#+s   %#(   s
   exp_formats   _ufs   abss   _gens   compresss	   not_equals   datas   non_zeros   lens   max_vals   min_vals
   max_reduces
   min_reduces   suppress_smalls   large_exponents	   precisions   max_str_lens   signs   formats   strs   mins   maxs   tuples   maps   int(   s   datas	   precisions   suppress_smalls   signs
   exp_formats   non_zeros   formats   max_str_lens   max_vals   large_exponents   min_val(    (    sL   /mit/python/arch/i386_rh9/lib/python2.3/site-packages/numarray/arrayprint.pys   _floatFormat  s:    '

&
* 
"   
"c         C   sS   | |  } t | ƒ } x$ | | d d j o | d } q W| t | ƒ | Sd  S(   Ni   s   0(   s   formats   xs   ss   lens   zeross	   precision(   s   xs	   precisions   formats   ss   zeros(    (    sL   /mit/python/arch/i386_rh9/lib/python2.3/site-packages/numarray/arrayprint.pys   _digits&  s    
  c         C   s   | |  Sd  S(   N(   s   formats   x(   s   xs   format(    (    sL   /mit/python/arch/i386_rh9/lib/python2.3/site-packages/numarray/arrayprint.pys   _formatInteger,  s    i   c         C   s?  | d d j oY | d  } | |  } | d } | d j p
 | d j o | d d !d | d } q7nÎ | d d	 j o9 | |  } | d d j o d
 | d  | d } q7n„ | d d j oh | |  } | oS t | ƒ } x$ | | d d j o | d } qå W| |  t | ƒ | d
 } q7n | |  } | Sd  S(   Niÿÿÿÿs   3iýÿÿÿs   +s   -i   iþÿÿÿs   0s   es    s   f(   s   formats   xs   ss   thirds   strip_zeross   lens   zeros(   s   xs   formats   strip_zeross   thirds   ss   zeros(    (    sL   /mit/python/arch/i386_rh9/lib/python2.3/site-packages/numarray/arrayprint.pys   _formatFloat/  s(    


!

  $
c         C   s²   t  |  i | ƒ } t  |  i | d ƒ } | d d j od t | ƒ } x1 | d j o | | d d j o | d } qG W| |  d t | ƒ | d } n | d } | | Sd  S(	   Ni    iÿÿÿÿs   fi   i   s   0s   js    (
   s   _formatFloats   xs   reals   real_formats   rs   imags   imag_formats   is   lens   zeros(   s   xs   real_formats   imag_formats   zeross   is   r(    (    sL   /mit/python/arch/i386_rh9/lib/python2.3/site-packages/numarray/arrayprint.pys   _formatComplexF  s     " $
c         C   s   t  |  ƒ d Sd  S(   Ns    (   s   strs   x(   s   x(    (    sL   /mit/python/arch/i386_rh9/lib/python2.3/site-packages/numarray/arrayprint.pys   _formatGeneralQ  s    s   __main__i
   (/   s   __doc__s   __all__s   syss   numerictypess   _nts   generics   _gens   ufuncs   _ufs   numarraycores   _ncs   products   _maximum_reduces   _minimum_reduces   _numeric_compresss	   _failsafes
   max_reduces
   min_reduces   maximums   reduces   minimums   _summaryEdgeItemss   _summaryThreshholds   set_summarys   get_summary_threshholds   get_summary_edge_itemss   summary_offs   _float_output_precisions   set_precisions   _line_widths   set_line_widths   _leading_trailings   _array2strings   Nones   array2strings   _extendLines   _formatArrays   _floatFormats   _digitss   _formatIntegers   _formatFloats   _formatComplexs   _formatGenerals   __name__s   aranges   as   array(   s   set_line_widths   set_summarys	   _failsafes   _extendLines   summary_offs   _maximum_reduces   _ufs   _minimum_reduces   __all__s   _leading_trailings   _nts   _formatGenerals   _formatIntegers   _formatFloats   _formatArrays   _ncs   get_summary_edge_itemss   products
   min_reduces   _numeric_compresss   _formatComplexs   _digitss   _gens   array2strings   syss   _floatFormats   as   _array2strings
   max_reduces   get_summary_threshholds   set_precision(    (    sL   /mit/python/arch/i386_rh9/lib/python2.3/site-packages/numarray/arrayprint.pys   ?   sR   									
				6		@!				