mratsim
|
00040e4d38
|
45% faster division with 45% faster shifts (and maintainable). Fixes #1
|
2018-02-17 01:11:18 +01:00 |
mratsim
|
43cb3441bc
|
Division/modulo 2x faster by removing shift in MpUint bit_length
|
2018-02-17 00:47:17 +01:00 |
mratsim
|
1c5da77a29
|
Add divmod i.e. division + modulo done!
|
2018-02-16 22:17:13 +01:00 |
mratsim
|
a8f50c4dbe
|
small quality of life fix + auto conversion of booleans
|
2018-02-16 21:07:51 +01:00 |
mratsim
|
834ff19a25
|
Add comparison operators + tests + fix shr forward declaration
|
2018-02-16 17:48:54 +01:00 |
mratsim
|
f044d8a476
|
Add note about branchless shift being cryptographically preferable
|
2018-02-16 17:02:09 +01:00 |
mratsim
|
5886d76ebc
|
Add alternative branchless shift implementation (TODO benchmark on ARM)
|
2018-02-16 16:47:52 +01:00 |
mratsim
|
6e27069298
|
less branching for shift ops
|
2018-02-16 14:30:07 +01:00 |
mratsim
|
35e80263a3
|
Add shift operators (WIP recursive implementation is slow)
|
2018-02-16 13:54:38 +01:00 |
mratsim
|
cec8a752fb
|
Fix shift by bytes/bit in multiplication (need tests)
|
2018-02-16 13:54:03 +01:00 |
mratsim
|
71d1f5bd19
|
Update README with build status
|
2018-02-16 11:48:56 +01:00 |
mratsim
|
cd7929f187
|
Add continuous integration
|
2018-02-16 11:45:45 +01:00 |
mratsim
|
f861af840a
|
Use Nim input convention x, y instead of a,b
|
2018-02-16 11:38:48 +01:00 |
mratsim
|
32efae91ee
|
add basic logical operations
|
2018-02-16 11:33:11 +01:00 |
mratsim
|
994be7fa61
|
We aren't using Karatsuba actually but school-grade naive mul
|
2018-02-16 11:01:03 +01:00 |
mratsim
|
d60419a731
|
Karatsuba: shift constant was hardcoded + Add full overflow tests
|
2018-02-16 09:40:21 +01:00 |
mratsim
|
02be5c3e90
|
[WIP] Add multiplication with Karatsuba algorithm + basic test
|
2018-02-16 09:22:23 +01:00 |
mratsim
|
4d7d5897cd
|
Add substraction implementation
|
2018-02-15 23:28:31 +01:00 |
mratsim
|
fc6483d42e
|
Implement addition (including proper overflow behaviour)
|
2018-02-15 20:26:10 +01:00 |
mratsim
|
839123b2a4
|
use C backend by default for testing
|
2018-02-15 15:09:58 +01:00 |
mratsim
|
6f77899709
|
Add basic data structure, initialization and endianess test
|
2018-02-15 15:01:08 +01:00 |
mratsim
|
364e11cf28
|
initial commit
|
2018-02-15 13:11:01 +01:00 |