Package parser.methods
Class Method
- java.lang.Object
-
- parser.methods.Method
-
public class Method extends java.lang.ObjectModels the methods that perform calculations in the parser.- Author:
- JIBOYE OLUWAGBEMIRO OLAOLUWA
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringARC_COSstatic java.lang.StringARC_COS_ALTstatic java.lang.StringARC_COSECstatic java.lang.StringARC_COSEC_ALTstatic java.lang.StringARC_COSECHstatic java.lang.StringARC_COSECH_ALTstatic java.lang.StringARC_COSHstatic java.lang.StringARC_COSH_ALTstatic java.lang.StringARC_COTstatic java.lang.StringARC_COT_ALTstatic java.lang.StringARC_COTHstatic java.lang.StringARC_COTH_ALTstatic java.lang.StringARC_SECstatic java.lang.StringARC_SEC_ALTstatic java.lang.StringARC_SECHstatic java.lang.StringARC_SECH_ALTstatic java.lang.StringARC_SINstatic java.lang.StringARC_SIN_ALTstatic java.lang.StringARC_SINHstatic java.lang.StringARC_SINH_ALTstatic java.lang.StringARC_TANstatic java.lang.StringARC_TAN_ALTstatic java.lang.StringARC_TANHstatic java.lang.StringARC_TANH_ALTstatic java.lang.StringAVGstatic java.lang.StringCBRTstatic java.lang.StringCEILstatic java.lang.StringCOEFFICIENT_OF_VARIATIONstatic java.lang.StringCOMBINATIONstatic java.lang.StringCOSstatic java.lang.StringCOSECstatic java.lang.StringCOSECHstatic java.lang.StringCOSHstatic java.lang.StringCOTstatic java.lang.StringCOTHstatic java.lang.StringCUBEstatic java.lang.StringDETERMINANTstatic java.lang.StringDIFFERENTIATIONstatic java.lang.StringECHELON_MATRIXstatic java.lang.StringEXPstatic java.lang.StringFACTstatic java.lang.StringFLOORstatic java.lang.StringGENERAL_ROOTstatic java.lang.String[]inbuiltMethodsA list of all inbuilt methods of the parser of this software.The user is free to define his own functions.static java.lang.StringINTEGRATIONstatic java.lang.StringINVERSEstatic java.lang.StringINVERSE_MATRIXstatic java.lang.StringLGstatic java.lang.StringLG_INVstatic java.lang.StringLG_INV_ALTstatic java.lang.StringLINEAR_SYSTEMstatic java.lang.StringLNstatic java.lang.StringLN_INVstatic java.lang.StringLN_INV_ALTstatic java.lang.StringLOGstatic java.lang.StringLOG_INVstatic java.lang.StringLOG_INV_ALTstatic java.lang.StringMATRIX_ADDstatic java.lang.StringMATRIX_DIVIDEstatic java.lang.StringMATRIX_EDITstatic java.lang.StringMATRIX_MULTIPLYstatic java.lang.StringMATRIX_POWERstatic java.lang.StringMATRIX_SUBTRACTstatic java.lang.StringMATRIX_TRANSPOSEstatic java.lang.StringMAXstatic java.lang.StringMEDIANstatic java.lang.StringMID_RANGEstatic java.lang.StringMINstatic java.lang.StringMODEstatic java.lang.StringPERMUTATIONstatic java.lang.StringPLOTstatic java.lang.StringPOWstatic java.lang.StringPRODstatic java.lang.StringQUADRATICstatic java.lang.StringRANDOMstatic java.lang.StringRANGEstatic java.lang.StringROOT_MEAN_SQUAREDstatic java.lang.StringSECstatic java.lang.StringSECHstatic java.lang.StringSINstatic java.lang.StringSINHstatic java.lang.StringSORTstatic java.lang.StringSQRTstatic java.lang.StringSQUAREstatic java.lang.StringSTD_DEVstatic java.lang.StringSTD_ERRstatic java.lang.StringSUMstatic java.lang.StringTANstatic java.lang.StringTANHstatic java.lang.StringTARTAGLIA_ROOTSstatic java.lang.StringTRIANGULAR_MATRIXstatic java.lang.StringVARIANCE
-
Method Summary
Modifier and Type Method Description static booleanarrayContains(java.lang.String[] array, java.lang.String str)booleanequals(java.lang.Object obj)static java.lang.String[]getAllFunctions()intgetDRG()java.lang.StringgetName()java.lang.String[]getParameters()static java.lang.String[]getStatsMethods()static booleanhasStatsMethod(java.lang.String expr)Scans the given expression for statistical operatorsstatic booleanisAntiLogToAnyBase(java.lang.String op)static booleanisDefinedMethod(java.lang.String methodName)booleanisDeterminant(java.lang.String op)booleanisEchelon(java.lang.String op)static booleanisExpMethod(java.lang.String op)static booleanisFunctionOperatingMethod(java.lang.String methodName)static booleanisInBuiltMethod(java.lang.String methodName)static booleanisInverseNaturalLog(java.lang.String op)booleanisLinearSys(java.lang.String op)static booleanisListReturningStatsMethod(java.lang.String op)static booleanisLogOrAntiLogToAnyBase(java.lang.String op)static booleanisLogToAnyBase(java.lang.String op)static booleanisMatrixAdd(java.lang.String op)static booleanisMatrixDiv(java.lang.String op)static booleanisMatrixEdit(java.lang.String op)booleanisMatrixInvert(java.lang.String op)static booleanisMatrixMethod(java.lang.String op)static booleanisMatrixMul(java.lang.String op)static booleanisMatrixPow(java.lang.String op)static booleanisMatrixSub(java.lang.String op)static booleanisMethodName(java.lang.String name)static booleanisMethodNameBeginner(java.lang.String name)static booleanisMethodNameBuilder(java.lang.String name)static booleanisNaturalLog(java.lang.String op)static booleanisNumberReturningStatsMethod(java.lang.String op)static booleanisRandom(java.lang.String op)static booleanisStatsMethod(java.lang.String op)static booleanisTranspose(java.lang.String op)booleanisTriMat(java.lang.String op)static booleanisUnaryPreOperatorORDefinedMethod(java.lang.String methodName)static booleanisUserDefinedFunction(java.lang.String op)static voidmain(java.lang.String[] args)voidparseExpression(java.lang.String expression)static java.lang.StringreturnTypeDef(java.lang.String typeName)static java.util.List<java.lang.String>run(java.util.List<java.lang.String> list, int DRG)voidsetDRG(int DRG)voidsetName(java.lang.String name)voidsetParameters(java.lang.String[] parameters)java.lang.StringtoString()
-
-
-
Field Detail
-
SIN
public static final java.lang.String SIN
- See Also:
- Constant Field Values
-
COS
public static final java.lang.String COS
- See Also:
- Constant Field Values
-
TAN
public static final java.lang.String TAN
- See Also:
- Constant Field Values
-
SINH
public static final java.lang.String SINH
- See Also:
- Constant Field Values
-
COSH
public static final java.lang.String COSH
- See Also:
- Constant Field Values
-
TANH
public static final java.lang.String TANH
- See Also:
- Constant Field Values
-
ARC_SIN
public static final java.lang.String ARC_SIN
- See Also:
- Constant Field Values
-
ARC_COS
public static final java.lang.String ARC_COS
- See Also:
- Constant Field Values
-
ARC_TAN
public static final java.lang.String ARC_TAN
- See Also:
- Constant Field Values
-
ARC_SINH
public static final java.lang.String ARC_SINH
- See Also:
- Constant Field Values
-
ARC_COSH
public static final java.lang.String ARC_COSH
- See Also:
- Constant Field Values
-
ARC_TANH
public static final java.lang.String ARC_TANH
- See Also:
- Constant Field Values
-
SEC
public static final java.lang.String SEC
- See Also:
- Constant Field Values
-
COSEC
public static final java.lang.String COSEC
- See Also:
- Constant Field Values
-
COT
public static final java.lang.String COT
- See Also:
- Constant Field Values
-
SECH
public static final java.lang.String SECH
- See Also:
- Constant Field Values
-
COSECH
public static final java.lang.String COSECH
- See Also:
- Constant Field Values
-
COTH
public static final java.lang.String COTH
- See Also:
- Constant Field Values
-
ARC_SEC
public static final java.lang.String ARC_SEC
- See Also:
- Constant Field Values
-
ARC_COSEC
public static final java.lang.String ARC_COSEC
- See Also:
- Constant Field Values
-
ARC_COT
public static final java.lang.String ARC_COT
- See Also:
- Constant Field Values
-
ARC_SECH
public static final java.lang.String ARC_SECH
- See Also:
- Constant Field Values
-
ARC_COSECH
public static final java.lang.String ARC_COSECH
- See Also:
- Constant Field Values
-
ARC_COTH
public static final java.lang.String ARC_COTH
- See Also:
- Constant Field Values
-
EXP
public static final java.lang.String EXP
- See Also:
- Constant Field Values
-
LN
public static final java.lang.String LN
- See Also:
- Constant Field Values
-
LG
public static final java.lang.String LG
- See Also:
- Constant Field Values
-
LOG
public static final java.lang.String LOG
- See Also:
- Constant Field Values
-
LN_INV
public static final java.lang.String LN_INV
- See Also:
- Constant Field Values
-
LG_INV
public static final java.lang.String LG_INV
- See Also:
- Constant Field Values
-
LOG_INV
public static final java.lang.String LOG_INV
- See Also:
- Constant Field Values
-
ARC_SIN_ALT
public static final java.lang.String ARC_SIN_ALT
- See Also:
- Constant Field Values
-
ARC_COS_ALT
public static final java.lang.String ARC_COS_ALT
- See Also:
- Constant Field Values
-
ARC_TAN_ALT
public static final java.lang.String ARC_TAN_ALT
- See Also:
- Constant Field Values
-
ARC_SINH_ALT
public static final java.lang.String ARC_SINH_ALT
- See Also:
- Constant Field Values
-
ARC_COSH_ALT
public static final java.lang.String ARC_COSH_ALT
- See Also:
- Constant Field Values
-
ARC_TANH_ALT
public static final java.lang.String ARC_TANH_ALT
- See Also:
- Constant Field Values
-
ARC_SEC_ALT
public static final java.lang.String ARC_SEC_ALT
- See Also:
- Constant Field Values
-
ARC_COSEC_ALT
public static final java.lang.String ARC_COSEC_ALT
- See Also:
- Constant Field Values
-
ARC_COT_ALT
public static final java.lang.String ARC_COT_ALT
- See Also:
- Constant Field Values
-
ARC_SECH_ALT
public static final java.lang.String ARC_SECH_ALT
- See Also:
- Constant Field Values
-
ARC_COSECH_ALT
public static final java.lang.String ARC_COSECH_ALT
- See Also:
- Constant Field Values
-
ARC_COTH_ALT
public static final java.lang.String ARC_COTH_ALT
- See Also:
- Constant Field Values
-
LN_INV_ALT
public static final java.lang.String LN_INV_ALT
- See Also:
- Constant Field Values
-
LG_INV_ALT
public static final java.lang.String LG_INV_ALT
- See Also:
- Constant Field Values
-
LOG_INV_ALT
public static final java.lang.String LOG_INV_ALT
- See Also:
- Constant Field Values
-
FLOOR
public static final java.lang.String FLOOR
- See Also:
- Constant Field Values
-
CEIL
public static final java.lang.String CEIL
- See Also:
- Constant Field Values
-
SQRT
public static final java.lang.String SQRT
- See Also:
- Constant Field Values
-
CBRT
public static final java.lang.String CBRT
- See Also:
- Constant Field Values
-
INVERSE
public static final java.lang.String INVERSE
- See Also:
- Constant Field Values
-
SQUARE
public static final java.lang.String SQUARE
- See Also:
- Constant Field Values
-
CUBE
public static final java.lang.String CUBE
- See Also:
- Constant Field Values
-
POW
public static final java.lang.String POW
- See Also:
- Constant Field Values
-
FACT
public static final java.lang.String FACT
- See Also:
- Constant Field Values
-
COMBINATION
public static final java.lang.String COMBINATION
- See Also:
- Constant Field Values
-
PERMUTATION
public static final java.lang.String PERMUTATION
- See Also:
- Constant Field Values
-
SUM
public static final java.lang.String SUM
- See Also:
- Constant Field Values
-
PROD
public static final java.lang.String PROD
- See Also:
- Constant Field Values
-
AVG
public static final java.lang.String AVG
- See Also:
- Constant Field Values
-
MEDIAN
public static final java.lang.String MEDIAN
- See Also:
- Constant Field Values
-
MODE
public static final java.lang.String MODE
- See Also:
- Constant Field Values
-
RANGE
public static final java.lang.String RANGE
- See Also:
- Constant Field Values
-
MID_RANGE
public static final java.lang.String MID_RANGE
- See Also:
- Constant Field Values
-
ROOT_MEAN_SQUARED
public static final java.lang.String ROOT_MEAN_SQUARED
- See Also:
- Constant Field Values
-
COEFFICIENT_OF_VARIATION
public static final java.lang.String COEFFICIENT_OF_VARIATION
- See Also:
- Constant Field Values
-
MIN
public static final java.lang.String MIN
- See Also:
- Constant Field Values
-
MAX
public static final java.lang.String MAX
- See Also:
- Constant Field Values
-
STD_DEV
public static final java.lang.String STD_DEV
- See Also:
- Constant Field Values
-
VARIANCE
public static final java.lang.String VARIANCE
- See Also:
- Constant Field Values
-
STD_ERR
public static final java.lang.String STD_ERR
- See Also:
- Constant Field Values
-
RANDOM
public static final java.lang.String RANDOM
- See Also:
- Constant Field Values
-
SORT
public static final java.lang.String SORT
- See Also:
- Constant Field Values
-
PLOT
public static final java.lang.String PLOT
- See Also:
- Constant Field Values
-
DIFFERENTIATION
public static final java.lang.String DIFFERENTIATION
- See Also:
- Constant Field Values
-
INTEGRATION
public static final java.lang.String INTEGRATION
- See Also:
- Constant Field Values
-
QUADRATIC
public static final java.lang.String QUADRATIC
- See Also:
- Constant Field Values
-
TARTAGLIA_ROOTS
public static final java.lang.String TARTAGLIA_ROOTS
- See Also:
- Constant Field Values
-
GENERAL_ROOT
public static final java.lang.String GENERAL_ROOT
- See Also:
- Constant Field Values
-
LINEAR_SYSTEM
public static final java.lang.String LINEAR_SYSTEM
- See Also:
- Constant Field Values
-
DETERMINANT
public static final java.lang.String DETERMINANT
- See Also:
- Constant Field Values
-
INVERSE_MATRIX
public static final java.lang.String INVERSE_MATRIX
- See Also:
- Constant Field Values
-
TRIANGULAR_MATRIX
public static final java.lang.String TRIANGULAR_MATRIX
- See Also:
- Constant Field Values
-
ECHELON_MATRIX
public static final java.lang.String ECHELON_MATRIX
- See Also:
- Constant Field Values
-
MATRIX_MULTIPLY
public static final java.lang.String MATRIX_MULTIPLY
- See Also:
- Constant Field Values
-
MATRIX_DIVIDE
public static final java.lang.String MATRIX_DIVIDE
- See Also:
- Constant Field Values
-
MATRIX_ADD
public static final java.lang.String MATRIX_ADD
- See Also:
- Constant Field Values
-
MATRIX_SUBTRACT
public static final java.lang.String MATRIX_SUBTRACT
- See Also:
- Constant Field Values
-
MATRIX_POWER
public static final java.lang.String MATRIX_POWER
- See Also:
- Constant Field Values
-
MATRIX_TRANSPOSE
public static final java.lang.String MATRIX_TRANSPOSE
- See Also:
- Constant Field Values
-
MATRIX_EDIT
public static final java.lang.String MATRIX_EDIT
- See Also:
- Constant Field Values
-
inbuiltMethods
public static final java.lang.String[] inbuiltMethods
A list of all inbuilt methods of the parser of this software.The user is free to define his own functions.
-
-
Constructor Detail
-
Method
public Method(java.lang.String name, java.lang.String... parameters)- Parameters:
name- The method nameparameters- The parameters to the method
-
Method
public Method(java.lang.String expression)
- Parameters:
expression- Initializes the attributes of objects of this class by parsing the expression parameter. The format of expression is: methodname(args_1,args_2,....args_N)
-
-
Method Detail
-
returnTypeDef
public static java.lang.String returnTypeDef(java.lang.String typeName)
- Parameters:
typeName- The name of the method- Returns:
- the return type
-
isFunctionOperatingMethod
public static boolean isFunctionOperatingMethod(java.lang.String methodName)
- Parameters:
methodName- The name of the method.- Returns:
- true if the method name represents one that can operate on Function objects or anonymous Functions.
-
getAllFunctions
public static java.lang.String[] getAllFunctions()
- Returns:
- An array containing the names of all functions defined by the user and inbuilt into the software.
-
parseExpression
public final void parseExpression(java.lang.String expression)
- Parameters:
expression- The expression to parse. The format of expression is: methodname(args_1,args_2,....args_N)
-
setName
public void setName(java.lang.String name)
-
getName
public java.lang.String getName()
-
setParameters
public void setParameters(java.lang.String[] parameters)
-
getParameters
public java.lang.String[] getParameters()
-
setDRG
public void setDRG(int DRG)
-
getDRG
public int getDRG()
-
isListReturningStatsMethod
public static boolean isListReturningStatsMethod(java.lang.String op)
- Parameters:
op- the String to check- Returns:
- true if the operator is a statistical operator that returns items in a list e.g sort(
-
isNumberReturningStatsMethod
public static boolean isNumberReturningStatsMethod(java.lang.String op)
- Parameters:
op- the String to check- Returns:
- true if the operator is a statistical operator that operates on a data set and returns a single value: e.g sum(4,3,2,2...)
-
isRandom
public static boolean isRandom(java.lang.String op)
- Parameters:
op- the String to check- Returns:
- true if the operator is the random(rnd) operator
-
isLogToAnyBase
public static boolean isLogToAnyBase(java.lang.String op)
- Parameters:
op- the String to check- Returns:
- true if the operator is the log operator the form is log(num,base)
-
isAntiLogToAnyBase
public static boolean isAntiLogToAnyBase(java.lang.String op)
- Parameters:
op- the String to check- Returns:
- true if the operator is the log operator the form is log-¹(num,base)
-
isNaturalLog
public static boolean isNaturalLog(java.lang.String op)
- Parameters:
op- the String to check- Returns:
- true if the operator is the natural log operator the form is log-¹(num,base)
-
isInverseNaturalLog
public static boolean isInverseNaturalLog(java.lang.String op)
- Parameters:
op- the String to check- Returns:
- true if the operator is the inverse natural log operator the form is log-¹(num,base)
-
isExpMethod
public static boolean isExpMethod(java.lang.String op)
- Parameters:
op- the String to check- Returns:
- true if the operator is the inverse natural log operator the form is log-¹(num,base)
-
isLogOrAntiLogToAnyBase
public static boolean isLogOrAntiLogToAnyBase(java.lang.String op)
- Parameters:
op- the String to check- Returns:
- true if the operator is the log operator or the log-¹ operator
-
isDeterminant
public boolean isDeterminant(java.lang.String op)
-
isMatrixInvert
public boolean isMatrixInvert(java.lang.String op)
-
isLinearSys
public boolean isLinearSys(java.lang.String op)
-
isTriMat
public boolean isTriMat(java.lang.String op)
-
isEchelon
public boolean isEchelon(java.lang.String op)
-
isStatsMethod
public static boolean isStatsMethod(java.lang.String op)
- Parameters:
op- the String to check- Returns:
- true if the operator is a statistical operator..basically any
system function that takes more than 1 argument. So by definition even
the
logandalog(and its log-¹ variant) are included here. e.g sum,prod,min,max,avg,var,rms,cov,s_d,st_err,rng,mrng,med,mode,rnd
-
isMatrixMethod
public static boolean isMatrixMethod(java.lang.String op)
- Parameters:
op- The method name- Returns:
- true if the method is capable of acting on one or more matrix functions
-
isMatrixMul
public static boolean isMatrixMul(java.lang.String op)
- Parameters:
op- The method name- Returns:
- true if the method is the matrix multiplication method name
-
isMatrixDiv
public static boolean isMatrixDiv(java.lang.String op)
- Parameters:
op- The method name- Returns:
- true if the method is the matrix division method name
-
isMatrixAdd
public static boolean isMatrixAdd(java.lang.String op)
- Parameters:
op- The method name- Returns:
- true if the method is the matrix addition method name
-
isMatrixSub
public static boolean isMatrixSub(java.lang.String op)
- Parameters:
op- The method name- Returns:
- true if the method is the matrix subtraction method name
-
isMatrixPow
public static boolean isMatrixPow(java.lang.String op)
- Parameters:
op- The method name- Returns:
- true if the method is the matrix power method name
-
isTranspose
public static boolean isTranspose(java.lang.String op)
- Parameters:
op- The method name- Returns:
- true if the method is the transpose method name
-
isMatrixEdit
public static boolean isMatrixEdit(java.lang.String op)
- Parameters:
op- The method name- Returns:
- true if the method is the matrix edit method name
-
isUserDefinedFunction
public static boolean isUserDefinedFunction(java.lang.String op)
- Returns:
- true if the Function name has been defined by the user in the user's workspace.
-
run
public static java.util.List<java.lang.String> run(java.util.List<java.lang.String> list, int DRG)- Parameters:
list- A list containing a portion of a scanned function that has information about a method and its parameters..e.g. [sin,(,3.14,)] may be grabbed from a scanner output and sent to this method to evaluate.DRG- The trigonometric mode in which to run the method.- Returns:
- a
Listobject which is the output of the method's operation.
-
isUnaryPreOperatorORDefinedMethod
public static boolean isUnaryPreOperatorORDefinedMethod(java.lang.String methodName)
- Parameters:
methodName- The name of the method- Returns:
- true if the method has been defined by the user or is defined by the parser.
-
isDefinedMethod
public static boolean isDefinedMethod(java.lang.String methodName)
- Parameters:
methodName- The name of the method- Returns:
- true if the method has been defined by the user or is defined by the parser.
-
isInBuiltMethod
public static boolean isInBuiltMethod(java.lang.String methodName)
- Parameters:
methodName- The name of the method- Returns:
- true if the method is defined by the parser as a core inbuilt function.
-
arrayContains
public static boolean arrayContains(java.lang.String[] array, java.lang.String str)- Parameters:
array- An array of stringsstr- The string to check for.- Returns:
- true if the array contains the specified string.
-
isMethodName
public static boolean isMethodName(java.lang.String name)
- Parameters:
name- The string to check if or not it represents a valid method name.
The method may or may not have been defined. But once it represents a valid method name, this method will return true. In contrast, the 'isDefinedMethod' checks whether or not the method has been afore-defined.- Returns:
- true if the string represents a valid method name.
-
isMethodNameBuilder
public static boolean isMethodNameBuilder(java.lang.String name)
- Parameters:
name- The string to check.- Returns:
- true if the string is part of the valid characters that can be used to build a method name.
-
isMethodNameBeginner
public static boolean isMethodNameBeginner(java.lang.String name)
- Parameters:
name- The string to check.- Returns:
- true if the string can be the first character in a method name.
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
equals
public boolean equals(java.lang.Object obj)
- Overrides:
equalsin classjava.lang.Object
-
getStatsMethods
public static java.lang.String[] getStatsMethods()
- Returns:
- all the statistical methods used by the parser.
-
hasStatsMethod
public static boolean hasStatsMethod(java.lang.String expr)
Scans the given expression for statistical operators- Parameters:
expr- The input expression- Returns:
- true if it finds statistical operators in the expression.
-
main
public static void main(java.lang.String[] args)
-
-