public static void rotateM(double[] m,int mOffset,double a,double x,double y,double z){
synchronized (sTemp) {
    setRotateM(sTemp,0,a,x,y,z);
    multiplyMM(sTemp,16,m,mOffset,sTemp,0);
    System.arraycopy(sTemp,16,m,mOffset,16);
  }
}

public static void rotateM ( double [ ] m , int mOffset , double a , double x , double y , double z ) { synchronized ( sTemp ) { setRotateM ( sTemp , 0 , a , x , y , z ) ; multiplyMM ( sTemp , 16 , m , mOffset , sTemp , 0 ) ; System . arraycopy ( sTemp , 16 , m , mOffset , 16 ) ; } }
rotates matrix m in place by angle a ( in degrees ) around the axis ( x , y , z )
