1 // automatically generated by the FlatBuffers compiler, do not modify 2 3 package DictionaryLookup 4 5 import com.google.flatbuffers.BaseVector 6 import com.google.flatbuffers.BooleanVector 7 import com.google.flatbuffers.ByteVector 8 import com.google.flatbuffers.Constants 9 import com.google.flatbuffers.DoubleVector 10 import com.google.flatbuffers.FlatBufferBuilder 11 import com.google.flatbuffers.FloatVector 12 import com.google.flatbuffers.LongVector 13 import com.google.flatbuffers.StringVector 14 import com.google.flatbuffers.Struct 15 import com.google.flatbuffers.Table 16 import com.google.flatbuffers.UnionVector 17 import java.nio.ByteBuffer 18 import java.nio.ByteOrder 19 import kotlin.math.sign 20 21 @Suppress("unused") 22 class LongFloatEntry : Table() { 23 __initnull24 fun __init(_i: Int, _bb: ByteBuffer) { 25 __reset(_i, _bb) 26 } __assignnull27 fun __assign(_i: Int, _bb: ByteBuffer) : LongFloatEntry { 28 __init(_i, _bb) 29 return this 30 } 31 val key : Long 32 get() { 33 val o = __offset(4) 34 return if(o != 0) bb.getLong(o + bb_pos) else 0L 35 } 36 val value : Float 37 get() { 38 val o = __offset(6) 39 return if(o != 0) bb.getFloat(o + bb_pos) else 0.0f 40 } keysComparenull41 override fun keysCompare(o1: Int, o2: Int, _bb: ByteBuffer) : Int { 42 val val_1 = _bb.getLong(__offset(4, o1, _bb)) 43 val val_2 = _bb.getLong(__offset(4, o2, _bb)) 44 return (val_1 - val_2).sign 45 } 46 companion object { validateVersionnull47 fun validateVersion() = Constants.FLATBUFFERS_25_1_24() 48 fun getRootAsLongFloatEntry(_bb: ByteBuffer): LongFloatEntry = getRootAsLongFloatEntry(_bb, LongFloatEntry()) 49 fun getRootAsLongFloatEntry(_bb: ByteBuffer, obj: LongFloatEntry): LongFloatEntry { 50 _bb.order(ByteOrder.LITTLE_ENDIAN) 51 return (obj.__assign(_bb.getInt(_bb.position()) + _bb.position(), _bb)) 52 } createLongFloatEntrynull53 fun createLongFloatEntry(builder: FlatBufferBuilder, key: Long, value: Float) : Int { 54 builder.startTable(2) 55 addKey(builder, key) 56 addValue(builder, value) 57 return endLongFloatEntry(builder) 58 } startLongFloatEntrynull59 fun startLongFloatEntry(builder: FlatBufferBuilder) = builder.startTable(2) 60 fun addKey(builder: FlatBufferBuilder, key: Long) { 61 builder.addLong(key) 62 builder.slot(0) 63 } addValuenull64 fun addValue(builder: FlatBufferBuilder, value: Float) = builder.addFloat(1, value, 0.0) 65 fun endLongFloatEntry(builder: FlatBufferBuilder) : Int { 66 val o = builder.endTable() 67 return o 68 } __lookup_by_keynull69 fun __lookup_by_key(obj: LongFloatEntry?, vectorLocation: Int, key: Long, bb: ByteBuffer) : LongFloatEntry? { 70 var span = bb.getInt(vectorLocation - 4) 71 var start = 0 72 while (span != 0) { 73 var middle = span / 2 74 val tableOffset = __indirect(vectorLocation + 4 * (start + middle), bb) 75 val value = bb.getLong(__offset(4, bb.capacity() - tableOffset, bb)) 76 val comp = value.compareTo(key) 77 when { 78 comp > 0 -> span = middle 79 comp < 0 -> { 80 middle++ 81 start += middle 82 span -= middle 83 } 84 else -> { 85 return (obj ?: LongFloatEntry()).__assign(tableOffset, bb) 86 } 87 } 88 } 89 return null 90 } 91 } 92 } 93