This is MathArrayExtensions.rtf in view mode; [Download] [Up]
Release 1.0 Copyright ©1995 by Adam Fedor All Rights Reserved.
MathArray (Extensions)
Inherits From: NSObject
Declared In: MathArray/MathArrayExtensions.h, MathArray/MANumber.h
Catagory Description
MathArray is a general class for performing mathematical operations on array (1-D vectors, 2-D matrices, etc) of values. See MathArray for a better description of the class. This document describes some convienent extensions to the 'spartan' class definition. Most of these methods are implemented in terms of other methods.
Method Types
Operating on/with arrays - maAdd:
- maAnd:
- maDivide:
- maEqual:
- maExponent:
- maGreater:
- maGreaterOrEqual:
- maLess:
- maLessOrEqual:
- maMatrixMultiply:
- maMaximum:
- maMaximumValue
- maMinimum:
- maMinimumValue
- maMod:
- maMultiply:
- maNot
- maNotEqual:
- maOr:
- maSubtract:
- maXor:
Performing functions on arrays - maAbs
- maArcCos
- maArcSin
- maArcTan
- maCos
- maExp
- maFFt:
- maInvert
- maLogBase10
- maNaturalLog
- maRandomUniformMin:toMax:
- maRandomNormalMean:deviation:
- maSin
- maSqrt
- maTan
Other functions - maShift:
- maTotal
- maTranspose
- maWhere
+ setRandomSeed:
Instance Methods
maAbs
- maAbs
Takes the absolute value of the receiver..
See also:
maAdd:
- maAdd:value
Adds value to the receiver.
See also: ± maOperate:with:
maAnd:
- maAnd:value
Takes the logical AND of value and the receiver.
See also: ± maOperate:with:
maArcCos
- maArcCos
Takes the inverse or 'arc' cosine of the receiver.
See also: ± maPerform:
maArcSin
- maArcSin
Takes the inverse or 'arc' sine of the receiver.
See also: ± maPerform:
maArcTan
- maArcTan
Takes the inverse or 'arc' tangent of the receiver.
See also: ± maPerform:
maCos
- maCos
Takes the cosine of the receiver.
See also: ± maPerform:
maDivide:
- maDivide:divisor
Divides the receiver by value.
See also: ± maOperate:with:
maEqual:
- maEqual:value
Logically test for the equality of the receiver and value.
See also: ± maOperate:with:
maExp
- maExp
Replaces the receiver by exp(receiver).
See also: ± maPerform:
maExponent:
- maExponent:exp
Replaces the receiver by (receiver)^exp.
See also: ± maOperate:with:
maFFt:
- maFFt:(int)direction
Performs a Fast-Fourier Transform on the receiver in the specified direction: -1 for a forward transform, +1 for an inverse transform. The receiver is automatically converted to a complex type. NOTE: Currently the FFt can only be performed on arrays that have sizes that are integer powers of two.
See also:
maGreater:
- maGreater:value
Logically tests for the receiver being greater than value.
See also: ± maOperate:with:
maGreaterOrEqual:
- maGreaterOrEqual:value
Logically tests for the receiver being greater than or equal to value.
See also: ± maOperate:with:
maInvert
- maInvert
Inverts the array.
See also:
maLess:
- maLess:value
Logically tests for the receiver being less than value.
See also: ± maOperate:with:
maLessOrEqual:
- maLessOrEqual:value
Logically tests for the receiver being less than or equal to value.
See also: ± maOperate:with:
maLogBase10
- maLogBase10
Take the logarithm (base 10) of the receiver.
See also: ± maPerform:
maMatrixMultiply:
- maMatrixMultiply:(MathArray *)otherArray
Performs matrix or vector multiplication between the receiver and otherArray. Raises an MAArrayMismatchException if the dimension or sizes of the arrays are not compatible..
See also: ± maOperate:with:
maMaximum:
- maMaximum:value
Replaces each element of the receiver by the maximum of either the receiver or value.
See also: ± maOperate:with:
maMaximumValue
- (id <NSNumber,ComplexNumber>)maMaximumValue
Returns a new MANumber which contains the maximum value of the array.
See also:
maMinimum:
- maMinimum:value
Replaces each element of the receiver by the minimum of either the receiver or value.
See also: ± maOperate:with:
maMinimumValue
- (id <NSNumber,ComplexNumber>)maMinimumValue
Returns a new MANumber which contains the minimum value of the array.
See also:
maMod:
- maMod:value
Replaces each element of the receiver with the mathematical MOD of the receiver and value.
See also: ± maOperate:with:
maMultiply:
- maMultiply:factor
Multiplies the receiver by factor.
See also: ± maOperate:with:
maNaturalLog
- maNaturalLog
Takes the natural logarithm of the receiver.
See also: ± maPerform:
maNot
- maNot
Performs a logical NOT on the receiver.
See also: ± maOperate:with:
maNotEqual:
- maNotEqual:value
Logically test for the receiver and value being not equal.
See also: ± maOperate:with:
maOr:
- maOr:value
Performs a logical OR between the receiver and value.
See also: ± maOperate:with:
maRandomUniformMin:toMax:
- maRandomUniformMin:(double)min toMax: (double)max
Replaces the receiver with an array of uniformly distributed numbers n such that min <= n < max. Uses the math library function drand48() if available, otherwise uses random().
See also: - maRandomNormalMean:devaition:, - setRandomSeed:
maRandomNormalMean:deviation:
- maRandomNormalMean:(double)mean deviation: (double)deviation
Replaces the receiver with an array of normally distributed numbers with the given mean and standard deviation. Uses the Box-Miller method of generating noramlly distributed numbers. Uses the math library function drand48() if available, otherwise uses random() as a base for calculating the numbers.
See also: - maRandomUniformMin:toMax:, - setRandomSeed:
maShift:
- maShift:(int *)positions
Shift each value of the array by an amount specified in the array positions. If, for instance, the receiver is a two-dimensional array and positions = {4,-7}, then each value in the receiver is shifted 4 rows down (forward) and 7 columns back. Values wrap around in the array.
See also:
maSin
- maSin
Takes the sine of the receiver.
See also: ± maPerform:
maSqrt
- maSqrt
Takes the square root of the receiver.
See also: ± maPerform:
maSubtract:
- maSubtract:value
Subtracts value from the receiver.
See also: ± maOperate:with:
maTan
- maTan
Takes the tangent of the receiver.
See also: ± maPerform:
maTotal
- (id <NSNumber,ComplexNumber>)maTotal
Returns the sum of every element in the array as an MANumber.
See also:
maTranspose
- maTranspose
Transposes the array.
See also:
maWhere
- maWhere
Replaces the receiver by an array which contains the orderedIndex values of where the receiver was nonzero. You can use this in more complex expressions to, for instance, return the location of where the receiver is greater than 2:
number2 = [NSNumber numberWithDouble:2.0];
c = [[[MA_TEMPORARY(b) maGreater:number2] maWhere]
See also: ± arrayValues:
maXor:
- maXor:value
Performs the logical XOR of the reciever with value.
See also:
setRandomSeed:
- setRandomSeed:(int)seed
Sets the seed used by the random number generator. If left unset, or set to 0, the seed is replaced by the computer time as given by the function time() at the first suceeding call to one of the random number methods.
See also: - maRandomUniformMin:toMax:, - maRandomNormalMean:deviation:
MathArray (ComplexExtensions)
Inherits From: NSObject
Declared In: MathArray/MathArrayExtensions.h
Catagory Description
These are extension methods for use with complex numbers.
Method Types
Making complex arrays + maComplexArrayWithReal:imaginary:
Operating on arrays - isComplex
- maConjugate
- maImaginary
- maMagnitude
- maPhase
- maReal
Class Methods
maComplexArrayWithReal:imaginary:
+ (MathArray *)maComplexArrayWithReal:(MathArray *)realArray
imaginary:(MathArray *)imagArray
Returns a new array of complex type made from the combination of the non-complex arrays realArray and imagArray.
See also:
Instance Methods
isComplex
- (BOOL)isComplex
Returns YES if the receiver is complex type.
See also:
maConjugate
- maConjugate
Replaces the receiver by its complex conjugate. If the array is not complex, it is automatically promoted to a complex type.
See also:
maImaginary
- maImaginary
Replaces the receiver by its imaginary part. The array is set to 0 if it is not complex.
See also: ± maReal
maMagnitude
- maMagnitude
Replaces the receiver by its magnitude, i.e. SQRT({Re}^2 + {Im}^2).
See also: ± maPhase
maPhase
- maPhase
Replaces the receiver by its phase, i.e. tan-1(Im/Re). The array is set to 0 if it is not complex.
See also: ± maMagnitude
maReal
- maReal
Replaces the receiver by its real part.
See also: ± maImaginary
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.