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