/******************************************************************************* * Copyright 2011 See AUTHORS file. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. ******************************************************************************/ package com.glview.libgdx.graphics.math; public class NumberUtils { /** When false, the mask in {@link #intToFloatColor(int)} will not be used. This must only be used when the resulting floats * will not be used with {@link #floatToIntColor(float)}. */ static public boolean intToFloatColorMask = true; public static int floatToIntBits (float value) { return Float.floatToIntBits(value); } public static int floatToRawIntBits (float value) { return Float.floatToRawIntBits(value); } public static int floatToIntColor (float value) { return Float.floatToRawIntBits(value); } /** Encodes the ABGR int color as a float. The high bits are masked to avoid using floats in the NaN range, which unfortunately * means the full range of alpha cannot be used. See {@link Float#intBitsToFloat(int)} javadocs. */ public static float intToFloatColor (int value) { return Float.intBitsToFloat(intToFloatColorMask ? (value & 0xfeffffff) : value); } public static float intBitsToFloat (int value) { return Float.intBitsToFloat(value); } public static long doubleToLongBits (double value) { return Double.doubleToLongBits(value); } public static double longBitsToDouble (long value) { return Double.longBitsToDouble(value); } }