Files
archy/core/target/debug/deps/libfastrand-86594cd9da747fc4.rmeta
T

138 lines
60 KiB
Plaintext
Raw Normal View History

2026-01-24 22:59:20 +00:00
rust
#rustc 1.93.0 (254b59607 2026-01-19)Á³VOÐêùÿ²?ÑL¼§Ì±-a7a40eb546f9e2b0Áá\ƒ¦è3$|]åŒ[IÚ tæ-14b12edc9f8cd90bÁë&Gf·Ã ¬ëñq:¤»b-bb76018b1173caf6Áõ…·fÊ ¦%g--c48c539199cbc88bÁà 9m Ù„«ÐÒþá•cB;-030c5b0bba47cc8fÁrustc_std_workspace_coreÁÛ¹þÓ7>H%¸ÚÉ­-4b81d37a5530864dÁüÃùs<Uß7VyóHr#QÏ-c66cc7807550ce25Á miniz_oxideÁõFÖˆÚ™ª‹"ÞXzLVª-62cbc7af83058505Áadler2Á—wÉD‘嵯|6¨%Œ
+-2f171dd2394b4b62Á hashbrownÁ,ïcV¼¨ø¢:Ê\'È߈-9571ba9e0f6c7a90Árustc_std_workspace_allocÁ%¥Èxµù·¼5Ä3Bœ-aac566ad65903fa4Á
std_detectÁMmáýZ^9õ Îà§e˜÷e-2edb296e590136d8Árustc_demangleÁ@¼§VÉNb˜æ¨fHÌ+V3-53b132e4a2fa6e26Ácfg_ifÁfÝv.Å"ÒÜuPp¹ˆ¶-f76b385d7d4d7f3eÁ addr2lineÁÕú-WiúQVÓ¬
µT§5-fe25100bd73e48e4ÁgimliÁ¹xLáÇí÷‘o±Ñ8£Å-265ba9e6e4f70b3fÁobjectÁÔ³ÝzÓÿ¶ò°öM›¼òü`-9ae0d1f8ea52a318ÁmemchrÁRÎ÷׎™te~QÓ¿ØC\Ò-0bff3c8e8f4e489eÁ  –©HtGNÏ·ˆ!á-d69228d077d46f36Á random_seedÁ\¿*Ê\Ù)¼Dç)´Ù)Ê\ñ)½Dÿ)´ñ)üØ)0 Å\…-Ê\š,¼D¨,´š,Ê\²,½DÀ,´²,ü™,0³á
global_rngÁ     DEFAULT_RNG_SEEDÁ >    with_rngÁimpl FnOnce(&mut Rng) -> RÁ   try_with_rngÁÜ ä   
RestoreOnDropÁ'aÁrngÁcurrentÁ #² seedÁ%  get_seedÁ'  õ)  
alphabeticÁ+   alphanumericÁ-   lowercaseÁ/   uppercaseÁ1  choiceÁ33  digitÁ6  shuffleÁ88  fillÁ;   >  @  choose_multipleÁBü B  ÅEEEEEEMÈOgen_u32ÁOgen_u64ÁQ
WY_CONST_0ÁQ
WY_CONST_1ÁOgen_u128ÁO gen_mod_u32ÁO gen_mod_u64ÁO gen_mod_u128Á mul_high_u32Á mul_high_u64Á
mul_high_u128Á rng_integerÁ\ with_seedÁ\forkÁ\ _CHARSÁ\° a¦\õ\ˆ \\\Ý gü \Ç i¦\î
\ý
\ï mü \˜ o\± \Û r¦\Àtimpl RangeBounds<char>Át t t  RNGÁy__rust_std_internal_init_fnÁy { |__RUST_STD_INTERNAL_VALÁ{ ~ ¦impl RangeBounds<u8>Á  ¼ƒimpl RangeBounds<i8>Áƒ  ¬impl RangeBounds<u16>Á  Âimpl RangeBounds<i16>Á  ²Œimpl RangeBounds<u32>ÁŒ  Èimpl RangeBounds<i32>Á  ¸impl RangeBounds<u64>Á  Îimpl RangeBounds<i64>Á  ¾˜impl RangeBounds<u128>Á˜  Ôimpl RangeBounds<i128>Á  žimpl RangeBounds<usize>Áž  ˜ ¡impl RangeBounds<isize>Á¡  À¤¾¤ RngÁ§
§ìªÍ­Õ¯˜\¼±ô± \´Ŵ \È·· \Îºéº \Ô½¼½ \˜ ÀÀ \¦ÃÌà \¬ÆœÆ \²ÉîÉ \¸ÌÀÌ \¾ÏÏ \ÒæÒ 

#
$
8
;
N
P
Q
T
U
V
W
^
_
a
c
d
e
f
g
i
k
l
m
o
o
q
q
r
t
«
«
«
®
®
°
±
´
·
º
½
À
Ã
Æ
É
Ì
Ï
Ò
ħ§¨È©ì œ`Y:Ô™òä ®
!Ë
 "Õ
 pMÕÈS˜_8à`άâΞÎΣÎÞΧ#ª§¬§­§¯§M§Ä- à`¬âž£Þ Óž÷ö0xef6f79ed30ba75aÁù¼X

é¼X
É,É,qË,˜¸+»\¡Ø ÊÎùÚúX{ø°ú°û°Ðü°ý°þ°ìHˈXêE> ø°ú°û°Ðü°ý°þ°ìHˈXêE>Ž ŽÌ®ùÒvTyÊinnerÁM¨Þ@§ ŽáävT[{ÌÌùõX
éõX
¨Ž/5ù«®X 
|Ñâ.Ì ÄXùòÔXù‡!­X 
~Ó Ö å "Ì  !XL Å$XùàôX{Ì|Ó Ö å á~Ó Ö å P¥xlªÌ5-Ñ0x2d35_8dcc_aa6c_78a5Áɬ.–“K¸‹Ñ0x8bb8_4b93_962e_acc9ÁüP7  46C 
¾# ÆPüûOM`é#,ˆP»#»#27b"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"Áü“RA  ¾#Á#>6Cé# ÓRüþQWbé#,‹Rž%ž%Ž2Ab"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"ÁìÒt ¾#Á#5Bé# îtü½t3jé#,Êt†'†'2b"abcdefghijklmnopqrstuvwxyz"Áì¹ †'%2é# Õ ü¤3sé#†'y†'4b"ABCDEFGHIJKLMNOPQRSTUVWXYZ"Á
§¨%Î0Ñ7> XYZ§¨³á¤¥ýBoundÁ,Ø´™ ç§!
­˜ßA î
%Lý
 'Lõ )L T +L°  -LÇ L˜ /LÛ  1Lï  3Lˆ , 6L˜ <‰ 8L± $† ;Lµ# >L$ @LÝ |% BL¦Ë L¼ˆ ƒL¬Å L L²Ã ŒLÈ L¸Á LÎ L¾$¿ ˜LÔ$€! L,Á! žL˜ ,„" ¡LÀ$Ç" ¤ÇŸü.+ A simple and fast random number generator.Á/Ëü3_\ The implementation uses [Wyrand](https://github.com/wangyi-fudan/wyhash), a simple and fastÁü“30 generator but **not** cryptographically secure.ÁÇË # ExamplesÁÚË„Þ
Flip a coin:ÁïË ```ÁÌû if fastrand::bool() {ÁÔ• println!("heads");Á } else {ÁÔ½ println!("tails");ÁÉ0æËäê Generate a random `i32`:ÁË<‹É0ü“  let num = fastrand::i32(..);Á<´É0¼ËüÀ(% Choose a random element in an array:ÁéËÉ0üõ  let v = vec![1, 2, 3, 4, 5];Áü–'$ let i = fastrand::usize(..v.len());Á¤¾ let elem = v[i];ÁÉ0ÛËüßTQ Sample values from an array with `O(n)` complexity (`n` is the length of array):Á´Ë<¸É0üÀ,) fastrand::choose_multiple([1, 4, 5], 2);Áüí)& fastrand::choose_multiple(0..20, 12);Á<—É0ŸË£Ë¬§ Shuffle an array:Á½ËÉ0üÉ$! let mut v = vec![1, 2, 3, 4, 5];Áôî fastrand::shuffle(&mut v);Á<É0Ëü™,) Generate a random [`Vec`] or [`String`]:ÁÆËÉ0üÒ use std::iter::repeat_with;ÁòËüöKH let v: Vec<i32> = repeat_with(|| fastrand::i32(..)).take(10).collect();ÁüÂKH let s: String = repeat_with(fastrand::alphanumeric).take(10).collect();ÁÉ0 Ëüš SP To get reproducible results on every run, initialize the generator with a seed:Áî ËÉ0üú (% // Pick an arbitrary number as seed.Á´£
 fastrand::seed(7);Áº
Ëü¾
41 // Now this prints the same number on every run:Áüó
&# println!("{}", fastrand::u32(..));Á É0¢ Ëü¦ YV To be more efficient, create a new [`Rng`] instance instead of using the thread-localÁt€  generator:Á Ë<“ É0ü› ¢8» Ëü¿ '$ let mut rng = fastrand::Rng::new();Áüç OL let mut bytes: Vec<u8> = repeat_with(|| rng.u8(..)).take(10_000).collect();Á
É0¿
ËüÃ
da This crate aims to expose a core set of useful randomness primitives. For more niche algorithms,Áü¨EB consider using the [`fastrand-contrib`] crate alongside this one.ÁîË # FeaturesÁËü…\Y - `std` (enabled by default): Enables the `std` library. This is required for the globalÁüâ`] generator and global entropy. Without this feature, [`Rng`] can only be instantiated usingÁüÃ/, the [`with_seed`](Rng::with_seed) method.Áüó_\ - `js`: Assumes that WebAssembly targets are being run in a JavaScript environment. See theÁüÓKH [WebAssembly Notes](#webassembly-notes) section for more information.ÁŸË¼£ # WebAssembly NotesÁ»Ëü¿eb For non-WASI WASM targets, there is additional sublety to consider when utilizing the global RNG.Áü¥fc By default, `std` targets will use entropy sources in the standard library to seed the global RNG.ÁüŒXU However, these sources are not available by default on WASM targets outside of WASI.ÁåËüé]Z If the `js` feature is enabled, this crate will assume that it is running in a JavaScriptÁüÇeb environment. At this point, the [`getrandom`] crate will be used in order to access the availableÁü­da entropy sources and seed the global RNG. If the `js` feature is not enabled, the global RNG willÁÔ’ use a predefined seed.Á­Ëü±C@ [`fastrand-contrib`]: https://crates.io/crates/fastrand-contribÁüõ52 [`getrandom`]: https://crates.io/crates/getrandomÁ¡Á Ä Á8µ„Ê Û7ahttps://raw.githubusercontent.com/smol-rs/smol/master/assets/images/logo_fullsize_transparent.pngÁüÝcü¾¡Ç Ê Ä8 Þ7åKüàcüÄ XYZ§¨³ëáìë¤ê¥éý*ã´™ çâ§!
­áßA î
à %Lý
ß 'LõÞ )L Ý +L° Ü -LÇ Û /LÛ Ú 1Lï Ù 3Lˆ Ø 6L˜ × 8L± Ö ;LÕ >LÔ @LÝ Ó BL¦Ò L¼Ñ ƒL¬Ð LÂÏ L²Î ŒLÈÍ L¸Ì LÎË L¾Ê ˜LÔÉ LÈ žL˜ Ç ¡LÀÆ ¤L”ℎ
ü¥!óöüÌæéØÛÏ»  £ ³8 ¬7¼ž%')+-/1368;>@BEy€ƒŒ˜ž¡¤È@§ 
Ȩ 
q$UÉ, ç\i§! ­ßA T9[|J<¬_/lz"Ü®„´ ѤàÎÅœ‡üûC@ Initialize the `Rng` from the system's random number generator.ÁÃËüË)& This is equivalent to [`Rng::new()`].Á<ŠÎ
Μ…üÈ*' Creates a new random number generator.ÁŒÎ
Ê<closure_kind>Á<closure_signature>Á<upvars>ÁEE—E AccessErrorÁ Ê‹>׳ßNXÎå ü²2 ä Ü Ü ä ©â¦Y ¾©â¡YÔÄÕ¡Y ÕάÉÕ¡Y€Z¦Y Ý
¦Y¡Yþ Ábd_aìV„W¡W¦Y¡YÁX ަY¡YüÜX ¡Yê³í³î³Òï³ìð³ñ³ò³ìäs{©¶¦YÉXÜ ä ÑY ìáYÔòÖ¡Y Öά÷Ö¡Yü\¦Y
¦Y¡Yþ ïY[_aìV„W¡W¦Y¡YÁX©[¿[Ä›  Â
 ®
!Ë
 "Õ
 pMÕÈS˜_Â
pMÕÈS˜_!"$° ”º º   Â
Ž  Îüã 8××$ $”‰ Ø Øå # #
$8$ ´œ
üÒ ?< Initializes the thread-local generator with the given seed.ÁNÑå 
%î
Â
%ìV&„W&¡W&&%&ÁX Îå  ÑÄ´üØ
QN Gives back **current** seed that is being held by the thread-local generator.Á^Ñ
'Ü'ìV(„W(¡W(('(ÁX¡bÑå ¬šôñ Generates a random `bool`.Án
)¿)ìV*„W*¡W**)*ÁX¡bå ÜüÐ41 Generates a random `char` in ranges a-z and A-Z.Á~
+º+ìV,„W,¡W,,+,ÁX¡bå ì•üÑ96 Generates a random `char` in ranges a-z, A-Z and 0-9.ÁŽ
-Â-ìV.„W.¡W..-.ÁXùfå Ô‘üÛ+( Generates a random `char` in range a-z.Áž
/»/ìV0„W0¡W00/0ÁXùfå Ô‡üÑ+( Generates a random `char` in range A-Z.Á®
1±1ìV2„W2¡W2212ÁXùfå üÎküÇ.+ Choose an item from an iterator at random.ÁöËüúNK This function may have an unexpected result if the `len()` property of theÁüÉJG iterator does not match the actual number of items in the iterator. IfÁü”/, the iterator is empty, this returns `None`.Á¾ü ø°ú°û°Ðü°ý°þ°ìHˈXêE>çm¯Jü 44©âçm Ü®Jçm©Kçm°JŒ§
3çm£ $ß8:É3ìV5„W5¡W5535çmÁX¡bìmçmü”üà1. Generates a random digit in the given `base`.ÁËü–<9 Digits are represented by `char`s in ranges 0-9 and a-z.ÁÓËü×2/ Panics if the base is zero or greater than 36.ÁÎ
6baseÁ$¡Ã6ìV7„W7¡W7767ÁXùf îqü‚"ôÙ Shuffles a slice randomly.ÁÞÙ Ù
å 99 ©â´s 
8´sî,”´8ìV:„W:¡W::8:´sÁXœb  ³sìÿüÍ'$ Fill a byte slice with random data.ÁîÚ Úë#å  
;î,‹¬;ìV<„W<¡W<<;<ÁXœb  ë#¤Â × ¿ Ý ì , Þ8 ß& à8á$ ã, å8¡æ& é8ê*î ñ ¼+ û ü 8¡ý , ƒ8¡<Ë< Panics if the range is empty.Áü!+ Ç È Ï8þ8Ù8 Ý, à8Üu á â þ8rangeÁ& è88ç ú, û8Üu ü ý(, ƒ8Üu   8Í D” œ ¬ 8 ž Ÿ8‹y ¡ ¢, £8Üu ¤ ¥ «8úw% ½œ®#ü€#-* Generates a random `f32` in range `0..1`.Áþ
>Ñ#>ìV?„W?¡W??>?ÁX¡b°{å œ$üá#-* Generates a random `f64` in range `0..1`.Á
@²$@ìVA„WA¡WAA@AÁX¡bí|å üŠ%QüÂ$GD Collects `amount` values at random from the iterable into a vector.ÁçmÁ#ßAßA­âAbufÁ«<ãA¾ «<µ[<™é°n•E•EEGlobalÁ Ï€ûkW¬ sü CCÒn ¡%ând¤%
BçmsourceÁ4²%amountÁ4½%.0,ë%BìVD„WD¡WDDBDçmÁX¡bÊ~çm Á#ü€'»& ž& ý&8Æ Ÿ& ¢& ü&8à£& ¦& û&8÷¬& ¯& Þ&8Ê\°& ¼&7¼D¾&$ Æ&8Ê\È& Ô&7½DÖ&$ ß&8ØLå& ï&7unknownÁLñ&ü™&f\ƒ' ø°ú°û°Ðü°ý°þ°ìHˈXêE>Ñ
Eüª')lÆ'ÌÝ'$é'4ï'\€(4…(”•(< (T”ûÎNßN´áü”HE Clones the generator by creating a new generator with the same seed.Á,äÛ ÛÎÎM êM
NÎPQTUVWäá Ü ÜÎîqO ì O
PäÙ!<Ü!Ý ÝÎÑO ä!O
Q$é!¬Õ#TÛ#ѬŒ$T’$ÑôŸ&D¢&Þ ÞÎO «&O
T$°&üÍ'(\Ð'ß ßÎîqîqO Ü'O
U$á' ç'üõ+(\ø+à àÎÑÑO „,O
V$‰, ‡ ,üž0+d¡0á áÎO ®0O
W$³0 ‡ ¹0ü¹4&d¼4îqîqîq
X É4 Ñ4üº5&d½5ÑÑÑ
Y“‰ Ê5œ‰ Ò5ü¾6*lÁ6
Z“‰ Ï6œ‰ Ø6Ć:\“: Ÿ: ÃD ¥: Ö:, ¦:8Üu §:& ¨:8©:$ «:, ­:8
unsigned_tÁT®:& ¸:8¹:$ »:, ½:85¾:& Á:8Â:$ Ä:, Æ:8Ç:& Ê:8Ë:$ Í:, Ï:8¡Ð:& Ó:8Ô:*Ø: Û: ÀD+ å: æ: ñ:8¡ç: ë:, í:8¡î:<Ëû:<ÿvü‡;!+ ±; ²; ¹;8þ4³;8Ã;8 Ç;, Ê;8Üu Ë; Ì; ó;  Í;8Î;8$Ò;$ Ö;8úw,Ø;& Ý;8$ß;8ç\ä; ï;, ð;8Üu ñ; ò;(õ;, ø;8Üu ù; û; ºD48‰<8panic_empty_rangeÁŒ< Ÿ<¡< ¤< Ú=8õ ,¶< »< ¼< Ì= 7empty range: {:?}..{:?}ÁÌÒ<$ ë<8úw,= †=8 start_boundÁ\‡= = “=$ ”=8úw,ª= ¯=8 end_boundÁL°= ¹= º=% Û=8ê=8lowÁî= ò=8,ô=8úw,ú= ÿ=8\€> > Œ> Ž> Ô?8*, >'¥>8 UnboundedÁL§>*±>8³$´>'¸>, º>8Üu »>'¼>8MINÁ¾>$ Á>8*,Ó>'Ø>8IncludedÁDÚ> â> å> ã>8 ä>*ç>8ø’ ê>$ ë>8*,ý>'?8ExcludedÁD„? Œ? ? ?8ø’ Ž?*‘?8ø’ ”? •?8 checked_addÁ\? ¡? £?7í ¢? ¤?8unwrap_or_elseÁt¥? ³? Å?8ûŽŒ´?$ Æ?% Õ?8ä?8highÁ$è? í?8,ï?8úw,õ? ú?8ÉLû? „@ …@ ‡@ ÍA8*,™@'ž@8ä‘L @*ª@8³$­@'±@, ³@8Üu ´@'µ@8MAXÁ·@$ º@8*,Ì@'Ñ@8Ñ’DÓ@ Û@ Þ@ Ü@8ø’ Ý@*à@8ø’ ã@$ ä@8*,ö@'û@8°“Dý@ …A ˆA †A8ø’ ‡A*ŠA8ø’ A ŽA8 checked_subÁ\A šA œA7í ›A A8³”tžA ¬A ¾A8ûŽŒ­A$ ¿A% ÎA8ÝA8ûàA äA8ý”$æA ëA žB8ûŽŒýA ŽB B% B8­B8û°B´B8³$·B'»B, ½B8Üu ¾B'¿B8ª’ÁBÅB8ý”$ÈBÍB8³$ÐB'ÔB, ÖB8Üu ×B'ØB8¥–ÚB ÞB ŽC8$ðB ôB, õB85öB ùB úB8üB, ÿB8Üu €C8$C •C °D8§C8¾ «C ¯C8ý”$±C µC8Ðd¶C ÂC ÆC8ûÃC ÇC8ËdÈC ÔC ÖC7í ÕC% ×C8ûéC ìC8ËdíC ùC ¢D8$úC þC, ÿC8€D ƒD D8¾ „D8ˆD, D8…‹TŒD8—D8 šD8D,  D8Üu ¡D% ÁDDÆDÎ]^_acdefg±´·º½ÀiklmoqÃÆÉÌÏÒrtü·F#üÕD@= Creates a new random number generator with the initial seed.Á,ü¨EŠzthis creates a new instance of `Rng`; if you want to initialize the thread-local generator, use `fastrand::seed()` insteadÁL¾FÑÎ\\
]î
$ÈFô²NüúF[X Clones the generator by deterministically deriving a new generator based on the initialÁLÚG seed.ÁèGËüðGVS This function can be used to create a new generator that is a "spinoff" of the oldÁüËHTQ generator. The new generator will not produce the same sequence of values as theÁ”¤I old generator.Á»IËlÃI