diff --git a/MathPad/NSIndexPath+MPAdditions.h b/MathPad/NSIndexPath+MPAdditions.h index 56b8c8e..185ac20 100644 --- a/MathPad/NSIndexPath+MPAdditions.h +++ b/MathPad/NSIndexPath+MPAdditions.h @@ -34,4 +34,8 @@ - (NSIndexPath *)indexPathByIncrementingLastIndex; - (NSIndexPath *)indexPathByDecrementingLastIndex; +- (NSIndexPath *)indexPathWithLength:(NSUInteger)length; // use length indexes from the receiver, exception if too much + +- (NSIndexPath *)commonIndexPathWith:(NSIndexPath *)indexPath; + @end diff --git a/MathPad/NSString+MPExpressionElement.m b/MathPad/NSString+MPExpressionElement.m index 380108a..9102518 100644 --- a/MathPad/NSString+MPExpressionElement.m +++ b/MathPad/NSString+MPExpressionElement.m @@ -7,6 +7,7 @@ // #import "NSString+MPExpressionElement.h" +#import "MPElementParser.h" @implementation NSString (MPExpressionElement) @@ -20,30 +21,9 @@ return NO; } -- (double)doubleValue +- (NSDecimalNumber *)evaluate:(MPParseError *__autoreleasing *)error { -#warning Unimplemented Method - return 0; -} - -- (float)floatValue -{ - return (float)[self doubleValue]; -} - -- (int)intValue -{ - return (int)[self doubleValue]; -} - -- (NSInteger)integerValue -{ - return (NSInteger)[self doubleValue]; -} - -- (long long)longLongValue -{ - return (long long)[self doubleValue]; + return [[[MPElementParser alloc] init] parseElement:self error:error].standaloneValue; } @end