diff options
| author | Lance Wicks <lw@judocoach.com> | 2021-07-08 11:49:55 +0100 |
|---|---|---|
| committer | Lance Wicks <lw@judocoach.com> | 2021-07-08 11:49:55 +0100 |
| commit | 265753075d0882cafc5b21312a7fe5b4e3590a60 (patch) | |
| tree | b1a379f821421cdd0750764288e93707890ec7ff /challenge-120 | |
| parent | 3079faeabb2dcc35d51ef6d4571278da261946da (diff) | |
| download | perlweeklychallenge-club-265753075d0882cafc5b21312a7fe5b4e3590a60.tar.gz perlweeklychallenge-club-265753075d0882cafc5b21312a7fe5b4e3590a60.tar.bz2 perlweeklychallenge-club-265753075d0882cafc5b21312a7fe5b4e3590a60.zip | |
Add elm solution
Diffstat (limited to 'challenge-120')
| -rw-r--r-- | challenge-120/lance-wicks/elm/elm.json | 30 | ||||
| -rw-r--r-- | challenge-120/lance-wicks/elm/src/Bit.elm | 15 | ||||
| -rw-r--r-- | challenge-120/lance-wicks/elm/tests/Reverse_test.elm | 21 |
3 files changed, 66 insertions, 0 deletions
diff --git a/challenge-120/lance-wicks/elm/elm.json b/challenge-120/lance-wicks/elm/elm.json new file mode 100644 index 0000000000..e51e404452 --- /dev/null +++ b/challenge-120/lance-wicks/elm/elm.json @@ -0,0 +1,30 @@ +{ + "type": "application", + "source-directories": [ + "src" + ], + "elm-version": "0.19.1", + "dependencies": { + "direct": { + "elm/browser": "1.0.2", + "elm/core": "1.0.5", + "elm/html": "1.0.0", + "icidasset/elm-binary": "2.1.0" + }, + "indirect": { + "elm/json": "1.1.3", + "elm/time": "1.0.0", + "elm/url": "1.0.0", + "elm/virtual-dom": "1.0.2", + "elm-community/list-extra": "8.3.1" + } + }, + "test-dependencies": { + "direct": { + "elm-explorations/test": "1.2.2" + }, + "indirect": { + "elm/random": "1.0.0" + } + } +} diff --git a/challenge-120/lance-wicks/elm/src/Bit.elm b/challenge-120/lance-wicks/elm/src/Bit.elm new file mode 100644 index 0000000000..41529a0135 --- /dev/null +++ b/challenge-120/lance-wicks/elm/src/Bit.elm @@ -0,0 +1,15 @@ +module Bit exposing (..) + +import Binary + +swap num = + num + |> Binary.fromDecimal + |> Binary.ensureSize 8 + |> Binary.chunksOf 2 + |> List.map Binary.toIntegers + |> List.map List.reverse + |> List.map Binary.fromIntegers + |> Binary.concat + |> Binary.toDecimal + diff --git a/challenge-120/lance-wicks/elm/tests/Reverse_test.elm b/challenge-120/lance-wicks/elm/tests/Reverse_test.elm new file mode 100644 index 0000000000..24243f9d35 --- /dev/null +++ b/challenge-120/lance-wicks/elm/tests/Reverse_test.elm @@ -0,0 +1,21 @@ +module Reverse_test exposing (..) + +import Expect exposing (Expectation) +import Fuzz exposing (Fuzzer, int, list, string) +import Test exposing (..) + +import Bit exposing (swap) + +import Binary + +suite : Test +suite = + describe "Swap" + [ describe "Examples" + [ test "101 -> 154" <| + \_ -> Expect.equal 154 (swap 101) + , test "18 -> 33" <| + \_ -> Expect.equal 33 (swap 18) + ] + + ] |
