//
// MPProductTerm.h
// MathPad
//
// Created by Kim Wittenburg on 15.11.14.
// Copyright (c) 2014 Kim Wittenburg. All rights reserved.
//
#import "MPTerm.h"
/*!
@header
This file contains the MPProductTerm class.
*/
@class MPProductTerm;
/*!
@class MPProductTerm
@abstract A product term consists of n terms that are multiplied together.
@discussion Although they are mutliplied in order of occurrence the child
terms should be considered having equal priority.
*/
@interface MPProductTerm : MPTerm
/*!
@method initWithFactors:
@abstract Initializes a new product term with the specified
factors.
@discussion There is very little checking performed during initialization.
All objects in the specified array must be valid instances of
subclasses of @link //apple_ref/occ/cl/MPTerm@/link.
The array must contain at least one object.
@param factors
The factors the product term should be initialized with. The
array must not be nil and must contain at least one
object. The contents of the array are not copied, the array
itself however is.
@return A new sum term.
*/
- (instancetype)initWithFactors:(NSArray *)factors; /* designated initializer */
/*!
@property factors
@abstract The receiver's factors.
@discussion This property is guaranteed to be non nil. The
contents of the array are specified during initialization of the
receiver.
*/
@property (readonly, nonatomic, strong) NSArray *factors;
@end