Sha256: 28de046ea55d41c95fe0461e295dd062e58f40b9c1c45014c9ca2e07526772fa
Contents?: true
Size: 470 Bytes
Versions: 66
Compression:
Stored size: 470 Bytes
Contents
open Core.Std let digit character = (int_of_char character) - 48 let rec sum_digits s r c = function | 0 -> r | i -> let d = c * (digit s.[i - 1]) in sum_digits s (r + (d/10) + (d mod 10)) (3-c) (i-1) let checksum s = (sum_digits s 0 1 (String.length s)) let valid s = (checksum s) mod 10 = 0 let add_check_digit s = let check = ((sum_digits s 0 2 (String.length s)) mod 10) in String.concat ~sep:"" [s; (string_of_int ((10 - check) mod 10))]
Version data entries
66 entries across 66 versions & 1 rubygems