o >g"@s>ddlZddlZddZgdgdgdgdgdgd gd gd gd gd gdgdgdgdgdgdgdgdgdggdgdgdgdgdgdgdgdgdgdgd gd!gd"gd#gd$gd%gd&gd'gd(ggd)gd*gd+gd,gd-gd.gd/gd0gd1gd2gd3gd4gd5gd6gd7gd8gd9gd:gd;ggd)gd<gd=gd>gd?gd@gdAgdBgdCgdDgdEgdFgdGgdHgdIgdJgdKgdLgdMggdNgdOgdPgdQgdRgdSgdTgdUgdVgdWgdXgdYgdZgd[gd\gd]gd^gd_gd`ggdagdbgdcgddgdegdfgdggdhgdigdjgdkgdlgdmgdngdogdpgdqgdrgdsggdtgdugdvgdwgdxgdygdzgd{gd|gd}gd~gdgdgdgdgdgdgdgdggdgdgdgdgdgdgdgdgdgdgdgdgdgdgdgdgdgdgdggdgdgdgdgdgdgdgdgdgdgdgdgdgdgdgdgdgdgdggdgdgdgdgdgdgdgdgdgdgdgdgdgdgdgdgdgdgdggdgdgdgd¢gdâgdĢgdŢgdƢgdǢgdȢgdɢgdʢgdˢgd̢gd͢gd΢gdϢgdТgdѢggdҢgdӢgdԢgdբgd֢gdעgdآgd٢gdڢgdۢgdܢgdݢgdޢgdߢgdgdgdgdgdggdgdӢgdgdgdgdgdgdgdgdgdgdgdgdgdgdgdgdgdggdgdgdgdgdgdgdgdgdgdgdgdgdgdgdgdgdgdgdggd gdgd gdgdgdgd gd gd gdgdgdgdgdgdgdgdgdgdgdZGdddZdeiZdS(NcCs^tddt|}t|ddd}tdd|}t|||}t|ddd}|S)zS Performs log-linear interpolation of a given array of decreasing numbers. rN)nplinspacelenloginterpexpcopy)t_steps num_stepsxsysnew_xsnew_ys interped_ysrA/home/comdoleger1/zen-flux-style-shape/comfy_extras/nodes_gits.pyloglinear_interps r)(@:-@@qޝ?)r A'@v @r)rrr @r)rrr*k@])`3g@r)rn?8v(@b!Y!@rrrr)rrrrrr?r) r%)@rrrrrrr) r+@r?%@rrrrrr) rr!r rr"rrrrrr) rr!r rr"瀽{"@珤(E @rrrrr) rr!r rr"r#r$rb$@S w@rrr)rr!r rrֿ-$@r#r$rr%r&rrr)rr!r rrr"r'r#r$rr%r&rrr)rr!r rrr"r'r#rr$rr%r&rrr)rr!r rrr"r'r#rr$rr%r&\ @`?Ndޑ?r)rr!r rrr"r'ff#@r#rr$rr%r&r(r)r*r)rr!r rrr"r'r+r#rr$rrrOOHq@rs@?I͞?r)rr!r rrr"r'r+r#rr$;Q3 R@rrrr,rr-r.r)rr!r rrr"r'r+r#rr$r/rrrr&uш @sW@@ N} y?^ᰴ?r)rrr-r)rrrrr)rr̾z@r翑Q?r)rrrx?^@r1@P,%?r)rrrrr6r1r7r) rrrr}2hW@r(r-r3r) rr rrrr8r(r-r3r) rr rrrr%r,rr-r3r) rr!rr"rrr%r,rr-r3r) rr!rr"r#r$rr%r,rr-r3r)rr!r rr"r#r$rr%r,rr-r3r)rr!r rrr'r#r$rr%r,rr-r3r)rr!r rrr'r#r$rr%r&PL @$n_Q@rs4?r)rr!r rrr'r#r$rrrr,k6 @^ @rr;r)rr!r rrr'r#rr$rrrr,r<r=rr;r)rr!r rrr"r'r#rr$rrrr,r<r=rr;r)rr!r rrr"r'r+r#rr$rrrr,r<r=rr;r)rr!r rrr"r'r+r#rr$r/rrrr,r<r=rr;r)rrr)rrrr)rrrr7r)rrr&5 V@!~Q?r)rrrr&r>r?r)rrrr6r燎Wk?*>?r) rrrr4r&rr@rAr) rrrrr$H!-@l5Х@r@rAr) rrrrrrBr(w8]@r5ܠ0G?r) rr r"rrrrBr(rDr5rEr) rr rr#r$rrrBr(rDr5rEr)rr rr#r$rr%r&r0r1r-aZl?͕ފ?r)rr!rr"r#r$rr%r&r0r1r-rFrGr)rr!rr"r#r$r?o@r8rB'D @r=r@r7%*?r)rr!r rr"r#r$rrHr8rBrIr=r@r7rJr)rr!r rr"r#r$rrrr&E`U@r9<@rr7rJr)rr!r rrr'r#r$rrrr&rKrrLrr7rJr)rr!r rrr'r#rr$rrrr&rKrrLrr7rJr)rr!r rrr'r#rr$rrrr6rBr9rCrD狆M0?r?磚;{?r)rrrr)rrr1r?r)rrr& ]@@r3r)rrr&rCrޝ?r)rrrr&rCrrPr) rrrr&r澃?rF{' ?r) rrrrrBrrQrFrRr) rrrrrrBrrQrFrRr) rrrrrrBr(rD5H?r3UO?r) rrrrrr,r<r:r-r5r;5OG?r)rr r"rrrr,r<r:r-r5r;rUr)rr r"rrr%r&r0rCrDrhN??rPy ?r)rr r"rrrHr8r,r9rCrDrrVrPrWr)rr rr#r$rrHr8r,r9rCrDrrVrPrWr)rr rr#r$rrHr8r,r0rr=r2r5r.rR@?r)rr rr#r$rrrr6rBr9rCrO@5?r5r.rRrXr)rr!rr"r#r$rrrr6rBr9rCrOrYr5r.rRrXr)rr!rr"r#r$rrrr6rBr0rr=rQL| ?+aTo?rXrdr)rrr&rIr=rYr5r?rPrJrWr[rdr)rrr6r9r1rrMrFr3r\rNrpr[rdr)rrr6r9r1rar@r5r7r;r]r_rpr[rdr)rrrrBr(r=r-rSrFr.rPrRrsr^r`rdr)rrrrBr(r=rQrMror7rlr\rJrUr^r`rdr)rrrrBr<r1rDrYrerFr*rAr]rNrUr^r`rdr)rrrrrBr<r1rDrYrerFr*rAr]rNrUr^r`rdr)rrrrrBr<r1rDrYrerFr?r;r\rrrTrprXr`rdr)rr.r)rr-r\r)rrrrGr)rrrQr.rUr)rrr=r5r\r^r)rrr1rMr3r_r`r) rrr1rr?rRr^rdr) rrrr-rjr;rNrXrdr) rrrrQr5r3rGrUr[rdr) rrr&rCrQr5r3rGrUr[rdr) rrr&rrrer7rArrrWr[rdr)rrr&rrarMrFr3r\rNrpr[rdr)rrr&rrarMrFr3r\rJrUr^r`rdr)rrr&rrDr@r5r7rlr\rJrUr^r`rdr)rrr&r(r=r2rqrfr3rPrRrTrprXr`rdr)rrr&r(r=r2rqrfr3rPrGr_rWr^r[rmrdr)rrr&r(r=r-rSrjr?r;r\rrrTrWr^r[rmrdr)rrr&r(r=r-rSrjr?r;r\rRr_rUrcrXr`rmrdr)rrr&r(r=r-rSrjr?r;r\rRr_rUrpr^r[r`rmrdr)rr3r)rrrGr)rrOrirsr)rr1r5r\r^r)rrrr7rJr`r)rrr=r5rPrprdr) rrr=rer3rJr^rdr) rrr1r@r7r\rsr[rdr) rrr1rhrFrlrRrWr[rdr) rrrCr-r5r.r\r_rcr`rdr) rrrr)rer7rArRrsr^r`rdr)rrr<rOrrFr3r\rJrUr^r`rdr)rrr<r=r@rbr*rPrRrTrprXr`rdr)rrr,rrarMrFr.rPrRrTrprXr`rdr)rrr,rrarMrFr.rPrRr_rWr^r[rmrdr)rrr,rrarMrFr.rPrRr_rUrcrXr`rmrdr)rrr,rrDr@rorir;rErJrsrpr^r[r`rmrdr)rrr,rrDr@r5r7rlr\rrrTrWrcrXr[r`rmrdr)rrr,rrDr@r5r7rlr\rRr_rUrpr^rXr[r`rmrdr)rr;r)rrrRr)rrr3rWr)rrOr7rNr`r)rr1r5r\rcrdr)rrrMr3rNrXrdr) rrrOr5r;r_rXrdr) rrr=rer.rGrUr[rdr) rrr1r@ ?rPrNrcr`rdr) rrr1rhrFrlrGrsr^r`rdr) rrr1rYrbr3r\rJrUr^r`rdr)rrrCr-r5r*rPrrrsrcr[rmrdr)rrrCr-rkrirArGr_rWr^r[rmrdr)rrrCrQrqr7r;r]rNrUrcrXr`rmrdr)rrrCrQrqr7r;rErJrsrpr^r[r`rmrdr)rrrCrQrqr7rlr\rrrTrWrcrXr[r`rmrdr)rrrrrSrVr3rnrRr_rUrpr^rXr[r`rmrdr)rrrrrSrVr3rPrGrNrsrWrcr^rXr[r`rmrdr)rrrrrZrFr.g}~Rl?r]rJrTrUrprcr^rXr[r`rmrdr)rr5rNr)rrr\rXr)rr-r3rsrmr)rrOrfrGr^rdr)rr1rerlr_rXrdr) rrrr?r]rUr[rdr) rrr@r7rnr_rcr`rdr) rrr=rer.r]rsr^r`rdr) rrr=rSrirPrJrUr^r`rdr) rrr:rrfr;rRrsrcr[rmrdr)rrr1r@rVrlr]r_rWr^r[rmrdr)rrr1r@rFgoȁ?rErNrUrcrXr`rmrdr)rrr1r@rFr3r\rJrsrpr^r[r`rmrdr)rrr1r@rFr3r\rrrTrWrcrXr[r`rmrdr)rrr1rYrbr.rPrRr_rUrpr^rXr[r`rmrdr)rrr1rYrbr.rPrGrNrsrWrcr^rXr[r`rmrdr)rrr1r2r5rir;rErJrTrUrprcr^rXr[r`rmrdr)rrr1r2r5rir;rErrr_rsrWrprcr^rXr[r`rmrdr)rrAr)rr7rUr)rrrEr[r)rr@rArprdr)rr-r.rNrXrdr)rr=rbrPrsr[rdr) rr1rer3rRrWr[rdr) rr1rSr.r]rsr^r`rdr) rr1rr7rPrJrWrXr`rdr) rr1rr7rPrJrUr^r[rmrdr) rrr@rfr;rGrTrprXr`rmrdr)rrr@rfr;rGr_rWr^r[r`rmrdr)rrr@rVrlr]rNrUrcrXr[r`rmrdr)rrrYrjr3r\rJrsrpr^rXr[r`rmrdr)rrrYrjr3r\rrrTrWrcr^rXr[r`rmrdr)rrr=rMrfrlrErJrsrWrcr^rXr[r`rmrdr)rrr:r@rFr3rnrRr_rUrprcr^rXr[r`rmrdr)rrr:r@rFr3rPrGrNrsrWrprcr^rXr[r`rmrdr)rrr:r@rFr3rPrGrJrTrUrWrprcr^rXr[r`rmrdr)rr\r)rrFrNrmr)rrrPrcrdr)rr@r3rNrXrdr)rrr7r]rUr[rdr) rr=r5r;rNrcr`rdr) rr=r5rlrRrUr^r`rdr) rr=rkr3rGrsrcr[rmrdr) rr=rkr3r]rTrprXr`rmrdr) rr1rSr*r\rNrWr^r[r`rmrdr)rr1rMr7rPrJrUrcrXr[r`rmrdr)rr1rMr7rPrrrsrpr^rXr[r`rmrdr)rr1rrtrArGr_rUrpr^rXr[r`rmrdr)rr1rrfr;r]rNrsrWrcr^rXr[r`rmrdr)rr1r@rVrlrErJrTrUrprcr^rXr[r`rmrdr)rr1r@rFr3rnrRr_rsrWrprcr^rXr[r`rmrdr)rr1r@rFr3rnrRrNrTrUrWrprcr^rXr[r`rmrdr)rr1r@rFr3rPrGrJr_rsrUrWrprcr^rXr[r`rmrdr)rr3r^r)rr7rUrdr)rr5r]r^rdr)rrr;rsr[rdr)rr@r3rJrcr`rdr) rrQr7rErsr^r`rdr) rrDrFrPr_rcr[rmrdr) rr=r5rlrRrUr^r[rmrdr) rr=r5rlrRrsrcrXr`rmrdr) rr=rkr3r]r_rWr^r[r`rmrdr)rr=rkr3rErNrUrcrXr[r`rmrdr)rr=rkr.r\rJrsrpr^rXr[r`rmrdr)rr=rkr.r\rJrsrWrcr^rXr[r`rmrdr)rr1rMr7rArGr_rUrprcr^rXr[r`rmrdr)rr1rMr7rArGrNrsrWrprcr^rXr[r`rmrdr)rr1rrtr;r]rJrTrUrWrprcr^rXr[r`rmrdr)rr1rrfrlrErrr_rsrUrWrprcr^rXr[r`rmrdr)rr1rrfrlr\rRrNrTrsrUrWrprcr^rXr[r`rmrdr)rr]r)rr*rWrdr) rr@r.rGrUr^r`rdr) rr-r7r\rTrcr[rmrdr) rr-r7r\r_rprXr`rmrdr) rr-r7rnrNrWr^r[r`rmrdr) rrDrjr;rRrsrcrXr[r`rmrdr)rrDrjr;rRrsrpr^rXr[r`rmrdr)rrOr5r3rErNrUrpr^rXr[r`rmrdr)rrOr5r3rErNrUrprcr^rXr[r`rmrdr)rrOr5r3r\rJrsrWrprcr^rXr[r`rmrdr)rrOr5r3r\rJrTrUrWrprcr^rXr[r`rmrdr)rr=rqr*rPrRr_rsrUrWrprcr^rXr[r`rmrdr)rr=rerirAr]rJr_rsrUrWrprcr^rXr[r`rmrdr)rr=rSr7r;rErrrNrTrsrUrWrprcr^rXr[r`rmrdr)皙?g333333?g?gffffff??g?g?gffffff?333333?g?g?g?gffffff?g333333??c@s,eZdZeddZdZdZdZddZdS) GITSSchedulerc Cs8dddddddfdd d d d fdd dd ddfdiS)NrequiredFLOATrwrurxg?)defaultminmaxstepINT i)r|r}r~rvg{Gz?)coeffstepsdenoiser)srrr INPUT_TYPESQs zGITSScheduler.INPUT_TYPES)SIGMASz#sampling/custom_sampling/schedulers get_sigmascCs|}|dkr|dkrtgfSt||}|dkr*tt|d|ddd}ntt|dddd}t||d}||d d}d|d<t|fS)Nrvrrrrr)torch FloatTensorround NOISE_LEVELSr)selfrrr total_stepssigmasrrrr^s    zGITSScheduler.get_sigmasN) __name__ __module__ __qualname__ classmethodr RETURN_TYPESCATEGORYFUNCTIONrrrrrryPs  ry)numpyrrrrryNODE_CLASS_MAPPINGSrrrrsn@