N0x90
Help to make (and understand) better and beautiful code
Years ago i worte keccak_ex with only support for hash 256
Now I completed the support for hash 512 and 128 bytes
The “problem”
Both implementation are the same (
copy and paste) and just change
for hash 256
@digest_length 32
@block_length 200 - 2 * @digest_length
for hash 512
@digest_length 64
@block_length 200 - 2 * @digest_length
i thik something like an “interface/inheritance” can help with all the duplicated code making an isolation with the concret type but i cant find anything like that
the other problematic line is
defp process_block_decode_loop(%__MODULE__{} = value, index) when index < @block_length do
because you need the block_length to make the loop work…
i appretiate any idea/insight/suggestion to make the code looks better and to learn a better way
First Post!
cevado
if i understood it correctly the struct that you’re using seems to be an internal abstraction. so why not internalize the digest_length and the block_length in the struct, this way you can always have it available on the function head by just destructing it and keep the same guard validations.







