blackjacksepp
I never used C++'s scoped locks but as far as I can tell they perform runtime deadlock detection while this crate is compile-time only with near to none code produced in the resulting binary.
This is done by enforcing to either lock every Mutex the thread needs at once or none at all. Thread keys are used to represent this with the type system.
From the documentation (emphasis mine):
If the floating literal begins with the character sequence
0x
or0X
, the floating literal is a hexadecimal floating literal. Otherwise, it is a decimal floating literal.For a hexadecimal floating literal, the significand is interpreted as a hexadecimal rational number, and the digit-sequence of the exponent is interpreted as the (decimal) integer power of 2 by which the significand has to be scaled.
double d = 0x1.4p3; // hex fraction 1.4 (decimal 1.25) scaled by 2^3, that is 10.0
You can find the full documentation here: cppreference.com
So in your example 0x1P1
means 116 * 2^(110) = 2
Isn’t this how it always looked when treeview is enabled? Look for the option in the View
dropdown menu.
I am currently running
- Nextcloud: slow, but great for Calendar or Notes
- Gonic
- Airsonic Refix
- transfer.sh
- FileBrowser
- Conduit
- Cinny
- Mosquitto
- Prometheus
- Grafana
The last three are quite niche. I use Prometheus + Grafana for Monitoring the Pi itself and for displaying MQTT Stats. Since upgrading to SSDs performance is actually quite good, especially when taking power usage into account.