// <auto-generated>
//  automatically generated by the FlatBuffers compiler, do not modify
// </auto-generated>

namespace nd4j.graph
{

using global::System;
using global::FlatBuffers;

public struct UISummaryStatistics : IFlatbufferObject
{
  private Table __p;
  public ByteBuffer ByteBuffer { get { return __p.bb; } }
  public static UISummaryStatistics GetRootAsUISummaryStatistics(ByteBuffer _bb) { return GetRootAsUISummaryStatistics(_bb, new UISummaryStatistics()); }
  public static UISummaryStatistics GetRootAsUISummaryStatistics(ByteBuffer _bb, UISummaryStatistics obj) { return (obj.__assign(_bb.GetInt(_bb.Position) + _bb.Position, _bb)); }
  public void __init(int _i, ByteBuffer _bb) { __p.bb_pos = _i; __p.bb = _bb; }
  public UISummaryStatistics __assign(int _i, ByteBuffer _bb) { __init(_i, _bb); return this; }

  public uint Bitmask { get { int o = __p.__offset(4); return o != 0 ? __p.bb.GetUint(o + __p.bb_pos) : (uint)0; } }
  public FlatArray? Min { get { int o = __p.__offset(6); return o != 0 ? (FlatArray?)(new FlatArray()).__assign(__p.__indirect(o + __p.bb_pos), __p.bb) : null; } }
  public FlatArray? Max { get { int o = __p.__offset(8); return o != 0 ? (FlatArray?)(new FlatArray()).__assign(__p.__indirect(o + __p.bb_pos), __p.bb) : null; } }
  public double Mean { get { int o = __p.__offset(10); return o != 0 ? __p.bb.GetDouble(o + __p.bb_pos) : (double)0.0; } }
  public double Stdev { get { int o = __p.__offset(12); return o != 0 ? __p.bb.GetDouble(o + __p.bb_pos) : (double)0.0; } }
  public long Countzero { get { int o = __p.__offset(14); return o != 0 ? __p.bb.GetLong(o + __p.bb_pos) : (long)0; } }
  public long Countpositive { get { int o = __p.__offset(16); return o != 0 ? __p.bb.GetLong(o + __p.bb_pos) : (long)0; } }
  public long Countnegative { get { int o = __p.__offset(18); return o != 0 ? __p.bb.GetLong(o + __p.bb_pos) : (long)0; } }
  public long Countnan { get { int o = __p.__offset(20); return o != 0 ? __p.bb.GetLong(o + __p.bb_pos) : (long)0; } }
  public long Countinf { get { int o = __p.__offset(22); return o != 0 ? __p.bb.GetLong(o + __p.bb_pos) : (long)0; } }

  public static Offset<UISummaryStatistics> CreateUISummaryStatistics(FlatBufferBuilder builder,
      uint bitmask = 0,
      Offset<FlatArray> minOffset = default(Offset<FlatArray>),
      Offset<FlatArray> maxOffset = default(Offset<FlatArray>),
      double mean = 0.0,
      double stdev = 0.0,
      long countzero = 0,
      long countpositive = 0,
      long countnegative = 0,
      long countnan = 0,
      long countinf = 0) {
    builder.StartObject(10);
    UISummaryStatistics.AddCountinf(builder, countinf);
    UISummaryStatistics.AddCountnan(builder, countnan);
    UISummaryStatistics.AddCountnegative(builder, countnegative);
    UISummaryStatistics.AddCountpositive(builder, countpositive);
    UISummaryStatistics.AddCountzero(builder, countzero);
    UISummaryStatistics.AddStdev(builder, stdev);
    UISummaryStatistics.AddMean(builder, mean);
    UISummaryStatistics.AddMax(builder, maxOffset);
    UISummaryStatistics.AddMin(builder, minOffset);
    UISummaryStatistics.AddBitmask(builder, bitmask);
    return UISummaryStatistics.EndUISummaryStatistics(builder);
  }

  public static void StartUISummaryStatistics(FlatBufferBuilder builder) { builder.StartObject(10); }
  public static void AddBitmask(FlatBufferBuilder builder, uint bitmask) { builder.AddUint(0, bitmask, 0); }
  public static void AddMin(FlatBufferBuilder builder, Offset<FlatArray> minOffset) { builder.AddOffset(1, minOffset.Value, 0); }
  public static void AddMax(FlatBufferBuilder builder, Offset<FlatArray> maxOffset) { builder.AddOffset(2, maxOffset.Value, 0); }
  public static void AddMean(FlatBufferBuilder builder, double mean) { builder.AddDouble(3, mean, 0.0); }
  public static void AddStdev(FlatBufferBuilder builder, double stdev) { builder.AddDouble(4, stdev, 0.0); }
  public static void AddCountzero(FlatBufferBuilder builder, long countzero) { builder.AddLong(5, countzero, 0); }
  public static void AddCountpositive(FlatBufferBuilder builder, long countpositive) { builder.AddLong(6, countpositive, 0); }
  public static void AddCountnegative(FlatBufferBuilder builder, long countnegative) { builder.AddLong(7, countnegative, 0); }
  public static void AddCountnan(FlatBufferBuilder builder, long countnan) { builder.AddLong(8, countnan, 0); }
  public static void AddCountinf(FlatBufferBuilder builder, long countinf) { builder.AddLong(9, countinf, 0); }
  public static Offset<UISummaryStatistics> EndUISummaryStatistics(FlatBufferBuilder builder) {
    int o = builder.EndObject();
    return new Offset<UISummaryStatistics>(o);
  }
};


}
