When building with VS2019 (using is_clang=false) multiples of the
following error are given:
../../src/common/mathutil.cpp(75): error C4244: '=':
conversion from 'double' to 'float', possible loss of data
(This is due to pow(), when passed an int for the second param, widens
the first param to a double then returns a double).
Since the code was being changed the opportunity was taken to:
- add missing unit tests for the two 999E5 conversions
- optimise out the common pow() functions
The unit tests were written against the original implementation, then
the optimisations added and verified against the original results.
Bug: angleproject:5521, dawn:602
Change-Id: Ic9e5eaedbe3fc7ceeed697898823b76dffcd989a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2624888
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by:
Jamie Madill <jmadill@chromium.org>
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| apple | Loading commit data... | |
| fuchsia_egl | Loading commit data... | |
| gl/cgl | Loading commit data... | |
| third_party | Loading commit data... | |
| vulkan | Loading commit data... | |
| Color.h | Loading commit data... | |
| Color.inc | Loading commit data... | |
| FastVector.h | Loading commit data... | |
| FastVector_unittest.cpp | Loading commit data... | |
| FixedVector.h | Loading commit data... | |
| FixedVector_unittest.cpp | Loading commit data... | |
| Float16ToFloat32.cpp | Loading commit data... | |
| Float16ToFloat32.py | Loading commit data... | |
| MemoryBuffer.cpp | Loading commit data... | |
| MemoryBuffer.h | Loading commit data... | |
| Optional.h | Loading commit data... | |
| Optional_unittest.cpp | Loading commit data... | |
| PackedEGLEnums_autogen.cpp | Loading commit data... | |
| PackedEGLEnums_autogen.h | Loading commit data... | |
| PackedEnums.cpp | Loading commit data... | |
| PackedEnums.h | Loading commit data... | |
| PackedGLEnums_autogen.cpp | Loading commit data... | |
| PackedGLEnums_autogen.h | Loading commit data... | |
| PoolAlloc.cpp | Loading commit data... | |
| PoolAlloc.h | Loading commit data... | |
| PoolAlloc_unittest.cpp | Loading commit data... | |
| aligned_memory.cpp | Loading commit data... | |
| aligned_memory.h | Loading commit data... | |
| aligned_memory_unittest.cpp | Loading commit data... | |
| android_util.cpp | Loading commit data... | |
| android_util.h | Loading commit data... | |
| angle_version.h | Loading commit data... | |
| angleutils.cpp | Loading commit data... | |
| angleutils.h | Loading commit data... | |
| angleutils_unittest.cpp | Loading commit data... | |
| apple_platform_utils.h | Loading commit data... | |
| bitset_utils.h | Loading commit data... | |
| bitset_utils_unittest.cpp | Loading commit data... | |
| debug.cpp | Loading commit data... | |
| debug.h | Loading commit data... | |
| entry_points_enum_autogen.cpp | Loading commit data... | |
| entry_points_enum_autogen.h | Loading commit data... | |
| event_tracer.cpp | Loading commit data... | |
| event_tracer.h | Loading commit data... | |
| gen_packed_gl_enums.py | Loading commit data... | |
| gen_uniform_type_table.py | Loading commit data... | |
| hash_utils.h | Loading commit data... | |
| hash_utils_unittest.cpp | Loading commit data... | |
| mathutil.cpp | Loading commit data... | |
| mathutil.h | Loading commit data... | |
| mathutil_unittest.cpp | Loading commit data... | |
| matrix_utils.cpp | Loading commit data... | |
| matrix_utils.h | Loading commit data... | |
| matrix_utils_unittest.cpp | Loading commit data... | |
| packed_egl_enums.json | Loading commit data... | |
| packed_gl_enums.json | Loading commit data... | |
| platform.h | Loading commit data... | |
| string_utils.cpp | Loading commit data... | |
| string_utils.h | Loading commit data... | |
| string_utils_unittest.cpp | Loading commit data... | |
| system_utils.cpp | Loading commit data... | |
| system_utils.h | Loading commit data... | |
| system_utils_apple.cpp | Loading commit data... | |
| system_utils_ios.cpp | Loading commit data... | |
| system_utils_linux.cpp | Loading commit data... | |
| system_utils_mac.cpp | Loading commit data... | |
| system_utils_posix.cpp | Loading commit data... | |
| system_utils_unittest.cpp | Loading commit data... | |
| system_utils_win.cpp | Loading commit data... | |
| system_utils_win32.cpp | Loading commit data... | |
| system_utils_winuwp.cpp | Loading commit data... | |
| tls.cpp | Loading commit data... | |
| tls.h | Loading commit data... | |
| uniform_type_info_autogen.cpp | Loading commit data... | |
| utilities.cpp | Loading commit data... | |
| utilities.h | Loading commit data... | |
| utilities_unittest.cpp | Loading commit data... | |
| vector_utils.h | Loading commit data... | |
| vector_utils_unittest.cpp | Loading commit data... | |
| version.h | Loading commit data... |