Model Redesign: Added Reference Frames
Added Inverse Functions UI Redesign Cleaned Code
This commit is contained in:
@@ -31,6 +31,9 @@ static MPEvaluationContext *sharedContext;
|
||||
self = [super init];
|
||||
if (self) {
|
||||
_stack = [[NSMutableArray alloc] init];
|
||||
[self push];
|
||||
[self defineVariable:@"e" withValue:[[NSDecimalNumber alloc] initWithDouble:M_E]];
|
||||
[self defineVariable:@"π" withValue:[[NSDecimalNumber alloc] initWithDouble:M_PI]];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
@@ -45,7 +48,7 @@ static MPEvaluationContext *sharedContext;
|
||||
[self.stack removeLastObject];
|
||||
}
|
||||
|
||||
- (void)defineVariable:(NSString *)variable withValue:(id)value
|
||||
- (void)defineVariable:(NSString *)variable withValue:(NSDecimalNumber *)value
|
||||
{
|
||||
NSMutableDictionary *currentBindings = self.stack.lastObject;
|
||||
currentBindings[variable] = value;
|
||||
@@ -59,8 +62,14 @@ static MPEvaluationContext *sharedContext;
|
||||
|
||||
- (NSDecimalNumber *)valueForVariable:(NSString *)variable
|
||||
{
|
||||
NSMutableDictionary *currentBindings = self.stack.lastObject;
|
||||
return currentBindings[variable];
|
||||
NSUInteger currentIndex = self.stack.count;
|
||||
NSDictionary *currentBindings;
|
||||
NSDecimalNumber *value = nil;
|
||||
while (!value && currentIndex > 0) {
|
||||
currentBindings = self.stack[--currentIndex];
|
||||
value = currentBindings[variable];
|
||||
}
|
||||
return value;
|
||||
}
|
||||
|
||||
- (BOOL)isVariableDefined:(NSString *)variable
|
||||
|
||||
Reference in New Issue
Block a user