//
//  MPNegatedTerm.m
//  MathKit
//
//  Created by Kim Wittenburg on 22.11.14.
//  Copyright (c) 2014 Kim Wittenburg. All rights reserved.
//

#import "MPNegatedTerm.h"



@implementation MPNegatedTerm

- (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) {
        value = [value decimalNumberByMultiplyingBy:[[NSDecimalNumber alloc] initWithInteger:-1]];
    }
    return value;
}

@end
