summaryrefslogtreecommitdiff
path: root/AK/NumberFormat.h
AgeCommit message (Collapse)Author
2023-01-02AK: Add an option to format numbers with 1000 based unitsArda Cinar
Instead of only allowing 1024-based units.
2023-01-02AK: Add a human_readable_quantity helper to NumberFormat.hArda Cinar
This can be used for displaying large quantities that are not measured in bytes in a more human-readable format.
2023-01-02AK: Move the functions in NumberFormat.h out of lineArda Cinar
2022-12-21AK: Calculate elapsed days in `human_readable_time()`Karol Kosek
2022-12-06Everywhere: Rename to_{string => deprecated_string}() where applicableLinus Groh
This will make it easier to support both string types at the same time while we convert code, and tracking down remaining uses. One big exception is Value::to_string() in LibJS, where the name is dictated by the ToString AO.
2022-12-06AK+Everywhere: Rename String to DeprecatedStringLinus Groh
We have a new, improved string type coming up in AK (OOM aware, no null state), and while it's going to use UTF-8, the name UTF8String is a mouthful - so let's free up the String name by renaming the existing class. Making the old one have an annoying name will hopefully also help with quick adoption :^)
2022-11-26AK: Make it possible to not `using` AK classes into the global namespaceAndreas Kling
This patch adds the `USING_AK_GLOBALLY` macro which is enabled by default, but can be overridden by build flags. This is a step towards integrating Jakt and AK types.
2022-08-05AK: Add human_readable_digital_time() helperthankyouverycool
Converts seconds into a readable digital format. For example: 30 seconds = "00:30" 90 seconds = "01:30" 86401 seconds = "24:00:01" And so on.
2022-04-01Everywhere: Run clang-formatIdan Horowitz
2022-01-09AK: Added human_readable_time() method for "unsaved changes" dialogsRafał Babiarz
2021-04-29Everywhere: Use "the SerenityOS developers." in copyright headersLinus Groh
We had some inconsistencies before: - Sometimes "The", sometimes "the" - Sometimes trailing ".", sometimes no trailing "." I picked the most common one (lowecase "the", trailing ".") and applied it to all copyright headers. By using the exact same string everywhere we can ensure nothing gets missed during a global search (and replace), and that these inconsistencies are not spread any further (as copyright headers are commonly copied to new files).
2021-04-22Everything: Move to SPDX license identifiers in all files.Brian Gianforcaro
SPDX License Identifiers are a more compact / standardized way of representing file license information. See: https://spdx.dev/resources/use/#identifiers This was done with the `ambr` search and replace tool. ambr --no-parent-ignore --key-from-file --rep-from-file key.txt rep.txt *
2021-03-25AK: Add longer human readable size to string helper functionDavid Isaksson
Wraps the existing AK::human_readable_size function but will always display the bytes in the base unit as well as the shorter string with one decimal. E.g. "14 KiB (14396 bytes)".
2021-03-17AK: Implement terabytes, petabytes, exabytesJean-Baptiste Boric
2021-02-08Everywhere: Remove unnecessary headers 3/4Ben Wiederhake
Arbitrarily split up to make git bisect easier. These unnecessary #include's were found by combining an automated tool (which determined likely candidates) and some brain power (which decided whether the #include is also semantically superfluous).
2020-10-08AK: Use new format functions.asynts
2020-08-23AK: Fix human_readable_size corner casesBen Wiederhake
In particular: consistent rounding and extreme values. Before, rounding was something like 'away from 0.999...', which led to surprising corner cases in which the value was rounded up. Now, rounding is always 'down'. This even works for 0xffffffff, and also for 0xffffffffffffffffULL on 64-bit.
2020-08-23Meta: Fix wrong 'using namespace X' usagesBen Wiederhake
Apart from causing All AK:: and Crypto:: symbols being suddenly visible even though they might not be supposed to be, the style guide also says this is wrong: https://github.com/SerenityOS/serenity/blob/master/Documentation/CodingStyle.md#using-statements
2020-08-16AK: Use IEC prefixes in human_readable_formatNico Weber
Windows uses "KB", "MB", "GB" as powers of two. macOS uses "kB", "MB", "GB" as powers of ten. "k", "M", "G" are standard SI prefixes that normally refer to powers of ten. The IEC introduced "KiB", "MiB", "GiB" to unambiguously refer to powers of two. It admittedly hasn't caught on that much, but it does have the advantage that it's unabigious what it means. So let's use it for user-visible sizes in SerenityOS. (Linux does all of the above in different places, depending on app and toolkit.)
2020-08-16Everywhere: Consolidate human_readable_size() implementationsNico Weber
Let's use the one in AK/NumberFormat.h everywhere. It has slightly different behavior than some of the copies this removes, but it's probably nice to have uniform human readable size outputs across the system.
2020-08-16AK: Rename KB, MB, GB to KiB, MiB, GiBNico Weber
The SI prefixes "k", "M", "G" mean "10^3", "10^6", "10^9". The IEC prefixes "Ki", "Mi", "Gi" mean "2^10", "2^20", "2^30". Let's use the correct name, at least in code. Only changes the name of the constants, no other behavior change.
2020-05-03AK+FileManager: Move out human_readable_size to AK::NumberFormatAnotherTest