[{"data":1,"prerenderedAt":4},["ShallowReactive",2],{"readme-html:EDM115\u002Frandom-algorithm:master":3},"\u003Ch1 id=\"random-algorithm\" tabindex=\"-1\">\u003Cspan\n                class=\"header-copy-icon\"\n                role=\"button\"\n                data-slug=\"random-algorithm\"\n              >\n                \u003Csvg>\u003Cpath fill=\"currentColor\" d=\"M10.59 13.41c.41.39.41 1.03 0 1.42c-.39.39-1.03.39-1.42 0a5.003 5.003 0 0 1 0-7.07l3.54-3.54a5.003 5.003 0 0 1 7.07 0a5.003 5.003 0 0 1 0 7.07l-1.49 1.49c.01-.82-.12-1.64-.4-2.42l.47-.48a2.98 2.98 0 0 0 0-4.24a2.98 2.98 0 0 0-4.24 0l-3.53 3.53a2.98 2.98 0 0 0 0 4.24m2.82-4.24c.39-.39 1.03-.39 1.42 0a5.003 5.003 0 0 1 0 7.07l-3.54 3.54a5.003 5.003 0 0 1-7.07 0a5.003 5.003 0 0 1 0-7.07l1.49-1.49c-.01.82.12 1.64.4 2.43l-.47.47a2.98 2.98 0 0 0 0 4.24a2.98 2.98 0 0 0 4.24 0l3.53-3.53a2.98 2.98 0 0 0 0-4.24a.973.973 0 0 1 0-1.42\"\u002F>\u003C\u002Fsvg>\n              \u003C\u002Fspan>\u003Ca class=\"header-anchor\" href=\"#random-algorithm\">random_algorithm\u003C\u002Fa>\u003C\u002Fh1>\n\u003Cp>A very simple yet original random algo made while overthinking about randomness\u003Cbr>\n\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fv\u002Frandom_algorithm\" alt=\"PyPI - Version\" loading=\"lazy\"> \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fdm\u002Frandom_algorithm\" alt=\"PyPI - Downloads\" loading=\"lazy\"> \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fpepy\u002Fdt\u002Frandom_algorithm\" alt=\"Pepy Total Downlods\" loading=\"lazy\">\u003Cbr>\n\u003Cbr>\n\u003C\u002Fp>\n\u003Cp>\u003Ccode class=\"hljs\">\u003Cspan class=\"hljs-attribute\">random_algorithm\u003C\u002Fspan>\u003C\u002Fcode> is a Python library that generates random numbers using a novel approach based on English words and the current epoch time. It utilizes ASCII values of shuffled words, reduces them to single digits, and combines these digits to generate a random number of a specified size. This implementation attempts to get as close as possible to true randomness by using time-based factors and word shuffling.\u003C\u002Fp>\n\u003Ch2 id=\"features\" tabindex=\"-1\">\u003Cspan\n                class=\"header-copy-icon\"\n                role=\"button\"\n                data-slug=\"features\"\n              >\n                \u003Csvg>\u003Cpath fill=\"currentColor\" d=\"M10.59 13.41c.41.39.41 1.03 0 1.42c-.39.39-1.03.39-1.42 0a5.003 5.003 0 0 1 0-7.07l3.54-3.54a5.003 5.003 0 0 1 7.07 0a5.003 5.003 0 0 1 0 7.07l-1.49 1.49c.01-.82-.12-1.64-.4-2.42l.47-.48a2.98 2.98 0 0 0 0-4.24a2.98 2.98 0 0 0-4.24 0l-3.53 3.53a2.98 2.98 0 0 0 0 4.24m2.82-4.24c.39-.39 1.03-.39 1.42 0a5.003 5.003 0 0 1 0 7.07l-3.54 3.54a5.003 5.003 0 0 1-7.07 0a5.003 5.003 0 0 1 0-7.07l1.49-1.49c-.01.82.12 1.64.4 2.43l-.47.47a2.98 2.98 0 0 0 0 4.24a2.98 2.98 0 0 0 4.24 0l3.53-3.53a2.98 2.98 0 0 0 0-4.24a.973.973 0 0 1 0-1.42\"\u002F>\u003C\u002Fsvg>\n              \u003C\u002Fspan>\u003Ca class=\"header-anchor\" href=\"#features\">Features\u003C\u002Fa>\u003C\u002Fh2>\n\u003Cul>\n\u003Cli>Generates random numbers based on shuffled English words.\u003C\u002Fli>\n\u003Cli>ASCII values of each word are reduced to single digits.\u003C\u002Fli>\n\u003Cli>Supports dynamic generation of random numbers of any specified size.\u003C\u002Fli>\n\u003Cli>Includes special logic to generate lower numbers (like \u003Ccode class=\"hljs\">0\u003C\u002Fcode> or \u003Ccode class=\"hljs\">1\u003C\u002Fcode>), which can sometimes be difficult to produce with traditional randomization methods.\u003C\u002Fli>\n\u003Cli>Provides functions to extract seeds based on time and to reduce any number to a single digit.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch2 id=\"usage\" tabindex=\"-1\">\u003Cspan\n                class=\"header-copy-icon\"\n                role=\"button\"\n                data-slug=\"usage\"\n              >\n                \u003Csvg>\u003Cpath fill=\"currentColor\" d=\"M10.59 13.41c.41.39.41 1.03 0 1.42c-.39.39-1.03.39-1.42 0a5.003 5.003 0 0 1 0-7.07l3.54-3.54a5.003 5.003 0 0 1 7.07 0a5.003 5.003 0 0 1 0 7.07l-1.49 1.49c.01-.82-.12-1.64-.4-2.42l.47-.48a2.98 2.98 0 0 0 0-4.24a2.98 2.98 0 0 0-4.24 0l-3.53 3.53a2.98 2.98 0 0 0 0 4.24m2.82-4.24c.39-.39 1.03-.39 1.42 0a5.003 5.003 0 0 1 0 7.07l-3.54 3.54a5.003 5.003 0 0 1-7.07 0a5.003 5.003 0 0 1 0-7.07l1.49-1.49c-.01.82.12 1.64.4 2.43l-.47.47a2.98 2.98 0 0 0 0 4.24a2.98 2.98 0 0 0 4.24 0l3.53-3.53a2.98 2.98 0 0 0 0-4.24a.973.973 0 0 1 0-1.42\"\u002F>\u003C\u002Fsvg>\n              \u003C\u002Fspan>\u003Ca class=\"header-anchor\" href=\"#usage\">Usage\u003C\u002Fa>\u003C\u002Fh2>\n\u003Cp>Install the package in your repo\u003C\u002Fp>\n\n          \u003Cdiv class='code-block'>\n            \u003Cdiv class='code-block-header'>\n              \u003Cspan class='code-block-lang'>bash\u003C\u002Fspan>\n              \u003Cbutton class='copy-code-button' type='button'>\n                Copy\n              \u003C\u002Fbutton>\n            \u003C\u002Fdiv>\n            \u003Cpre>\u003Ccode class='hljs bash'>pip install random_algorithm\n\u003C\u002Fcode>\u003C\u002Fpre>\n          \u003C\u002Fdiv>\n        \u003Cp>\u003Cstrong>If you use a requirements file, add this line to it :\u003C\u002Fstrong>\u003C\u002Fp>\n\n          \u003Cdiv class='code-block'>\n            \u003Cdiv class='code-block-header'>\n              \u003Cspan class='code-block-lang'>bash\u003C\u002Fspan>\n              \u003Cbutton class='copy-code-button' type='button'>\n                Copy\n              \u003C\u002Fbutton>\n            \u003C\u002Fdiv>\n            \u003Cpre>\u003Ccode class='hljs bash'>random_algorithm==1.1.0\n\u003C\u002Fcode>\u003C\u002Fpre>\n          \u003C\u002Fdiv>\n        \u003Cp>You can import and use the library in your Python code like this :\u003C\u002Fp>\n\n          \u003Cdiv class='code-block'>\n            \u003Cdiv class='code-block-header'>\n              \u003Cspan class='code-block-lang'>python\u003C\u002Fspan>\n              \u003Cbutton class='copy-code-button' type='button'>\n                Copy\n              \u003C\u002Fbutton>\n            \u003C\u002Fdiv>\n            \u003Cpre>\u003Ccode class='hljs python'>\u003Cspan class=\"hljs-keyword\">from\u003C\u002Fspan> random_algorithm \u003Cspan class=\"hljs-keyword\">import\u003C\u002Fspan> gen_random\n\u003C\u002Fcode>\u003C\u002Fpre>\n          \u003C\u002Fdiv>\n        \u003Cp>Example :\u003C\u002Fp>\n\u003Cblockquote>\n\u003Cp>Generate a random number with a desired size of 5 digits\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\n          \u003Cdiv class='code-block'>\n            \u003Cdiv class='code-block-header'>\n              \u003Cspan class='code-block-lang'>python\u003C\u002Fspan>\n              \u003Cbutton class='copy-code-button' type='button'>\n                Copy\n              \u003C\u002Fbutton>\n            \u003C\u002Fdiv>\n            \u003Cpre>\u003Ccode class='hljs python'>random_number = gen_random(desired_size=\u003Cspan class=\"hljs-number\">5\u003C\u002Fspan>)\n\u003Cspan class=\"hljs-built_in\">print\u003C\u002Fspan>(\u003Cspan class=\"hljs-string\">f&quot;Generated random number : \u003Cspan class=\"hljs-subst\">{random_number}\u003C\u002Fspan>&quot;\u003C\u002Fspan>)\n\u003C\u002Fcode>\u003C\u002Fpre>\n          \u003C\u002Fdiv>\n        \u003Cp>You can also use the following internal functions :\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ccode class=\"hljs\">\u003Cspan class=\"hljs-function\">\u003Cspan class=\"hljs-title\">ascii_reduce\u003C\u002Fspan>\u003Cspan class=\"hljs-params\">(word, index)\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fcode> :\n\u003Cul>\n\u003Cli>Takes a word (ex \u003Ccode class=\"hljs\">\u003Cspan class=\"hljs-string\">&quot;github&quot;\u003C\u002Fspan>\u003C\u002Fcode>) and an index (can be any positive number) as input.\u003C\u002Fli>\n\u003Cli>Reduces the word to a single digit (returns an \u003Ccode class=\"hljs\">\u003Cspan class=\"hljs-built_in\">int\u003C\u002Fspan>\u003C\u002Fcode>).\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\u003Ccode class=\"hljs\">\u003Cspan class=\"hljs-function\">\u003Cspan class=\"hljs-title\">reduce_to_single_digit\u003C\u002Fspan>\u003Cspan class=\"hljs-params\">(n)\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fcode> :\n\u003Cul>\n\u003Cli>Reduces any integer \u003Ccode class=\"hljs\">\u003Cspan class=\"hljs-attribute\">n\u003C\u002Fspan>\u003C\u002Fcode> to a single digit by summing its digits repeatedly until one digit remains.\u003C\u002Fli>\n\u003Cli>For example, \u003Ccode class=\"hljs\">\u003Cspan class=\"hljs-function\">\u003Cspan class=\"hljs-title\">reduce_to_single_digit\u003C\u002Fspan>\u003Cspan class=\"hljs-params\">(\u003Cspan class=\"hljs-number\">9875\u003C\u002Fspan>)\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fcode> would return \u003Ccode class=\"hljs\">2\u003C\u002Fcode>.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\u003Ccode class=\"hljs\">\u003Cspan class=\"hljs-function\">\u003Cspan class=\"hljs-title\">get_time_seed\u003C\u002Fspan>\u003Cspan class=\"hljs-params\">()\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fcode> :\n\u003Cul>\n\u003Cli>Generates a seed based on the current time and ASCII reduction of character permutations.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3 id=\"handling-errors\" tabindex=\"-1\">\u003Cspan\n                class=\"header-copy-icon\"\n                role=\"button\"\n                data-slug=\"handling-errors\"\n              >\n                \u003Csvg>\u003Cpath fill=\"currentColor\" d=\"M10.59 13.41c.41.39.41 1.03 0 1.42c-.39.39-1.03.39-1.42 0a5.003 5.003 0 0 1 0-7.07l3.54-3.54a5.003 5.003 0 0 1 7.07 0a5.003 5.003 0 0 1 0 7.07l-1.49 1.49c.01-.82-.12-1.64-.4-2.42l.47-.48a2.98 2.98 0 0 0 0-4.24a2.98 2.98 0 0 0-4.24 0l-3.53 3.53a2.98 2.98 0 0 0 0 4.24m2.82-4.24c.39-.39 1.03-.39 1.42 0a5.003 5.003 0 0 1 0 7.07l-3.54 3.54a5.003 5.003 0 0 1-7.07 0a5.003 5.003 0 0 1 0-7.07l1.49-1.49c-.01.82.12 1.64.4 2.43l-.47.47a2.98 2.98 0 0 0 0 4.24a2.98 2.98 0 0 0 4.24 0l3.53-3.53a2.98 2.98 0 0 0 0-4.24a.973.973 0 0 1 0-1.42\"\u002F>\u003C\u002Fsvg>\n              \u003C\u002Fspan>\u003Ca class=\"header-anchor\" href=\"#handling-errors\">Handling errors\u003C\u002Fa>\u003C\u002Fh3>\n\u003Cp>\u003Ccode class=\"hljs\">\u003Cspan class=\"hljs-function\">\u003Cspan class=\"hljs-title\">gen_random\u003C\u002Fspan>\u003Cspan class=\"hljs-params\">()\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fcode> will raise the following exceptions if invalid inputs are provided :\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>\u003Ccode class=\"hljs\">\u003Cspan class=\"hljs-built_in\">TypeError\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fstrong> : Raised when \u003Ccode class=\"hljs\">\u003Cspan class=\"hljs-attribute\">desired_size\u003C\u002Fspan>\u003C\u002Fcode> is not an integer.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>\u003Ccode class=\"hljs\">\u003Cspan class=\"hljs-attribute\">ValueError\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fstrong> : Raised when \u003Ccode class=\"hljs\">\u003Cspan class=\"hljs-attribute\">desired_size\u003C\u002Fspan>\u003C\u002Fcode> is less than 1.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cdiv class=\"markdown-alert markdown-alert-warning\">\n\u003Cp class=\"markdown-alert-title\">Warning\u003C\u002Fp>\n\u003Cp>The code works fine but isn’t the most optimized ever.\u003Cbr>\nGenerating huge numbers will take a lot of time ! I you really need a big random number, call the function multiple times with low numbers (ex 1 or 2) and concatenate the results\u003C\u002Fp>\n\u003C\u002Fdiv>\n\u003Ch2 id=\"how-it-works\" tabindex=\"-1\">\u003Cspan\n                class=\"header-copy-icon\"\n                role=\"button\"\n                data-slug=\"how-it-works\"\n              >\n                \u003Csvg>\u003Cpath fill=\"currentColor\" d=\"M10.59 13.41c.41.39.41 1.03 0 1.42c-.39.39-1.03.39-1.42 0a5.003 5.003 0 0 1 0-7.07l3.54-3.54a5.003 5.003 0 0 1 7.07 0a5.003 5.003 0 0 1 0 7.07l-1.49 1.49c.01-.82-.12-1.64-.4-2.42l.47-.48a2.98 2.98 0 0 0 0-4.24a2.98 2.98 0 0 0-4.24 0l-3.53 3.53a2.98 2.98 0 0 0 0 4.24m2.82-4.24c.39-.39 1.03-.39 1.42 0a5.003 5.003 0 0 1 0 7.07l-3.54 3.54a5.003 5.003 0 0 1-7.07 0a5.003 5.003 0 0 1 0-7.07l1.49-1.49c-.01.82.12 1.64.4 2.43l-.47.47a2.98 2.98 0 0 0 0 4.24a2.98 2.98 0 0 0 4.24 0l3.53-3.53a2.98 2.98 0 0 0 0-4.24a.973.973 0 0 1 0-1.42\"\u002F>\u003C\u002Fsvg>\n              \u003C\u002Fspan>\u003Ca class=\"header-anchor\" href=\"#how-it-works\">How it works\u003C\u002Fa>\u003C\u002Fh2>\n\u003Col>\n\u003Cli>\u003Cstrong>Word shuffling\u003C\u002Fstrong> : The words from \u003Ccode class=\"hljs\">wordlist.txt\u003C\u002Fcode> are shuffled on each call to ensure randomness.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Random index\u003C\u002Fstrong> : The current epoch time is used to generate a random index into the shuffled word list.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>ASCII reduction\u003C\u002Fstrong> : Each word’s ASCII values are reduced to single digits and then summed to produce a random number.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Low numbers handling\u003C\u002Fstrong> : A special condition ensures that numbers like \u003Ccode class=\"hljs\">0\u003C\u002Fcode> and \u003Ccode class=\"hljs\">1\u003C\u002Fcode> can be generated using the current epoch time modulo operations.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Time Seed\u003C\u002Fstrong>: \u003Ccode class=\"hljs\">\u003Cspan class=\"hljs-function\">\u003Cspan class=\"hljs-title\">get_time_seed\u003C\u002Fspan>\u003Cspan class=\"hljs-params\">()\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fcode> creates a seed value based on permutations of characters from the current time.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch2 id=\"side-notes\" tabindex=\"-1\">\u003Cspan\n                class=\"header-copy-icon\"\n                role=\"button\"\n                data-slug=\"side-notes\"\n              >\n                \u003Csvg>\u003Cpath fill=\"currentColor\" d=\"M10.59 13.41c.41.39.41 1.03 0 1.42c-.39.39-1.03.39-1.42 0a5.003 5.003 0 0 1 0-7.07l3.54-3.54a5.003 5.003 0 0 1 7.07 0a5.003 5.003 0 0 1 0 7.07l-1.49 1.49c.01-.82-.12-1.64-.4-2.42l.47-.48a2.98 2.98 0 0 0 0-4.24a2.98 2.98 0 0 0-4.24 0l-3.53 3.53a2.98 2.98 0 0 0 0 4.24m2.82-4.24c.39-.39 1.03-.39 1.42 0a5.003 5.003 0 0 1 0 7.07l-3.54 3.54a5.003 5.003 0 0 1-7.07 0a5.003 5.003 0 0 1 0-7.07l1.49-1.49c-.01.82.12 1.64.4 2.43l-.47.47a2.98 2.98 0 0 0 0 4.24a2.98 2.98 0 0 0 4.24 0l3.53-3.53a2.98 2.98 0 0 0 0-4.24a.973.973 0 0 1 0-1.42\"\u002F>\u003C\u002Fsvg>\n              \u003C\u002Fspan>\u003Ca class=\"header-anchor\" href=\"#side-notes\">Side notes\u003C\u002Fa>\u003C\u002Fh2>\n\u003Cp>The time it takes to generate numbers is pretty linear, I’d evaluate it to \u003Cspan class=\"katex\">\u003Cspan class=\"katex-mathml\">\u003Cmath xmlns=\"http:\u002F\u002Fwww.w3.org\u002F1998\u002FMath\u002FMathML\">\u003Csemantics>\u003Cmrow>\u003Cmi>O\u003C\u002Fmi>\u003Cmo stretchy=\"false\">(\u003C\u002Fmo>\u003Cmi>n\u003C\u002Fmi>\u003Cmo stretchy=\"false\">)\u003C\u002Fmo>\u003C\u002Fmrow>\u003Cannotation encoding=\"application\u002Fx-tex\">O(n)\u003C\u002Fannotation>\u003C\u002Fsemantics>\u003C\u002Fmath>\u003C\u002Fspan>\u003Cspan class=\"katex-html\" aria-hidden=\"true\">\u003Cspan class=\"base\">\u003Cspan class=\"strut\" style=\"height:1em;vertical-align:-0.25em;\">\u003C\u002Fspan>\u003Cspan class=\"mord mathnormal\" style=\"margin-right:0.0278em;\">O\u003C\u002Fspan>\u003Cspan class=\"mopen\">(\u003C\u002Fspan>\u003Cspan class=\"mord mathnormal\">n\u003C\u002Fspan>\u003Cspan class=\"mclose\">)\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan>\u003Cbr>\nHere’s a quick overview :\u003Cbr>\n\u003Cimg src=\"https:\u002F\u002Fraw.githubusercontent.com\u002FEDM115\u002Frandom-algorithm\u002Fmaster\u002Flinear_gen_time.png\" alt=\"Analysis of the time taken to generate random numbers from 1 to 100\" loading=\"lazy\">\u003Cbr>\nOn my potato PC, an extrapolation of some results give the following formula (keep in mind that performance will change depending on your hardware) :\u003C\u002Fp>\n\u003Cp class='katex-block'>\u003Cspan class=\"katex-display\">\u003Cspan class=\"katex\">\u003Cspan class=\"katex-mathml\">\u003Cmath xmlns=\"http:\u002F\u002Fwww.w3.org\u002F1998\u002FMath\u002FMathML\" display=\"block\">\u003Csemantics>\u003Cmrow>\u003Cmtext>Time (seconds)\u003C\u002Fmtext>\u003Cmo>≈\u003C\u002Fmo>\u003Cmn>0.1623\u003C\u002Fmn>\u003Cmo>×\u003C\u002Fmo>\u003Cmtext>Desired size\u003C\u002Fmtext>\u003Cmo>+\u003C\u002Fmo>\u003Cmn>0.1468\u003C\u002Fmn>\u003C\u002Fmrow>\u003Cannotation encoding=\"application\u002Fx-tex\">  \n\\text{Time (seconds)} \\approx 0.1623 \\times \\text{Desired size} + 0.1468  \n\u003C\u002Fannotation>\u003C\u002Fsemantics>\u003C\u002Fmath>\u003C\u002Fspan>\u003Cspan class=\"katex-html\" aria-hidden=\"true\">\u003Cspan class=\"base\">\u003Cspan class=\"strut\" style=\"height:1em;vertical-align:-0.25em;\">\u003C\u002Fspan>\u003Cspan class=\"mord text\">\u003Cspan class=\"mord\">Time (seconds)\u003C\u002Fspan>\u003C\u002Fspan>\u003Cspan class=\"mspace\" style=\"margin-right:0.2778em;\">\u003C\u002Fspan>\u003Cspan class=\"mrel\">≈\u003C\u002Fspan>\u003Cspan class=\"mspace\" style=\"margin-right:0.2778em;\">\u003C\u002Fspan>\u003C\u002Fspan>\u003Cspan class=\"base\">\u003Cspan class=\"strut\" style=\"height:0.7278em;vertical-align:-0.0833em;\">\u003C\u002Fspan>\u003Cspan class=\"mord\">0.1623\u003C\u002Fspan>\u003Cspan class=\"mspace\" style=\"margin-right:0.2222em;\">\u003C\u002Fspan>\u003Cspan class=\"mbin\">×\u003C\u002Fspan>\u003Cspan class=\"mspace\" style=\"margin-right:0.2222em;\">\u003C\u002Fspan>\u003C\u002Fspan>\u003Cspan class=\"base\">\u003Cspan class=\"strut\" style=\"height:0.7778em;vertical-align:-0.0833em;\">\u003C\u002Fspan>\u003Cspan class=\"mord text\">\u003Cspan class=\"mord\">Desired size\u003C\u002Fspan>\u003C\u002Fspan>\u003Cspan class=\"mspace\" style=\"margin-right:0.2222em;\">\u003C\u002Fspan>\u003Cspan class=\"mbin\">+\u003C\u002Fspan>\u003Cspan class=\"mspace\" style=\"margin-right:0.2222em;\">\u003C\u002Fspan>\u003C\u002Fspan>\u003Cspan class=\"base\">\u003Cspan class=\"strut\" style=\"height:0.6444em;\">\u003C\u002Fspan>\u003Cspan class=\"mord\">0.1468\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fp>\n\u003Cp>As a final info, here’s the word length distribution of the dictionnary we use :\u003Cbr>\n\u003Cimg src=\"https:\u002F\u002Fraw.githubusercontent.com\u002FEDM115\u002Frandom-algorithm\u002Fmaster\u002Fword_length_distribution.png\" alt=\"Distribution of word length\" loading=\"lazy\">\u003Cbr>\n\u003Ca href=\"https:\u002F\u002Fchatgpt.com\u002Fshare\u002F66ef0268-990c-8005-a6aa-67ad5f415e39\" target=\"_blank\" rel=\"noopener noreferrer\">(\u003Cem>more\u003C\u002Fem>)\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch2 id=\"contributing\" tabindex=\"-1\">\u003Cspan\n                class=\"header-copy-icon\"\n                role=\"button\"\n                data-slug=\"contributing\"\n              >\n                \u003Csvg>\u003Cpath fill=\"currentColor\" d=\"M10.59 13.41c.41.39.41 1.03 0 1.42c-.39.39-1.03.39-1.42 0a5.003 5.003 0 0 1 0-7.07l3.54-3.54a5.003 5.003 0 0 1 7.07 0a5.003 5.003 0 0 1 0 7.07l-1.49 1.49c.01-.82-.12-1.64-.4-2.42l.47-.48a2.98 2.98 0 0 0 0-4.24a2.98 2.98 0 0 0-4.24 0l-3.53 3.53a2.98 2.98 0 0 0 0 4.24m2.82-4.24c.39-.39 1.03-.39 1.42 0a5.003 5.003 0 0 1 0 7.07l-3.54 3.54a5.003 5.003 0 0 1-7.07 0a5.003 5.003 0 0 1 0-7.07l1.49-1.49c-.01.82.12 1.64.4 2.43l-.47.47a2.98 2.98 0 0 0 0 4.24a2.98 2.98 0 0 0 4.24 0l3.53-3.53a2.98 2.98 0 0 0 0-4.24a.973.973 0 0 1 0-1.42\"\u002F>\u003C\u002Fsvg>\n              \u003C\u002Fspan>\u003Ca class=\"header-anchor\" href=\"#contributing\">Contributing\u003C\u002Fa>\u003C\u002Fh2>\n\u003Cp>Feel free to open an \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FEDM115\u002Frandom-algorithm\u002Fissues\" target=\"_blank\" rel=\"noopener noreferrer\">issue\u003C\u002Fa> or a \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FEDM115\u002Frandom-algorithm\u002Fpulls\" target=\"_blank\" rel=\"noopener noreferrer\">pull request\u003C\u002Fa> if you want to contribute to this project\u003C\u002Fp>\n\u003Ch3 id=\"how-to-build\" tabindex=\"-1\">\u003Cspan\n                class=\"header-copy-icon\"\n                role=\"button\"\n                data-slug=\"how-to-build\"\n              >\n                \u003Csvg>\u003Cpath fill=\"currentColor\" d=\"M10.59 13.41c.41.39.41 1.03 0 1.42c-.39.39-1.03.39-1.42 0a5.003 5.003 0 0 1 0-7.07l3.54-3.54a5.003 5.003 0 0 1 7.07 0a5.003 5.003 0 0 1 0 7.07l-1.49 1.49c.01-.82-.12-1.64-.4-2.42l.47-.48a2.98 2.98 0 0 0 0-4.24a2.98 2.98 0 0 0-4.24 0l-3.53 3.53a2.98 2.98 0 0 0 0 4.24m2.82-4.24c.39-.39 1.03-.39 1.42 0a5.003 5.003 0 0 1 0 7.07l-3.54 3.54a5.003 5.003 0 0 1-7.07 0a5.003 5.003 0 0 1 0-7.07l1.49-1.49c-.01.82.12 1.64.4 2.43l-.47.47a2.98 2.98 0 0 0 0 4.24a2.98 2.98 0 0 0 4.24 0l3.53-3.53a2.98 2.98 0 0 0 0-4.24a.973.973 0 0 1 0-1.42\"\u002F>\u003C\u002Fsvg>\n              \u003C\u002Fspan>\u003Ca class=\"header-anchor\" href=\"#how-to-build\">How to build ?\u003C\u002Fa>\u003C\u002Fh3>\n\n          \u003Cdiv class='code-block'>\n            \u003Cdiv class='code-block-header'>\n              \u003Cspan class='code-block-lang'>bash\u003C\u002Fspan>\n              \u003Cbutton class='copy-code-button' type='button'>\n                Copy\n              \u003C\u002Fbutton>\n            \u003C\u002Fdiv>\n            \u003Cpre>\u003Ccode class='hljs bash'>py -m pip install --upgrade pip build twine setuptools wheel\npy -m build\npy -m twine check dist\u002F*\n\u003Cspan class=\"hljs-comment\"># Optional : publish to test.pypi.org\u003C\u002Fspan>\npy -m twine upload --repository testpypi dist\u002F*\n\u003Cspan class=\"hljs-comment\"># Or to pypi.org\u003C\u002Fspan>\npy -m twine upload dist\u002F*\n\u003C\u002Fcode>\u003C\u002Fpre>\n          \u003C\u002Fdiv>\n        \u003Ch2 id=\"license\" tabindex=\"-1\">\u003Cspan\n                class=\"header-copy-icon\"\n                role=\"button\"\n                data-slug=\"license\"\n              >\n                \u003Csvg>\u003Cpath fill=\"currentColor\" d=\"M10.59 13.41c.41.39.41 1.03 0 1.42c-.39.39-1.03.39-1.42 0a5.003 5.003 0 0 1 0-7.07l3.54-3.54a5.003 5.003 0 0 1 7.07 0a5.003 5.003 0 0 1 0 7.07l-1.49 1.49c.01-.82-.12-1.64-.4-2.42l.47-.48a2.98 2.98 0 0 0 0-4.24a2.98 2.98 0 0 0-4.24 0l-3.53 3.53a2.98 2.98 0 0 0 0 4.24m2.82-4.24c.39-.39 1.03-.39 1.42 0a5.003 5.003 0 0 1 0 7.07l-3.54 3.54a5.003 5.003 0 0 1-7.07 0a5.003 5.003 0 0 1 0-7.07l1.49-1.49c-.01.82.12 1.64.4 2.43l-.47.47a2.98 2.98 0 0 0 0 4.24a2.98 2.98 0 0 0 4.24 0l3.53-3.53a2.98 2.98 0 0 0 0-4.24a.973.973 0 0 1 0-1.42\"\u002F>\u003C\u002Fsvg>\n              \u003C\u002Fspan>\u003Ca class=\"header-anchor\" href=\"#license\">License\u003C\u002Fa>\u003C\u002Fh2>\n\u003Cp>This project is licensed under the MIT License - see the \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FEDM115\u002Frandom-algorithm\u002Ftree\u002Fmaster\u002FLICENSE\" target=\"_blank\" rel=\"noopener noreferrer\">LICENSE\u003C\u002Fa> file for details.\u003Cbr>\nThe wordlist comes from from \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fdwyl\u002Fenglish-words\" target=\"_blank\" rel=\"noopener noreferrer\">https:\u002F\u002Fgithub.com\u002Fdwyl\u002Fenglish-words\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch2 id=\"authors\" tabindex=\"-1\">\u003Cspan\n                class=\"header-copy-icon\"\n                role=\"button\"\n                data-slug=\"authors\"\n              >\n                \u003Csvg>\u003Cpath fill=\"currentColor\" d=\"M10.59 13.41c.41.39.41 1.03 0 1.42c-.39.39-1.03.39-1.42 0a5.003 5.003 0 0 1 0-7.07l3.54-3.54a5.003 5.003 0 0 1 7.07 0a5.003 5.003 0 0 1 0 7.07l-1.49 1.49c.01-.82-.12-1.64-.4-2.42l.47-.48a2.98 2.98 0 0 0 0-4.24a2.98 2.98 0 0 0-4.24 0l-3.53 3.53a2.98 2.98 0 0 0 0 4.24m2.82-4.24c.39-.39 1.03-.39 1.42 0a5.003 5.003 0 0 1 0 7.07l-3.54 3.54a5.003 5.003 0 0 1-7.07 0a5.003 5.003 0 0 1 0-7.07l1.49-1.49c-.01.82.12 1.64.4 2.43l-.47.47a2.98 2.98 0 0 0 0 4.24a2.98 2.98 0 0 0 4.24 0l3.53-3.53a2.98 2.98 0 0 0 0-4.24a.973.973 0 0 1 0-1.42\"\u002F>\u003C\u002Fsvg>\n              \u003C\u002Fspan>\u003Ca class=\"header-anchor\" href=\"#authors\">Authors\u003C\u002Fa>\u003C\u002Fh2>\n\u003Cul>\n\u003Cli>\u003Cstrong>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FEDM115\" target=\"_blank\" rel=\"noopener noreferrer\">EDM115\u003C\u002Fa>\u003C\u002Fstrong> - \u003Cem>Initial work\u003C\u002Fem>\u003C\u002Fli>\n\u003C\u002Ful>\n",1779532541102]