/* (non-Javadoc)
@see org.joml.Matrix3dc#scaleLocal(double, double, double, org.joml.Matrix3d)
168547
public Matrix3d scaleLocal(double x, double y, double z, Matrix3d dest) {
        double nm00 = x * m00;
        double nm01 = y * m01;
        double nm02 = z * m02;
        double nm10 = x * m10;
        double nm11 = y * m11;
        double nm12 = z * m12;
        double nm20 = x * m20;
        double nm21 = y * m21;
        double nm22 = z * m22;
        dest.m00 = nm00;
        dest.m01 = nm01;
        dest.m02 = nm02;
        dest.m10 = nm10;
        dest.m11 = nm11;
        dest.m12 = nm12;
        dest.m20 = nm20;
        dest.m21 = nm21;
        dest.m22 = nm22;
        return dest;
    }
1305153
@Pure
	@SuppressWarnings("checkstyle:magicnumber")
	public void getScaleVector(Tuple2D<?> scale) {
		assert scale != null : AssertMessages.notNullParameter();
		final double[] tmpScale = new double[3];
		final double[] tmpRot = new double[9];
		getScaleRotate2x2(tmpScale, tmpRot);
		scale.set(tmpScale[0], tmpScale[1]);
	}
580700
protected void update(float scale) {
        GVRSceneObject owner = getOwnerObject();
        if (isEnabled() && (owner != null) && owner.isEnabled())
        {
            float w = getWidth();
            float h = getHeight();
            mPose.update(mARPlane.getCenterPose(), scale);
            Matrix4f m = new Matrix4f();
            m.set(mPose.getPoseMatrix());
            m.scaleLocal(w * 0.95f, h * 0.95f, 1.0f);
            owner.getTransform().setModelMatrix(m);
        }
    }
1186362
public void scale(double scale) {
		this.m00 *= scale;
		this.m11 *= scale;
		this.m01 *= scale;
		this.m10 *= scale;
	}
1024479
private static void scale(double constant, double vector[]) {
        if (constant == 1.0) return;
        for (int i = 0; i < vector.length; i++) {
            vector[i] *= constant;
        }

    }
979782
public Matrix4f scaleLocal(float x, float y, float z, Matrix4f dest) {
        if ((properties & PROPERTY_IDENTITY) != 0)
            return dest.scaling(x, y, z);
        return scaleLocalGeneric(x, y, z, dest);
    }
297917
public Matrix4x3f scaleLocal(float x, float y, float z, Matrix4x3f dest) {
        if ((properties & PROPERTY_IDENTITY) != 0)
            return dest.scaling(x, y, z);
        float nm00 = x * m00;
        float nm01 = y * m01;
        float nm02 = z * m02;
        float nm10 = x * m10;
        float nm11 = y * m11;
        float nm12 = z * m12;
        float nm20 = x * m20;
        float nm21 = y * m21;
        float nm22 = z * m22;
        float nm30 = x * m30;
        float nm31 = y * m31;
        float nm32 = z * m32;
        dest.m00 = nm00;
        dest.m01 = nm01;
        dest.m02 = nm02;
        dest.m10 = nm10;
        dest.m11 = nm11;
        dest.m12 = nm12;
        dest.m20 = nm20;
        dest.m21 = nm21;
        dest.m22 = nm22;
        dest.m30 = nm30;
        dest.m31 = nm31;
        dest.m32 = nm32;
        dest.properties = properties & ~(PROPERTY_IDENTITY | PROPERTY_TRANSLATION | PROPERTY_ORTHONORMAL);
        return dest;
    }
421671
private void ar2gvr(float scale) {
        // Real world scale
        Matrix.scaleM(mPoseMatrix, 0, scale, scale, scale);
        mPoseMatrix[12] = mPoseMatrix[12] * scale;
        mPoseMatrix[13] = mPoseMatrix[13] * scale;
        mPoseMatrix[14] = mPoseMatrix[14] * scale;
    }
32950
public void loadLocal(LocalVariable local) {
        if (local == null) {
            throw new IllegalArgumentException("No local variable specified");
        }
        int stackAdjust = local.getType().isDoubleWord() ? 2 : 1;
        mInstructions.new LoadLocalInstruction(stackAdjust, local);
    }
1084973
public Matrix3f scaling(float x, float y, float z) {
        MemUtil.INSTANCE.zero(this);
        m00 = x;
        m11 = y;
        m22 = z;
        return this;
    }
1284440
public void scale(double delta, ZoomOption option, Coordinate center) {
		setCurrentScale(viewState.getScale() * delta, option, center);
	}
595945
public void setScales(final double[] newScaleDenominators) {
        TreeSet<Double> sortedSet = new TreeSet<>(Collections.reverseOrder());
        for (final double newScaleDenominator: newScaleDenominators) {
            sortedSet.add(newScaleDenominator);
        }
        this.scaleDenominators = new double[sortedSet.size()];
        int i = 0;
        for (Double scaleDenominator: sortedSet) {
            this.scaleDenominators[i] = scaleDenominator;
            i++;
        }
    }
1241404
public void scale(double s) {
        x = s * x;
        y = s * y;
        z = s * z;
    }
690954
@Override
  public double[] projectRelativeDataToScaledSpace(NumberVector data) {
    final int dim = data.getDimensionality();
    double[] vec = new double[dim];
    for(int d = 0; d < dim; d++) {
      vec[d] = scales[d].getRelativeScaled(data.doubleValue(d));
    }
    return vec;
  }
315244
public static void scale(double scalar, DMatrixSparseCSC A, DMatrixSparseCSC B) {
        if( A != B ) {
            B.copyStructure(A);

            for(int i = 0; i < A.nz_length; i++ ) {
                B.nz_values[i] = A.nz_values[i]*scalar;
            }
        } else {
            for(int i = 0; i < A.nz_length; i++ ) {
                B.nz_values[i] *= scalar;
            }
        }
    }
292346
public Matrix4x3f scaleXY(float x, float y, Matrix4x3f dest) {
        return scale(x, y, 1.0f, dest);
    }
436834
public Matrix4x3d scale(double x, double y, double z, Matrix4x3d dest) {
        if ((properties & PROPERTY_IDENTITY) != 0)
            return dest.scaling(x, y, z);
        return scaleGeneric(x, y, z, dest);
    }