Sha256: 1d418cad19b5b3afb19102597e9d21b6f73f96b00de8e0e800a8306d93ab3dd3
Contents?: true
Size: 502 Bytes
Versions: 151
Compression:
Stored size: 502 Bytes
Contents
open Core let every_second_digit_doubled = let double_digit n = let d = n * 2 in if d >= 10 then d - 9 else d in List.rev_mapi ~f:(fun i -> if i % 2 = 1 then double_digit else Fn.id) let valid s = let s = String.filter s ~f:(fun ch -> ch <> ' ') in if String.length s > 1 then let checksum = String.to_list s |> List.rev_map ~f:(fun ch -> Char.to_int ch - Char.to_int '0') |> every_second_digit_doubled |> List.sum (module Int) ~f:Fn.id in checksum % 10 = 0 else false
Version data entries
151 entries across 151 versions & 1 rubygems