diff --git a/gl-matrix/gl-matrix-tests.ts b/gl-matrix/gl-matrix-tests.ts index 5df2220f72..6325ff5cd4 100644 --- a/gl-matrix/gl-matrix-tests.ts +++ b/gl-matrix/gl-matrix-tests.ts @@ -33,6 +33,11 @@ let outMat3 = mat3.create(); let outMat4 = mat4.create(); let outQuat = quat.create(); +let outMat2Null: mat2 | null; +let outMat2dNull: mat2d | null; +let outMat3Null: mat3 | null; +let outMat4Null: mat4 | null; + // vec2 outVec2 = vec2.create(); outVec2 = vec2.clone(vec2A); @@ -180,7 +185,7 @@ outMat2 = mat2.identity(outMat2); outMat2 = mat2.fromValues(1, 2, 3, 4); outMat2 = mat2.set(outMat2, 1, 2, 3, 4); outMat2 = mat2.transpose(outMat2, mat2A); -outMat2 = mat2.invert(outMat2, mat2A); +outMat2Null = mat2.invert(outMat2, mat2A); outMat2 = mat2.adjoint(outMat2, mat2A); outVal = mat2.determinant(mat2A); outMat2 = mat2.multiply(outMat2, mat2A, mat2B); @@ -210,7 +215,7 @@ outMat2d = mat2d.copy(outMat2d, mat2dA); outMat2d = mat2d.identity(outMat2d); outMat2d = mat2d.fromValues(1, 2, 3, 4, 5, 6); outMat2d = mat2d.set(outMat2d, 1, 2, 3, 4, 5, 6); -outMat2d = mat2d.invert(outMat2d, mat2dA); +outMat2dNull = mat2d.invert(outMat2d, mat2dA); outVal = mat2d.determinant(mat2dA); outMat2d = mat2d.multiply(outMat2d, mat2dA, mat2dB); outMat2d = mat2d.mul(outMat2d, mat2dA, mat2dB); @@ -239,7 +244,7 @@ outMat3 = mat3.fromValues(1, 2, 3, 4, 5, 6, 7, 8, 9); outMat3 = mat3.set(outMat3, 1, 2, 3, 4, 5, 6, 7, 8, 9); outMat3 = mat3.identity(outMat3); outMat3 = mat3.transpose(outMat3, mat3A); -outMat3 = mat3.invert(outMat3, mat3A); +outMat3Null = mat3.invert(outMat3, mat3A); outMat3 = mat3.adjoint(outMat3, mat3A); outVal = mat3.determinant(mat3A); outMat3 = mat3.multiply(outMat3, mat3A, mat3B); @@ -252,7 +257,7 @@ outMat3 = mat3.fromRotation(outMat3, Math.PI); outMat3 = mat3.fromScaling(outMat3, vec2A); outMat3 = mat3.fromMat2d(outMat3, mat2dA); outMat3 = mat3.fromQuat(outMat3, quatA); -outMat3 = mat3.normalFromMat4(outMat3, mat4A); +outMat3Null = mat3.normalFromMat4(outMat3, mat4A); outStr = mat3.str(mat3A); outVal = mat3.frob(mat3A); outMat3 = mat3.add(outMat3, mat3A, mat3B); @@ -271,19 +276,19 @@ outMat4 = mat4.fromValues(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16) outMat4 = mat4.set(outMat4, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16); outMat4 = mat4.identity(outMat4); outMat4 = mat4.transpose(outMat4, mat4A); -outMat4 = mat4.invert(outMat4, mat4A); +outMat4Null = mat4.invert(outMat4, mat4A); outMat4 = mat4.adjoint(outMat4, mat4A); outVal = mat4.determinant(mat4A); outMat4 = mat4.multiply(outMat4, mat4A, mat4B); outMat4 = mat4.mul(outMat4, mat4A, mat4B); outMat4 = mat4.translate(outMat4, mat4A, vec3A); outMat4 = mat4.scale(outMat4, mat4A, vec3A); -outMat4 = mat4.rotate(outMat4, mat4A, Math.PI, vec3A); +outMat4Null = mat4.rotate(outMat4, mat4A, Math.PI, vec3A); outMat4 = mat4.rotateX(outMat4, mat4A, Math.PI); outMat4 = mat4.rotateY(outMat4, mat4A, Math.PI); outMat4 = mat4.rotateZ(outMat4, mat4A, Math.PI); outMat4 = mat4.fromTranslation(outMat4, vec3A); -outMat4 = mat4.fromRotation(outMat4, Math.PI, vec3A); +outMat4Null = mat4.fromRotation(outMat4, Math.PI, vec3A); outMat4 = mat4.fromScaling(outMat4, vec3A); outMat4 = mat4.fromXRotation(outMat4, Math.PI); outMat4 = mat4.fromYRotation(outMat4, Math.PI); @@ -529,7 +534,7 @@ outMat2 = _mat2.identity(outMat2); outMat2 = _mat2.fromValues(1, 2, 3, 4); outMat2 = _mat2.set(outMat2, 1, 2, 3, 4); outMat2 = _mat2.transpose(outMat2, mat2A); -outMat2 = _mat2.invert(outMat2, mat2A); +outMat2Null = _mat2.invert(outMat2, mat2A); outMat2 = _mat2.adjoint(outMat2, mat2A); outVal = _mat2.determinant(mat2A); outMat2 = _mat2.multiply(outMat2, mat2A, mat2B); @@ -559,7 +564,7 @@ outMat2d = _mat2d.copy(outMat2d, mat2dA); outMat2d = _mat2d.identity(outMat2d); outMat2d = _mat2d.fromValues(1, 2, 3, 4, 5, 6); outMat2d = _mat2d.set(outMat2d, 1, 2, 3, 4, 5, 6); -outMat2d = _mat2d.invert(outMat2d, mat2dA); +outMat2dNull = _mat2d.invert(outMat2d, mat2dA); outVal = _mat2d.determinant(mat2dA); outMat2d = _mat2d.multiply(outMat2d, mat2dA, mat2dB); outMat2d = _mat2d.mul(outMat2d, mat2dA, mat2dB); @@ -588,7 +593,7 @@ outMat3 = _mat3.fromValues(1, 2, 3, 4, 5, 6, 7, 8, 9); outMat3 = _mat3.set(outMat3, 1, 2, 3, 4, 5, 6, 7, 8, 9); outMat3 = _mat3.identity(outMat3); outMat3 = _mat3.transpose(outMat3, mat3A); -outMat3 = _mat3.invert(outMat3, mat3A); +outMat3Null = _mat3.invert(outMat3, mat3A); outMat3 = _mat3.adjoint(outMat3, mat3A); outVal = _mat3.determinant(mat3A); outMat3 = _mat3.multiply(outMat3, mat3A, mat3B); @@ -601,7 +606,7 @@ outMat3 = _mat3.fromRotation(outMat3, Math.PI); outMat3 = _mat3.fromScaling(outMat3, vec2A); outMat3 = _mat3.fromMat2d(outMat3, mat2dA); outMat3 = _mat3.fromQuat(outMat3, quatA); -outMat3 = _mat3.normalFromMat4(outMat3, mat4A); +outMat3Null = _mat3.normalFromMat4(outMat3, mat4A); outStr = _mat3.str(mat3A); outVal = _mat3.frob(mat3A); outMat3 = _mat3.add(outMat3, mat3A, mat3B); @@ -620,19 +625,19 @@ outMat4 = _mat4.fromValues(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 outMat4 = _mat4.set(outMat4, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16); outMat4 = _mat4.identity(outMat4); outMat4 = _mat4.transpose(outMat4, mat4A); -outMat4 = _mat4.invert(outMat4, mat4A); +outMat4Null = _mat4.invert(outMat4, mat4A); outMat4 = _mat4.adjoint(outMat4, mat4A); outVal = _mat4.determinant(mat4A); outMat4 = _mat4.multiply(outMat4, mat4A, mat4B); outMat4 = _mat4.mul(outMat4, mat4A, mat4B); outMat4 = _mat4.translate(outMat4, mat4A, vec3A); outMat4 = _mat4.scale(outMat4, mat4A, vec3A); -outMat4 = _mat4.rotate(outMat4, mat4A, Math.PI, vec3A); +outMat4Null = _mat4.rotate(outMat4, mat4A, Math.PI, vec3A); outMat4 = _mat4.rotateX(outMat4, mat4A, Math.PI); outMat4 = _mat4.rotateY(outMat4, mat4A, Math.PI); outMat4 = _mat4.rotateZ(outMat4, mat4A, Math.PI); outMat4 = _mat4.fromTranslation(outMat4, vec3A); -outMat4 = _mat4.fromRotation(outMat4, Math.PI, vec3A); +outMat4Null = _mat4.fromRotation(outMat4, Math.PI, vec3A); outMat4 = _mat4.fromScaling(outMat4, vec3A); outMat4 = _mat4.fromXRotation(outMat4, Math.PI); outMat4 = _mat4.fromYRotation(outMat4, Math.PI); diff --git a/gl-matrix/index.d.ts b/gl-matrix/index.d.ts index b8a6694e40..89f28934b8 100644 --- a/gl-matrix/index.d.ts +++ b/gl-matrix/index.d.ts @@ -1384,7 +1384,7 @@ declare module 'gl-matrix' { * @param a the source matrix * @returns out */ - public static invert(out: mat2, a: mat2): mat2; + public static invert(out: mat2, a: mat2): mat2 | null; /** * Calculates the adjugate of a mat2 @@ -1638,7 +1638,7 @@ declare module 'gl-matrix' { * @param a the source matrix * @returns out */ - public static invert(out: mat2d, a: mat2d): mat2d; + public static invert(out: mat2d, a: mat2d): mat2d | null; /** * Calculates the determinant of a mat2d @@ -1918,7 +1918,7 @@ declare module 'gl-matrix' { * @param a the source matrix * @returns out */ - public static invert(out: mat3, a: mat3): mat3; + public static invert(out: mat3, a: mat3): mat3 | null; /** * Calculates the adjugate of a mat3 @@ -2054,7 +2054,7 @@ declare module 'gl-matrix' { * * @returns out */ - public static normalFromMat4(out: mat3, a: mat4): mat3; + public static normalFromMat4(out: mat3, a: mat4): mat3 | null; /** * Returns a string representation of a mat3 @@ -2242,7 +2242,7 @@ declare module 'gl-matrix' { * @param a the source matrix * @returns out */ - public static invert(out: mat4, a: mat4): mat4; + public static invert(out: mat4, a: mat4): mat4 | null; /** * Calculates the adjugate of a mat4 diff --git a/gl-matrix/tsconfig.json b/gl-matrix/tsconfig.json index 5350b55fb6..4a5a2ae6bb 100644 --- a/gl-matrix/tsconfig.json +++ b/gl-matrix/tsconfig.json @@ -3,7 +3,7 @@ "module": "commonjs", "target": "es6", "noImplicitAny": true, - "strictNullChecks": false, + "strictNullChecks": true, "baseUrl": "../", "typeRoots": [ "../" @@ -16,4 +16,4 @@ "index.d.ts", "gl-matrix-tests.ts" ] -} \ No newline at end of file +}