<feed xmlns='http://www.w3.org/2005/Atom'>
<title>passwordmaker-rs/src/passwordmaker/base_conversion, branch v0.2.1</title>
<subtitle>A Rust reimplementation of the PasswordMaker Pro password generation logic. </subtitle>
<id>https://git.grois.info/passwordmaker-rs/atom/src/passwordmaker/base_conversion?h=v0.2.1</id>
<link rel='self' href='https://git.grois.info/passwordmaker-rs/atom/src/passwordmaker/base_conversion?h=v0.2.1'/>
<link rel='alternate' type='text/html' href='https://git.grois.info/passwordmaker-rs/'/>
<updated>2023-01-20T23:26:24Z</updated>
<entry>
<title>Minor: Restore compatibility with Rust 1.52</title>
<updated>2023-01-20T23:26:24Z</updated>
<author>
<name>Andreas Grois</name>
<email>andi@grois.info</email>
</author>
<published>2023-01-20T23:26:24Z</published>
<link rel='alternate' type='text/html' href='https://git.grois.info/passwordmaker-rs/commit/?id=283313e8619d629757a62487d8656fb3781dd554'/>
<id>urn:sha1:283313e8619d629757a62487d8656fb3781dd554</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix doc error.</title>
<updated>2022-11-04T21:02:20Z</updated>
<author>
<name>Andreas Grois</name>
<email>andi@grois.info</email>
</author>
<published>2022-11-04T21:02:20Z</published>
<link rel='alternate' type='text/html' href='https://git.grois.info/passwordmaker-rs/commit/?id=fb5bd1a86ff5b62e1272c8b66e4dd3d860b74e3f'/>
<id>urn:sha1:fb5bd1a86ff5b62e1272c8b66e4dd3d860b74e3f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>More Clippy lints.</title>
<updated>2022-11-04T19:51:12Z</updated>
<author>
<name>Andreas Grois</name>
<email>andi@grois.info</email>
</author>
<published>2022-11-04T19:51:12Z</published>
<link rel='alternate' type='text/html' href='https://git.grois.info/passwordmaker-rs/commit/?id=36b7ec5ea805196749c7f10f1d8e03ae03564f2b'/>
<id>urn:sha1:36b7ec5ea805196749c7f10f1d8e03ae03564f2b</id>
<content type='text'>
Now Clippy is happy.
</content>
</entry>
<entry>
<title>Some clippy lints.</title>
<updated>2022-11-03T23:12:14Z</updated>
<author>
<name>Andreas Grois</name>
<email>andi@grois.info</email>
</author>
<published>2022-11-03T23:12:14Z</published>
<link rel='alternate' type='text/html' href='https://git.grois.info/passwordmaker-rs/commit/?id=344264e03d7635b9bd2688390100d3b9f623c58a'/>
<id>urn:sha1:344264e03d7635b9bd2688390100d3b9f623c58a</id>
<content type='text'>
Some were fixed, some were ignored because they seem to make a
(negative) performance impact.
</content>
</entry>
<entry>
<title>Test that compare iterative conversion with div.</title>
<updated>2022-11-03T21:05:24Z</updated>
<author>
<name>Andreas Grois</name>
<email>andi@grois.info</email>
</author>
<published>2022-11-03T21:05:24Z</published>
<link rel='alternate' type='text/html' href='https://git.grois.info/passwordmaker-rs/commit/?id=db2e6ce5b648fa513009863e81a13f0e64281a78'/>
<id>urn:sha1:db2e6ce5b648fa513009863e81a13f0e64281a78</id>
<content type='text'>
These tests compare the code for iterative base conversion with the
alternative formula that spits out digits in reverse order.
</content>
</entry>
<entry>
<title>Base Conv: Combine shifting and padding.</title>
<updated>2022-10-27T06:56:51Z</updated>
<author>
<name>Andreas Grois</name>
<email>andi@grois.info</email>
</author>
<published>2022-10-27T06:56:51Z</published>
<link rel='alternate' type='text/html' href='https://git.grois.info/passwordmaker-rs/commit/?id=6ee6a65b30bdbd4956b18518009f25a0b7db0979'/>
<id>urn:sha1:6ee6a65b30bdbd4956b18518009f25a0b7db0979</id>
<content type='text'>
Having one function that does both seems to be measurably faster, though
I would have expected the compiler to inline and generate comparable
assembly. Well, seems it didn't.
</content>
</entry>
<entry>
<title>Minor: Remove an unnecessary clone.</title>
<updated>2022-10-26T21:47:18Z</updated>
<author>
<name>Andreas Grois</name>
<email>andi@grois.info</email>
</author>
<published>2022-10-26T21:47:18Z</published>
<link rel='alternate' type='text/html' href='https://git.grois.info/passwordmaker-rs/commit/?id=37d19e9e9171c819d92afe395e30359aa059ee15'/>
<id>urn:sha1:37d19e9e9171c819d92afe395e30359aa059ee15</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Minor, remove a pointless type conversion.</title>
<updated>2022-10-26T19:39:52Z</updated>
<author>
<name>Andreas Grois</name>
<email>andi@grois.info</email>
</author>
<published>2022-10-26T19:39:52Z</published>
<link rel='alternate' type='text/html' href='https://git.grois.info/passwordmaker-rs/commit/?id=09d9c9e7d8d30c7f718837a44cabc90142f85b3e'/>
<id>urn:sha1:09d9c9e7d8d30c7f718837a44cabc90142f85b3e</id>
<content type='text'>
Seems not to have any performance impact, but still, cleaner this way.
</content>
</entry>
<entry>
<title>Use MulAssign in BaseConversion.</title>
<updated>2022-10-26T15:59:27Z</updated>
<author>
<name>Andreas Grois</name>
<email>andi@grois.info</email>
</author>
<published>2022-10-26T15:59:27Z</published>
<link rel='alternate' type='text/html' href='https://git.grois.info/passwordmaker-rs/commit/?id=839e1096dde8e1e934a82d1cf0c4d3a43dc69f38'/>
<id>urn:sha1:839e1096dde8e1e934a82d1cf0c4d3a43dc69f38</id>
<content type='text'>
Benchmarks show that MulAssign is quite a bit faster than Mul,
especially since in this case it's mathematically proven that the
multiplication cannot overflow.
Also, removed skipping of leading zeros in long division. With the
switch to multiplication after the first iteration, the chance that
there actually are any leading zeros is on the order of 2^-26.
I think at least. In any case, it's small.
</content>
</entry>
<entry>
<title>Base Conv: Mul dividend instead of div divisor.</title>
<updated>2022-10-25T19:27:47Z</updated>
<author>
<name>Andreas Grois</name>
<email>andi@grois.info</email>
</author>
<published>2022-10-25T19:27:47Z</published>
<link rel='alternate' type='text/html' href='https://git.grois.info/passwordmaker-rs/commit/?id=c43c86380e00b018d37dc9b8dbed275c7b6d264d'/>
<id>urn:sha1:c43c86380e00b018d37dc9b8dbed275c7b6d264d</id>
<content type='text'>
As it turns out, the speed gained by lowering the number of digits in
divisor using repeated division is much less than the speed gained by
using multiplication of the dividend instead of division of divisor.
</content>
</entry>
</feed>
