001 /* 002 * cs101 Math utilities 003 * $Id: MoreMath.java,v 1.1.1.1 2002/06/05 21:56:32 root Exp $ 004 * 005 * Developed for "Rethinking CS101", a project of Lynn Andrea Stein's AP Group. 006 * For more information, see <a href="http://www.ai.mit.edu/projects/cs101/">the 007 * CS101 homepage</a> or email <las@ai.mit.edu>. 008 * 009 * Copyright (C) 1996 Massachusetts Institute of Technology. 010 * Please do not redistribute without obtaining permission. 011 */ 012 013 package cs101.util; 014 015 /** 016 * cs101.util.MoreMath is an extension of the java.lang.Math library. 017 * <br> 018 * Copyright 1996 Massachusetts Institute of Technology 019 * 020 * @author Todd C. Parnell, tparnell@ai.mit.edu 021 * @author Lynn Andrea Stein, las@ai.mit.edu 022 * 023 */ 024 public class MoreMath { 025 026 /** 027 * Generate a random int between 0 and range. Note that if range is 028 * negative, this returns a negative number. 029 * 030 * @param range desired maximum int. 031 */ 032 public static int randomInt(int range) 033 { 034 return (int) Math.round(Math.random() * range); 035 } 036 037 /** 038 * Returns the square of the input. No checks are made for MaxInt overflow. 039 * 040 * @param x the number to square 041 */ 042 043 public static int square(int x) 044 { 045 return(x * x); 046 } 047 048 /** 049 * Returns 1 if the input is positive, -1 if it is negative, and 0 otherwise. 050 * 051 * @param x the number to get the sign of 052 */ 053 054 public static int sign(int x) 055 { 056 if(x == 0) 057 { 058 return(0); 059 } 060 else if(x > 0) 061 { 062 return(1); 063 } 064 return(-1); 065 } 066 067 /** 068 * Prevent instantiation 069 */ 070 private MoreMath() {} 071 } 072 073 /* 074 * $Log: MoreMath.java,v $ 075 * Revision 1.1.1.1 2002/06/05 21:56:32 root 076 * CS101 comes to Olin finally. 077 * 078 * Revision 1.5 1999/08/17 18:37:02 emarcus 079 * Added sign and square methods. 080 * 081 * Revision 1.4 1998/07/24 17:19:30 tparnell 082 * Placate new javadoc behavior 083 * 084 * Revision 1.3 1998/07/21 19:38:19 tparnell 085 * added more javadoc & private MoreMath() 086 * 087 * Revision 1.2 1998/06/03 19:47:44 tparnell 088 * added header, javadoc and logging 089 * */ 090