1 // <auto-generated> 2 // automatically generated by the FlatBuffers compiler, do not modify 3 // </auto-generated> 4 5 namespace FBInstruction 6 { 7 using global::System; 8 using global::System.Collections.Generic; 9 using global::Google.FlatBuffers; 10 11 public struct Instruction : IFlatbufferObject 12 { 13 private Table __p; 14 public ByteBuffer ByteBuffer { get { return __p.bb; } } ValidateVersionFBInstruction.Instruction15 public static void ValidateVersion() { FlatBufferConstants.FLATBUFFERS_23_1_4(); } GetRootAsInstructionFBInstruction.Instruction16 public static Instruction GetRootAsInstruction(ByteBuffer _bb) { return GetRootAsInstruction(_bb, new Instruction()); } GetRootAsInstructionFBInstruction.Instruction17 public static Instruction GetRootAsInstruction(ByteBuffer _bb, Instruction obj) { return (obj.__assign(_bb.GetInt(_bb.Position) + _bb.Position, _bb)); } __initFBInstruction.Instruction18 public void __init(int _i, ByteBuffer _bb) { __p = new Table(_i, _bb); } __assignFBInstruction.Instruction19 public Instruction __assign(int _i, ByteBuffer _bb) { __init(_i, _bb); return this; } 20 21 public ulong Addr { get { int o = __p.__offset(4); return o != 0 ? __p.bb.GetUlong(o + __p.bb_pos) : (ulong)0; } } 22 public uint Opcode { get { int o = __p.__offset(6); return o != 0 ? __p.bb.GetUint(o + __p.bb_pos) : (uint)0; } } 23 public string Mnemonic { get { int o = __p.__offset(8); return o != 0 ? __p.__string(o + __p.bb_pos) : null; } } 24 #if ENABLE_SPAN_T GetMnemonicBytesFBInstruction.Instruction25 public Span<byte> GetMnemonicBytes() { return __p.__vector_as_span<byte>(8, 1); } 26 #else GetMnemonicBytesFBInstruction.Instruction27 public ArraySegment<byte>? GetMnemonicBytes() { return __p.__vector_as_arraysegment(8); } 28 #endif GetMnemonicArrayFBInstruction.Instruction29 public byte[] GetMnemonicArray() { return __p.__vector_as_array<byte>(8); } OperandsFBInstruction.Instruction30 public string Operands(int j) { int o = __p.__offset(10); return o != 0 ? __p.__string(__p.__vector(o) + j * 4) : null; } 31 public int OperandsLength { get { int o = __p.__offset(10); return o != 0 ? __p.__vector_len(o) : 0; } } InputsFBInstruction.Instruction32 public string Inputs(int j) { int o = __p.__offset(12); return o != 0 ? __p.__string(__p.__vector(o) + j * 4) : null; } 33 public int InputsLength { get { int o = __p.__offset(12); return o != 0 ? __p.__vector_len(o) : 0; } } OutputsFBInstruction.Instruction34 public string Outputs(int j) { int o = __p.__offset(14); return o != 0 ? __p.__string(__p.__vector(o) + j * 4) : null; } 35 public int OutputsLength { get { int o = __p.__offset(14); return o != 0 ? __p.__vector_len(o) : 0; } } 36 public bool IsNop { get { int o = __p.__offset(16); return o != 0 ? 0 != __p.bb.Get(o + __p.bb_pos) : (bool)false; } } 37 public bool IsBranch { get { int o = __p.__offset(18); return o != 0 ? 0 != __p.bb.Get(o + __p.bb_pos) : (bool)false; } } 38 public ulong BranchTarget { get { int o = __p.__offset(20); return o != 0 ? __p.bb.GetUlong(o + __p.bb_pos) : (ulong)0; } } 39 public bool IsFlush { get { int o = __p.__offset(22); return o != 0 ? 0 != __p.bb.Get(o + __p.bb_pos) : (bool)false; } } 40 public bool IsVctrl { get { int o = __p.__offset(24); return o != 0 ? 0 != __p.bb.Get(o + __p.bb_pos) : (bool)false; } } LoadsFBInstruction.Instruction41 public ulong Loads(int j) { int o = __p.__offset(26); return o != 0 ? __p.bb.GetUlong(__p.__vector(o) + j * 8) : (ulong)0; } 42 public int LoadsLength { get { int o = __p.__offset(26); return o != 0 ? __p.__vector_len(o) : 0; } } 43 #if ENABLE_SPAN_T GetLoadsBytesFBInstruction.Instruction44 public Span<ulong> GetLoadsBytes() { return __p.__vector_as_span<ulong>(26, 8); } 45 #else GetLoadsBytesFBInstruction.Instruction46 public ArraySegment<byte>? GetLoadsBytes() { return __p.__vector_as_arraysegment(26); } 47 #endif GetLoadsArrayFBInstruction.Instruction48 public ulong[] GetLoadsArray() { return __p.__vector_as_array<ulong>(26); } StoresFBInstruction.Instruction49 public ulong Stores(int j) { int o = __p.__offset(28); return o != 0 ? __p.bb.GetUlong(__p.__vector(o) + j * 8) : (ulong)0; } 50 public int StoresLength { get { int o = __p.__offset(28); return o != 0 ? __p.__vector_len(o) : 0; } } 51 #if ENABLE_SPAN_T GetStoresBytesFBInstruction.Instruction52 public Span<ulong> GetStoresBytes() { return __p.__vector_as_span<ulong>(28, 8); } 53 #else GetStoresBytesFBInstruction.Instruction54 public ArraySegment<byte>? GetStoresBytes() { return __p.__vector_as_arraysegment(28); } 55 #endif GetStoresArrayFBInstruction.Instruction56 public ulong[] GetStoresArray() { return __p.__vector_as_array<ulong>(28); } 57 public float Lmul { get { int o = __p.__offset(30); return o != 0 ? __p.bb.GetFloat(o + __p.bb_pos) : (float)0.0f; } } 58 public byte Sew { get { int o = __p.__offset(32); return o != 0 ? __p.bb.Get(o + __p.bb_pos) : (byte)0; } } 59 public short Vl { get { int o = __p.__offset(34); return o != 0 ? __p.bb.GetShort(o + __p.bb_pos) : (short)0; } } 60 CreateInstructionFBInstruction.Instruction61 public static Offset<FBInstruction.Instruction> CreateInstruction(FlatBufferBuilder builder, 62 ulong addr = 0, 63 uint opcode = 0, 64 StringOffset mnemonicOffset = default(StringOffset), 65 VectorOffset operandsOffset = default(VectorOffset), 66 VectorOffset inputsOffset = default(VectorOffset), 67 VectorOffset outputsOffset = default(VectorOffset), 68 bool is_nop = false, 69 bool is_branch = false, 70 ulong branch_target = 0, 71 bool is_flush = false, 72 bool is_vctrl = false, 73 VectorOffset loadsOffset = default(VectorOffset), 74 VectorOffset storesOffset = default(VectorOffset), 75 float lmul = 0.0f, 76 byte sew = 0, 77 short vl = 0) 78 { 79 builder.StartTable(16); 80 Instruction.AddBranchTarget(builder, branch_target); 81 Instruction.AddAddr(builder, addr); 82 Instruction.AddLmul(builder, lmul); 83 Instruction.AddStores(builder, storesOffset); 84 Instruction.AddLoads(builder, loadsOffset); 85 Instruction.AddOutputs(builder, outputsOffset); 86 Instruction.AddInputs(builder, inputsOffset); 87 Instruction.AddOperands(builder, operandsOffset); 88 Instruction.AddMnemonic(builder, mnemonicOffset); 89 Instruction.AddOpcode(builder, opcode); 90 Instruction.AddVl(builder, vl); 91 Instruction.AddSew(builder, sew); 92 Instruction.AddIsVctrl(builder, is_vctrl); 93 Instruction.AddIsFlush(builder, is_flush); 94 Instruction.AddIsBranch(builder, is_branch); 95 Instruction.AddIsNop(builder, is_nop); 96 return Instruction.EndInstruction(builder); 97 } 98 StartInstructionFBInstruction.Instruction99 public static void StartInstruction(FlatBufferBuilder builder) { builder.StartTable(16); } AddAddrFBInstruction.Instruction100 public static void AddAddr(FlatBufferBuilder builder, ulong addr) { builder.AddUlong(0, addr, 0); } AddOpcodeFBInstruction.Instruction101 public static void AddOpcode(FlatBufferBuilder builder, uint opcode) { builder.AddUint(1, opcode, 0); } AddMnemonicFBInstruction.Instruction102 public static void AddMnemonic(FlatBufferBuilder builder, StringOffset mnemonicOffset) { builder.AddOffset(2, mnemonicOffset.Value, 0); } AddOperandsFBInstruction.Instruction103 public static void AddOperands(FlatBufferBuilder builder, VectorOffset operandsOffset) { builder.AddOffset(3, operandsOffset.Value, 0); } CreateOperandsVectorFBInstruction.Instruction104 public static VectorOffset CreateOperandsVector(FlatBufferBuilder builder, StringOffset[] data) { builder.StartVector(4, data.Length, 4); for (int i = data.Length - 1; i >= 0; i--) builder.AddOffset(data[i].Value); return builder.EndVector(); } CreateOperandsVectorBlockFBInstruction.Instruction105 public static VectorOffset CreateOperandsVectorBlock(FlatBufferBuilder builder, StringOffset[] data) { builder.StartVector(4, data.Length, 4); builder.Add(data); return builder.EndVector(); } CreateOperandsVectorBlockFBInstruction.Instruction106 public static VectorOffset CreateOperandsVectorBlock(FlatBufferBuilder builder, ArraySegment<StringOffset> data) { builder.StartVector(4, data.Count, 4); builder.Add(data); return builder.EndVector(); } CreateOperandsVectorBlockFBInstruction.Instruction107 public static VectorOffset CreateOperandsVectorBlock(FlatBufferBuilder builder, IntPtr dataPtr, int sizeInBytes) { builder.StartVector(1, sizeInBytes, 1); builder.Add<StringOffset>(dataPtr, sizeInBytes); return builder.EndVector(); } StartOperandsVectorFBInstruction.Instruction108 public static void StartOperandsVector(FlatBufferBuilder builder, int numElems) { builder.StartVector(4, numElems, 4); } AddInputsFBInstruction.Instruction109 public static void AddInputs(FlatBufferBuilder builder, VectorOffset inputsOffset) { builder.AddOffset(4, inputsOffset.Value, 0); } CreateInputsVectorFBInstruction.Instruction110 public static VectorOffset CreateInputsVector(FlatBufferBuilder builder, StringOffset[] data) { builder.StartVector(4, data.Length, 4); for (int i = data.Length - 1; i >= 0; i--) builder.AddOffset(data[i].Value); return builder.EndVector(); } CreateInputsVectorBlockFBInstruction.Instruction111 public static VectorOffset CreateInputsVectorBlock(FlatBufferBuilder builder, StringOffset[] data) { builder.StartVector(4, data.Length, 4); builder.Add(data); return builder.EndVector(); } CreateInputsVectorBlockFBInstruction.Instruction112 public static VectorOffset CreateInputsVectorBlock(FlatBufferBuilder builder, ArraySegment<StringOffset> data) { builder.StartVector(4, data.Count, 4); builder.Add(data); return builder.EndVector(); } CreateInputsVectorBlockFBInstruction.Instruction113 public static VectorOffset CreateInputsVectorBlock(FlatBufferBuilder builder, IntPtr dataPtr, int sizeInBytes) { builder.StartVector(1, sizeInBytes, 1); builder.Add<StringOffset>(dataPtr, sizeInBytes); return builder.EndVector(); } StartInputsVectorFBInstruction.Instruction114 public static void StartInputsVector(FlatBufferBuilder builder, int numElems) { builder.StartVector(4, numElems, 4); } AddOutputsFBInstruction.Instruction115 public static void AddOutputs(FlatBufferBuilder builder, VectorOffset outputsOffset) { builder.AddOffset(5, outputsOffset.Value, 0); } CreateOutputsVectorFBInstruction.Instruction116 public static VectorOffset CreateOutputsVector(FlatBufferBuilder builder, StringOffset[] data) { builder.StartVector(4, data.Length, 4); for (int i = data.Length - 1; i >= 0; i--) builder.AddOffset(data[i].Value); return builder.EndVector(); } CreateOutputsVectorBlockFBInstruction.Instruction117 public static VectorOffset CreateOutputsVectorBlock(FlatBufferBuilder builder, StringOffset[] data) { builder.StartVector(4, data.Length, 4); builder.Add(data); return builder.EndVector(); } CreateOutputsVectorBlockFBInstruction.Instruction118 public static VectorOffset CreateOutputsVectorBlock(FlatBufferBuilder builder, ArraySegment<StringOffset> data) { builder.StartVector(4, data.Count, 4); builder.Add(data); return builder.EndVector(); } CreateOutputsVectorBlockFBInstruction.Instruction119 public static VectorOffset CreateOutputsVectorBlock(FlatBufferBuilder builder, IntPtr dataPtr, int sizeInBytes) { builder.StartVector(1, sizeInBytes, 1); builder.Add<StringOffset>(dataPtr, sizeInBytes); return builder.EndVector(); } StartOutputsVectorFBInstruction.Instruction120 public static void StartOutputsVector(FlatBufferBuilder builder, int numElems) { builder.StartVector(4, numElems, 4); } AddIsNopFBInstruction.Instruction121 public static void AddIsNop(FlatBufferBuilder builder, bool isNop) { builder.AddBool(6, isNop, false); } AddIsBranchFBInstruction.Instruction122 public static void AddIsBranch(FlatBufferBuilder builder, bool isBranch) { builder.AddBool(7, isBranch, false); } AddBranchTargetFBInstruction.Instruction123 public static void AddBranchTarget(FlatBufferBuilder builder, ulong branchTarget) { builder.AddUlong(8, branchTarget, 0); } AddIsFlushFBInstruction.Instruction124 public static void AddIsFlush(FlatBufferBuilder builder, bool isFlush) { builder.AddBool(9, isFlush, false); } AddIsVctrlFBInstruction.Instruction125 public static void AddIsVctrl(FlatBufferBuilder builder, bool isVctrl) { builder.AddBool(10, isVctrl, false); } AddLoadsFBInstruction.Instruction126 public static void AddLoads(FlatBufferBuilder builder, VectorOffset loadsOffset) { builder.AddOffset(11, loadsOffset.Value, 0); } CreateLoadsVectorFBInstruction.Instruction127 public static VectorOffset CreateLoadsVector(FlatBufferBuilder builder, ulong[] data) { builder.StartVector(8, data.Length, 8); for (int i = data.Length - 1; i >= 0; i--) builder.AddUlong(data[i]); return builder.EndVector(); } CreateLoadsVectorBlockFBInstruction.Instruction128 public static VectorOffset CreateLoadsVectorBlock(FlatBufferBuilder builder, ulong[] data) { builder.StartVector(8, data.Length, 8); builder.Add(data); return builder.EndVector(); } CreateLoadsVectorBlockFBInstruction.Instruction129 public static VectorOffset CreateLoadsVectorBlock(FlatBufferBuilder builder, ArraySegment<ulong> data) { builder.StartVector(8, data.Count, 8); builder.Add(data); return builder.EndVector(); } CreateLoadsVectorBlockFBInstruction.Instruction130 public static VectorOffset CreateLoadsVectorBlock(FlatBufferBuilder builder, IntPtr dataPtr, int sizeInBytes) { builder.StartVector(1, sizeInBytes, 1); builder.Add<ulong>(dataPtr, sizeInBytes); return builder.EndVector(); } StartLoadsVectorFBInstruction.Instruction131 public static void StartLoadsVector(FlatBufferBuilder builder, int numElems) { builder.StartVector(8, numElems, 8); } AddStoresFBInstruction.Instruction132 public static void AddStores(FlatBufferBuilder builder, VectorOffset storesOffset) { builder.AddOffset(12, storesOffset.Value, 0); } CreateStoresVectorFBInstruction.Instruction133 public static VectorOffset CreateStoresVector(FlatBufferBuilder builder, ulong[] data) { builder.StartVector(8, data.Length, 8); for (int i = data.Length - 1; i >= 0; i--) builder.AddUlong(data[i]); return builder.EndVector(); } CreateStoresVectorBlockFBInstruction.Instruction134 public static VectorOffset CreateStoresVectorBlock(FlatBufferBuilder builder, ulong[] data) { builder.StartVector(8, data.Length, 8); builder.Add(data); return builder.EndVector(); } CreateStoresVectorBlockFBInstruction.Instruction135 public static VectorOffset CreateStoresVectorBlock(FlatBufferBuilder builder, ArraySegment<ulong> data) { builder.StartVector(8, data.Count, 8); builder.Add(data); return builder.EndVector(); } CreateStoresVectorBlockFBInstruction.Instruction136 public static VectorOffset CreateStoresVectorBlock(FlatBufferBuilder builder, IntPtr dataPtr, int sizeInBytes) { builder.StartVector(1, sizeInBytes, 1); builder.Add<ulong>(dataPtr, sizeInBytes); return builder.EndVector(); } StartStoresVectorFBInstruction.Instruction137 public static void StartStoresVector(FlatBufferBuilder builder, int numElems) { builder.StartVector(8, numElems, 8); } AddLmulFBInstruction.Instruction138 public static void AddLmul(FlatBufferBuilder builder, float lmul) { builder.AddFloat(13, lmul, 0.0f); } AddSewFBInstruction.Instruction139 public static void AddSew(FlatBufferBuilder builder, byte sew) { builder.AddByte(14, sew, 0); } AddVlFBInstruction.Instruction140 public static void AddVl(FlatBufferBuilder builder, short vl) { builder.AddShort(15, vl, 0); } EndInstructionFBInstruction.Instruction141 public static Offset<FBInstruction.Instruction> EndInstruction(FlatBufferBuilder builder) 142 { 143 int o = builder.EndTable(); 144 return new Offset<FBInstruction.Instruction>(o); 145 } 146 } 147 } 148