Sha256: fdb05481ee5b3768fc39083ca6de186a4336fd32fd20fc3fad6b0becfc8bcdbf
Contents?: true
Size: 506 Bytes
Versions: 111
Compression:
Stored size: 506 Bytes
Contents
open Core.Std 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
111 entries across 111 versions & 1 rubygems