This new method in the Fixed class is needed by the new rasterizer code.
It truncates a fixed point number so that only the digits after the
point are left.
2007-05-24 Roman Kennke <[EMAIL PROTECTED]>
* gnu/java/math/Fixed.java
(trunc): New method.
/Roman
--
Dipl.-Inf. Roman Kennke, Software Engineer, http://kennke.org
aicas Allerton Interworks Computer Automated Systems GmbH
Haid-und-Neu-Straße 18 * D-76131 Karlsruhe * Germany
http://www.aicas.com * Tel: +49-721-663 968-0
USt-Id: DE216375633, Handelsregister HRB 109481, AG Karlsruhe
Geschäftsführer: Dr. James J. Hunt
Index: gnu/java/math/Fixed.java
===================================================================
RCS file: /cvsroot/classpath/classpath/gnu/java/math/Fixed.java,v
retrieving revision 1.1
diff -u -1 -5 -r1.1 Fixed.java
--- gnu/java/math/Fixed.java 1 Jan 2007 23:12:09 -0000 1.1
+++ gnu/java/math/Fixed.java 24 May 2007 20:56:03 -0000
@@ -97,30 +97,43 @@
/**
* Returns the floor value of a fixed point value <code>a</code> with
* <code>n</code> digits.
*
* @param n the number of digits
* @param a the fixed point value
*
* @return <code>floor(a)</code> as fixed point value
*/
public static int floor(int n, int a)
{
return a & -(1 << n);
}
/**
+ * Truncates the number so that only the digits after the point are left.
+ *
+ * @param n the number of digits
+ * @param a the fixed point value
+ *
+ * @return the truncated value
+ */
+ public static int trunc(int n, int a)
+ {
+ return a & (0xFFFFFFFF >>> 32 - n);
+ }
+
+ /**
* Returns the round value of a fixed point value <code>a</code> with
* the <code>n</code> digits.
*
* @param n the number of digits
* @param a the fixed point value
*
* @return <code>round(a)</code> as fixed point value
*/
public static int round(int n, int a)
{
return (a + (1 << (n - 1))) & -(1 << n);
}
/**
* Returns the fixed point value <code>a</code> with <code>n</code> digits