result.sx = calcFromValues(M.xx / cos, M.yx / sin); result.sy = calcFromValues(M.yy / cos, -M.xy / sin); 
result.sx = calcFromValues(M.xx / cos, cos,  M.yx / sin, sin); result.sy = calcFromValues(M.yy / cos, cos, -M.xy / sin, sin); 
	var decomposeRS = function(/* dojox.gfx.matrix.Matrix2D */ M, /* Object */ result){		// summary: decomposes a matrix into [rotate, scale]; no checks are done		var sign = scaleSign(M),			a = result.angle2 = (Math.atan2(sign * M.yx, sign * M.xx) + Math.atan2(-M.xy, M.yy)) / 2,			cos = Math.cos(a), sin = Math.sin(a);		result.sx = calcFromValues(M.xx / cos, M.yx / sin);		result.sy = calcFromValues(M.yy / cos, -M.xy / sin);		return result;	// Object	};
5168	/local1/tlutelli/issta_data/temp/all_js/javascript/2007_temp/2007/5168/010ce801a4c3a89dabf91a882653eed1ca1e2d4c/decompose.js/clean/gfx/decompose.js