60 lines
1.5 KiB
Objective-C
60 lines
1.5 KiB
Objective-C
//
|
|
// 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 |