Java Float Number Clamp clamp360(float dir)

Here you can find the source of clamp360(float dir)

Description

clamp

License

Open Source License

Declaration

public static float clamp360(float dir) 

Method Source Code

//package com.java2s;
/*// w w w  .j av a  2s  .  c o m
 * Copyright (c) 2006-2011 Karsten Schmidt
 * 
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2.1 of the License, or (at your option) any later version.
 * 
 * http://creativecommons.org/licenses/LGPL/2.1/
 * 
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Lesser General Public License for more details.
 * 
 * You should have received a copy of the GNU Lesser General Public
 * License along with this library; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
 */

public class Main {
    public static float clamp360(float dir) {
        float outDirAbs = Math.abs(dir);
        float outDir;

        if (outDirAbs > 360.0f) {
            if (outDirAbs > 720.0f) {
                outDir = dir % 360.0f;
            } else {
                outDir = (dir > 0.0f) ? dir - 360.0f : dir + 360.0f;
            }
            outDirAbs = Math.abs(outDir);
        } else {
            if (dir < 0.0f)
                outDir = dir + 360.0f;
            else
                outDir = dir;
        }
        return outDir;
    }

    /**
     * @param x
     * @return absolute value of x
     */
    public static final double abs(double x) {
        return x < 0 ? -x : x;
    }

    /**
     * @param x
     * @return absolute value of x
     */
    public static final float abs(float x) {
        return x < 0 ? -x : x;
    }

    /**
     * @param x
     * @return absolute value of x
     */
    public static final int abs(int x) {
        int y = x >> 31;
        return (x ^ y) - y;
    }
}

Related

  1. clamp(float value, float minimum, float maximum)
  2. clamp(float x, float a, float b)
  3. clamp(float x, float y, float z)
  4. clamp180(float r1, float r2)
  5. clamp1f(float f)
  6. clamp_float(float p_76131_0_, float p_76131_1_, float p_76131_2_)
  7. clampAngle(float value, float min, float max)
  8. clampAngle(float var, float min, float max)
  9. clampBounds(float[] target, float[] clamp)