001package com.hfg.math; 002 003 004//------------------------------------------------------------------------------ 005/** 006 * General mathmatical utility methods. 007 * 008 * @author J. Alex Taylor, hairyfatguy.com 009 */ 010//------------------------------------------------------------------------------ 011// com.hfg XML/HTML Coding Library 012// 013// This library is free software; you can redistribute it and/or 014// modify it under the terms of the GNU Lesser General Public 015// License as published by the Free Software Foundation; either 016// version 2.1 of the License, or (at your option) any later version. 017// 018// This library is distributed in the hope that it will be useful, 019// but WITHOUT ANY WARRANTY; without even the implied warranty of 020// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 021// Lesser General Public License for more details. 022// 023// You should have received a copy of the GNU Lesser General Public 024// License along with this library; if not, write to the Free Software 025// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 026// 027// J. Alex Taylor, President, Founder, CEO, COO, CFO, OOPS hairyfatguy.com 028// jataylor@hairyfatguy.com 029//------------------------------------------------------------------------------ 030 031public class MathUtil 032{ 033 private static final double LOG_OF_2 = Math.log(2); 034 035 //************************************************************************** 036 // PUBLIC FUNCTIONS 037 //************************************************************************** 038 039 //-------------------------------------------------------------------------- 040 public static long factorial(int inNum) 041 { 042 long result = 1; 043 044 for (int factor = 2; factor <= inNum; factor++) 045 { 046 result *= factor; 047 } 048 049 return result; 050 } 051 052 //-------------------------------------------------------------------------- 053 /** 054 Calculates the log base 2 fo the specified value. 055 @param inValue the input value for which to calculate the log<sub>2</sub> value. 056 @return the log<sub>2</sub> value 057 */ 058 public static double log2(double inValue) 059 { 060 return Math.log(inValue)/LOG_OF_2; 061 } 062 063}