Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Precompute power+exponent for iterative conversion | Andreas Grois | 2022-10-23 | 4 | -75/+191 |
| | | | | | | | | | | | The maximum power of the base that can fit into a given data type is constant. There's no point in computing it at runtime, if we can just store it in a compile-time constants array. The code isn't the most beautiful, but that's mostly because Rust const functions are still a bit limited. One function was duplicated, because it was easy to get a slow version to compile in const context, and const context doesn't really care... | ||||
* | Merge branch 'main' into feature/heap-allocation-free-base-conversion | Andreas Grois | 2022-10-22 | 1 | -3/+8 |
|\ | |||||
| * | Pre-Allocate resulting password. | Andreas Grois | 2022-10-22 | 1 | -3/+8 |
| | | | | | | | | It's not perfect, but a much better guess than previously. | ||||
| * | Make some asserts debug_asserts. Add more benches. | Andreas Grois | 2022-10-19 | 1 | -4/+4 |
| | | | | | | | | | | Now that work on performance has started, accurate readings are important. | ||||
* | | Add more unit tests to iterative_conversion. | Andreas Grois | 2022-10-22 | 1 | -23/+206 |
| | | |||||
* | | Make n-digit division performing. | Andreas Grois | 2022-10-22 | 1 | -24/+18 |
| | | | | | | | | | | | | The handling of overflows was non-performing before. Now it's performing and correcting. This lets us skip a less-than check for N-digit numbers, causing a slight performance improvement. | ||||
* | | Minor code cleanup. No performance impact. | Andreas Grois | 2022-10-22 | 1 | -28/+37 |
| | | |||||
* | | Code cleanup and addition of unit tests. | Andreas Grois | 2022-10-22 | 1 | -78/+124 |
| | | |||||
* | | Fix trait visibility. | Andreas Grois | 2022-10-21 | 2 | -2/+2 |
| | | |||||
* | | Exponential search for largest potency. | Andreas Grois | 2022-10-21 | 3 | -8/+110 |
| | | | | | | | | | | Speeds up the 20 and 32 byte cases. Has slightly negative impact for 16 byte case. | ||||
* | | Macro for single-digit-division. | Andreas Grois | 2022-10-20 | 1 | -37/+37 |
| | | | | | | | | Just to remove code duplication. | ||||
* | | Minor: Shift Operation optimization. | Andreas Grois | 2022-10-20 | 1 | -10/+4 |
| | | |||||
* | | Change normalization of Knuth division to shift. | Andreas Grois | 2022-10-19 | 1 | -6/+38 |
| | | | | | | | | That's a lot faster than division. | ||||
* | | Add many-numbers test for long division. | Andreas Grois | 2022-10-19 | 1 | -6/+67 |
| | | |||||
* | | Draft of iterative_conversion. | Andreas Grois | 2022-10-18 | 7 | -225/+129 |
| | | |||||
* | | First draft of (untested) iterative conversion. | Andreas Grois | 2022-10-18 | 6 | -36/+628 |
| | | |||||
* | | Minor: Add warning that 16bit might not work | Andreas Grois | 2022-10-18 | 1 | -0/+3 |
|/ | |||||
* | Minor: rename a function | Andreas Grois | 2022-10-12 | 1 | -2/+2 |
| | | | | to better match the names of similar functions. | ||||
* | Fix Rust 1.52 compat. | Andreas Grois | 2022-10-11 | 1 | -3/+2 |
| | |||||
* | Refactor base_conversion. Fix hmac byte bug. | Andreas Grois | 2022-10-11 | 4 | -84/+110 |
| | | | | | | | Moved the basis conversion into a submodule, to ease the upcoming rewrite. Add a couple of new integration tests. Fix a bug caused by misreading the PasswordMaker Pro HMAC code. | ||||
* | First draft of docs. | Andreas Grois | 2022-10-09 | 3 | -87/+102 |
| | |||||
* | Also add url_parsing to this crate. | Andreas Grois | 2022-10-09 | 4 | -67/+711 |
| | |||||
* | Initial Commit: PasswordMaker itself. | Andreas Grois | 2022-10-09 | 6 | -0/+858 |
It's compiling, and the public interface is semi-OK now. The internals are still a bit gory, but they'll likely see an iteartion later on anyhow. |