public class org.apache.drill.exec.udfs.ThreatHuntingFunctions$StringEntropyFunction extends java.lang.Object implements org.apache.drill.exec.expr.DrillSimpleFunc
{
org.apache.drill.exec.expr.holders.VarCharHolder rawInput;
org.apache.drill.exec.expr.holders.Float8Holder out;
public void <init>()
{
org.apache.drill.exec.udfs.ThreatHuntingFunctions$StringEntropyFunction v;
v := @this: org.apache.drill.exec.udfs.ThreatHuntingFunctions$StringEntropyFunction;
specialinvoke v.<java.lang.Object: void <init>()>();
return;
}
public void setup()
{
org.apache.drill.exec.udfs.ThreatHuntingFunctions$StringEntropyFunction v;
v := @this: org.apache.drill.exec.udfs.ThreatHuntingFunctions$StringEntropyFunction;
return;
}
public void eval()
{
org.apache.drill.exec.expr.holders.VarCharHolder v, v, v;
java.lang.Character v;
io.netty.buffer.DrillBuf v;
boolean v, v;
java.util.Collection v;
java.lang.Double v;
java.util.HashMap v;
org.apache.drill.exec.expr.holders.Float8Holder v;
java.util.HashSet v;
org.apache.drill.exec.udfs.ThreatHuntingFunctions$StringEntropyFunction v;
int v, v, v, v, v, v;
java.lang.String v;
double v, v, v, v, v, v, v, v, v;
java.util.Iterator v, v;
char v, v;
char[] v;
java.lang.Object v, v;
v := @this: org.apache.drill.exec.udfs.ThreatHuntingFunctions$StringEntropyFunction;
v = v.<org.apache.drill.exec.udfs.ThreatHuntingFunctions$StringEntropyFunction: org.apache.drill.exec.expr.holders.VarCharHolder rawInput1>;
v = v.<org.apache.drill.exec.expr.holders.VarCharHolder: int start>;
v = v.<org.apache.drill.exec.udfs.ThreatHuntingFunctions$StringEntropyFunction: org.apache.drill.exec.expr.holders.VarCharHolder rawInput1>;
v = v.<org.apache.drill.exec.expr.holders.VarCharHolder: int end>;
v = v.<org.apache.drill.exec.udfs.ThreatHuntingFunctions$StringEntropyFunction: org.apache.drill.exec.expr.holders.VarCharHolder rawInput1>;
v = v.<org.apache.drill.exec.expr.holders.VarCharHolder: io.netty.buffer.DrillBuf buffer>;
v = staticinvoke <org.apache.drill.exec.expr.fn.impl.StringFunctionHelpers: java.lang.String toStringFromUTF8(int,int,io.netty.buffer.DrillBuf)>(v, v, v);
v = new java.util.HashSet;
specialinvoke v.<java.util.HashSet: void <init>()>();
v = virtualinvoke v.<java.lang.String: char[] toCharArray()>();
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
v = staticinvoke <java.lang.Character: java.lang.Character valueOf(char)>(v);
interfaceinvoke v.<java.util.Set: boolean add(java.lang.Object)>(v);
v = v + 1;
goto label;
label:
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v = virtualinvoke v.<java.lang.String: int length()>();
v = interfaceinvoke v.<java.util.Set: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = virtualinvoke v.<java.lang.Character: char charValue()>();
v = staticinvoke <org.apache.commons.lang.StringUtils: int countMatches(java.lang.CharSequence,char)>(v, v);
v = v / v;
v = staticinvoke <java.lang.Double: java.lang.Double valueOf(double)>(v);
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
goto label;
label:
v = 0.0;
v = interfaceinvoke v.<java.util.Map: java.util.Collection values()>();
v = interfaceinvoke v.<java.util.Collection: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = virtualinvoke v.<java.lang.Double: double doubleValue()>();
v = virtualinvoke v.<java.lang.Double: double doubleValue()>();
v = staticinvoke <java.lang.Math: double log(double)>(v);
v = v * v;
v = staticinvoke <java.lang.Math: double log(double)>(2.0);
v = v / v;
v = v + v;
goto label;
label:
v = v.<org.apache.drill.exec.udfs.ThreatHuntingFunctions$StringEntropyFunction: org.apache.drill.exec.expr.holders.Float8Holder out>;
v = staticinvoke <java.lang.Math: double abs(double)>(v);
v.<org.apache.drill.exec.expr.holders.Float8Holder: double value> = v;
return;
}
}