{"id":522,"date":"2012-04-28T00:52:05","date_gmt":"2012-04-28T00:52:05","guid":{"rendered":"http:\/\/www.themissingdocs.net\/wordpress\/?p=522"},"modified":"2012-04-28T00:52:05","modified_gmt":"2012-04-28T00:52:05","slug":"tmd-algo-0-0-5-0","status":"publish","type":"post","link":"https:\/\/www.themissingdocs.net\/?p=522","title":{"rendered":"TMD.Algo 0.0.5.0"},"content":{"rendered":"<p>So, since its Google code jam time, I figure I&#8217;ll do another TMD.Algo release.\u00a0 Still the same licensing as before.<\/p>\n<p><strong>New features:<\/strong> (Beware bugs due to insufficient testing&#8230; especially in the first 2)<\/p>\n<ol>\n<li>MaxFlowMinCost algorithm for Graph.<\/li>\n<li>Generic TernarySearch extension for lists.<\/li>\n<li>SortedDictionary2\u00a0 &#8211; a sorted dictionary with &#8216;near&#8217; lookup support. Finds the element equal or less than the search element and then you can enumerate from that position.<\/li>\n<li>Pattern support.\u00a0 Algorithms for efficiently finding the sum or value at index in a repeating pattern with optional non-repeating start. Uses sequence generation state as a key to detect loops.<\/li>\n<li>Memotizer &#8211; a simple function adapter to automatically cache results &#8211; not exactly nice to use if the function needs to be recursive&#8230;<\/li>\n<li>LookupQueue &#8211; amortized O(1) lookup\/remove\/append queue using a dictionary augmented linked list.\u00a0 Presumes queue elements are all distinct. (Internal implementation uses arrays to avoid the GC and random location dereferencing penalties of a normal linked list.)<\/li>\n<\/ol>\n<p><strong>Improvements:<\/strong><\/p>\n<ol>\n<li>Fraction improvements: Truncate to closest integer in direction of 0, explicit cast for integer to fraction, &lt;= and &gt;= operators added, absolute value function.<\/li>\n<\/ol>\n<p><strong>Bug fixes:<\/strong><\/p>\n<ol>\n<li>Corner case in reverse comparer (if base comparer returned int.MinValue it would fail).<\/li>\n<li>One of the error messages in LookupHeap had a typo.<\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<p>Link: <a href=\"http:\/\/www.themissingdocs.net\/downloads\/TMD.Algo.0.0.5.0.zip\">http:\/\/www.themissingdocs.net\/downloads\/TMD.Algo.0.0.5.0.zip<\/a><\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>So, since its Google code jam time, I figure I&#8217;ll do another TMD.Algo release.\u00a0 Still the same licensing as before. New features: (Beware bugs due to insufficient testing&#8230; especially in the first 2) MaxFlowMinCost algorithm for Graph. Generic TernarySearch extension for lists. SortedDictionary2\u00a0 &#8211; a sorted dictionary with &#8216;near&#8217; lookup support. Finds the element equal &hellip; <a href=\"https:\/\/www.themissingdocs.net\/?p=522\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">TMD.Algo 0.0.5.0<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[],"class_list":["post-522","post","type-post","status-publish","format-standard","hentry","category-code-competitions"],"_links":{"self":[{"href":"https:\/\/www.themissingdocs.net\/index.php?rest_route=\/wp\/v2\/posts\/522","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.themissingdocs.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.themissingdocs.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.themissingdocs.net\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.themissingdocs.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=522"}],"version-history":[{"count":0,"href":"https:\/\/www.themissingdocs.net\/index.php?rest_route=\/wp\/v2\/posts\/522\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.themissingdocs.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=522"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.themissingdocs.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=522"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.themissingdocs.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=522"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}