úÎ7 3Á"      !+Provide the IO interface for FrequencyQueue(c) Andrea Bellandi 2014GPL-3bellaz89@gmai.com experimentalPOSIXNone0,FrequencyQueue the basic type of the Library'Create a new FrequencyQueue with a seed)Make a clone of the FrequencyQueue Passed*Return the number of elements in the queueAReturn the sum of all elements' probabilities passed to the queueHPush an element a in the queue with a corresponding relative probabilityAPop an element of the queue. Return Nothing if the queue is emptyoPop the element of the queue that have the biggest relative probability. Return Nothing if the queue is emptyoPop the element of the queue that have the smallest relative probability. Return Nothing if the queue is empty lReturn a random element from the queue using its relative probability. Return Nothing if the queue is empty iPop a random element from the queue using its relative probability. Return Nothing if the queue is empty ^Return a new queue with the elements and relative probability mapped by the function provided gReturn a folded value made by an initial value b and a folding function evaluated on the entire queue. *Pop an element of the queue. Fail if emptyWPop the element of the queue that have the biggest relative probability. Fail if emptyXPop the element of the queue that have the smallest relative probability. Fail if emptyXPop the element of the queue that have the smallest relative probability. Fail if emptyRPop a random element from the queue using its relative probability. Fail if empty."#$%&'()*+,-./012345678 9:;<=  )"#$%&'()*+,-./012345678 9:;<=Main module for FrequencyQueue(c) Andrea Bellandi 2014GPL-3bellaz89@gmai.com experimentalPOSIXNone'Create a new FrequencyQueue with a seed*Return the number of elements in the queueAReturn the sum of all elements' probabilities passed to the queueHPush an element a in the queue with a corresponding relative probabilityAPop an element of the queue. Return Nothing if the queue is emptyoPop the element of the queue that have the biggest relative probability. Return Nothing if the queue is emptyoPop the element of the queue that have the smallest relative probability. Return Nothing if the queue is emptylReturn a random element from the queue using its relative probability. Return Nothing if the queue is emptyiPop a random element from the queue using its relative probability. Return Nothing if the queue is empty^Return a new queue with the elements and relative probability mapped by the function providedgReturn a folded value made by an initial value b and a folding function evaluated on the entire queue.*Pop an element of the queue. Fail if emptyWPop the element of the queue that have the biggest relative probability. Fail if emptyXPop the element of the queue that have the smallest relative probability. Fail if empty XPop the element of the queue that have the smallest relative probability. Fail if empty!RPop a random element from the queue using its relative probability. Fail if empty !>? ! ! !>?@           !"#$%&'()*+,-./0HFrequencyQueue-0.2.0.0FrequencyQueue.IOFrequencyQueuenewFrequencyQueuecloneFrequencyQueuelengthprobabilityUnitpushBackpopBack popBackMax popBackMin getRandom getRandomPopmapWprobabilityfoldWprobability popBackUnsafepopBackMaxUnsafepopBackMinUnsafegetRandomUnsafegetRandomPopUnsafe RandomElement probabilityelementqueueFrequencyQueue_free_RandomElement_priv_free_FrequencyQueue_priv_get_random_number_priv_get_next_priv_reset_iterator_priv_get_random_pop_priv_get_random_priv_pop_back_min_prob_priv_pop_back_max_prob_priv_pop_back_priv_push_back_priv_probability_unit_priv_ length_priv_clone_FrequencyQueue_priv_new_FrequencyQueue_priv_makeNewStableRefdeRefRawElementPtr makeSafePop$fStorableRandomElement$fCStorableRandomElement$fCStorableStablePtr$fFoldableFrequencyQueue$fFunctorFrequencyQueue