All Downloads are FREE. Search and download functionalities are using the official Maven repository.

ngmf.ui.calc.Mathx Maven / Gradle / Ivy

There is a newer version: 0.8.1
Show newest version
/*
 * Mathx.java
 *
 * Created on April 25, 2007, 10:13 PM
 *
 * To change this template, choose Tools | Template Manager
 * and open the template in the editor.
 */

package ngmf.ui.calc;

import java.util.Arrays;

/**
 *
 * @author olafdavid
 */
public class Mathx {
    
    /** Creates a new instance of Mathx */
    private Mathx() {
    }

    
    /**
     * Round a double value to a specified number of decimal
     * places.
     *
     * @param val the value to be rounded.
     * @param places the number of decimal places to round to.
     * @return val rounded to places decimal places.
     */
    public static double round(double val, int places) {
        long factor = (long) Math.pow(10,places);
        
        // Shift the decimal the correct number of places
        // to the right.
        val = val * factor;
        
        // Round to the nearest integer.
        long tmp = Math.round(val);
        
        // Shift the decimal the correct number of places
        // back to the left.
        return (double)tmp / factor;
    }
    
    /**
     * Round a float value to a specified number of decimal
     * places.
     *
     * @param val the value to be rounded.
     * @param places the number of decimal places to round to.
     * @return val rounded to places decimal places.
     */
    public static float round(float val, int places) {
        return (float) round((double) val, places);
    }
    
    /**
     * Length of an array
     * 
     * @param arr
     * @return
     */
    public static int len(double[] arr) {
        return arr.length;
    }
    
    public static int len(int[] arr) {
        return arr.length;
    }
    
    public static double random(double min, double max) {
        return min + Math.random() * (max - min);
    }
    
    static int no = 0;
    
    public static void reset_ramp() {
        no = 0;
    }
    
    public static double ramp(double start, double incr) {
        return start + (no++ * incr);
    }
    
   
    
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy