renamed functions, added ctg and actg
This commit is contained in:
parent
e30cfc6cf4
commit
02a552767b
@ -16,9 +16,12 @@ class FunctionCallExpressionSin : FunctionCallExpression {
|
|||||||
class FunctionCallExpressionCos : FunctionCallExpression {
|
class FunctionCallExpressionCos : FunctionCallExpression {
|
||||||
internal override double FunctionImplementation(double x) => Math.Cos(x);
|
internal override double FunctionImplementation(double x) => Math.Cos(x);
|
||||||
}
|
}
|
||||||
class FunctionCallExpressionTan : FunctionCallExpression {
|
class FunctionCallExpressionTg : FunctionCallExpression {
|
||||||
internal override double FunctionImplementation(double x) => Math.Tan(x);
|
internal override double FunctionImplementation(double x) => Math.Tan(x);
|
||||||
}
|
}
|
||||||
|
class FunctionCallExpressionCtg : FunctionCallExpression {
|
||||||
|
internal override double FunctionImplementation(double x) => 1 / Math.Tan(x);
|
||||||
|
}
|
||||||
|
|
||||||
class FunctionCallExpressionAsin : FunctionCallExpression {
|
class FunctionCallExpressionAsin : FunctionCallExpression {
|
||||||
internal override double FunctionImplementation(double x) => Math.Asin(x);
|
internal override double FunctionImplementation(double x) => Math.Asin(x);
|
||||||
@ -26,10 +29,13 @@ class FunctionCallExpressionAsin : FunctionCallExpression {
|
|||||||
class FunctionCallExpressionAcos : FunctionCallExpression {
|
class FunctionCallExpressionAcos : FunctionCallExpression {
|
||||||
internal override double FunctionImplementation(double x) => Math.Acos(x);
|
internal override double FunctionImplementation(double x) => Math.Acos(x);
|
||||||
}
|
}
|
||||||
class FunctionCallExpressionAtan : FunctionCallExpression {
|
class FunctionCallExpressionAtg : FunctionCallExpression {
|
||||||
internal override double FunctionImplementation(double x) => Math.Atan(x);
|
internal override double FunctionImplementation(double x) => Math.Atan(x);
|
||||||
}
|
}
|
||||||
|
class FunctionCallExpressionActg : FunctionCallExpression {
|
||||||
|
internal override double FunctionImplementation(double x) => Math.Atan(1 / x);
|
||||||
|
}
|
||||||
|
|
||||||
class FunctionCallExpressionLog : FunctionCallExpression{
|
class FunctionCallExpressionLn : FunctionCallExpression{
|
||||||
internal override double FunctionImplementation(double x) => Math.Log(x);
|
internal override double FunctionImplementation(double x) => Math.Log(x);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -119,7 +119,11 @@ class Parser {
|
|||||||
PushFunctionExpression(expressionStack, str, new FunctionCallExpressionCos());
|
PushFunctionExpression(expressionStack, str, new FunctionCallExpressionCos());
|
||||||
break;
|
break;
|
||||||
case "tan":
|
case "tan":
|
||||||
PushFunctionExpression(expressionStack, str, new FunctionCallExpressionTan());
|
case "tg":
|
||||||
|
PushFunctionExpression(expressionStack, str, new FunctionCallExpressionTg());
|
||||||
|
break;
|
||||||
|
case "ctg":
|
||||||
|
PushFunctionExpression(expressionStack, str, new FunctionCallExpressionCtg());
|
||||||
break;
|
break;
|
||||||
case "asin":
|
case "asin":
|
||||||
PushFunctionExpression(expressionStack, str, new FunctionCallExpressionAsin());
|
PushFunctionExpression(expressionStack, str, new FunctionCallExpressionAsin());
|
||||||
@ -128,10 +132,16 @@ class Parser {
|
|||||||
PushFunctionExpression(expressionStack, str, new FunctionCallExpressionAcos());
|
PushFunctionExpression(expressionStack, str, new FunctionCallExpressionAcos());
|
||||||
break;
|
break;
|
||||||
case "atan":
|
case "atan":
|
||||||
PushFunctionExpression(expressionStack, str, new FunctionCallExpressionAtan());
|
case "atg":
|
||||||
|
case "arctg":
|
||||||
|
PushFunctionExpression(expressionStack, str, new FunctionCallExpressionAtg());
|
||||||
break;
|
break;
|
||||||
case "log":
|
case "actg":
|
||||||
PushFunctionExpression(expressionStack, str, new FunctionCallExpressionLog());
|
case "arcctg":
|
||||||
|
PushFunctionExpression(expressionStack, str, new FunctionCallExpressionActg());
|
||||||
|
break;
|
||||||
|
case "ln":
|
||||||
|
PushFunctionExpression(expressionStack, str, new FunctionCallExpressionLn());
|
||||||
break;
|
break;
|
||||||
default: {
|
default: {
|
||||||
ThrowError($"invalid literal '{str}'");
|
ThrowError($"invalid literal '{str}'");
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user