// // MPParsedFactor.m // MathPad // // Created by Kim Wittenburg on 10.09.14. // Copyright (c) 2014 Kim Wittenburg. All rights reserved. // #import "MPParsedFactor.h" @implementation MPParsedFactor { NSDecimalNumber *_value; } + (MPParsedFactor *)factorWithDecimalNumber:(NSDecimalNumber *)number { return [[MPParsedFactor alloc] initWithDecimalNumber:number]; } + (MPParsedFactor *)sinFactorWithFactor:(MPParsedFactor *)factor { double value = factor.value.doubleValue; NSDecimalNumber *actualNumber = [[NSDecimalNumber alloc] initWithDouble:sin(value)]; return [[MPParsedFactor alloc] initWithDecimalNumber:actualNumber]; } + (MPParsedFactor *)cosFactorWithFactor:(MPParsedFactor *)factor { double value = factor.value.doubleValue; NSDecimalNumber *actualNumber = [[NSDecimalNumber alloc] initWithDouble:cos(value)]; return [[MPParsedFactor alloc] initWithDecimalNumber:actualNumber]; } + (MPParsedFactor *)tanFactorWithFactor:(MPParsedFactor *)factor { double value = factor.value.doubleValue; NSDecimalNumber *actualNumber = [[NSDecimalNumber alloc] initWithDouble:tan(value)]; return [[MPParsedFactor alloc] initWithDecimalNumber:actualNumber]; } - (instancetype)initWithDecimalNumber:(NSDecimalNumber *)number { self = [super init]; if (self) { _value = number; } return self; } - (NSDecimalNumber *)value { return _value; } - (NSString *)description { return [NSString stringWithFormat:@"MPParsedFactor<%@>", _value]; } @end