L i! |ddlmZmZddlZddlmZmZddlmZddlm Z ddl m Z ddl m Z mZdgZGd de Zy) )OptionalUnionN)nanTensor) constraints) Distribution) broadcast_all)_Number_sizeUniformc HeZdZdZdZedZedefdZedefdZ edefdZ edefdZ dd e ee fd e ee fd eedd ffd Zdfd Zej&dddZej,fdedefdZdZdZdZdZxZS)r a Generates uniformly distributed random samples from the half-open interval ``[low, high)``. Example:: >>> m = Uniform(torch.tensor([0.0]), torch.tensor([5.0])) >>> m.sample() # uniformly distributed in the range [0.0, 5.0) >>> # xdoctest: +SKIP tensor([ 2.3418]) Args: low (float or Tensor): lower range (inclusive). high (float or Tensor): upper range (exclusive). Tctj|jtj|jdS)N)lowhigh)r less_thanr greater_thanrselfs a/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/torch/distributions/uniform.pyarg_constraintszUniform.arg_constraints"s2((3,,TXX6  returnc:|j|jzdz S)Nrrrs rmeanz Uniform.mean*s DHH$))rc(t|jzSN)rrrs rmodez Uniform.mode.sTYYrc:|j|jz dz S)NgLXz @rrs rstddevzUniform.stddev2s DHH$//rcX|j|jz jddz S)Nr )rrpowrs rvariancezUniform.variance6s% DHH$))!,r11rNrr validate_argsct||\|_|_t|tr%t|trt j }n|jj}t|%||y)Nr&) r rr isinstancer torchSizesizesuper__init__)rrrr& batch_shape __class__s rr.zUniform.__init__:sY ,C6$) c7 # 4(A**,K((--/K MBrc*|jt|}tj|}|jj ||_|j j ||_tt|#|d|j|_ |S)NFr() _get_checked_instancer r*r+rexpandrr-r._validate_args)rr/ _instancenewr0s rr3zUniform.expandHst(()<jj- ((//+.99##K0 gs$[$F!00 rFr) is_discrete event_dimcVtj|j|jSr)rintervalrrrs rsupportzUniform.supportQs##DHHdii88r sample_shapec|j|}tj||jj|jj }|j||j |jz zzS)N)dtypedevice)_extended_shaper*randrr>r?r)rr<shaperAs rrsamplezUniform.rsampleUsU$$\2zz%txx~~dhhooNxx$$))dhh"6777rc|jr|j||jj|j |j}|j j |j |j}tj|j|tj|j |jz z Sr) r4_validate_samplerletype_asrgtr*logmul)rvaluelbubs rlog_probzUniform.log_probZs     ! !% ( XX[[  ' ' 1 YY\\% ( ( 2yy$uyyTXX1E'FFFrc|jr|j|||jz |j|jz z }|j ddS)Nr)minmax)r4rErrclamprrKresults rcdfz Uniform.cdfasL     ! !% ($(("tyy488';<||q|))rcX||j|jz z|jz}|SrrrTs ricdfz Uniform.icdfgs'$))dhh./$((: rcZtj|j|jz Sr)r*rIrrrs rentropyzUniform.entropyksyyTXX-..rr)__name__ __module__ __qualname____doc__ has_rsamplepropertyrrrrr!r%rfloatrboolr.r3rdependent_propertyr;r*r+r rCrNrVrXrZ __classcell__)r0s@rr r s6 K   *f**f0002&22)- C 65= ! CFEM" C ~ C  C$[##C9D9-7EJJL8E8V8 G* /r)typingrrr*rrtorch.distributionsr torch.distributions.distributionrtorch.distributions.utilsr torch.typesr r __all__r rrrls1" +93& +]/l]/r