Sha256: 07a16b89c0627d6a9c0526a0435009e131b77d0ad88b15b8bd02ecc98d2c6e9f

Contents?: true

Size: 1.76 KB

Versions: 28

Compression:

Stored size: 1.76 KB

Contents

package com.adobe.utils {
	
	import flash.utils.Endian;
	
	/**
	 * Contains reusable methods for operations pertaining 
	 * to int values.
	 */
	public class IntUtil {
		
		/**
		 * Rotates x left n bits
		 *
		 * @langversion ActionScript 3.0
		 * @playerversion Flash 9.0
		 * @tiptext
		 */
		public static function rol ( x:int, n:int ):int {
			return ( x << n ) | ( x >>> ( 32 - n ) );
		}
		
		/**
		 * Rotates x right n bits
		 *
		 * @langversion ActionScript 3.0
		 * @playerversion Flash 9.0
		 * @tiptext
		 */
		public static function ror ( x:int, n:int ):uint {
			var nn:int = 32 - n;
			return ( x << nn ) | ( x >>> ( 32 - nn ) );
		}
		
		/** String for quick lookup of a hex character based on index */
		private static var hexChars:String = "0123456789abcdef";
		
		/**
		 * Outputs the hex value of a int, allowing the developer to specify
		 * the endinaness in the process.  Hex output is lowercase.
		 *
		 * @param n The int value to output as hex
		 * @param bigEndian Flag to output the int as big or little endian
		 * @return A string of length 8 corresponding to the 
		 *		hex representation of n ( minus the leading "0x" )
		 * @langversion ActionScript 3.0
		 * @playerversion Flash 9.0
		 * @tiptext
		 */
		public static function toHex( n:int, bigEndian:Boolean = false ):String {
			var s:String = "";
			
			if ( bigEndian ) {
				for ( var i:int = 0; i < 4; i++ ) {
					s += hexChars.charAt( ( n >> ( ( 3 - i ) * 8 + 4 ) ) & 0xF ) 
						+ hexChars.charAt( ( n >> ( ( 3 - i ) * 8 ) ) & 0xF );
				}
			} else {
				for ( var x:int = 0; x < 4; x++ ) {
					s += hexChars.charAt( ( n >> ( x * 8 + 4 ) ) & 0xF )
						+ hexChars.charAt( ( n >> ( x * 8 ) ) & 0xF );
				}
			}
			
			return s;
		}
	}
		
}

Version data entries

28 entries across 28 versions & 1 rubygems

Version Path
dango_generator-0.1.0 templates/as3/com/adobe/utils/IntUtil.as
dango_generator-0.0.39 templates/as3/com/adobe/utils/IntUtil.as
dango_generator-0.0.38 templates/as3/com/adobe/utils/IntUtil.as
dango_generator-0.3.9 templates/as3/com/adobe/utils/IntUtil.as
dango_generator-0.4.0 templates/as3/com/adobe/utils/IntUtil.as
dango_generator-0.3.0 templates/as3/com/adobe/utils/IntUtil.as
dango_generator-0.3.4 templates/as3/com/adobe/utils/IntUtil.as
dango_generator-0.3.5 templates/as3/com/adobe/utils/IntUtil.as
dango_generator-0.2.6 templates/as3/com/adobe/utils/IntUtil.as
dango_generator-0.3.1 templates/as3/com/adobe/utils/IntUtil.as
dango_generator-0.3.2 templates/as3/com/adobe/utils/IntUtil.as
dango_generator-0.3.3 templates/as3/com/adobe/utils/IntUtil.as
dango_generator-0.3.6 templates/as3/com/adobe/utils/IntUtil.as
dango_generator-0.3.8 templates/as3/com/adobe/utils/IntUtil.as
dango_generator-0.4.1 templates/as3/com/adobe/utils/IntUtil.as
dango_generator-0.4.2 templates/as3/com/adobe/utils/IntUtil.as
dango_generator-0.2.2 templates/as3/com/adobe/utils/IntUtil.as
dango_generator-0.2.3 templates/as3/com/adobe/utils/IntUtil.as
dango_generator-0.2.4 templates/as3/com/adobe/utils/IntUtil.as
dango_generator-0.2.5 templates/as3/com/adobe/utils/IntUtil.as