
    3j                         S r SSKrSSKrSSKJr  SSKJrJr  SrSr	S r
S r " S	 S
\R                  5      r " S S\5      rS\4S jrg)zIdeogram 4 sampling helper
    N)override)ComfyExtensioniog      .g      2@c                 ~   [         R                  " U [         R                  S9n S[         R                  R	                  X[         R                  R                  U 5      -  -   5      -
  nSS[        R                  " S[        -  5      -   -  nSS[        R                  " S[        -  5      -   -  nUR                  XE5      $ )Ndtype      ?      ?)torch	as_tensorfloat64specialexpitndtrimathexp_LOGSNR_MAX_LOGSNR_MINclamp)umeanstdtt_mint_maxs         </home/wildlama/comfy/ComfyUI/comfy_extras/nodes_ideogram4.py_logit_normal_scheduler      s    /Aemm!!$u}}/B/B1/E)E"EFFA3#"3445E3#"3445E775      c                    US[         R                  " X-  S-  5      -  -   n[        R                  " SSU S-   [        R                  S9nS[        XeU5      -
  R                  S5      nSUS'   UR                  [        R                  5      $ )	zDescending sigmas (len num_steps+1) for the reference schedule.

mu + the resolution term form the logSNR shift; std is the spread.
r
   i           r	      r   r   )	r   logr   linspacer   r   fliptofloat32)	num_stepswidthheightmur   r   r   sigmass           r   ideogram4_sigmasr-      sx    
 dhh9=>>>DsCQemmDA*1C88>>qAFF2J99U]]##r   c                   l    \ rS rSr\S\R                  4S j5       r\S\R                  4S j5       r	Sr
g)Ideogram4Scheduler#   returnc                    [         R                  " SSS[         R                  R                  SSSSS9[         R                  R                  S	S
SSSS9[         R                  R                  SS
SSSS9[         R                  R                  SSSSSS9[         R                  R                  SSSSSS9/[         R
                  R                  5       /S9$ )Nr/   zIdeogram 4 Schedulerzmodel/sampling/schedulerssteps   r!      )defaultminmaxr)   i      i       )r6   r7   r8   stepr*   r+   r    g      $g      $@g?r   g      ?g?g      @)node_iddisplay_namecategoryinputsoutputs)r   SchemaIntInputFloatSigmasOutput)clss    r   define_schema Ideogram4Scheduler.define_schema$   s    yy(/0WbaSAWdBOXt$RPtSeDQud4P YY%%'(
 	
r   c           	      D    [         R                  " [        XX4U5      5      $ N)r   
NodeOutputr-   )rG   r3   r)   r*   r+   r   s         r   executeIdeogram4Scheduler.execute4   s    }}-eFLMMr    N)__name__
__module____qualname____firstlineno__classmethodr   rA   rH   rL   rM   __static_attributes__rO   r   r   r/   r/   #   sA    
bii 
 
 Nr}} N Nr   r/   c                   L    \ rS rSr\S\\\R                        4S j5       r	Sr
g)Ideogram4Extension9   r1   c                    #    [         /$ 7frK   )r/   )selfs    r   get_node_list Ideogram4Extension.get_node_list:   s     "##s   
rO   N)rP   rQ   rR   rS   r   listtyper   	ComfyNoder[   rU   rO   r   r   rW   rW   9   s)    $T$r||*<%= $ $r   rW   r1   c                     #    [        5       $ 7frK   )rW   rO   r   r   comfy_entrypointra   ?   s     s   )__doc__r   r   typing_extensionsr   comfy_api.latestr   r   r   r   r   r-   r_   r/   rW   ra   rO   r   r   <module>re      sW      & /!	$N N,$ $  2  r   