9Zc@`s3dZddlmZmZmZddlZddlZddlmZm Z ddl m Z m Z m Z ddlZddlmZejdkred Zn ed Zd Zd Zd ZdZejedZejedZejedZieed6ZdZdZde_de fdYZ!de fdYZ"dZ#dZ$dZ%dZ&idd6dd6dd6d d 6d!d!6d"d"6d#d#6d$d$6d%d%6d&d&6d'd'6d(d(6d)d)6d*d*6d+d+6d,d-6d.d/6d0d16d2d36d4d56d6d66d7d86Z'd9j(e'j)Z*idd6dd6dd6d:d 6d;d!6d<d"6d=d#6d<d$6d=d%6d>d&6d?d'6d@d(6d)d)6d*d*6d,d-6d.d/6d2d36d4d56d6d66d7d86Z+d9j(e+j)Z,dAe-dBZ.dCZ/dDZ0dEZ1dFe2fdGYZ3dS(Hs_ A place for code to be called from core C-code. Some things are more easily handled Python. i(tdivisiontabsolute_importtprint_functionN(tasbytest basestringi(tdtypetarraytndarray(tobject_tlittletcC`sg}t|j}x|D]}||}t|}t|t sW|d krftdn|dkr|d|krqnt|d}|dkrtdnt|dd|}|jdkrtdn|dkr|d} nd} |j |||| fqW|j d d g|D]} | d^q=} g|D]} | d^qZ} g|D]} | d^qw} g|D]} | d^q}| | | |fS( Niisentry not a 2- or 3- tupleiisinvalid offset.talignsall itemsizes must be fixed.tkeycS`s|dS(Ni((tx((sG/opt/alt/python27/lib64/python2.7/site-packages/numpy/core/_internal.pyt,s(ii( tlisttkeystlent isinstancettuplet ValueErrortintRtitemsizetNonetappendtsort(tadictR t allfieldstfnamestfnametobjtntnumtformatttitleRtnamestformatstoffsetsttitles((sG/opt/alt/python27/lib64/python2.7/site-packages/numpy/core/_internal.pyt_makenames_lists2      cC`sy|d}Wntk r'd}nX|dkrRt||\}}}}ng}g}g}xm|D]e}||}|j|d|j|dt|dkr|j|dqk|jdqkWti|d6|d6|d6|d6|S( NiiiiR$R%R&R'(tKeyErrorRR(RRR(RR R$R%R&R'tnametres((sG/opt/alt/python27/lib64/python2.7/site-packages/numpy/core/_internal.pyt _usefields7s(      c C`s|j}|dkr|j}|dkrl|jdkr@|jS|jj}|rb|j|fS|jSqt|d|dfSn|j}g|D]}|||f^q}g}d}x|D]} | d|kr| d|} |jdd| f|| 7}nt | dkr8| d| df} n | d} | djr}| t| djd| djdf} n| t| df} || dj 7}|j| qW|j |kr|j |} |jdd| fn|S(Niits|V%dii( tfieldsRtsubdtypetmetadatatstrtcopyt _array_descrR$RRR( t descriptorR.R/tnewR$Rtordered_fieldstresulttoffsettfieldR!R*ttup((sG/opt/alt/python27/lib64/python2.7/site-packages/numpy/core/_internal.pyR3WsB       $     cC`stj|||S(N(Rt__new__(tsubtypetshapeR((sG/opt/alt/python27/lib64/python2.7/site-packages/numpy/core/_internal.pyt _reconstructssx(?P[<>|=]?)(?P *[(]?[ ,0-9L]*[)]? *)(?P[<>|=]?)(?P[A-Za-z0-9.?]*(?:\[[a-zA-Z0-9,.]+\])?)s\s*,\s*s\s+$t=c C`sd}g}x |t|krtj|d|}y|j\}}}}Wn7ttfk rtdt|d|fnX|j}|t|krtj|d|rt|}qt j|d|}|s tdt|d|fn|j}n|t dkr6|}nj|t dkrQ|}nOt j ||}t j ||}||krtd||fn|}|t dt dt gkrt d}n||}|t dkr|} n|t|f} |j| qW|S( Nitposs*format number %d of "%s" is not recognizediR-s/inconsistent byte-order specification %s and %st|R?(Rt format_retmatchtgroupst TypeErrortAttributeErrorRtendtspace_retsep_reRt _convordertgett_nbotevalR( tastrt startindexR7tmotorder1trepeatstorder2Rtordertnewitem((sG/opt/alt/python27/lib64/python2.7/site-packages/numpy/core/_internal.pyt _commastringsL    !  cC`stj}|dk r|Stdj}|dkr@tj}n9|dkrXtj}n!|dkrptj}n tj}|t_|S(Ntptitltq( t_getintp_ctypetcacheRRtchartctypestc_inttc_longt c_longlong(tvalR]((sG/opt/alt/python27/lib64/python2.7/site-packages/numpy/core/_internal.pyR[s          t_missing_ctypescB`seZdZdZRS(cC`s|S(N((tselfR!R((sG/opt/alt/python27/lib64/python2.7/site-packages/numpy/core/_internal.pytcastscC`s|S(N((RdR!((sG/opt/alt/python27/lib64/python2.7/site-packages/numpy/core/_internal.pytc_void_ps(t__name__t __module__ReRf(((sG/opt/alt/python27/lib64/python2.7/site-packages/numpy/core/_internal.pyRcs t_ctypescB`seZd dZdZdZdZdZdZdZ dZ e ed dd Z e ed dd Z e e d dd Ze e d dd ZRS(cC`sjy t|_Wntk r,t|_nX||_||_|jjdkr]t|_n t |_dS(Ni( R^Rit ImportErrorRct_arrt_datatndimtTruet_zerodtFalse(RdRtptr((sG/opt/alt/python27/lib64/python2.7/site-packages/numpy/core/_internal.pyt__init__s     cC`s|jj|j|S(N(RiReRl(RdR((sG/opt/alt/python27/lib64/python2.7/site-packages/numpy/core/_internal.pytdata_asscC`s'|jr dS||jj|jjS(N(RoRRkRmR=(RdR((sG/opt/alt/python27/lib64/python2.7/site-packages/numpy/core/_internal.pytshape_ass cC`s'|jr dS||jj|jjS(N(RoRRkRmtstrides(RdR((sG/opt/alt/python27/lib64/python2.7/site-packages/numpy/core/_internal.pyt strides_ass cC`s|jS(N(Rl(Rd((sG/opt/alt/python27/lib64/python2.7/site-packages/numpy/core/_internal.pytget_datascC`s*|jr dSt|jj|jjS(N(RoRR[RkRmR=(Rd((sG/opt/alt/python27/lib64/python2.7/site-packages/numpy/core/_internal.pyt get_shapes cC`s*|jr dSt|jj|jjS(N(RoRR[RkRmRu(Rd((sG/opt/alt/python27/lib64/python2.7/site-packages/numpy/core/_internal.pyt get_stridess cC`s|jj|jS(N(RiRfRl(Rd((sG/opt/alt/python27/lib64/python2.7/site-packages/numpy/core/_internal.pytget_as_parameter stdocs c-types datas c-types shapesc-types stridess_as parameter_N(RgRhRRrRsRtRvRwRxRyRztpropertytdataR=Rut_as_parameter_(((sG/opt/alt/python27/lib64/python2.7/site-packages/numpy/core/_internal.pyRis       cC`s|j}t|}t|tr0|g}nt|ttfrxF|D]>}y|j|WqLtk rtd|fqLXqLWtt||Std|fdS(Nsunknown field name: %ssunsupported order value: %s(R$RRR1RtremoveR(tdatatypeRTtoldnamest nameslistR*((sG/opt/alt/python27/lib64/python2.7/site-packages/numpy/core/_internal.pyt _newnamess     cC`sW|j}i|jd6g|jD]}|j|d^q d6}t|d|dtS(sReturn copy of structured array with padding between fields removed. Parameters ---------- ary : ndarray Structured array from which to remove padding bytes Returns ------- ary_copy : ndarray Copy of ary with padding bytes removed R$iR%RR2(RR$R.RRn(tarytdtR*t copy_dtype((sG/opt/alt/python27/lib64/python2.7/site-packages/numpy/core/_internal.pyt _copy_fields#s  +cC`s|js|jr|dkr.||kr.dS|jrxF|jD]8}|j|d|krA|j|d|krAdSqAWntdndS(s Checks safety of getfield for object arrays. As in _view_is_safe, we need to check that memory containing objects is not reinterpreted as a non-object datatype and vice versa. Parameters ---------- oldtype : data-type Data type of the original ndarray. newtype : data-type Data type of the field being accessed by ndarray.getfield offset : int Offset of the field being accessed by ndarray.getfield Raises ------ TypeError If the field access is invalid iNis'Cannot get/set field of an object array(t hasobjectR$R.RE(toldtypetnewtypeR8R*((sG/opt/alt/python27/lib64/python2.7/site-packages/numpy/core/_internal.pyt_getfield_is_safe5s  cC`s5||krdS|js"|jr1tdndS(sz Checks safety of a view involving object arrays, for example when doing:: np.zeros(10, dtype=oldtype).view(newtype) Parameters ---------- oldtype : data-type Data type of original ndarray newtype : data-type Data type of the view Raises ------ TypeError If the new type is incompatible with the old type. Ns)Cannot change data-type for object array.(RRE(RR((sG/opt/alt/python27/lib64/python2.7/site-packages/numpy/core/_internal.pyt _view_is_safeUs  t?tbtBthtHRXtIRYtLRZtQtetftdtgtFtZftDtZdtGtZgtStstUtwtOtVRR-ti2tu2ti4tu4ti8tu8tf2t@c`s/id}t}t}d}t}dgfdfd}x"|rud} |ddkr~|d}Pnd} |ddkr|jd} ttt|d| !jd} || d}n|ddkr|d}|dkrd }n|d}n|dkr0t} t} n t } t } d}|dj rd} x1t dt |D]} || j snPqnqnWt|| }|| }nt}|d dkrt|dd|dt\} }}}n|d| kr|}|ddkrd} nd} || }|| }|dk}| |}|dkrl|d|7}d}nid d 6d d 6j||}t||} | j}ntd|d}|d kr\| |}| j |}||7}|dkrB|dks#| dk r5t| dkr5t| |} qB||7}n||t||}n|dkrt| |ff} n| dk rt| | f} nt}|r|jdr|djdd}|d|!}||d}t}t}n |}| s|rU|kr2td|n| |f|<|sUqUn|}|| j7}||7}qTWt dkr| rdddkr| rdd}n t}||j}|d kr|| |7}n|r| rt||}n|r'||||fS|SdS(Niic`sdcd7tcompileRBRIRHRJRVR[RR\tobjectRcRiRRRRRtjoinRRRRRpRRRRRR(((sG/opt/alt/python27/lib64/python2.7/site-packages/numpy/core/_internal.pyts     ! 0    /  3