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 // org.apache.cassandra.cql3.functions.AggregateFcts$FloatAvgAggregate this
        start local 1 // org.apache.cassandra.db.marshal.AbstractType numberType
         0: .line 600
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 595
            aload 0 /* this */
            aconst_null
            putfield org.apache.cassandra.cql3.functions.AggregateFcts$FloatAvgAggregate.bigSum:Ljava/math/BigDecimal;
         2: .line 596
            aload 0 /* this */
            iconst_0
            putfield org.apache.cassandra.cql3.functions.AggregateFcts$FloatAvgAggregate.overflow:Z
         3: .line 602
            aload 0 /* this */
            aload 1 /* numberType */
            putfield org.apache.cassandra.cql3.functions.AggregateFcts$FloatAvgAggregate.numberType:Lorg/apache/cassandra/db/marshal/AbstractType;
         4: .line 603
            return
        end local 1 // org.apache.cassandra.db.marshal.AbstractType numberType
        end local 0 // org.apache.cassandra.cql3.functions.AggregateFcts$FloatAvgAggregate this
      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 // org.apache.cassandra.cql3.functions.AggregateFcts$FloatAvgAggregate this
         0: .line 607
            aload 0 /* this */
            dconst_0
            putfield org.apache.cassandra.cql3.functions.AggregateFcts$FloatAvgAggregate.sum:D
         1: .line 608
            aload 0 /* this */
            dconst_0
            putfield org.apache.cassandra.cql3.functions.AggregateFcts$FloatAvgAggregate.compensation:D
         2: .line 609
            aload 0 /* this */
            dconst_0
            putfield org.apache.cassandra.cql3.functions.AggregateFcts$FloatAvgAggregate.simpleSum:D
         3: .line 611
            aload 0 /* this */
            iconst_0
            putfield org.apache.cassandra.cql3.functions.AggregateFcts$FloatAvgAggregate.count:I
         4: .line 612
            aload 0 /* this */
            aconst_null
            putfield org.apache.cassandra.cql3.functions.AggregateFcts$FloatAvgAggregate.bigSum:Ljava/math/BigDecimal;
         5: .line 613
            aload 0 /* this */
            iconst_0
            putfield org.apache.cassandra.cql3.functions.AggregateFcts$FloatAvgAggregate.overflow:Z
         6: .line 614
            return
        end local 0 // org.apache.cassandra.cql3.functions.AggregateFcts$FloatAvgAggregate this
      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 // org.apache.cassandra.cql3.functions.AggregateFcts$FloatAvgAggregate this
         0: .line 618
            aload 0 /* this */
            getfield org.apache.cassandra.cql3.functions.AggregateFcts$FloatAvgAggregate.count:I
            ifne 2
         1: .line 619
            dconst_0
            dreturn
         2: .line 621
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.cassandra.cql3.functions.AggregateFcts$FloatAvgAggregate.overflow:Z
            ifeq 4
         3: .line 623
            aload 0 /* this */
            getfield org.apache.cassandra.cql3.functions.AggregateFcts$FloatAvgAggregate.bigSum:Ljava/math/BigDecimal;
            aload 0 /* this */
            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: .line 629
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.cassandra.cql3.functions.AggregateFcts$FloatAvgAggregate.sum:D
            aload 0 /* this */
            getfield org.apache.cassandra.cql3.functions.AggregateFcts$FloatAvgAggregate.compensation:D
            dadd
            dstore 1 /* tmp */
        start local 1 // double tmp
         5: .line 630
            dload 1 /* tmp */
            invokestatic java.lang.Double.isNaN:(D)Z
            ifeq 7
            aload 0 /* this */
            getfield org.apache.cassandra.cql3.functions.AggregateFcts$FloatAvgAggregate.simpleSum:D
            invokestatic java.lang.Double.isInfinite:(D)Z
            ifeq 7
         6: .line 631
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.cassandra.cql3.functions.AggregateFcts$FloatAvgAggregate.simpleSum:D
            putfield org.apache.cassandra.cql3.functions.AggregateFcts$FloatAvgAggregate.sum:D
            goto 8
         7: .line 633
      StackMap locals: double
      StackMap stack:
            aload 0 /* this */
            dload 1 /* tmp */
            putfield org.apache.cassandra.cql3.functions.AggregateFcts$FloatAvgAggregate.sum:D
         8: .line 635
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.cassandra.cql3.functions.AggregateFcts$FloatAvgAggregate.sum:D
            aload 0 /* this */
            getfield org.apache.cassandra.cql3.functions.AggregateFcts$FloatAvgAggregate.count:I
            i2d
            ddiv
            dreturn
        end local 1 // double tmp
        end local 0 // org.apache.cassandra.cql3.functions.AggregateFcts$FloatAvgAggregate this
      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 // org.apache.cassandra.cql3.functions.AggregateFcts$FloatAvgAggregate this
        start local 1 // org.apache.cassandra.transport.ProtocolVersion protocolVersion
        start local 2 // java.util.List values
         0: .line 641
            aload 2 /* values */
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.nio.ByteBuffer
            astore 3 /* value */
        start local 3 // java.nio.ByteBuffer value
         1: .line 643
            aload 3 /* value */
            ifnonnull 3
         2: .line 644
            return
         3: .line 646
      StackMap locals: java.nio.ByteBuffer
      StackMap stack:
            aload 0 /* this */
            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: .line 648
            aload 0 /* this */
            getfield org.apache.cassandra.cql3.functions.AggregateFcts$FloatAvgAggregate.numberType:Lorg/apache/cassandra/db/marshal/AbstractType;
            aload 3 /* value */
            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 /* number */
        start local 4 // double number
         5: .line 650
            aload 0 /* this */
            getfield org.apache.cassandra.cql3.functions.AggregateFcts$FloatAvgAggregate.overflow:Z
            ifeq 8
         6: .line 652
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.cassandra.cql3.functions.AggregateFcts$FloatAvgAggregate.bigSum:Ljava/math/BigDecimal;
            dload 4 /* number */
            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: .line 653
            goto 17
         8: .line 656
      StackMap locals: double
      StackMap stack:
            aload 0 /* this */
            dup
            getfield org.apache.cassandra.cql3.functions.AggregateFcts$FloatAvgAggregate.simpleSum:D
            dload 4 /* number */
            dadd
            putfield org.apache.cassandra.cql3.functions.AggregateFcts$FloatAvgAggregate.simpleSum:D
         9: .line 657
            aload 0 /* this */
            getfield org.apache.cassandra.cql3.functions.AggregateFcts$FloatAvgAggregate.sum:D
            dstore 6 /* prev */
        start local 6 // double prev
        10: .line 658
            dload 4 /* number */
            aload 0 /* this */
            getfield org.apache.cassandra.cql3.functions.AggregateFcts$FloatAvgAggregate.compensation:D
            dsub
            dstore 8 /* tmp */
        start local 8 // double tmp
        11: .line 659
            aload 0 /* this */
            getfield org.apache.cassandra.cql3.functions.AggregateFcts$FloatAvgAggregate.sum:D
            dload 8 /* tmp */
            dadd
            dstore 10 /* rounded */
        start local 10 // double rounded
        12: .line 660
            aload 0 /* this */
            dload 10 /* rounded */
            aload 0 /* this */
            getfield org.apache.cassandra.cql3.functions.AggregateFcts$FloatAvgAggregate.sum:D
            dsub
            dload 8 /* tmp */
            dsub
            putfield org.apache.cassandra.cql3.functions.AggregateFcts$FloatAvgAggregate.compensation:D
        13: .line 661
            aload 0 /* this */
            dload 10 /* rounded */
            putfield org.apache.cassandra.cql3.functions.AggregateFcts$FloatAvgAggregate.sum:D
        14: .line 663
            aload 0 /* this */
            getfield org.apache.cassandra.cql3.functions.AggregateFcts$FloatAvgAggregate.sum:D
            invokestatic java.lang.Double.isInfinite:(D)Z
            ifeq 17
            dload 4 /* number */
            invokestatic java.lang.Double.isInfinite:(D)Z
            ifne 17
        15: .line 665
            aload 0 /* this */
            iconst_1
            putfield org.apache.cassandra.cql3.functions.AggregateFcts$FloatAvgAggregate.overflow:Z
        16: .line 666
            aload 0 /* this */
            dload 6 /* prev */
            invokestatic java.math.BigDecimal.valueOf:(D)Ljava/math/BigDecimal;
            dload 4 /* number */
            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 // double rounded
        end local 8 // double tmp
        end local 6 // double prev
        17: .line 669
      StackMap locals:
      StackMap stack:
            return
        end local 4 // double number
        end local 3 // java.nio.ByteBuffer value
        end local 2 // java.util.List values
        end local 1 // org.apache.cassandra.transport.ProtocolVersion protocolVersion
        end local 0 // org.apache.cassandra.cql3.functions.AggregateFcts$FloatAvgAggregate this
      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