code: function scale(m, v, dst) {
    dst = dst || new MatType(16);
  
    const v0 = v[0];
    const v1 = v[1];
    const v2 = v[2];
  
    dst[ 0] = v0 * m[0 * 4 + 0];
    dst[ 1] = v0 * m[0 * 4 + 1];
    dst[ 2] = v0 * m[0 * 4 + 2];
    dst[ 3] = v0 * m[0 * 4 + 3];
    dst[ 4] = v1 * m[1 * 4 + 0];
    dst[ 5] = v1 * m[1 * 4 + 1];
    dst[ 6] = v1 * m[1 * 4 + 2];
    dst[ 7] = v1 * m[1 * 4 + 3];
    dst[ 8] = v2 * m[2 * 4 + 0];
    dst[ 9] = v2 * m[2 * 4 + 1];
    dst[10] = v2 * m[2 * 4 + 2];
    dst[11] = v2 * m[2 * 4 + 3];
  
    if (m !== dst) {
      dst[12] = m[12];
      dst[13] = m[13];
      dst[14] = m[14];
      dst[15] = m[15];
    }
  
    return dst;
  }
docs: Modifies the given 4-by-4 matrix, scaling in each dimension by an amount
  given by the corresponding entry in the given vector; assumes the vector has
  three entries.
  @param {module:twgl/m4.Mat4} m The matrix to be modified.
  @param {module:twgl/v3.Vec3} v A vector of three entries specifying the
  factor by which to scale in each dimension.
  @param {module:twgl/m4.Mat4} [dst] matrix to hold result. If none new one is created..
  @return {module:twgl/m4.Mat4} m once modified.
  @memberOf module:twgl/m4