1 // automatically generated by the FlatBuffers compiler, do not modify 2 3 package DictionaryLookup 4 5 import java.nio.* 6 import kotlin.math.sign 7 import com.google.flatbuffers.* 8 9 @Suppress("unused") 10 class LongFloatEntry : Table() { 11 __initnull12 fun __init(_i: Int, _bb: ByteBuffer) { 13 __reset(_i, _bb) 14 } __assignnull15 fun __assign(_i: Int, _bb: ByteBuffer) : LongFloatEntry { 16 __init(_i, _bb) 17 return this 18 } 19 val key : Long 20 get() { 21 val o = __offset(4) 22 return if(o != 0) bb.getLong(o + bb_pos) else 0L 23 } 24 val value : Float 25 get() { 26 val o = __offset(6) 27 return if(o != 0) bb.getFloat(o + bb_pos) else 0.0f 28 } keysComparenull29 override fun keysCompare(o1: Int, o2: Int, _bb: ByteBuffer) : Int { 30 val val_1 = _bb.getLong(__offset(4, o1, _bb)) 31 val val_2 = _bb.getLong(__offset(4, o2, _bb)) 32 return (val_1 - val_2).sign 33 } 34 companion object { validateVersionnull35 fun validateVersion() = Constants.FLATBUFFERS_2_0_0() 36 fun getRootAsLongFloatEntry(_bb: ByteBuffer): LongFloatEntry = getRootAsLongFloatEntry(_bb, LongFloatEntry()) 37 fun getRootAsLongFloatEntry(_bb: ByteBuffer, obj: LongFloatEntry): LongFloatEntry { 38 _bb.order(ByteOrder.LITTLE_ENDIAN) 39 return (obj.__assign(_bb.getInt(_bb.position()) + _bb.position(), _bb)) 40 } createLongFloatEntrynull41 fun createLongFloatEntry(builder: FlatBufferBuilder, key: Long, value: Float) : Int { 42 builder.startTable(2) 43 addKey(builder, key) 44 addValue(builder, value) 45 return endLongFloatEntry(builder) 46 } startLongFloatEntrynull47 fun startLongFloatEntry(builder: FlatBufferBuilder) = builder.startTable(2) 48 fun addKey(builder: FlatBufferBuilder, key: Long) { 49 builder.addLong(key) 50 builder.slot(0) 51 } addValuenull52 fun addValue(builder: FlatBufferBuilder, value: Float) = builder.addFloat(1, value, 0.0) 53 fun endLongFloatEntry(builder: FlatBufferBuilder) : Int { 54 val o = builder.endTable() 55 return o 56 } __lookup_by_keynull57 fun __lookup_by_key(obj: LongFloatEntry?, vectorLocation: Int, key: Long, bb: ByteBuffer) : LongFloatEntry? { 58 var span = bb.getInt(vectorLocation - 4) 59 var start = 0 60 while (span != 0) { 61 var middle = span / 2 62 val tableOffset = __indirect(vectorLocation + 4 * (start + middle), bb) 63 val value = bb.getLong(__offset(4, bb.capacity() - tableOffset, bb)) 64 val comp = value.compareTo(key) 65 when { 66 comp > 0 -> span = middle 67 comp < 0 -> { 68 middle++ 69 start += middle 70 span -= middle 71 } 72 else -> { 73 return (obj ?: LongFloatEntry()).__assign(tableOffset, bb) 74 } 75 } 76 } 77 return null 78 } 79 } 80 } 81