Fixed math.hash crash when using IL2CPP builds on Arm 32 bit devices.
Fixed obsolete method usage warnings for MatrixDrawer.CanCacheInspectorGUI and PrimitiveVectorDrawer.CanCacheInspectorGUI in UNITY_2023_2_OR_NEWER.
Updated minimum editor version to 2021.3
[1.3.1] - 2023-07-12
Added
Added math.square to compute the square (x * x).
Added math.orthonormal_basis to compute an orthonormal basis from a single unit length vector.
Added math.sign for int, int2, int3 and int4.
Added math.chgsign for float, float2, float3, and float4.
Added math.Euler to convert a quaternion to Euler angles.
Added math.angle to compute the angle between two unit quaternions.
Added math.rotation to extract a quaternion rotation from a float3x3 (that may have scale).
Added math.mulScale to scale columns of a float3x3 with scaling coefficients in a float3.
Added math.scaleMul to scale rows of a float3x3 with scaling coefficients in a float3.
Added AffineTransform type.
Added PI2, PIHALF, TAU, TODEGREES and TORADIANS constants.
Changed
asfloat(uint), asuint(float), asint(float) and other related methods are now faster in mono without Burst. Other methods which use these will see a performance improvement.
Modified quaternion.nlerp to be branchless.
More descriptive parameter names for many methods in math class.
Made Il2CppEagerStaticClassConstructionAttribute internal to avoid conflicts with other definitions outside of the package.
[1.2.6] - 2022-02-11
Changed
Made Il2CppEagerStaticClassConstructionAttribute internal to avoid conflicts with other definitions outside of the package.
[1.2.5] - 2021-11-01
Fixed
Fixed property drawing when manually drawing a property that was hidden with [HideInInspector].
[1.2.4] - 2021-09-22
Added
Added [Il2CppEagerStaticClassConstruction] to Unity.Mathematics types to run static constructors at startup. This improves IL2CPP performance slightly for types that have static constructors.
Changed
License file updated to satisfy Unity's package validation tests.
Changed noise documentation in comments to xmldoc comments.
Fixed
Fixed Equals(object) override which did not check type before casting. This could cause exceptions to be thrown when the object did not match the expected type.
Fixed incorrect math.tzcnt documentation which mentioned leading zero counts instead of trailing zero counts.
Fixed float2x2.Rotate documentation to mention radians instead of degrees.
Fixed documentation for methods and properties that were previously undocumented.
[1.2.1] - 2020-08-06
Fixed
Fixed warnings for meta files existing even though the files they represent did not exist.
Internal (Not ready for production)
[1.2.0] - 2020-08-03
Added
Added [MethodImpl(MethodImplOptions.AggressiveInlining)] to many static functions to improve IL2CPP performance.
Added compress() that accepts a float4 and uint4.
Added math.project() and math.projectsafe() for vector projection.
Added math.EPSILON, math.INFINITY, math.NAN and their double counterparts.
Added [Serializable] to RigidTransform.
Added math.ceillog2().
Added math.floorlog2().
Added math.down(), math.forward(), etc for Cartesian coordinate axes that match UnityEngine Vector3 equivalents.
Added math.ispow2().
Added half.MinValueAsHalf and half.MaxValueAsHalf to avoid having to explicitly convert from float.
Added a float3x3 constructor which takes a float4x4 as input.
Added [Serializable] to half types.
Added some performance tests which can be run from the Unity test project.
Added Random.CreateFromIndex() to assist in creating Random instances from loop indices.
Fixed
Fixed documentation bug where quaternion.RotateX/Y/Z referred to a float4x4 instead of quaternion.
Fixed code generation bugs which could cause Windows and Mac to generate different test code.
Fixed some test asserts which used NaNs and signed zeros which failed in IL2CPP builds.
Updated documentation for math.countbits() to include equivalent names on Intel and ARM architectures to aid in discoverability.
Internal (Not ready for production)
Added Unity.Mathematics.Geometry.Plane to represent planes in 3D space.
Added more MinMaxAABB functionality from Unity.Physics.Aabb.
Added Unity.Mathematics.Geometry.Math to hold static functions like AABB transformations.
Added MinMaxAABB.
[1.1.0] - 2019-07-08
Release stable version
[1.1.0-preview.1] - 2019-06-27
Add new math.bitmask to return a bit mask from a bool4
[1.0.1] - 2019-04-15
Release stable version
Modify all math constants (e.g math.PI) to provide float constant by default instead of double. Use for example math.PI_DBL to get the previous double constant.
[1.0.0-preview.1] - 2019-02-28
Fixed bug where modifications on prefabs could not be reverted for vector properties when using context menu in Inspector.
Fixed structure of the package for internal validation