On Wed, Apr 18, 2012 at 06:40:32PM -0700, Eric Anholt wrote:
> +mat3 inverse(mat3 m)
> +{
> + mat3 adj;
> + adj[0][0] = + (m[1][1] * m[2][2] - m[2][1] * m[1][2]);
> + adj[1][0] = - (m[1][0] * m[2][2] - m[2][0] * m[1][2]);
> + adj[2][0] = + (m[1][0] * m[2][1] - m[2][0] * m[1][1]);
> + adj[0][1] = - (m[0][1] * m[2][2] - m[2][1] * m[0][2]);
> + adj[1][1] = + (m[0][0] * m[2][2] - m[2][0] * m[0][2]);
> + adj[2][1] = - (m[0][0] * m[2][1] - m[2][0] * m[0][1]);
> + adj[0][2] = + (m[0][1] * m[1][2] - m[1][1] * m[0][2]);
> + adj[1][2] = - (m[0][0] * m[1][2] - m[1][0] * m[0][2]);
> + adj[2][2] = + (m[0][0] * m[1][1] - m[1][0] * m[0][1]);
> +
> + float det = (+ m[0][0] * (m[1][1] * m[2][2] - m[1][2] * m[2][1])
> + - m[0][1] * (m[1][0] * m[2][2] - m[1][2] * m[2][0])
> + + m[0][2] * (m[1][0] * m[2][1] - m[1][1] * m[2][0]));
Do you think the compiler will notice these are adj[0][0], adj[1][0]
and adj[2][0]?
OG.
_______________________________________________
mesa-dev mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/mesa-dev