Sha256: 1b39a41e99f11f3abd04a618f3ad73790e6ac62ff961198ffc45cbfbc1e163eb

Contents?: true

Size: 589 Bytes

Versions: 38

Compression:

Stored size: 589 Bytes

Contents

module Triangle exposing (..)

import Set


type Triangle
    = Equilateral
    | Isosceles
    | Scalene


version : Int
version =
    2


triangleKind : number -> number -> number -> Result String Triangle
triangleKind x y z =
    if x <= 0 || y <= 0 || z <= 0 then
        Err "Invalid lengths"
    else if x + y <= z || x + z <= y || y + z <= x then
        Err "Violates inequality"
    else
        case Set.size (Set.fromList [ x, y, z ]) of
            1 ->
                Ok Equilateral

            2 ->
                Ok Isosceles

            _ ->
                Ok Scalene

Version data entries

38 entries across 38 versions & 1 rubygems

Version Path
trackler-2.0.0.7 tracks/elm/exercises/triangle/Triangle.example
trackler-2.0.0.6 tracks/elm/exercises/triangle/Triangle.example
trackler-2.0.0.5 tracks/elm/exercises/triangle/Triangle.example
trackler-2.0.0.4 tracks/elm/exercises/triangle/Triangle.example
trackler-2.0.0.3 tracks/elm/exercises/triangle/Triangle.example
trackler-2.0.0.2 tracks/elm/exercises/triangle/Triangle.example
trackler-2.0.0.1 tracks/elm/exercises/triangle/Triangle.example
trackler-2.0.0.0 tracks/elm/exercises/triangle/Triangle.example
trackler-1.0.4.1 tracks/elm/exercises/triangle/Triangle.example
trackler-1.0.4.0 tracks/elm/exercises/triangle/Triangle.example
trackler-1.0.3.0 tracks/elm/exercises/triangle/Triangle.example
trackler-1.0.2.1 tracks/elm/exercises/triangle/Triangle.example
trackler-1.0.2.0 tracks/elm/exercises/triangle/Triangle.example
trackler-1.0.1.2 tracks/elm/exercises/triangle/Triangle.example
trackler-1.0.1.1 tracks/elm/exercises/triangle/Triangle.example
trackler-1.0.1.0 tracks/elm/exercises/triangle/Triangle.example
trackler-1.0.0.1 tracks/elm/exercises/triangle/Triangle.example
trackler-1.0.0 tracks/elm/exercises/triangle/Triangle.example