127063802f39448ed6871f8b3a2c5b29a49b50fc9Jake Wharton/*
227063802f39448ed6871f8b3a2c5b29a49b50fc9Jake Wharton * Copyright (C) 2017 The Android Open Source Project
327063802f39448ed6871f8b3a2c5b29a49b50fc9Jake Wharton *
427063802f39448ed6871f8b3a2c5b29a49b50fc9Jake Wharton * Licensed under the Apache License, Version 2.0 (the "License");
527063802f39448ed6871f8b3a2c5b29a49b50fc9Jake Wharton * you may not use this file except in compliance with the License.
627063802f39448ed6871f8b3a2c5b29a49b50fc9Jake Wharton * You may obtain a copy of the License at
727063802f39448ed6871f8b3a2c5b29a49b50fc9Jake Wharton *
827063802f39448ed6871f8b3a2c5b29a49b50fc9Jake Wharton *      http://www.apache.org/licenses/LICENSE-2.0
927063802f39448ed6871f8b3a2c5b29a49b50fc9Jake Wharton *
1027063802f39448ed6871f8b3a2c5b29a49b50fc9Jake Wharton * Unless required by applicable law or agreed to in writing, software
1127063802f39448ed6871f8b3a2c5b29a49b50fc9Jake Wharton * distributed under the License is distributed on an "AS IS" BASIS,
1227063802f39448ed6871f8b3a2c5b29a49b50fc9Jake Wharton * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1327063802f39448ed6871f8b3a2c5b29a49b50fc9Jake Wharton * See the License for the specific language governing permissions and
1427063802f39448ed6871f8b3a2c5b29a49b50fc9Jake Wharton * limitations under the License.
1527063802f39448ed6871f8b3a2c5b29a49b50fc9Jake Wharton */
1627063802f39448ed6871f8b3a2c5b29a49b50fc9Jake Wharton
1727063802f39448ed6871f8b3a2c5b29a49b50fc9Jake Wharton@file:Suppress("NOTHING_TO_INLINE") // Aliases to other public API.
1827063802f39448ed6871f8b3a2c5b29a49b50fc9Jake Wharton
199c80550cbbe357a89e2abeeb9c7769fcaefc3a65Jake Whartonpackage androidx.core.util
2027063802f39448ed6871f8b3a2c5b29a49b50fc9Jake Wharton
2127063802f39448ed6871f8b3a2c5b29a49b50fc9Jake Whartonimport android.util.Half
226889aa5fa8875d1a2842df11e24a5fbb2fd76a67Jake Whartonimport androidx.annotation.HalfFloat
236889aa5fa8875d1a2842df11e24a5fbb2fd76a67Jake Whartonimport androidx.annotation.RequiresApi
2427063802f39448ed6871f8b3a2c5b29a49b50fc9Jake Wharton
255984cbf5c971fe7476c39077d4b30ebdf81c92f3Ankit Saliya/**
265984cbf5c971fe7476c39077d4b30ebdf81c92f3Ankit Saliya * Returns a [Half] instance representing given [Short].
275984cbf5c971fe7476c39077d4b30ebdf81c92f3Ankit Saliya *
285984cbf5c971fe7476c39077d4b30ebdf81c92f3Ankit Saliya * @see Half.valueOf
295984cbf5c971fe7476c39077d4b30ebdf81c92f3Ankit Saliya */
30ec87f3d0ed8fb2a23ee2bbe8b323fdd7bdcbf4eaJake Wharton// TODO https://youtrack.jetbrains.com/issue/KT-21696
31ec87f3d0ed8fb2a23ee2bbe8b323fdd7bdcbf4eaJake Wharton@Suppress("WRONG_ANNOTATION_TARGET_WITH_USE_SITE_TARGET_ON_TYPE")
3227063802f39448ed6871f8b3a2c5b29a49b50fc9Jake Wharton@RequiresApi(26)
3327063802f39448ed6871f8b3a2c5b29a49b50fc9Jake Whartoninline fun @receiver:HalfFloat Short.toHalf(): Half = Half.valueOf(this)
3427063802f39448ed6871f8b3a2c5b29a49b50fc9Jake Wharton
355984cbf5c971fe7476c39077d4b30ebdf81c92f3Ankit Saliya/**
365984cbf5c971fe7476c39077d4b30ebdf81c92f3Ankit Saliya * Returns a [Half] instance representing given [Float].
375984cbf5c971fe7476c39077d4b30ebdf81c92f3Ankit Saliya *
385984cbf5c971fe7476c39077d4b30ebdf81c92f3Ankit Saliya * @see Half.valueOf
395984cbf5c971fe7476c39077d4b30ebdf81c92f3Ankit Saliya */
4027063802f39448ed6871f8b3a2c5b29a49b50fc9Jake Wharton@RequiresApi(26)
4127063802f39448ed6871f8b3a2c5b29a49b50fc9Jake Whartoninline fun Float.toHalf(): Half = Half.valueOf(this)
4227063802f39448ed6871f8b3a2c5b29a49b50fc9Jake Wharton
435984cbf5c971fe7476c39077d4b30ebdf81c92f3Ankit Saliya/**
445984cbf5c971fe7476c39077d4b30ebdf81c92f3Ankit Saliya * Returns a [Half] instance representing given [Double].
455984cbf5c971fe7476c39077d4b30ebdf81c92f3Ankit Saliya *
465984cbf5c971fe7476c39077d4b30ebdf81c92f3Ankit Saliya * @see Half.valueOf
475984cbf5c971fe7476c39077d4b30ebdf81c92f3Ankit Saliya */
4827063802f39448ed6871f8b3a2c5b29a49b50fc9Jake Wharton@RequiresApi(26)
4927063802f39448ed6871f8b3a2c5b29a49b50fc9Jake Whartoninline fun Double.toHalf(): Half = toFloat().toHalf()
5027063802f39448ed6871f8b3a2c5b29a49b50fc9Jake Wharton
515984cbf5c971fe7476c39077d4b30ebdf81c92f3Ankit Saliya/**
525984cbf5c971fe7476c39077d4b30ebdf81c92f3Ankit Saliya * Returns a [Half] instance representing given [String].
535984cbf5c971fe7476c39077d4b30ebdf81c92f3Ankit Saliya *
545984cbf5c971fe7476c39077d4b30ebdf81c92f3Ankit Saliya * @see Half.valueOf
555984cbf5c971fe7476c39077d4b30ebdf81c92f3Ankit Saliya */
5627063802f39448ed6871f8b3a2c5b29a49b50fc9Jake Wharton@RequiresApi(26)
5727063802f39448ed6871f8b3a2c5b29a49b50fc9Jake Whartoninline fun String.toHalf(): Half = Half.valueOf(this)
58