39 lines
984 B
Objective-C
39 lines
984 B
Objective-C
//
|
|
// MPFractionFunction.m
|
|
// MathPad
|
|
//
|
|
// Created by Kim Wittenburg on 07.10.14.
|
|
// Copyright (c) 2014 Kim Wittenburg. All rights reserved.
|
|
//
|
|
|
|
#import "MPFractionFunction.h"
|
|
|
|
#import "MPExpressionTree.h"
|
|
|
|
@implementation MPFractionFunction
|
|
|
|
MPFunctionAccessorImplementation(NominatorExpression, _nominatorExpression)
|
|
MPFunctionAccessorImplementation(DenominatorExpression, _denominatorExpression)
|
|
|
|
- (NSArray *)childrenAccessors
|
|
{
|
|
return @[@"nominatorExpression", @"denominatorExpression"];
|
|
}
|
|
|
|
- (BOOL)validate:(NSError *__autoreleasing *)error
|
|
{
|
|
return [[self.nominatorExpression parse] validate:error] && [[self.denominatorExpression parse] validate:error];
|
|
}
|
|
|
|
- (NSDecimalNumber *)evaluate
|
|
{
|
|
return [[[self.nominatorExpression parse] evaluate] decimalNumberByDividingBy:[[self.denominatorExpression parse] evaluate]];
|
|
}
|
|
|
|
- (NSString *)description
|
|
{
|
|
return [NSString stringWithFormat:@"%@ / %@", self.nominatorExpression, self.denominatorExpression];
|
|
}
|
|
|
|
@end
|