<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	>
<channel>
	<title>Comments on: MP's fabulous hash function, and its family</title>
	<atom:link href="http://trilema.com/2017/mps-fabulous-hash-function-and-its-family/feed/" rel="self" type="application/rss+xml" />
	<link>http://trilema.com/2017/mps-fabulous-hash-function-and-its-family/</link>
	<description>Moving targets for a fast crowd.</description>
	<pubDate>Mon, 06 Apr 2026 03:37:06 +0000</pubDate>
	<generator>http://polimedia.us</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: PeterL</title>
		<link>http://trilema.com/2017/mps-fabulous-hash-function-and-its-family/#comment-122686</link>
		<dc:creator>PeterL</dc:creator>
		<pubDate>Fri, 18 Aug 2017 17:48:32 +0000</pubDate>
		<guid isPermaLink="false">http://trilema.com/?p=70955#comment-122686</guid>
		<description>http://archive.is/cJNp3

Updated again, this time it should work!

Line 126 had the wrong logic after line:

def cyclecheck(m, oldbits, R, S, L):

-     if R.val(m) == 1 and S.length() &#62; 1 and S.val(-1) == 1:
+    if R.val(m) == 1 and S.length() &#62; 1 and S.val(-1) == 0:</description>
		<content:encoded><![CDATA[<p><a href="http://archive.is/cJNp3">http://archive.is/cJNp3</a></p>
<p>Updated again, this time it should work!</p>
<p>Line 126 had the wrong logic after line:</p>
<p>def cyclecheck(m, oldbits, R, S, L):</p>
<p>-     if R.val(m) == 1 and S.length() &gt; 1 and S.val(-1) == 1:<br />
+    if R.val(m) == 1 and S.length() &gt; 1 and S.val(-1) == 0:</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mircea Popescu</title>
		<link>http://trilema.com/2017/mps-fabulous-hash-function-and-its-family/#comment-122676</link>
		<dc:creator>Mircea Popescu</dc:creator>
		<pubDate>Thu, 17 Aug 2017 20:19:18 +0000</pubDate>
		<guid isPermaLink="false">http://trilema.com/?p=70955#comment-122676</guid>
		<description>Cool deal.</description>
		<content:encoded><![CDATA[<p>Cool deal.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: PeterL</title>
		<link>http://trilema.com/2017/mps-fabulous-hash-function-and-its-family/#comment-122671</link>
		<dc:creator>PeterL</dc:creator>
		<pubDate>Thu, 17 Aug 2017 17:56:10 +0000</pubDate>
		<guid isPermaLink="false">http://trilema.com/?p=70955#comment-122671</guid>
		<description>An updated version of the reverse hash with a couple bug fixes:

http://archive.is/Wl893

The bugs:
1: the "show" function in the Register class was missing the comparison with the "_inverted" variable, so it would be wrong in any case where there was an odd number of inversions. I think I left that out when I originally wrote the mpfhf function because the R never gets inverted, and originally the function only returned the R value instead of this version which returns both the R and S values.

2: I added a check on the branches that involve expanding to make sure S would never be shrunk below a length of 0.

3: There is a special case where the rewind does not happen if we are on step 0, I added that to the "check" recursive function.

Further testing is welcome.</description>
		<content:encoded><![CDATA[<p>An updated version of the reverse hash with a couple bug fixes:</p>
<p><a href="http://archive.is/Wl893">http://archive.is/Wl893</a></p>
<p>The bugs:<br />
1: the "show" function in the Register class was missing the comparison with the "_inverted" variable, so it would be wrong in any case where there was an odd number of inversions. I think I left that out when I originally wrote the mpfhf function because the R never gets inverted, and originally the function only returned the R value instead of this version which returns both the R and S values.</p>
<p>2: I added a check on the branches that involve expanding to make sure S would never be shrunk below a length of 0.</p>
<p>3: There is a special case where the rewind does not happen if we are on step 0, I added that to the "check" recursive function.</p>
<p>Further testing is welcome.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mircea Popescu</title>
		<link>http://trilema.com/2017/mps-fabulous-hash-function-and-its-family/#comment-122637</link>
		<dc:creator>Mircea Popescu</dc:creator>
		<pubDate>Tue, 15 Aug 2017 20:34:49 +0000</pubDate>
		<guid isPermaLink="false">http://trilema.com/?p=70955#comment-122637</guid>
		<description>To quote his lordship vulpes, noice!</description>
		<content:encoded><![CDATA[<p>To quote his lordship vulpes, noice!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: PeterL</title>
		<link>http://trilema.com/2017/mps-fabulous-hash-function-and-its-family/#comment-122631</link>
		<dc:creator>PeterL</dc:creator>
		<pubDate>Tue, 15 Aug 2017 19:14:12 +0000</pubDate>
		<guid isPermaLink="false">http://trilema.com/?p=70955#comment-122631</guid>
		<description>A python implementation of the mpfhf and a reverse hash function to go with it.

http://archive.is/jmFMO</description>
		<content:encoded><![CDATA[<p>A python implementation of the mpfhf and a reverse hash function to go with it.</p>
<p><a href="http://archive.is/jmFMO">http://archive.is/jmFMO</a></p>
]]></content:encoded>
	</item>
</channel>
</rss>
