[
https://issues.apache.org/jira/browse/METRON-1038?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16085839#comment-16085839
]
ASF GitHub Bot commented on METRON-1038:
----------------------------------------
Github user ottobackwards commented on a diff in the pull request:
https://github.com/apache/metron/pull/650#discussion_r127245372
--- Diff:
metron-stellar/stellar-common/src/main/java/org/apache/metron/stellar/dsl/functions/MathFunctions.java
---
@@ -25,17 +25,39 @@
import org.apache.metron.stellar.dsl.StellarFunction;
import java.util.List;
+import java.util.function.Function;
public class MathFunctions {
- @Stellar(name="ABS"
- ,description="Returns the absolute value of a number."
- ,params = {
- "number - The number to take the absolute value of"
- }
- , returns="The absolute value of the number passed in."
- )
- public static class Abs implements StellarFunction {
+ private enum SingleArgMathFunctions implements Function<Double, Double> {
+ ABS(d -> Math.abs(d)),
+ CEIL(d -> Math.ceil(d)),
+ COS(d -> Math.cos(d)),
+ FLOOR(d -> Math.floor(d)),
+ LOG10(d -> Math.log10(d)),
+ LOG2(d -> Math.log(d)/Math.log(2)),
+ LN(d -> Math.log(d)),
+ SIN(d -> Math.sin(d)),
+ SQRT(d -> Math.sqrt(d)),
+ TAN(d -> Math.tan(d)),
+ ;
+
--- End diff --
I agree. I think that in general when we are adapting or exposing a set of
functionality from java or from apache-commons we should state our intent
explicitly for the record.
> Stellar should have a better collection of basic math operations
> ----------------------------------------------------------------
>
> Key: METRON-1038
> URL: https://issues.apache.org/jira/browse/METRON-1038
> Project: Metron
> Issue Type: Improvement
> Reporter: Casey Stella
>
> At the moment the math functions are woefully incomplete.
> We should add at least the ones difficult or impossible to reconstruct using
> existing stellar primitives/math functions:
> * log10
> * log2
> * ln
> * sqrt
> * ceil
> * floor
> * sin
> * cos
> * tan
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)