
    sh0                        S r SSKr SSKrSSKr " S S5      r " S S5      r " S S	5      r " S
 S5      r " S S5      r	S r
\R                  R                  \R                  " 5       \
" 5       5        g! \ a	    \" S5      ef = f)z(gdb printing extension for Numba types.
    Nz$GDB python support is not available.c                        \ rS rSrS rS rSrg)NumbaArrayPrinter   c                     Xl         g Nvalselfr	   s     r/Users/tiagomarins/Projetos/claudeai/copy_bank/venv/lib/python3.13/site-packages/numba/misc/gdb_print_extension.py__init__NumbaArrayPrinter.__init__           c           
          SS K nSn SnU R                  S   nU R                  S   nU R                  S   nU R                  S   nSn[        U R                  R                  5      n	U(       Gap  SU	;   d  S	U	;   Gac  U	R                  S
S5      R                  5       n	[        R                  " S5      n
U
R                  U	5      R                  5        Vs/ s H  oR                  5       PM     nnUu  pnSn[        R                  " UU5      nUR                  5       u  nnnUS:H  nUR                  S5      n/ nU H  nUR                  S5      nUS   nUSS  n[        U5      S:  a  [        SU-  5      eUS   nSU;   a  [        SU-  5      eUR                  S5      S   R                  S5      S   nWR                  U5      nUR                  UU45        M     UnOr[        R                  " S5      n
U
R                  U	5      R                  5        Vs/ s H  oR                  5       PM     nnUu  pnSU;   a  USS R                  SS5      nS nU" U5      nU" U5      nXC:w  a  U(       a  WR!                  U Vs/ s H  n[#        SUS-
  5      PM     sn5      n UR!                  U5      n!UR%                  U U!-  5      n"U"['        U5      -  n"UR                  XS9n#U#n[(        R*                  " 5       n$U$R-                  ['        U5      U"5      n%UR/                  U%US9n&UR0                  R2                  R5                  U&UUS9n'S[        U'5      -   $ SU< S U< S!3$ [7        S"/5      n(S#S$R9                  U(5      -   S%-   S!-   $ ! [         a    Sn GNf = fs  snf s  snf s  snf ! [:         a  n)S&U)-  s S n)A)$ S n)A)ff = f)'Nr   TFdataitemsizeshapestridesalignedRecordz
unaligned  z%array\((Record.*), (.*), (.*)\)\ \(.*z(Record\((.*\[.*\]);([0-9]+);(True|False)True,[   zUnsupported sub-type: %snestedarray;=zarray\((.*),(.*),(.*)\)\ \(.*z	unichr x z<Uc           	          U R                   R                  5       nUS   R                   R                  5       u  p#[        [        X#S-   5       Vs/ s H  n[	        X   5      PM     sn5      $ s  snf )Nr   r   )typefieldsrangetupleint)dwarrr#   lohixs        r   dwarr2inttuple3NumbaArrayPrinter.to_string.<locals>.dwarr2inttupleX   sZ    **,--/U2Av5FG5Fc%(m5FGHHGs   A-)align)dtype)r   r   
zarray([...], dtype=z, shape=)zNULL/Uninitializedzarray([, ]z%array[Exception: Failed to parse. %s])numpyImportErrorr	   strr"   replacestriprecompilematchgroupssplitlen	TypeErrorr.   appendarraymaxsumr&   gdbselected_inferiorread_memory
frombufferlibstride_tricks
as_stridedlistjoin	Exception)*r   np
HAVE_NUMPYNULLr   r   rshprstrides
is_alignedty_strmatcherr*   arr_info	dtype_strndim_str	order_strrstr
rstr_matchr#   balignis_aligned_str	field_dtsstruct_entriesfsplittednamedt_part	dt_as_strr.   r+   r   r   shp_arrstrd_arrextentdtype_clazz	this_procmemarr_datanew_arrbufes*                                             r   	to_stringNumbaArrayPrinter.to_string   s   	Jd	?D 88F#D xx
+H 88G$Dxx	*H J 'FyF2h&6HR8>>@**%MN/6}}V/D/K/K/MN/M!GGI/MN19.	YBXXdI6
1;1B1B1D.+v5
"LL-	!#"A wws|H#A;D&qrlG7|a''(BQ(FGG")!*(G3"+,F,J"KK$+MM#$6q$9$?$?$DQ$G	 " 3"))4-8 # +	**%EF/6}}V/D/K/K/MN/M!GGI/MN19.	Y)+ )!B 7 7T JII #4(E$X.G | !hhu'Eu!Aq1uu'EFG!xx0HVVGh$67Fc(m+F"$((9("GK'E # 5 5 7I#//D	6BC!}}S}>H ff22==hDIFM > PG  #g,..! $ >GNN 012 499S>1C7#==K  	J	F O4 O, (F&  	?:Q>>	?sh   N CN* N-D*N* N 0AN*  N%B=N* 
N* "%N* NNN* *
O4N>8O>Or   N__name__
__module____qualname____firstlineno__r   rn   __static_attributes__ r   r   r   r      s    k?r   r   c                        \ rS rSrS rS rSrg)NumbaComplexPrinter   c                     Xl         g r   r   r
   s     r   r   NumbaComplexPrinter.__init__   r   r   c                 J    U R                   S   < SU R                   S   < S3$ )Nreal+imagjr   )r   s    r   rn   NumbaComplexPrinter.to_string   s    88F+TXXf-=>>r   r   Nrp   rv   r   r   rx   rx      s    ?r   rx   c                        \ rS rSrS rS rSrg)NumbaTuplePrinter   c                     Xl         g r   r   r
   s     r   r   NumbaTuplePrinter.__init__   r   r   c                     / nU R                   R                  R                  5       nU H4  nUR                  [	        U R                   UR
                     5      5        M6     SSR                  U5      -  $ )N(%s)r1   )r	   r"   r#   r?   r5   ra   rK   )r   rl   r#   r_   s       r   rn   NumbaTuplePrinter.to_string   sX    %%'AJJs488AFF+,- 		#&&r   r   Nrp   rv   r   r   r   r      s    'r   r   c                        \ rS rSrS rS rSrg)NumbaUniTuplePrinter   c                     Xl         g r   r   r
   s     r   r   NumbaUniTuplePrinter.__init__   r   r   c                 ,   U R                   R                  R                  5       nUS   R                  R                  5       u  p#/ n[        X#S-   5       H*  nUR	                  [        U R                   U   5      5        M,     SSR                  U5      -  $ )Nr   r   r   r1   )r	   r"   r#   r$   r?   r5   rK   )r   r#   r(   r)   rl   is         r   rn   NumbaUniTuplePrinter.to_string   st    %%'%%'r6"AJJs488A;'( #		#&&r   r   Nrp   rv   r   r   r   r      s    'r   r   c                        \ rS rSrS rS rSrg)NumbaUnicodeTypePrinter   c                     Xl         g r   r   r
   s     r   r    NumbaUnicodeTypePrinter.__init__   r   r   c                    SnU R                   S   nU R                   S   nU R                   S   nX!:w  a|  [        R                  " 5       nUR                  [	        U5      X4-  5      n[        U[        5      (       a  [        U5      R                  5       nSU-  $ UR                  S5      n SU-  $ [        U5      nSU-  $ )Nr   r   lengthkindzutf-8z'%s')
r	   rC   rD   rE   r&   
isinstance
memoryviewbytesdecoder5   )r   rO   r   nitemsr   rh   ri   rl   s           r   rn   !NumbaUnicodeTypePrinter.to_string   s    xx(#xx<--/I''D	6=AC#z**Cj'')
 | jj) | d)C|r   r   Nrp   rv   r   r   r   r      s    r   r   c                  X   [         R                  R                  S5      n U R                  SS[        5        U R                  SS[        5        U R                  SS[
        5        U R                  SS	[        5        U R                  S
S[        5        U R                  SS[        5        U $ )NNumbazNumba unaligned array printerz^unaligned array\(zNumba array printerz^array\(zNumba complex printerz^complex[0-9]+\ zNumba Tuple printerz^Tuple\(zNumba UniTuple printerz^UniTuple\(zNumba unicode_type printerz^unicode_type\s+\()	rC   printingRegexpCollectionPrettyPrinteradd_printerr   rx   r   r   r   )printers    r   _create_printersr      s    ll88AG79N)+-{<MN/1D+--{)+0.,.46L/1Nr   )__doc__r8   gdb.printingrC   r4   r   rx   r   r   r   r   r   register_pretty_printercurrent_objfilerv   r   r   <module>r      s    	>
p? p?f? ?
' 
'' ' ."  $ $S%8%8%:<L<N OI  >
<
==>s   A6 6B