+
    :i                        ^ RI HtHtHt ^ RIt^ RIHtHtH	t	H
t
  ! R R4      t]	R 4       t]	R 4       t]P                  '       g   ^ RIHt ^ R	IHtHtHtHtHtHt ^ R
IHt ^ RIHt ^ RIHt  ! R R]
P@                  4      t!]!! 4       t"]PF                  ! ]4      R 4       t$]! ]4      R 4       t%]! ]!4       ! R R]PL                  4      4       t']! ]!RR4       ]! ]!RR4       ]! ]]
PP                  ]
PP                  4      R 4       t)]PT                   ! R R]4      4       t+]! ]!R4      R 4       t,]! R4       ! R R]4      4       t-].R8X  d   ]P^                  ! 4        R# R# )    )skip_on_cudasimunittestCUDATestCaseN)configcudanjittypesc                   @   a  ] tR t^t o RtR tR t]R 4       tRt	V t
R# )Intervalz/
A half-open interval on the real number line.
c                    Wn         W n        R # Nlohi)selfr   r   s   &&&d/var/www/html/photoedit/myenv/lib/python3.14/site-packages/numba/cuda/tests/cudapy/test_extending.py__init__Interval.__init__   s        c                @    R V P                   V P                  3,          # )zInterval(%f, %f)r   r   s   &r   __repr__Interval.__repr__   s    !TWWdgg$666r   c                <    V P                   V P                  ,
          # r   r   r   r   s   &r   widthInterval.width   s    ww  r   r   N)__name__
__module____qualname____firstlineno____doc__r   r   propertyr   __static_attributes____classdictcell____classdict__s   @r   r   r      s(     7 ! !r   r   c                     V P                   # r   )r   )intervals   &r   interval_widthr*      s    >>r   c                     \        V P                  VP                  ,           V P                  VP                  ,           4      # r   r   r   r   )ijs   &&r   sum_intervalsr/      s'    ADD144K--r   )cgutils)lower_builtinmake_attribute_wrappermodelsregister_modeltype_callabletypeof_impl)AttributeTemplate)registry)
lower_attrc                   2   a a ] tR t^*t oV 3R ltRtVtV ;t# )IntervalTypec                (   < \         SV `  R R7       R# )r   )nameN)superr   )r   	__class__s   &r   r   IntervalType.__init__+   s    G*-r    )r   r   r    r!   r   r$   r%   __classcell__)r?   r'   s   @@r   r;   r;   *   s     	. 	.r   r;   c                     \         # r   )interval_type)valcs   &&r   typeof_intervalrG   0   s    r   c                     R  pV# )c                     \        V \        P                  4      '       d)   \        V\        P                  4      '       d   \        # R # R # r   )
isinstancer	   FloatrD   r   s   &&r   typertype_interval.<locals>.typer6   s2    "ekk**z"ekk/J/J$$ 0K*r   rA   )contextrL   s   & r   type_intervalrO   4   s    	% r   c                   &   a  ] tR t^;t o R tRtV tR# )IntervalModelc                    R \         P                  3R\         P                  3.p\        P                  P	                  WW#4       R# )r   r   N)r	   float64r3   StructModelr   )r   dmmfe_typememberss   &&& r   r   IntervalModel.__init__=   s9    u}}%u}}%G ''7Dr   rA   N)r   r   r    r!   r   r$   r%   r&   s   @r   rQ   rQ   ;   s     	E 	Er   rQ   r   r   c                     VP                   pVw  rV\        P                  ! V4      ! W4      pWWn        Wgn        VP                  4       # r   )return_typer0   create_struct_proxyr   r   	_getvalue)rN   buildersigargstypr   r   r)   s   &&&&    r   impl_intervalra   G   s@    oo..s3GE!!##r   c                   *   a  ] tR t^Pt o ]tR tRtV tR# )Interval_attrsc                "    \         P                  # r   )r	   rS   )r   mods   &&r   resolve_widthInterval_attrs.resolve_widthT   s    == r   rA   N)	r   r   r    r!   r;   keyrf   r$   r%   r&   s   @r   rc   rc   P   s     	! 	!r   rc   r   c                 l    VP                  V^ 4      pVP                  V^4      pVP                  WT4      # )r   )extract_valuefsub)rN   r]   r^   argr   r   s   &&&&  r   cuda_Interval_widthrm   W   s5    ""3*""3*||B##r   z)Extensions not supported in the simulatorc                   8   a  ] tR t^^t o R tR tR tR tRtV t	R# )TestExtendingc                    \         P                  R  4       p\        P                  ! R4      p\        P                  ! V4      pVR,          ! W24       \        P
                  P                  W24       R# )c                 v    \        V^ ,          V^,          4      pVP                  V ^ &   VP                  V ^&   R# r   Nr,   rxivs   && r   f(TestExtending.test_attributes.<locals>.fa   s0    !A$!%B55AaD55AaDr   N      ?      @   r}   )r   jitnpasarray
zeros_liketestingassert_equalr   rw   ru   rt   s   &   r   test_attributesTestExtending.test_attributes`   sS    		 
	
 JJz"MM!	$


%r   c                    \         P                  R  4       p\        P                  ! R4      p\        P                  ! ^4      pVR,          ! W24       \        P
                  P                  V^ ,          V^,          V^ ,          ,
          4       R# )c                 X    \        V^ ,          V^,          4      pVP                  V ^ &   R# rr   )r   r   rs   s   && r   rw   &TestExtending.test_property.<locals>.fo   s#    !A$!%B88AaDr   Nry   r|   r   r~   r   r   zerosr   assert_allcloser   s   &   r   test_propertyTestExtending.test_propertyn   sd    		 
	 JJz"HHQK	$


""1Q41!5r   c                    \         P                  R  4       p\        P                  ! R4      p\        P                  ! ^4      pVR,          ! W24       \        P
                  P                  V^ ,          V^,          V^ ,          ,
          4       R# )c                 V    \        V^ ,          V^,          4      p\        V4      V ^ &   R# rr   )r   r*   rs   s   && r   rw   3TestExtending.test_extension_type_as_arg.<locals>.f|   s$    !A$!%B!"%AaDr   Nry   r|   r   r   s   &   r   test_extension_type_as_arg(TestExtending.test_extension_type_as_arg{   sd    		& 
	& JJz"HHQK	$


""1Q41!5r   c                j   \         P                  R  4       p\        P                  ! R4      p\        P                  ! ^4      pVR,          ! W24       \        P                  ! V^ ,          V^,          ,           V^,          V^,          ,           34      p\        P
                  P                  W44       R# )c                     \        V^ ,          V^,          4      p\        V^,          V^,          4      p\        W#4      pVP                  V ^ &   VP                  V ^&   R# rr   )r   r/   r   r   )rt   ru   iv1iv2iv_sums   &&   r   rw   8TestExtending.test_extension_type_as_retvalue.<locals>.f   sN    1Q41&C1Q41&C"3,F99AaD99AaDr   N)rz   r{   g      @g      @r|   r   )r   rw   ru   rt   expecteds   &    r   test_extension_type_as_retvalue-TestExtending.test_extension_type_as_retvalue   s~    		 
	 JJ+,HHQK	$::qtad{AaD1Q4K89


""1/r   rA   N)
r   r   r    r!   r   r   r   r   r$   r%   r&   s   @r   ro   ro   ^   s     &660 0r   ro   __main__)0numba.cuda.testingr   r   r   numpyr   numbar   r   r   r	   r   r*   r/   ENABLE_CUDASIM
numba.corer0   numba.core.extendingr1   r2   r3   r4   r5   r6   numba.core.typing.templatesr7   numba.cuda.cudadeclr8   cuda_registrynumba.cuda.cudaimplr9   cuda_lower_attrTyper;   rD   registerrG   rO   rT   rQ   rK   ra   register_attrrc   rm   ro   r   mainrA   r   r   <module>r      s   F F  + +! !    . . "3 3 >=A.uzz . !NM(# $ 8  L!E** E "E <t4<t48U[[%++6$ 7$   !* ! !! \7+$ ,$ <=80L 80 >80v zMMO r   