Sha256: 8f5bd5c67f4ca44973b3df414eecd3e472804ac765b50544fc7a5aceff90ba07

Contents?: true

Size: 650 Bytes

Versions: 262

Compression:

Stored size: 650 Bytes

Contents

module AllYourBase

let toBase b n =
    let rec loop n acc =
        if n = 0 then acc else
        let digit, n' = n % b, n / b
        loop n' (digit::acc)
    match loop n [] with
    | [] -> Some [0]
    | digits -> Some digits

let fromBase b nums =
    let rec loop acc = function
    | [] -> Some acc
    | digit::rest ->
        if digit <  0 then None else
        if digit >= b then None else
        loop (acc * b + digit) rest
    if nums = [] then None else loop 0 nums

let rebase inB inDigits outB =
    if inB < 2 || outB < 2 then None else
    match fromBase inB inDigits with
    | None -> None
    | Some num -> toBase outB num

Version data entries

262 entries across 262 versions & 1 rubygems

Version Path
trackler-2.2.1.44 tracks/fsharp/exercises/all-your-base/Example.fs
trackler-2.2.1.43 tracks/fsharp/exercises/all-your-base/Example.fs
trackler-2.2.1.42 tracks/fsharp/exercises/all-your-base/Example.fs
trackler-2.2.1.41 tracks/fsharp/exercises/all-your-base/Example.fs
trackler-2.2.1.40 tracks/fsharp/exercises/all-your-base/Example.fs
trackler-2.2.1.39 tracks/fsharp/exercises/all-your-base/Example.fs
trackler-2.2.1.38 tracks/fsharp/exercises/all-your-base/Example.fs
trackler-2.2.1.37 tracks/fsharp/exercises/all-your-base/Example.fs
trackler-2.2.1.36 tracks/fsharp/exercises/all-your-base/Example.fs
trackler-2.2.1.35 tracks/fsharp/exercises/all-your-base/Example.fs
trackler-2.2.1.34 tracks/fsharp/exercises/all-your-base/Example.fs
trackler-2.2.1.33 tracks/fsharp/exercises/all-your-base/Example.fs
trackler-2.2.1.32 tracks/fsharp/exercises/all-your-base/Example.fs
trackler-2.2.1.31 tracks/fsharp/exercises/all-your-base/Example.fs
trackler-2.2.1.30 tracks/fsharp/exercises/all-your-base/Example.fs
trackler-2.2.1.29 tracks/fsharp/exercises/all-your-base/Example.fs
trackler-2.2.1.28 tracks/fsharp/exercises/all-your-base/Example.fs
trackler-2.2.1.27 tracks/fsharp/exercises/all-your-base/Example.fs
trackler-2.2.1.26 tracks/fsharp/exercises/all-your-base/Example.fs
trackler-2.2.1.25 tracks/fsharp/exercises/all-your-base/Example.fs