+
    ߢ2j
                        a  R
 t0 t R t^ RIHtHt ^RIHtHt / t] ^ k  ! R R4      t	R t
]! ]
4      tR t]R 4       t]R 4       t]R	 4       tR# )z'Aliases for microarchitecture features.)CallableDict)TARGETS_JSONLazyDictionaryc                   0   a  ] tR t^t o RtR tR tRtV tR# )FeatureAliasTestzA test that must be passed for a feature alias to succeed.

Args:
    rules (dict): dictionary of rules to be met. Each key must be a
        valid alias predicate
c                    Wn         . V n        VP                  4        F1  w  r#V P                  P                  \        V,          ! V4      4       K3  	  R # N)rules
predicatesitemsappend_FEATURE_ALIAS_PREDICATE)selfr
   nameargss   &&  2lib/python3.14/site-packages/archspec/cpu/alias.py__init__FeatureAliasTest.__init__   s=    
++-JDOO""#;D#A$#GH (    c                   a \         ;QJ d)    V3R  lV P                   4       F  '       d   K   R# 	  R# ! V3R  lV P                   4       4      # )c              3   2   <"   T F  q! S4      x  K  	  R # 5ir	    ).0feature_testmicroarchitectures   & r   	<genexpr>,FeatureAliasTest.__call__.<locals>.<genexpr>   s     W|< 122s   FT)allr   )r   r   s   &fr   __call__FeatureAliasTest.__call__   s4    sWtWssWsWsWtWWWr   )r   r
   N)	__name__
__module____qualname____firstlineno____doc__r   r   __static_attributes____classdictcell__)__classdict__s   @r   r   r      s     IX Xr   r   c                 p    \         R,          p / pV P                  4        F  w  r#\        V4      W&   K  	  V# )z6Returns the dictionary of all defined feature aliases.feature_aliases)r   r   r   )	json_dataaliasesaliasr
   s       r   _feature_aliasesr.       s6    ./IG!))%0 *Nr   c                h    V P                   pV\        9   d   RV R2p\        V4      hV \        V&   V # )zPDecorator to register a predicate that can be used to evaluate
feature aliases.
zthe alias predicate "z" already exists)r!   r   KeyError)funcr   msgs   &  r   alias_predicater3   ,   sA     ==D ''%dV+;<sm%)T"Kr   c                    R # )zThis predicate returns always True and it's there to allow writing
a documentation string in the JSON file to explain why an alias is needed.
c                     R # )Tr   )xs   &r   <lambda>reason.<locals>.<lambda>A   s    Tr   r   )_s   &r   reasonr:   <   s
    
 r   c                   a  V 3R lpV# )z~Returns a predicate that is True if any of the feature in the
list is in the microarchitecture being tested, False otherwise.
c                 z   <a  \         ;QJ d    V 3R  lS 4       F  '       g   K   R# 	  R# ! V 3R  lS 4       4      # )c              3   ,   <"   T F	  qS9   x  K  	  R # 5ir	   r   )r   r6   r   s   & r   r   (any_of.<locals>._impl.<locals>.<genexpr>K   s     D3Ca))3Cs   TF)any)r   list_of_featuress   fr   _implany_of.<locals>._implJ   s.    sD3CDssDsDsD3CDDDr   r   )r@   rA   s   f r   any_ofrC   D   s    E Lr   c                   a  V 3R lpV# )zReturns a predicate that is True if the architecture family of
the microarchitecture being tested is in the list, False otherwise.
c                 4   < \        V P                  4      S9   # r	   )strfamily)r   list_of_familiess   &r   rA   families.<locals>._implV   s    $++,0@@@r   r   )rH   rA   s   f r   familiesrJ   P   s    A Lr   c                b    V ^8  d   Qh/ ^ \         9   d   \        \        \        3,          ;R&   # )   r   )__conditional_annotations__r   rF   r   )formats   "r   __annotate__rO      s#     - -
 3 2$sH}- 2 .r   N)rM   r%   typingr   r   schemar   r   r   r   r.   FEATURE_ALIASESr3   r:   rC   rJ   rO   )rM   s   @r   <module>rS      sy   
 . ! 002  2X X& !!12       r   