abstract class org.apache.cassandra.cql3.functions.AggregateFcts$FloatAvgAggregate implements org.apache.cassandra.cql3.functions.AggregateFunction$Aggregate
minor version: 0
major version: 59
flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
this_class: org.apache.cassandra.cql3.functions.AggregateFcts$FloatAvgAggregate
super_class: java.lang.Object
{
private double sum;
descriptor: D
flags: (0x0002) ACC_PRIVATE
private double compensation;
descriptor: D
flags: (0x0002) ACC_PRIVATE
private double simpleSum;
descriptor: D
flags: (0x0002) ACC_PRIVATE
private int count;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private java.math.BigDecimal bigSum;
descriptor: Ljava/math/BigDecimal;
flags: (0x0002) ACC_PRIVATE
private boolean overflow;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private final org.apache.cassandra.db.marshal.AbstractType numberType;
descriptor: Lorg/apache/cassandra/db/marshal/AbstractType;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public void <init>(org.apache.cassandra.db.marshal.AbstractType);
descriptor: (Lorg/apache/cassandra/db/marshal/AbstractType;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aconst_null
putfield org.apache.cassandra.cql3.functions.AggregateFcts$FloatAvgAggregate.bigSum:Ljava/math/BigDecimal;
2: aload 0
iconst_0
putfield org.apache.cassandra.cql3.functions.AggregateFcts$FloatAvgAggregate.overflow:Z
3: aload 0
aload 1
putfield org.apache.cassandra.cql3.functions.AggregateFcts$FloatAvgAggregate.numberType:Lorg/apache/cassandra/db/marshal/AbstractType;
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/apache/cassandra/cql3/functions/AggregateFcts$FloatAvgAggregate;
0 5 1 numberType Lorg/apache/cassandra/db/marshal/AbstractType;
MethodParameters:
Name Flags
numberType
public void reset();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
dconst_0
putfield org.apache.cassandra.cql3.functions.AggregateFcts$FloatAvgAggregate.sum:D
1: aload 0
dconst_0
putfield org.apache.cassandra.cql3.functions.AggregateFcts$FloatAvgAggregate.compensation:D
2: aload 0
dconst_0
putfield org.apache.cassandra.cql3.functions.AggregateFcts$FloatAvgAggregate.simpleSum:D
3: aload 0
iconst_0
putfield org.apache.cassandra.cql3.functions.AggregateFcts$FloatAvgAggregate.count:I
4: aload 0
aconst_null
putfield org.apache.cassandra.cql3.functions.AggregateFcts$FloatAvgAggregate.bigSum:Ljava/math/BigDecimal;
5: aload 0
iconst_0
putfield org.apache.cassandra.cql3.functions.AggregateFcts$FloatAvgAggregate.overflow:Z
6: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/apache/cassandra/cql3/functions/AggregateFcts$FloatAvgAggregate;
public double computeInternal();
descriptor: ()D
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=1
start local 0 0: aload 0
getfield org.apache.cassandra.cql3.functions.AggregateFcts$FloatAvgAggregate.count:I
ifne 2
1: dconst_0
dreturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.cassandra.cql3.functions.AggregateFcts$FloatAvgAggregate.overflow:Z
ifeq 4
3: aload 0
getfield org.apache.cassandra.cql3.functions.AggregateFcts$FloatAvgAggregate.bigSum:Ljava/math/BigDecimal;
aload 0
getfield org.apache.cassandra.cql3.functions.AggregateFcts$FloatAvgAggregate.count:I
i2l
invokestatic java.math.BigDecimal.valueOf:(J)Ljava/math/BigDecimal;
getstatic java.math.RoundingMode.HALF_EVEN:Ljava/math/RoundingMode;
invokevirtual java.math.BigDecimal.divide:(Ljava/math/BigDecimal;Ljava/math/RoundingMode;)Ljava/math/BigDecimal;
invokevirtual java.math.BigDecimal.doubleValue:()D
dreturn
4: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.cassandra.cql3.functions.AggregateFcts$FloatAvgAggregate.sum:D
aload 0
getfield org.apache.cassandra.cql3.functions.AggregateFcts$FloatAvgAggregate.compensation:D
dadd
dstore 1
start local 1 5: dload 1
invokestatic java.lang.Double.isNaN:(D)Z
ifeq 7
aload 0
getfield org.apache.cassandra.cql3.functions.AggregateFcts$FloatAvgAggregate.simpleSum:D
invokestatic java.lang.Double.isInfinite:(D)Z
ifeq 7
6: aload 0
aload 0
getfield org.apache.cassandra.cql3.functions.AggregateFcts$FloatAvgAggregate.simpleSum:D
putfield org.apache.cassandra.cql3.functions.AggregateFcts$FloatAvgAggregate.sum:D
goto 8
7: StackMap locals: double
StackMap stack:
aload 0
dload 1
putfield org.apache.cassandra.cql3.functions.AggregateFcts$FloatAvgAggregate.sum:D
8: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.cassandra.cql3.functions.AggregateFcts$FloatAvgAggregate.sum:D
aload 0
getfield org.apache.cassandra.cql3.functions.AggregateFcts$FloatAvgAggregate.count:I
i2d
ddiv
dreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/apache/cassandra/cql3/functions/AggregateFcts$FloatAvgAggregate;
5 9 1 tmp D
public void addInput(org.apache.cassandra.transport.ProtocolVersion, java.util.List<java.nio.ByteBuffer>);
descriptor: (Lorg/apache/cassandra/transport/ProtocolVersion;Ljava/util/List;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=12, args_size=3
start local 0 start local 1 start local 2 0: aload 2
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.nio.ByteBuffer
astore 3
start local 3 1: aload 3
ifnonnull 3
2: return
3: StackMap locals: java.nio.ByteBuffer
StackMap stack:
aload 0
dup
getfield org.apache.cassandra.cql3.functions.AggregateFcts$FloatAvgAggregate.count:I
iconst_1
iadd
putfield org.apache.cassandra.cql3.functions.AggregateFcts$FloatAvgAggregate.count:I
4: aload 0
getfield org.apache.cassandra.cql3.functions.AggregateFcts$FloatAvgAggregate.numberType:Lorg/apache/cassandra/db/marshal/AbstractType;
aload 3
invokevirtual org.apache.cassandra.db.marshal.AbstractType.compose:(Ljava/nio/ByteBuffer;)Ljava/lang/Object;
checkcast java.lang.Number
invokevirtual java.lang.Number.doubleValue:()D
dstore 4
start local 4 5: aload 0
getfield org.apache.cassandra.cql3.functions.AggregateFcts$FloatAvgAggregate.overflow:Z
ifeq 8
6: aload 0
aload 0
getfield org.apache.cassandra.cql3.functions.AggregateFcts$FloatAvgAggregate.bigSum:Ljava/math/BigDecimal;
dload 4
invokestatic java.math.BigDecimal.valueOf:(D)Ljava/math/BigDecimal;
invokevirtual java.math.BigDecimal.add:(Ljava/math/BigDecimal;)Ljava/math/BigDecimal;
putfield org.apache.cassandra.cql3.functions.AggregateFcts$FloatAvgAggregate.bigSum:Ljava/math/BigDecimal;
7: goto 17
8: StackMap locals: double
StackMap stack:
aload 0
dup
getfield org.apache.cassandra.cql3.functions.AggregateFcts$FloatAvgAggregate.simpleSum:D
dload 4
dadd
putfield org.apache.cassandra.cql3.functions.AggregateFcts$FloatAvgAggregate.simpleSum:D
9: aload 0
getfield org.apache.cassandra.cql3.functions.AggregateFcts$FloatAvgAggregate.sum:D
dstore 6
start local 6 10: dload 4
aload 0
getfield org.apache.cassandra.cql3.functions.AggregateFcts$FloatAvgAggregate.compensation:D
dsub
dstore 8
start local 8 11: aload 0
getfield org.apache.cassandra.cql3.functions.AggregateFcts$FloatAvgAggregate.sum:D
dload 8
dadd
dstore 10
start local 10 12: aload 0
dload 10
aload 0
getfield org.apache.cassandra.cql3.functions.AggregateFcts$FloatAvgAggregate.sum:D
dsub
dload 8
dsub
putfield org.apache.cassandra.cql3.functions.AggregateFcts$FloatAvgAggregate.compensation:D
13: aload 0
dload 10
putfield org.apache.cassandra.cql3.functions.AggregateFcts$FloatAvgAggregate.sum:D
14: aload 0
getfield org.apache.cassandra.cql3.functions.AggregateFcts$FloatAvgAggregate.sum:D
invokestatic java.lang.Double.isInfinite:(D)Z
ifeq 17
dload 4
invokestatic java.lang.Double.isInfinite:(D)Z
ifne 17
15: aload 0
iconst_1
putfield org.apache.cassandra.cql3.functions.AggregateFcts$FloatAvgAggregate.overflow:Z
16: aload 0
dload 6
invokestatic java.math.BigDecimal.valueOf:(D)Ljava/math/BigDecimal;
dload 4
invokestatic java.math.BigDecimal.valueOf:(D)Ljava/math/BigDecimal;
invokevirtual java.math.BigDecimal.add:(Ljava/math/BigDecimal;)Ljava/math/BigDecimal;
putfield org.apache.cassandra.cql3.functions.AggregateFcts$FloatAvgAggregate.bigSum:Ljava/math/BigDecimal;
end local 10 end local 8 end local 6 17: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lorg/apache/cassandra/cql3/functions/AggregateFcts$FloatAvgAggregate;
0 18 1 protocolVersion Lorg/apache/cassandra/transport/ProtocolVersion;
0 18 2 values Ljava/util/List<Ljava/nio/ByteBuffer;>;
1 18 3 value Ljava/nio/ByteBuffer;
5 18 4 number D
10 17 6 prev D
11 17 8 tmp D
12 17 10 rounded D
Signature: (Lorg/apache/cassandra/transport/ProtocolVersion;Ljava/util/List<Ljava/nio/ByteBuffer;>;)V
MethodParameters:
Name Flags
protocolVersion
values
}
SourceFile: "AggregateFcts.java"
NestHost: org.apache.cassandra.cql3.functions.AggregateFcts
InnerClasses:
private abstract FloatAvgAggregate = org.apache.cassandra.cql3.functions.AggregateFcts$FloatAvgAggregate of org.apache.cassandra.cql3.functions.AggregateFcts
public abstract Aggregate = org.apache.cassandra.cql3.functions.AggregateFunction$Aggregate of org.apache.cassandra.cql3.functions.AggregateFunction