mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-01-24 10:12:25 -05:00
352480338e
The main change is the simplification of the expression `(10^precision * fraction) / 2^precision` to `5^precision * fraction`. Those expressions overflow or not depends on the value of `precision` and `fraction`. For the maximum value of `fraction`, the following table shows for which value of `precision` overflow will occur. Old New u32 08 10 u64 15 20 u128 30 39 As of now `u64` type is used to calculate the result of the expression. Meaning that before, only FixedPoints with `precision` less than 15 could be accurately rendered (for every value of fraction) in decimal. Now, this limit gets increased to 20. This refactor also fixes, broken decimal render for explicitly specified precision width in format string, and broken hexadecimal render. |
||
---|---|---|
.. | ||
CMakeLists.txt | ||
TestAllOf.cpp | ||
TestAnyOf.cpp | ||
TestArbitrarySizedEnum.cpp | ||
TestArray.cpp | ||
TestAtomic.cpp | ||
TestBadge.cpp | ||
TestBase64.cpp | ||
TestBinaryHeap.cpp | ||
TestBinarySearch.cpp | ||
TestBitCast.cpp | ||
TestBitmap.cpp | ||
TestBitStream.cpp | ||
TestBuiltinWrappers.cpp | ||
TestByteBuffer.cpp | ||
TestCharacterTypes.cpp | ||
TestChecked.cpp | ||
TestCircularBuffer.cpp | ||
TestCircularDeque.cpp | ||
TestCircularQueue.cpp | ||
TestComplex.cpp | ||
TestDeprecatedString.cpp | ||
TestDisjointChunks.cpp | ||
TestDistinctNumeric.cpp | ||
TestDoublyLinkedList.cpp | ||
TestDuration.cpp | ||
TestEndian.cpp | ||
TestEnumBits.cpp | ||
TestFind.cpp | ||
TestFixedArray.cpp | ||
TestFixedPoint.cpp | ||
TestFloatingPoint.cpp | ||
TestFloatingPointParsing.cpp | ||
TestFlyString.cpp | ||
TestFormat.cpp | ||
TestGenericLexer.cpp | ||
TestHashFunctions.cpp | ||
TestHashMap.cpp | ||
TestHashTable.cpp | ||
TestHex.cpp | ||
TestIndexSequence.cpp | ||
TestInsertionSort.cpp | ||
TestIntegerMath.cpp | ||
TestIntrusiveList.cpp | ||
TestIntrusiveRedBlackTree.cpp | ||
TestIPv4Address.cpp | ||
TestIPv6Address.cpp | ||
TestJSON.cpp | ||
TestLEB128.cpp | ||
TestLexicalPath.cpp | ||
TestMACAddress.cpp | ||
TestMemory.cpp | ||
TestMemoryStream.cpp | ||
TestNeverDestroyed.cpp | ||
TestNonnullOwnPtr.cpp | ||
TestNonnullRefPtr.cpp | ||
TestNumberFormat.cpp | ||
TestOptional.cpp | ||
TestOwnPtr.cpp | ||
TestPrint.cpp | ||
TestQueue.cpp | ||
TestQuickSelect.cpp | ||
TestQuickSort.cpp | ||
TestRedBlackTree.cpp | ||
TestRefPtr.cpp | ||
TestSIMD.cpp | ||
TestSinglyLinkedList.cpp | ||
TestSourceGenerator.cpp | ||
TestSourceLocation.cpp | ||
TestSpan.cpp | ||
TestStack.cpp | ||
TestStatistics.cpp | ||
TestStdLibExtras.cpp | ||
TestString.cpp | ||
TestStringFloatingPointConversions.cpp | ||
TestStringUtils.cpp | ||
TestStringView.cpp | ||
TestTrie.cpp | ||
TestTuple.cpp | ||
TestTypedTransfer.cpp | ||
TestTypeTraits.cpp | ||
TestUFixedBigInt.cpp | ||
TestURL.cpp | ||
TestUtf8.cpp | ||
TestUtf16.cpp | ||
TestVariant.cpp | ||
TestVector.cpp | ||
TestWeakPtr.cpp |