
    HR-eK                         d Z ddlZddlZddlZddlmZ ddlm	Z	 ddl
mZ ddlmZmZmZ ddlmZ  G d d          Z G d	 d
e          ZdS )z+Testing :mod:`astropy.cosmology.parameter`.    N)	Cosmology)_COSMOLOGY_CLASSES)	Parameter_validate_to_float_validate_with_unit)AstropyDeprecationWarningc                       e Zd ZdZej        d             Zej        d             Zd Zd Z	d Z
d Zd Zd	 Zd
 Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd ZdS )ParameterTestMixina+  Tests for a :class:`astropy.cosmology.Parameter` on a Cosmology.

    :class:`astropy.cosmology.Parameter` is a descriptor and this test suite
    tests descriptors by class inheritance, so ``ParameterTestMixin`` is mixed
    into ``TestCosmology`` (tests :class:`astropy.cosmology.Cosmology`).
    c              #   v   K   t          |t          |j                                                            V  dS )zCosmological ParametersN)getattrset__parameters__popself	cosmo_clss     Flib/python3.11/site-packages/astropy/cosmology/tests/test_parameter.py	parameterzParameterTestMixin.parameter'   s;       iY%=!>!>!B!B!D!DEEEEEEE    c              #   v   K   t          |t          |j                                                            V  dS )z$Cosmological All Parameter instancesN)r   r   __all_parameters__r   r   s     r   all_parameterz ParameterTestMixin.all_parameter0   s;       iY%A!B!B!F!F!H!HIIIIIIIr   c                 *   t          |d          sJ t          |j        t                    sJ t	          d |j                                        D                       sJ t	          d |j                                        D                       sJ dS )z>Test :class:`astropy.cosmology.Parameter` attributes on class._registry_validatorsc              3   @   K   | ]}t          |t                    V  d S N)
isinstancestr).0ks     r   	<genexpr>zEParameterTestMixin.test_Parameter_class_attributes.<locals>.<genexpr>A   s=       
 
#$Jq#
 
 
 
 
 
r   c              3   4   K   | ]}t          |          V  d S r   )callable)r   vs     r   r!   zEParameterTestMixin.test_Parameter_class_attributes.<locals>.<genexpr>D   s(      TT18A;;TTTTTTr   N)hasattrr   r   dictallkeysvaluesr   r   s     r   test_Parameter_class_attributesz2ParameterTestMixin.test_Parameter_class_attributes<   s     }&<=====-<dCCCCC 
 
(5(J(O(O(Q(Q
 
 
 
 
 	
 	
 	
 TT(J(Q(Q(S(STTTTTTTTTTr   c                    t                      }|j        t          u sJ |j        J |j        g k    sJ |j        du sJ |j        J t          dddt          j                    gd          }|j        t          u sJ |j        t          j
        u sJ |j        t          j                    gk    sJ |j        du sJ dS )z8Test :class:`astropy.cosmology.Parameter` instantiation.NFfloat	DOCSTRINGkmT)	fvalidatedocunitequivalenciesderived)r   r0   r   r2   r3   r4   nameumass_energyr   r/   )r   r   s     r   test_Parameter_initz&ParameterTestMixin.test_Parameter_initF   s     KK	"&99999~%%%&",,,, E))))~%%% =??+
 
 
	 "&88888~%%%%&1=??*;;;;; D((((((r   c                     t          j        t                    5  t          d          }ddd           n# 1 swxY w Y   |j        dk    sJ |                                }|d         dk    sJ dS )z5Test that passing the argument ``fmt`` is deprecated.z.4f)fmtNr:   )pytestwarnsr   r   _format_spec_get_init_arguments)r   r   	init_argss      r   "test_Parameter_init_deprecated_fmtz5ParameterTestMixin.test_Parameter_init_deprecated_fmt]   s    \344 	- 	-!e,,,I	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- %.... 1133	5((((((s   7;;c                 R   t          |d          sJ t          |j                  sJ t          |d          sJ t          |d          sJ t          |d          sJ t          |d          sJ t          |d          sJ t          |d          sJ t          |d          sJ d	S )
?Test :class:`astropy.cosmology.Parameter` attributes from init.r0   __doc___unit_equivalencies_derivedr=   
_attr_name_attr_name_privateNr%   r#   r0   r*   s     r   "test_Parameter_instance_attributesz5ParameterTestMixin.test_Parameter_instance_attributesh   s    }k22222/00000}i00000 }g.....}&677777}j11111}n55555 }l33333}&:;;;;;;;r   c                 V    t          |d          sJ t          |j                  sJ dS )3Test :attr:`astropy.cosmology.Parameter.fvalidate`.r0   NrI   r*   s     r   test_Parameter_fvalidatez+ParameterTestMixin.test_Parameter_fvalidatey   s5    }k22222/0000000r   c                     t          |d          sJ t          |j        t                    sJ |j        |j        u sJ dS ).Test :attr:`astropy.cosmology.Parameter.name`.r5   N)r%   r   r5   r   rG   r*   s     r   test_Parameter_namez&ParameterTestMixin.test_Parameter_name~   sN    }f------,c22222!]%=======r   c                     t          |d          sJ t          |j        t          j        t          d          f          sJ |j        |j        u sJ dS ).Test :attr:`astropy.cosmology.Parameter.unit`.r2   N)r%   r   r2   r6   UnitBasetyperD   r*   s     r   test_Parameter_unitz&ParameterTestMixin.test_Parameter_unit   s[    }f------,qz4::.FGGGGG!]%8888888r   c                     t          |d          sJ t          |j        t          t          j        f          sJ |j        |j        u sJ dS )7Test :attr:`astropy.cosmology.Parameter.equivalencies`.r3   N)r%   r   r3   listr6   EquivalencyrE   r*   s     r   test_Parameter_equivalenciesz/ParameterTestMixin.test_Parameter_equivalencies   sU    }o66666-5am7LMMMMM*m.JJJJJJJr   c                     t          j        t                    5  |j        }ddd           n# 1 swxY w Y   t	          |t
                    sJ ||j        u sJ dS )5Test :attr:`astropy.cosmology.Parameter.format_spec`.N)r;   r<   r   format_specr   r   r=   )r   r   r:   s      r   test_Parameter_format_specz-ParameterTestMixin.test_Parameter_format_spec   s    \344 	, 	,+C	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, #s#####m0000000s   .22c                     t          |d          sJ t          |j        t                    sJ |j        |j        u sJ |j        |j        v r|j        du sJ dS |j        du sJ dS )1Test :attr:`astropy.cosmology.Parameter.derived`.r4   FTN)r%   r   r4   boolrF   r5   r   r   r   r   s      r   test_Parameter_derivedz)ParameterTestMixin.test_Parameter_derived   s    }i00000-/66666$(>>>>> !999 (E111111 (D000000r   c                     t          ||j                  }t          |t                    sJ ||u sJ t          ||j                  }t	          j        |t          ||j                  k              sJ dS )z1Test :attr:`astropy.cosmology.Parameter.__get__`.N)r   r5   r   r   npr'   rH   )r   r   cosmor   r   s        r   test_Parameter_descriptor_getz0ParameterTestMixin.test_Parameter_descriptor_get   s     I}'9::	)Y/////M)))) E=#566	vi75-2R#S#SSTTTTTTTr   c                     t          ||j                  sJ t          j        t          d          5  t          ||j        d           ddd           dS # 1 swxY w Y   dS )z1Test :attr:`astropy.cosmology.Parameter.__set__`.zcan't set attributematchN)r%   rH   r;   raisesAttributeErrorsetattrrG   )r   rf   r   s      r   test_Parameter_descriptor_setz0ParameterTestMixin.test_Parameter_descriptor_set   s     um>????? ]>1FGGG 	; 	;E=3T:::	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	;s   AAAc                     t          |t                    sJ |j        |j        v sJ |j        s|j        |j        v sJ dS dS )z>Test each `astropy.cosmology.Parameter` attached to Cosmology.N)r   r   r5   r   r4   r   rb   s      r   test_Parameter_listedz(ParameterTestMixin.test_Parameter_listed   sh     -33333 !Y%AAAAA$ 	B %)AAAAA	B 	BAAr   c                 N    t          |d          sJ t          |d          sJ dS )z8Test `astropy.cosmology.Parameter`-related on Cosmology.r   r   N)r%   r   s     r   .test_parameter_related_attributes_on_CosmologyzAParameterTestMixin.test_parameter_related_attributes_on_Cosmology   s8     y"233333y"67777777r   c                      G d d|          } G d d|          }|j         |j         u sJ |j        |j        k    sJ dS )z>Cosmology Parameter not unique to class when subclass defined.c                   "    e Zd Z e            ZdS )AParameterTestMixin.test_Parameter_not_unique.<locals>.ExampleBaseN)__name__
__module____qualname__r   param r   r   ExampleBaseru      s        IKKEEEr   r{   c                       e Zd ZdS )=ParameterTestMixin.test_Parameter_not_unique.<locals>.ExampleNrv   rw   rx   rz   r   r   Exampler}              Dr   r   N)ry   r   )r   r   clean_registryr{   r   s        r   test_Parameter_not_uniquez,ParameterTestMixin.test_Parameter_not_unique   s    	  	  	  	  	 ) 	  	  	 	 	 	 	 	k 	 	 	 } 11111%)CCCCCCCr   c                      G d d|          }|j         d         dk     |j         d         dk    r4t          |j         dd                   t          |j                   k    sJ dS dS )zTest parameters are reordered.c                   0    e Zd Z e            ZddddZdS )HParameterTestMixin.test_Parameters_reorder_by_signature.<locals>.ExampleNr5   metac                    d S r   rz   r   ry   r5   r   s       r   __init__zQParameterTestMixin.test_Parameters_reorder_by_signature.<locals>.Example.__init__   s    r   )rv   rw   rx   r   ry   r   rz   r   r   r   r      s=        IKKE.2       r   r   r   ry      N)r   r   r   r   r   r   s       r   $test_Parameters_reorder_by_signaturez7ParameterTestMixin.test_Parameters_reorder_by_signature   s    	 	 	 	 	i 	 	 	 	q!W,, #A&'11w-abb122c):R6S6SSSSS 21SSr   c                      G d d|          } |d          j         dt          j        z  k    sJ  |dt          j        z            j         dt          j        z  k    sJ  |dt          j        z            j         dt          j        z                      t          j                  k    sJ  |dt          j        z            j         dt          j        z                      t          j        t          j                              k    sJ dS )z6Test the parameter creation process. Uses ``__set__``.c                   z     e Zd Z eej         ej                              ZddddZe	 fd            Z
 xZS )<ParameterTestMixin.test_make_from_Parameter.<locals>.Example)r2   r3   Nr   c                    || _         d S r   ry   r   s       r   r   zEParameterTestMixin.test_make_from_Parameter.<locals>.Example.__init__       "


r   c                 D    t                                                      S r   superis_flatr   	__class__s    r   r   zDParameterTestMixin.test_make_from_Parameter.<locals>.Example.is_flat       ww(((r   )rv   rw   rx   r   r6   eVr7   ry   r   propertyr   __classcell__r   s   @r   r   r      s        I14}q}GGGE.2 # # # # # ) ) ) ) X) ) ) ) )r   r   r   N)ry   r6   r   Jtokgr7   r   s       r   test_make_from_Parameterz+ParameterTestMixin.test_make_from_Parameter   s    	) 	) 	) 	) 	)i 	) 	) 	) wqzz1qt8++++wq14x  &!ad(2222wq13w%!ac'ad););;;;;wq14x  &1qt8--amoo*N*NNNNNNNr   N)rv   rw   rx   rC   r;   fixturer   r   r+   r8   r@   rJ   rM   rP   rU   rZ   r^   rc   rg   rn   rp   rr   r   r   r   rz   r   r   r
   r
      st         ^F F ^F ^J J ^JU U U) ) ).	) 	) 	)< < <"1 1 1
> > >9 9 9K K K1 1 1
1 
1 
1	U 	U 	U; ; ; 	B 	B 	B8 8 8D D DT T T O O O O Or   r
   c                   L    e Zd ZdZd Zd Z ej        dddg          d             Z ej        d	          d
             Z	 ej        d	          d             Z
 fdZ fdZ fdZ fdZ fdZ fdZ fdZ fdZd Zd Zd Zd Zd Zd Zd Zd Zd Z xZS )TestParameterz
    Test `astropy.cosmology.Parameter` directly. Adds a lot of specific tests
    that wouldn't be covered by the per-cosmology tests.
    c                 b     G d dt                      G fdd          }|d| _        d S )Nc                   v     e Zd Z edej         ej                              ZddZe	 fd            Z
 xZS )+TestParameter.setup_class.<locals>.Example1!Description of example parameter.)r1   r2   r3      c                     || _         d S r   r   r   ry   s     r   r   z4TestParameter.setup_class.<locals>.Example1.__init__  r   r   c                 D    t                                                      S r   r   r   s    r   r   z3TestParameter.setup_class.<locals>.Example1.is_flat  r   r   r   )rv   rw   rx   r   r6   mr7   ry   r   r   r   r   r   s   @r   Example1r     s        I7S+amoo  E# # # # ) ) ) ) X) ) ) ) )r   r   c                   T    e Zd Zdej        z  fdZ j        j        d             ZdS )+TestParameter.setup_class.<locals>.Example2r   c                     || _         d S r   r   r   s     r   r   z4TestParameter.setup_class.<locals>.Example2.__init__  r   r   c                 @    |                     t          j                  S r   )r   r6   r/   )r   ry   values      r   ry   z1TestParameter.setup_class.<locals>.Example2.param   s    xx~~%r   N)rv   rw   rx   r6   r   r   ry   	validator)r   s   r   Example2r     sS        %'!#X # # # # ^%& & &%& & &r   r   )r   r   )r   classes)r   r   r   s     @r   setup_classzTestParameter.setup_class  sv    	) 	) 	) 	) 	)y 	) 	) 	)	& 	& 	& 	& 	& 	& 	&x 	& 	& 	& %-(CCr   c                 p    | j                                         D ]}t          j        |j                   d S r   )r   r)   r   r   rx   )r   clss     r   teardown_classzTestParameter.teardown_class'  s@    <&&(( 	5 	5C"3#34444	5 	5r   classr   r   )scopeparamsc                 &    | j         |j                 S )zCosmology class.)r   ry   )r   requests     r   r   zTestParameter.cosmo_cls+  s     |GM**r   )r   c                      |            S )zCosmology instancerz   r   s     r   rf   zTestParameter.cosmo0  s     y{{r   c                     |j         S )z+Get Parameter 'param' from cosmology class.r   r   s     r   ry   zTestParameter.param5  s     r   c                 J   t                                          |           |j        dk    sJ |j        t          j        k    sJ |j        t	          j                    k    sJ |j        dk    sJ |j	        t          j        k    sJ |j        dk    sJ |j        dk    sJ dS )rB   r    ry   _paramN)r   rJ   rC   rD   r6   r   rE   r7   r=   rF   re   False_rG   rH   r   ry   r   s     r   rJ   z0TestParameter.test_Parameter_instance_attributes<  s    225999 } CCCCC {ac!!!!#q}6666!R''''~**** 7****'8333333r   c                     t                                          |           |                    ||dt          j        z            }|dt          j        z  k    sJ dS )rL     r   N)r   rM   r0   r6   r   r/   )r   rf   ry   r   r   s       r   rM   z&TestParameter.test_Parameter_fvalidateM  sS    ((///udQSj99AD      r   c                 d    t                                          |           |j        dk    sJ dS )rO   ry   N)r   rP   r5   r   s     r   rP   z!TestParameter.test_Parameter_nameT  s4    ##E***zW$$$$$$r   c                 x    t                                          |           |j        t          j        k    sJ dS )rR   N)r   rU   r2   r6   r   r   s     r   rU   z!TestParameter.test_Parameter_unitZ  s6    ##E***zQS      r   c                     t                                          |           |j        t          j                    k    sJ dS )rW   N)r   rZ   r3   r6   r7   r   s     r   rZ   z*TestParameter.test_Parameter_equivalencies`  s;    ,,U333"amoo555555r   c                     t                                          |           t          j        t                    5  |j        dk    sJ 	 ddd           dS # 1 swxY w Y   dS )r\   r   N)r   r^   r;   r<   r   r]   r   s     r   r^   z(TestParameter.test_Parameter_format_specf  s    **5111\344 	+ 	+$*****	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+s   AAAc                 b    t                                          ||           |j        du sJ dS )r`   FN)r   rc   r4   )r   r   ry   r   s      r   rc   z$TestParameter.test_Parameter_derivedm  s6    &&y%888}%%%%%%r   c                     t                                          |||           t          ||j                  }|dt          j        z  k    sJ dS )z1Test :meth:`astropy.cosmology.Parameter.__get__`.r   N)r   rg   r   r5   r6   r   )r   r   rf   ry   r   r   s        r   rg   z+TestParameter.test_Parameter_descriptor_getv  sO    --iFFF uz**QS      r   c                    t           j        D ]/}|                    |          }|j        |j        |         k    sJ 0t	          j        t          d          5  t          d           ddd           n# 1 swxY w Y   t	          j        t          d          5  t          t                                 ddd           dS # 1 swxY w Y   dS )z3Test :meth:`astropy.cosmology.Parameter.validator`.z`fvalidate`, if strri   zNOT REGISTERED)r0   Nz!`fvalidate` must be a function or)	r   r   r   r0   r;   rk   
ValueError	TypeErrorobject)r   ry   r    newparams       r   test_Parameter_validatorz&TestParameter.test_Parameter_validator  sV   / 	J 	JAq))H%)Fq)IIIIII ]:-BCCC 	2 	2 01111	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 ]9,OPPP 	* 	*))))	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	*s$   A55A9<A9CC	C	c                    |                     |dt          j        z            }|j        |j        d         u r&|j        t          j        k    sJ |j        dk    sJ dS |j        t          j        k    sJ |j        dk    sJ dS )z2Test :meth:`astropy.cosmology.Parameter.validate`.r   defaultr   N)validater6   r   r0   r   r2   r   r/   )r   rf   ry   r   s       r   test_Parameter_validatez%TestParameter.test_Parameter_validate  s    udQSj11 ?e8CCC:$$$$;$&&&&&&:%%%%;!######r   c                 z   t          j        t          d          5  |j                            dd           ddd           n# 1 swxY w Y   d }	 |j                            d|          }||u sJ 	 |j        j                            dd           n%# |j        j                            dd           w xY w	 |j                            d          d             }|j        j        d         |u sJ 	 |j        j                            dd           dS # |j        j                            dd           w xY w)z<Test :meth:`astropy.cosmology.Parameter.register_validator`.zvalidator 'default' alreadyri   r   Nc                     | S r   rz   )xs    r   notnonefunczDTestParameter.test_Parameter_register_validator.<locals>.notnonefunc  s    Hr   newvalidatorc                     |S r   rz   )	cosmologyry   r   s      r   funcz=TestParameter.test_Parameter_register_validator.<locals>.func  s    r   )r;   rk   KeyErrorr   register_validatorr   r   )r   ry   r   r   r   s        r   !test_Parameter_register_validatorz/TestParameter.test_Parameter_register_validator  s    ]8+HIII 	@ 	@O..y$???	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@	 	 		K::>;WWI+++++O044^TJJJJEO044^TJJJJ	K_//??  @? ?7G4OOOOOO044^TJJJJJEO044^TJJJJs)   AAA!B "B8<9D "D:c                    |                                 |k    sJ |                                 |usJ |                     d          }|j        t          j        t          j        z  t          j        z  k    sJ |j        t          j        t          j        z  t          j        z  k    sJ t          j        t                    5  |                     d           ddd           dS # 1 swxY w Y   dS )z/Test :meth:`astropy.cosmology.Parameter.clone`.z
km/(yr sr)r2   T)not_a_valid_parameterN)	cloner2   r6   r/   yrsrr;   rk   r   )r   ry   r   s      r   test_Parameter_clonez"TestParameter.test_Parameter_clone  s   
 {{}}%%%%{{}}E)))) ;;L;11}qtad 22222zQTAD[14///// ]9%% 	4 	4KKdK333	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4s   C((C,/C,c                     t          d          }t          d          }||k    sJ t          d          }||k    sJ |dk    sJ dS )zz
        Test Parameter equality.
        Determined from the processed initialization args (including defaults).
        zkm / (s Mpc)r   zkm / s   N)r   )r   p1p2p3s       r   test_Parameter_equalityz%TestParameter.test_Parameter_equality  sc    
 N+++N+++Rxxxx H%%%Rxxxx Qwwwwwwr   c                     t          |          }d|v sJ dD ]}||v s
J |            |j        |j                                        v rd|v sJ dS d|v sJ dS )zTest Parameter repr.z
Parameter()zderived=Falsezunit=Unit("m")z%equivalencies=[(Unit("kg"), Unit("J")z'doc='Description of example parameter.'zfvalidate='default'zfvalidate=<N)reprr0   r   r)   )r   r   ry   rsubss        r   test_Parameter_reprz!TestParameter.test_Parameter_repr  s    KKq    
 	# 	#D 1999d9999 ?e8??AAAA(A------ A%%%%%%r   c                 p    t          dd          }t          t          |                    }||k    sJ dS )z?Test ``eval(repr(Parameter))`` can round trip to ``Parameter``.z A description of this parameter.T)r1   r4   N)r   evalr   )r   ry   PNPs       r   test_Parameter_repr_roundtripz+TestParameter.test_Parameter_repr_roundtrip  s7    <dKKK$q'']]Bwwwwwwr   c                 \     G d d          } G d d|          }|j         |j         u sJ dS )z?Descriptors are initialized once and not updated on subclasses.c                       e Zd ZddZ ej        e          Ze                     eej	        
                                          dd                   Z ed          ZdS )	RTestParameter.test_Parameter_doesnt_change_with_generic_class.<locals>.ExampleBaser   c                     || _         d S r   )r   r   s     r   r   z[TestParameter.test_Parameter_doesnt_change_with_generic_class.<locals>.ExampleBase.__init__  s    #r   r   N)
parameterszexample parameter)r1   r   )rv   rw   rx   r   inspect	signaturesigreplacerX   r  r)   _init_signaturer   ry   rz   r   r   r{   r     s        $ $ $ $ $'#H--C!kkTT#.:O:O:Q:Q5R5RSTSUSU5VkWWOI"5666EEEr   r{   c                       e Zd ZdS )NTestParameter.test_Parameter_doesnt_change_with_generic_class.<locals>.ExampleNr~   rz   r   r   r   r    r   r   r   Nr   )r   r{   r   s      r   /test_Parameter_doesnt_change_with_generic_classz=TestParameter.test_Parameter_doesnt_change_with_generic_class  sr    	7 	7 	7 	7 	7 	7 	7 	7	 	 	 	 	k 	 	 	 } 1111111r   c                      G d d|          }|j         |j         u sJ t          j        |j                   |j        t          vsJ dS )zCCosmology reinitializes all descriptors when a subclass is defined.c                       e Zd ZdS )JTestParameter.test_Parameter_doesnt_change_with_cosmology.<locals>.ExampleNr~   rz   r   r   r   r    r   r   r   N)ry   r   r   rx   )r   r   r   s      r   +test_Parameter_doesnt_change_with_cosmologyz9TestParameter.test_Parameter_doesnt_change_with_cosmology
  st    	 	 	 	 	i 	 	 	 }	//// 	w3444#+=======r   )rv   rw   rx   rC   r   r   r;   r   r   rf   ry   rJ   rM   rP   rU   rZ   r^   rc   rg   r   r   r   r   r   r   r   r	  r  r   r   s   @r   r   r     s%        
D D D65 5 5 V^':z*BCCC+ + DC+ V^'"""  #" V^'"""  #"4 4 4 4 4"! ! ! ! !% % % % %! ! ! ! !6 6 6 6 6+ + + + +& & & & &! ! ! ! !* * *
$ 
$ 
$K K K:4 4 4&  $& & &&  2 2 2"> > > > > > >r   r   )rC   r  numpyre   r;   astropy.unitsunitsr6   astropy.cosmologyr   astropy.cosmology.corer   astropy.cosmology.parameterr   r   r   astropy.utils.exceptionsr   r
   r   rz   r   r   <module>r     s%   2 1             ' ' ' ' ' ' 5 5 5 5 5 5         
 ? > > > > >aO aO aO aO aO aO aO aONO> O> O> O> O>& O> O> O> O> O>r   