         MatrixUtil.setSkewX(m, curSkewX + rotation - curRotation);
         MatrixUtil.setSkewY(m, rotation);
     }
+
+    protected static function sign (value :Number) :Number
+    {
+        return (value < 0) ? -1 : (value > 0) ? 1 : 0;
+    }
 }
 }


    public static function rotation (m :Matrix) :Number
    {
        return MatrixUtil.skewY(m);
    }

    public static function setRotation (m :Matrix, rotation :Number) :void


    public static function scaleY (m :Matrix) :Number
    {
        return sign(m.d) * Math.sqrt(m.c * m.c + m.d * m.d);
    }

    public static function setScaleY (m :Matrix, scaleY :Number) :void
