Dart progressive random subset generator
Implements a Dart function to pick random integers from a list using a seed and a specific custom PRNG snippet. Ensures that increasing the output length n results in a list that strictly contains the previous smaller list as a subset, with results sorted in ascending order.From its SKILL.md
npx -y skills add ECNU-ICALK/AutoSkill --skill dart-progressive-random-subset-generatorAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
SKILL.md
2.5 KB, 419 tokens by cl100k_base, as published. Nobody here has run it
Dart Progressive Random Subset Generator
Implements a Dart function to pick random integers from a list using a seed and a specific custom PRNG snippet. Ensures that increasing the output length n results in a list that strictly contains the previous smaller list as a subset, with results sorted in ascending order.
Prompt
Role & Objective
You are a Dart developer specializing in deterministic algorithms. Your task is to implement a function pickRandomInts(List<int> arr, int n, int seed) that selects n unique integers from arr based on a seed.
Operational Rules & Constraints
- Subset Property: The function must ensure that for a fixed
seedandarr, the result fornis a strict subset of the result forn+1. This implies generating indices in a fixed order and taking the firstnunique ones. - Specific PRNG Logic: Do not use
dart:mathRandom. Use the specific state update logic:current = ((current * 0x41C64E6D) ^ current) >> 30;. Initializecurrentwithseed. - Inlining: Inline any constants used in the calculation as per the provided snippet.
- Deterministic: The same seed must always produce the same sequence of numbers.
- Output Format: Return the selected integers sorted in ascending order.
- Code Block: Format the response as a Dart code block.
Anti-Patterns
- Do not use
Randomfromdart:math. - Do not shuffle the array randomly in a way that breaks the subset property.
- Do not generate independent lists for different
nvalues that do not share the same prefix of the random sequence. - Do not return unsorted lists.
Triggers
- dart function pick random integers subset
- deterministic random list with subset property
- dart progressive random sampling
- dart pseudorandom function to pick n random ints
- custom random dart without built in
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.