
    ёiQ@                        S SK Jr  S SKrS SKrS SKrS SKJrJr  SSK	J
r
  / r " S S5      r\" 5       r     S           SS jjrS	 rSS
 jrS rSS jrSS jrS rS rSS jrSS jrSS jrSS jrg)    )annotationsN)
check_typeconvert_dtype   )corec                  (    \ rS rSrSrSrSrSrSrSr	g)	PrintOptions      i     P   F N)
__name__
__module____qualname____firstlineno__	precision	threshold	edgeitems	linewidthsci_mode__static_attributes__r       W/var/www/html/banglarbhumi/venv/lib/python3.13/site-packages/paddle/tensor/to_string.pyr	   r	      s    IIIIHr   r	   c                   0 nU b!  [        U S[        S5        U [        l        XS'   Ub!  [        US[        S5        U[        l        XS'   Ub!  [        US[        S5        U[        l        X%S'   Ub!  [        US[        S5        U[        l        XES'   Ub!  [        US[        S5        U[        l        X5S'   [        R                  " S0 UD6  g)	a  Set the printing options for Tensor.

Args:
    precision (int|None, optional): Number of digits of the floating number, default 8.
    threshold (int|None, optional): Total number of elements printed, default 1000.
    edgeitems (int|None, optional): Number of elements in summary at the beginning and ending of each dimension, default 3.
    sci_mode (bool|None, optional): Format the floating number with scientific notation or not, default False.
    linewidth (int|None, optional): Number of characters each line, default 80.


Returns:
    None.

Examples:
    .. code-block:: python

        >>> import paddle

        >>> paddle.seed(10)
        >>> a = paddle.rand([10, 20])
        >>> paddle.set_printoptions(4, 100, 3)
        >>> print(a)
        Tensor(shape=[10, 20], dtype=float32, place=Place(cpu), stop_gradient=True,
        [[0.2727, 0.5489, 0.8655, ..., 0.2916, 0.8525, 0.9000],
         [0.3806, 0.8996, 0.0928, ..., 0.9535, 0.8378, 0.6409],
         [0.1484, 0.4038, 0.8294, ..., 0.0148, 0.6520, 0.4250],
         ...,
         [0.3426, 0.1909, 0.7240, ..., 0.4218, 0.2676, 0.5679],
         [0.5561, 0.2081, 0.0676, ..., 0.9778, 0.3302, 0.9559],
         [0.2665, 0.8483, 0.5389, ..., 0.4956, 0.6862, 0.9178]])
Nr   set_printoptionsr   r   r   r   r   )r   intDEFAULT_PRINT_OPTIONSr   r   r   r   boolr   r   r   )r   r   r   r   r   kwargss         r   r   r   (   s    L F9kC2DE*3''{9kC2DE*3''{9kC2DE*3''{9kC2DE*3''{8Z$1CD)1&%z#F#r   c                   [         R                  n[        R                  " U R                  5      S:X  a  [        R
                  " / 5      $ [        U R                  5      S:X  a  U $ [        U R                  5      S:X  a9  U R                  S   SU-  :  a!  [        R                  " U S U U SU-  S  /5      $ U $ U R                  S   SU-  :  aQ  [        U S U 5      n[        U SU-  S  5      n[        R                  " X#-    Vs/ s H  n[        U5      PM     sn5      $ [        R                  " U  Vs/ s H  n[        U5      PM     sn5      $ s  snf s  snf )Nr      r   )r   r   npprodshapearraylenconcatenateliststack_to_summary)varr   beginendxs        r   r,   r,   g   s!   %//I 
wwsyyQxx|
399~
	SYY1	99Q<!i-'>>3z	?Ci8J4K"LMMJ 99Q<!i-'Zi)EsBN-./C88ekCk[^kCDD88S9S[^S9:: D9s   E3Ec                   U R                   [        R                  :X  d<  U R                   [        R                  :X  d  U R                   [        R                  :X  af  [
        R                  (       a  U S[
        R                   S3 nGO#[        R                  " U 5      U :X  a  U S S3nGOU S[
        R                   S3 nOU R                   [        R                  :X  d  U R                   [        R                  :X  a  [        R                  " U 5      n[        R                  " U 5      n[
        R                  n[
        R                  (       a-  US:  a  SUSU S3 SUSU S3 S3nOCSUSU S3 USU S3 S3nO0US:  a  SUSU S3 SUSU S3 S3nOSUSU S3 USU S3 S3nOU  nU[        U5      :  aF  U(       a.  U S:  a  UR                  U5      $ S	UR                  US
-
  5      -   $ UR                  U5      $ U$ )N.ez.0ffr   (+zj) r"   )dtyper$   float32float64float16r   r   r   ceil	complex64
complex128realimagr(   ljust)np_var	max_widthsigneditem_strreimprecs          r   _format_itemrI      s   

"<<2::%<<2::% )) #8#B#B"C1 DEHWWV_& Q'H #8#B#B"C1 DEH		%)FWWV_WWV_$.. ))Qwr!D6m1R$qyM<r!D6mBqai=;Qwr!D6m1R$qyM<r!D6mBqai=;X3x= z~~i00X^^IM:::>>),,r   c                    SnSn[        U R                  5       5       H2  nU(       d  US:  a  Sn[        U5      n[        U[	        U5      5      nM4     X4$ )Nr   FT)r*   flattenrI   maxr(   )r-   rC   rD   itemrE   s        r   _get_max_widthrN      sT    IFS[[]#TAXF%	3x=1		 $ r   c                   [         R                  n[         R                  n[        U R                  5      S:X  a  [        XU5      $ [        U R                  5      S:X  GaG  US-   n[        SXb-
  U-  5      nU(       a  U R                  S   SU-  :  at  [        U5       V	s/ s H  n	[        X	   X45      PM     sn	S/-   [        U R                  S   U-
  U R                  S   5       V	s/ s H  n	[        X	   X45      PM     sn	-   n
O4[        U R                  S   5       V	s/ s H  n	[        X	   X45      PM     n
n	[        S[        U
5      U5       V	s/ s H	  n	XX-    PM     nn	SSUS-   -  -   R                  U Vs/ s H  nSR                  U5      PM     sn5      nSU-   S	-   $ U(       a  U R                  S   SU-  :  a|  [        U5       V	s/ s H  n	[        X	   XS-   X45      PM     sn	S/-   [        U R                  S   U-
  U R                  S   5       V	s/ s H  n	[        X	   XS-   X45      PM     sn	-   nO8[        U R                  S   5       V	s/ s H  n	[        X	   XS-   X45      PM     nn	S
S[        U R                  5      S-
  -  -   SUS-   -  -   R                  U5      nSU-   S	-   $ s  sn	f s  sn	f s  sn	f s  sn	f s  snf s  sn	f s  sn	f s  sn	f )a<  
Format a tensor

Args:
    var(Tensor): The tensor to be formatted.
    summary(bool): Do summary or not. If true, some elements will not be printed, and be replaced with "...".
    indent(int): The indent of each line.
    max_width(int): The max width of each elements in var.
    signed(bool): Print +/- or not.
r   r"   r   z...z,
r7   z, [],
)
r   r   r   r(   r&   rI   rL   rangejoin_format_tensor)r-   summaryindentrC   rD   r   r   item_lengthitems_per_lineiitemslineslinesvarss                  r   rV   rV      s    &//I%//I
399~CF33	SYY1	!mQ!3 CDsyy|a)m3 #9-- !;- '	 #399Q<)#;SYYq\JJ !;J  syy|,,A SVY7,   1c%j.9
9 a()9 	 
 SFQJ''--)./TYYt_/
 Qw} syy|a)m3 #9-	 . #!Y .	 ' #399Q<)#;SYYq\J	 K #!Y K	 $ syy|,,A svw
IN,  
 43syy>A-..
1CCII$OQw}a


 0s0    J6)J;!K K=K
KKKc           
     6   [        U5      S-   n[        U R                  5      nU R                  [        R                  :X  a  SnSnU R                  5       R                  5       nUR                  5       (       d  gU R                  [        R                  :X  aN  U R                  R                  5       (       d  [        R                  R                  5         U R                  S5      n U R                  S5      n[        U R                  5      S:X  a  SnOSnU R                   H  nXx-  nM	     Sn	U[        R                   :  a  Sn	[#        [%        U5      5      u  p['        XiX*US	9nUR)                  UU R                  UU R*                  U R,                  S
U-  US9$ )Nr"   bfloat16d{prefix}(shape={shape}, dtype={dtype}, place={place}, stop_gradient={stop_gradient},
{indent}{data})Tensor(Not initialized)r9   Fr   TrX   rC   rD   r7   prefixr&   r8   placestop_gradientrX   data)r(   r   r8   paddlerb   value
get_tensor_is_initializedrh   is_cpu_placedevicesynchronizeastypenumpyr&   r   r   rN   r,   rV   format
_place_strri   )r-   rg   rX   r8   	_templatetensorrB   sizedimrW   rC   rD   rj   s                r   	to_stringrz      sZ   [1_F#))$E
yyFOO#wIYY[##%F!!##(
yyFOO#yy%%''MM%%'jj#YYuF
399~99CKD  G#---&{6':;IFD iinn''V|   r   c                r    [         R                  " SSS9nU R                  S5      U-  R                  S5      $ )Nl      uint32r8   r9   )r$   r'   view)	np_tensormasks     r   mask_xpu_bf16_tensorr   .  s1    88Jh/DNN8$t+11)<<r   c                   U R                   nU[        R                  [        R                  [        R                  1;   aN  U R
                  R                  5       (       d  [        R                  R                  5         U R                  S5      n U R                  S5      n[        R                  " 5       (       a^  [        R                  " S5      bG  U[        R                  :X  d(  U[        R                  R                   R"                  :X  a  [%        U5      n[&        R(                  " U R*                  SS9[,        R.                  :  n[1        [3        U5      5      u  pV[5        X4XUS9nU$ )Nr9   FXPU_PADDLE_MASK_BF16_PRINTint64r}   re   )r8   rk   rb   float8_e4m3fnfloat8_e5m2rh   ro   rp   rq   rr   rs   is_compiled_with_xpuosgetenvr   VarDescVarTypeBF16r   r$   r%   r&   r   r   rN   r,   rV   )rw   rX   r8   r   rW   rC   rD   rj   s           r   _format_dense_tensorr   4  s   LLE 
 ||((**MM%%'y) U#I##%%II23?foo%$,,2F2F2K2K)K(3	 	G,/D/N/NN  '{9'=>I6vD Kr   c                    [        U5      S-   nU R                  5       (       a[  Sn[        X5      nUR                  U[	        U R
                  5      UU R                  U R                  SU-  UU R                  5       S9$ g )Nr"   zq{prefix}(shape={shape}, dtype={dtype}, place={place}, stop_gradient={stop_gradient}, rows={rows},
{indent}{data})r7   )rg   r&   r8   rh   ri   rX   rj   rows)	r(   is_selected_rowsr   rt   r*   r&   ru   ri   r   )rw   r8   rg   rX   rv   rj   s         r   selected_rows_tensor_to_stringr   T  s    [1_F   I	#F3v||$## ..<   	
 		
 !r   c                   [        U5      S-   nU R                  5       (       a  SnU R                  5       nU R                  5       nS[	        XB[        S5      -   5      -   nS[	        XR[        S5      -   5      -   nUR                  U[        U R                  5      U R                  U R                  U R                  SU-  UUS9$ SnU R                  5       nU R                  5       n	U R                  5       n
S[	        X[        S5      -   5      -   nS	[	        X[        S	5      -   5      -   nS[	        X[        S5      -   5      -   nUR                  U[        U R                  5      U R                  U R                  U R                  SU-  UUUS
9	$ )Nr"   z{{prefix}(shape={shape}, dtype={dtype}, place={place}, stop_gradient={stop_gradient}, 
{indent}{indices}, 
{indent}{values})zindices=zvalues=r7   )rg   r&   r8   rh   ri   rX   indicesvaluesz{prefix}(shape={shape}, dtype={dtype}, place={place}, stop_gradient={stop_gradient}, 
{indent}{crows}, 
{indent}{cols}, 
{indent}{values})zcrows=zcols=)	rg   r&   r8   rh   ri   rX   crowscolsr   )r(   is_sparse_coor   r   r   rt   r*   r&   r8   ru   ri   r   r   )rw   rg   rX   rv   indices_tensorvalues_tensorindices_datavalues_datacrows_tensorcols_tensorelements_tensor
crows_data	cols_datas                r   sparse_tensor_to_stringr   e  s   [1_F T	)!$8S_4%
 
  "6C	N2#
 
 v||$,,## ..<    	
 		
 d	||~kkm --/ 43x=0!
 

 2#g,.
 
	  "6c)n4#
 
 v||$,,## ..<   

 
	
r   c                   [        U5      S-   n[        U R                  5      nU R                  [        R                  :X  a  SnU R                  5       (       dR  SnUR                  U[        U R                  5      UU R                  U R                  U R                  U R                  S9$ [        U5      S-   nSSKJnJn  [!        U R                  R"                  5       Vs/ s H	  ou" 5       PM     nnU" X R                  U5      n	[%        X5      n
SnUR                  U[        U R                  5      UU R                  U R                  U R                  U R                  SU-  U
S	9	$ s  snf )
Nr"   rb   z{prefix}(shape={shape}, dtype={dtype}, place={place}, stop_gradient={stop_gradient}, process_mesh={process_mesh}, placements={placements}, GlobalDenseTensor Not initialized))rg   r&   r8   rh   ri   process_mesh
placementsr   )	Replicatereshardz{prefix}(shape={shape}, dtype={dtype}, place={place}, stop_gradient={stop_gradient}, process_mesh={process_mesh}, placements={placements}, GlobalDenseTensor=
{indent}{data})r7   )	rg   r&   r8   rh   ri   r   r   rX   rj   )r(   r   r8   rk   rb    _is_dense_tensor_hold_allocationrt   r*   r&   ru   ri   r   _placements_strpaddle.distributedr   r   rT   ndimr   )rw   rg   rX   r8   rv   r   r   _r   global_tensorrj   s              r   dist_tensor_to_stringr     sX    [1_F&,,'E||v&2244 D	v||$## ..,,--   
 	
 Vq 	:+01D1D1I1I+JK+Jaik+J
K(;(;ZH#M: E	v||$## ..,,--<   

 
	
 Ls   "E)c           
        [        U5      S-   n[        U R                  5      nU R                  [        R                  :X  a  SnSnU R                  5       (       a  [        X5      $ U R                  5       (       a  [        XU5      $ U R                  5       (       a  [        X5      $ U R                  5       (       d  g[        X5      nUR                  U[        U R                  5      UU R                   U R"                  SU-  US9$ )Nr"   rb   rc   rd   r7   rf   )r(   r   r8   rk   rb   	is_sparser   r   r   is_distr   r   r   rt   r*   r&   ru   ri   )rw   rg   rX   r8   rv   rj   s         r   tensor_to_stringr     s    [1_F&,,'E||v&wI&v66  -fVDD~~$V442244(#F3v||$## ..<   
 	
r   )NNNNN)r   
int | Noner   r   r   r   r   zbool | Noner   r   returnNone)r   F)r   r   F)Tensor)
__future__r   r   rs   r$   rk   paddle.base.data_feederr   r   	frameworkr   __all__r	   r   r   r,   rI   rN   rV   rz   r   r   r   r   r   r   r   r   r   <module>r      s    # 	   = 
  %  !    <$<$<$ <$ 	<$
 <$ 
<$~;0&R
GT,^=@
"/
d)
X
r   