Advertisement
iarmin

decodeFloat

Mar 21st, 2012
168
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.         private function decodeFloatData(param1:Boolean) : void
  2.         {
  3.             var _loc_11:int = 0;
  4.             var _loc_12:Number = NaN;
  5.             var _loc_13:String = null;
  6.             var _loc_14:Number = NaN;
  7.             var _loc_15:Number = NaN;
  8.             var _loc_16:int = 0;
  9.             var _loc_17:Number = NaN;
  10.             var _loc_18:Number = NaN;
  11.             var _loc_19:Number = NaN;
  12.             var _loc_2:Number = -1;
  13.             if (param1)
  14.             {
  15.                 _loc_2 = readByte();
  16.             }
  17.             var _loc_3:* = readUnsignedShort();
  18.             var _loc_4:* = readUnsignedShort();
  19.             var _loc_5:* = readUnsignedShort();
  20.             var _loc_6:* = _loc_4;
  21.             var _loc_7:* = _loc_3 << 16 | _loc_5;
  22.             var _loc_8:* = BitsConversion.intBits2Float(_loc_7);
  23.             var _loc_9:* = getPosition(_loc_6);
  24.             var _loc_10:* = _DEFAULT_PRECISION;
  25.             if (param1)
  26.             {
  27.                 _loc_10 = _loc_2;
  28.             }
  29.             if (_loc_10 >= 0)
  30.             {
  31.                 _vect1.push(_loc_9);
  32.                 _loc_11 = _vect1.length - 1;
  33.                 if (param1)
  34.                 {
  35.                     _defaultPrecisions[_loc_11] = _loc_10;
  36.                 }
  37.                 else if (_defaultPrecisions[_loc_11] != null)
  38.                 {
  39.                     _loc_10 = _defaultPrecisions[_loc_11];
  40.                 }
  41.                 _loc_12 = _loc_8;
  42.                 _loc_8 = Math.round(_loc_8 * Math.pow(10, _loc_10)) / Math.pow(10, _loc_10);
  43.                 _loc_13 = _loc_8.toString();
  44.                 _loc_14 = _loc_13.indexOf(".");
  45.                 _loc_15 = _loc_13.substring((_loc_14 + 1)).length;
  46.                 _loc_16 = _loc_15;
  47.                 while (_loc_16 < _loc_10)
  48.                 {
  49.                    
  50.                     _loc_13 = _loc_13 + "0";
  51.                     _loc_16++;
  52.                 }
  53.                 _vect2.push(_loc_13);
  54.             }
  55.             else
  56.             {
  57.                 _loc_13 = _loc_8.toString();
  58.                 _loc_14 = _loc_13.indexOf(".");
  59.                 _loc_17 = parseInt(_loc_13.substring((_loc_14 + 1)));
  60.                 _loc_18 = _loc_8 - Math.floor(_loc_8);
  61.                 _loc_19 = 1 << _loc_10 * -1;
  62.                 _loc_17 = Math.floor(_loc_18 * _loc_19);
  63.                 _vect1.push(_loc_9);
  64.                 if (_loc_17 != 0)
  65.                 {
  66.                     if (_reduceFrac)
  67.                     {
  68.                         while (_loc_17 % 2 == 0)
  69.                         {
  70.                            
  71.                             _loc_17 = _loc_17 / 2;
  72.                             _loc_19 = _loc_19 / 2;
  73.                         }
  74.                     }
  75.                     _vect2.push((Math.floor(_loc_8) != 0 ? (_loc_13.substring(0, _loc_14) + " ") : ("")) + _loc_17 + "/" + _loc_19);
  76.                 }
  77.                 else
  78.                 {
  79.                     _vect2.push(_loc_13.substring(0, _loc_14));
  80.                 }
  81.             }
  82.             return;
  83.         }// end function
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement