// // MPFactorialTerm.m // MathKit // // Created by Kim Wittenburg on 15.11.14. // Copyright (c) 2014 Kim Wittenburg. All rights reserved. // #import "MPFactorialTerm.h" @implementation MPFactorialTerm - (instancetype)initWithTerm:(MPTerm *)term { self = [super init]; if (self) { NSAssert(term != nil, @"term must not be nil."); _term = term; } return self; } - (NSDecimalNumber *)doEvaluation:(NSError *__autoreleasing *)error { NSDecimalNumber *value = [self.term evaluate:error]; if (!value) { return nil; } return [[NSDecimalNumber alloc] initWithDouble:tgamma(value.doubleValue + 1)]; } @end