Sha256: bf9aac395f4e1b7314343641742d69cdb54ab996859c66f6c76df144d88303c7

Contents?: true

Size: 702 Bytes

Versions: 363

Compression:

Stored size: 702 Bytes

Contents

#import "TriangleExample.h"

@implementation Triangle

+ (TriangleKind)kindForSides:(double)a :(double)b :(double)c { //!OCLINT
    if (a <= 0 || b <= 0 || c <= 0) {
        @throw [NSException exceptionWithName:@"Invalid triangle" reason:@"All lengths must be positive" userInfo:nil];
    } else if (a + b <= c || b + c <= a || a + c <= b) {
        @throw [NSException exceptionWithName:@"Invalid triangle" reason:@"Violation of triangle inequality" userInfo:nil];
    }
    
    if (a == b && b == c) {
        return TriangleKindEquilateral;
    } else if (a == b || b == c || a == c) {
        return TriangleKindIsosceles;
    } else { //!OCLINT
        return TriangleKindScalene;
    }
}

@end

Version data entries

363 entries across 363 versions & 1 rubygems

Version Path
trackler-2.2.1.180 tracks/objective-c/exercises/triangle/TriangleExample.m
trackler-2.2.1.179 tracks/objective-c/exercises/triangle/TriangleExample.m
trackler-2.2.1.178 tracks/objective-c/exercises/triangle/TriangleExample.m
trackler-2.2.1.177 tracks/objective-c/exercises/triangle/TriangleExample.m
trackler-2.2.1.176 tracks/objective-c/exercises/triangle/TriangleExample.m
trackler-2.2.1.175 tracks/objective-c/exercises/triangle/TriangleExample.m
trackler-2.2.1.174 tracks/objective-c/exercises/triangle/TriangleExample.m
trackler-2.2.1.173 tracks/objective-c/exercises/triangle/TriangleExample.m
trackler-2.2.1.172 tracks/objective-c/exercises/triangle/TriangleExample.m
trackler-2.2.1.171 tracks/objective-c/exercises/triangle/TriangleExample.m
trackler-2.2.1.170 tracks/objective-c/exercises/triangle/TriangleExample.m
trackler-2.2.1.169 tracks/objective-c/exercises/triangle/TriangleExample.m
trackler-2.2.1.167 tracks/objective-c/exercises/triangle/TriangleExample.m
trackler-2.2.1.166 tracks/objective-c/exercises/triangle/TriangleExample.m
trackler-2.2.1.165 tracks/objective-c/exercises/triangle/TriangleExample.m
trackler-2.2.1.164 tracks/objective-c/exercises/triangle/TriangleExample.m
trackler-2.2.1.163 tracks/objective-c/exercises/triangle/TriangleExample.m
trackler-2.2.1.162 tracks/objective-c/exercises/triangle/TriangleExample.m
trackler-2.2.1.161 tracks/objective-c/exercises/triangle/TriangleExample.m
trackler-2.2.1.160 tracks/objective-c/exercises/triangle/TriangleExample.m