Mega Code Archive

 
Categories / Android / Date Type
 

Convert a 16 16 fixed-point value to floating point

class Main{   /**    * Convert a 16.16 fixed-point value to floating point    * @param val The fixed-point value    * @return The equivalent floating-point value.    */   public static float toFloat(int val) {     return ((float)val)/65536.0f;   }      /**    * Convert an array of floats to 16.16 fixed-point    * @param arr The array    * @return A newly allocated array of fixed-point values.    */   public static int[] toFixed(float[] arr) {     int[] res = new int[arr.length];     toFixed(arr, res);     return res;   }   /**    * Convert an array of floats to 16.16 fixed-point    * @param arr The array of floats    * @param storage The location to store the fixed-point values.    */   public static void toFixed(float[] arr, int[] storage)   {     for (int i=0;i<storage.length;i++) {       storage[i] = toFixed(arr[i]);     }   }   /**    * Convert a float to  16.16 fixed-point representation    * @param val The value to convert    * @return The resulting fixed-point representation    */   public static int toFixed(float val) {     return (int)(val * 65536F);   } }