roll: pigweed pw_allocator: Add MeasureFragmentation

This CL provides an implementation of the algorithm to calculate a
fragmentation metric that was only previously described. This typically
shouldn't be invoked on device unless there is robust floating point
support. Adding this method allows platforms that do have floating
support to avoid implementing it themselves, as well as providing it for
host tasks like benchmarking.

Original-Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/238417
Original-Revision: 020780642847dba69a9b2025f1f698fe3d8e4801

Rolled-Repo: https://pigweed.googlesource.com/pigweed/pigweed
Rolled-Commits: 39f64a722bd247..020780642847db
Roller-URL: https://ci.chromium.org/b/8735259533443445953
GitWatcher: ignore
CQ-Do-Not-Cancel-Tryjobs: true
Change-Id: I9c497237ad5af87649deb357e9be82598d0fbb1b
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/showcase/sense/+/239113
Lint: Lint 🤖 <android-build-ayeaye@system.gserviceaccount.com>
Commit-Queue: Pigweed Roller <pigweed-roller@pigweed-service-accounts.iam.gserviceaccount.com>
Bot-Commit: Pigweed Roller <pigweed-roller@pigweed-service-accounts.iam.gserviceaccount.com>
1 file changed
tree: 7f62a0b3b8e4534b63b63a2fd2b93a361e797d5c
  1. .github/
  2. .vscode/
  3. apps/
  4. device/
  5. modules/
  6. system/
  7. targets/
  8. tools/
  9. web_app/
  10. .bazelignore
  11. .bazelrc
  12. .bazelversion
  13. .buildifier.json
  14. .clang-format
  15. .clangd.shared
  16. .gitignore
  17. .pw_console.yaml
  18. AUTHORS
  19. BUILD.bazel
  20. CONTRIBUTING.md
  21. LICENSE
  22. MODULE.bazel
  23. MODULE.bazel.lock
  24. OWNERS
  25. pigweed.json
  26. README.md
README.md

Sense

git clone https://pigweed.googlesource.com/pigweed/showcase/sense

Welcome to Pigweed Sense, a tour of key Pigweed components experienced through an imagined air quality product.

Please visit Sense: An interactive tour through Pigweed to get started.