...

Text file src/github.com/google/flatbuffers/tests/DictionaryLookup/LongFloatEntry.kt

Documentation: github.com/google/flatbuffers/tests/DictionaryLookup

     1// automatically generated by the FlatBuffers compiler, do not modify
     2
     3package DictionaryLookup
     4
     5import com.google.flatbuffers.BaseVector
     6import com.google.flatbuffers.BooleanVector
     7import com.google.flatbuffers.ByteVector
     8import com.google.flatbuffers.Constants
     9import com.google.flatbuffers.DoubleVector
    10import com.google.flatbuffers.FlatBufferBuilder
    11import com.google.flatbuffers.FloatVector
    12import com.google.flatbuffers.LongVector
    13import com.google.flatbuffers.StringVector
    14import com.google.flatbuffers.Struct
    15import com.google.flatbuffers.Table
    16import com.google.flatbuffers.UnionVector
    17import java.nio.ByteBuffer
    18import java.nio.ByteOrder
    19import kotlin.math.sign
    20
    21@Suppress("unused")
    22class LongFloatEntry : Table() {
    23
    24    fun __init(_i: Int, _bb: ByteBuffer)  {
    25        __reset(_i, _bb)
    26    }
    27    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        }
    41    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 {
    47        fun validateVersion() = Constants.FLATBUFFERS_23_5_26()
    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        }
    53        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        }
    59        fun startLongFloatEntry(builder: FlatBufferBuilder) = builder.startTable(2)
    60        fun addKey(builder: FlatBufferBuilder, key: Long)  {
    61            builder.addLong(key)
    62            builder.slot(0)
    63        }
    64        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        }
    69        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}

View as plain text