Blame README.md

Packit b040ce
### CI status
Packit b040ce
Packit b040ce
CI status
Packit b040ce
Packit b040ce
Packit b040ce
### Introduction
Packit b040ce
Packit b040ce
The goal of this project is to provide a tiny library that would facilitate the
Packit b040ce
common operations with sizes in bytes. Many projects need to work with sizes in
Packit b040ce
bytes (be it sizes of storage space, memory,...) and all of them need to deal
Packit b040ce
with the same issues like:
Packit b040ce
Packit b040ce
* How to get a human-readable string for the given size?
Packit b040ce
* How to store the given size so that no significant information is lost?
Packit b040ce
* If we store the size in bytes, what if the given size gets over the ``MAXUINT64``
Packit b040ce
  value?
Packit b040ce
* How to interpret sizes entered by users according to their locale and typing
Packit b040ce
  conventions?
Packit b040ce
* How to deal with the decimal/binary units (*MB* vs. *MiB*) ambiguity?
Packit b040ce
Packit b040ce
Some projects have all the above questions/concerns addressed well, some have
Packit b040ce
them addressed partially some simply don't care. However, having (partial)
Packit b040ce
solutions implemented in multiple places every time with a different set of
Packit b040ce
bugs, differences in behaviour and this or that missing is a waste of time and
Packit b040ce
effort. We need a generally usable solution that could be used by every project
Packit b040ce
that needs to deal with sizes in bytes.
Packit b040ce
Packit b040ce
Since the goal is to provide a solution as much generally usable as possible the
Packit b040ce
implementation has to be small, fast and written in a language that can be
Packit b040ce
easily interfaced from other languages. The current obvious choice is the *C*
Packit b040ce
language with thin bindings for other languages.