package jmathlib.toolbox.string;
import jmathlib.core.tokens.Token;
import jmathlib.core.tokens.OperandToken;
import jmathlib.core.tokens.numbertokens.*;
import jmathlib.core.functions.ExternalFunction;
import jmathlib.core.interpreter.GlobalValues;
import jmathlib.core.tokens.CharToken;
/**An external function for comparing two strings*/
public class strcmpi extends ExternalFunction
{
/**compares two strings
@param operands[0] = first string
@param operands[1] = second string*/
public OperandToken evaluate(Token[] operands, GlobalValues globals)
{
int result = 0;
if(operands[0] instanceof CharToken)
{
if(operands[1] instanceof CharToken)
{
String string1 = ((CharToken)operands[0]).toString().toUpperCase();
String string2 = ((CharToken)operands[1]).toString().toUpperCase();
if(string1.equals(string2))
result = 1;
}
}
return new DoubleNumberToken(result);
}
}
/*
@GROUP
char
@SYNTAX
STRCMPI(string1, string2)
@DOC
Compares string1 to string2, ignoring case.
@NOTES
@EXAMPLES
STRCMPI("ABcd", "abce")
0
STRCMPI("ABc", "abc")
1
@SEE
strcmp, strncmpi, strncmp
*/