//
// MPElementaryFunctionTerm.h
// MathKit
//
// Created by Kim Wittenburg on 11.10.14.
// Copyright (c) 2014 Kim Wittenburg. All rights reserved.
//
#import "MPTerm.h"
/*!
@header
This file contains the MPElementaryFunction class.
*/
@class MPElementaryFunctionTerm;
/*!
@class MPElementaryFunctionTerm
@abstract A MPElementaryFunction implements various
mathematical functions that have a valid text representation.
*/
@interface MPElementaryFunctionTerm : MPTerm
/*!
@method initWithFunctionIdentifier:term:
@abstract Initializes a function term using the specified textual
representation of the function and a term as its value.
@param function
The textual representation of the function to use. Valid values
are "sin", "cos", "tan",
"asin", "arcsin", "acos",
"arccos", "atan",
"arctan", "log", "lg" and
"ln".
@param term
The term that should be evaluated using function.
@return A new MPElementaryFunctionTerm instance.
*/
- (instancetype)initWithFunctionIdentifier:(NSString *)function
term:(MPTerm *)term; /* designated initializer */
/*!
@property functionIdentifier
@abstract The identifier of the receiver.
@discussion The identifier of a function is the string of letters it is
mathematically defined of (e.g. "sin" for the sine
function).
*/
@property (readonly, nonatomic, copy) NSString *functionIdentifier;
/*!
@property term
@abstract The receiver's term.
@discussion Depending on the actual function the value of the
term may be converted from radians into degrees.
*/
@property (readonly, nonatomic, strong) MPTerm *term;
@end