fix hex parsing
This commit is contained in:
parent
a74e5869c0
commit
48bdd665bd
@ -7,7 +7,7 @@ let
|
|||||||
pow = n: i: if i == 1 then n else if i == 0 then 1 else n * pow n (i - 1);
|
pow = n: i: if i == 1 then n else if i == 0 then 1 else n * pow n (i - 1);
|
||||||
|
|
||||||
alf = [ "0" "1" "2" "3" "4" "5" "6" "7" "8" "9" "a" "b" "c" "d" "e" "f" ];
|
alf = [ "0" "1" "2" "3" "4" "5" "6" "7" "8" "9" "a" "b" "c" "d" "e" "f" ];
|
||||||
fil = c: lib.imap0 (n: x: if (lib.toLower x) == c then n else null) alf;
|
fil = c: lib.imap0 (n: x: if (lib.toLower x) == (lib.toLower c) then n else null) alf;
|
||||||
fin = c: builtins.elemAt (builtins.filter (x: x != null) (fil c)) 0;
|
fin = c: builtins.elemAt (builtins.filter (x: x != null) (fil c)) 0;
|
||||||
add = l: lib.foldr ({ n, x }: c: (x * (pow 16 n)) + c) 0 (lib.imap0 (n: x: { inherit n x; }) l);
|
add = l: lib.foldr ({ n, x }: c: (x * (pow 16 n)) + c) 0 (lib.imap0 (n: x: { inherit n x; }) l);
|
||||||
calc = s: add (builtins.map fin (builtins.filter (x: builtins.isString x && builtins.stringLength x == 1) (builtins.split "" s)));
|
calc = s: add (builtins.map fin (builtins.filter (x: builtins.isString x && builtins.stringLength x == 1) (builtins.split "" s)));
|
||||||
|
Loading…
Reference in New Issue
Block a user