xref: /aosp_15_r20/external/flatbuffers/tests/DictionaryLookup/LongFloatEntry.kt (revision 890232f25432b36107d06881e0a25aaa6b473652)
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