WelcomeUser Guide
ToSPrivacyCanary
DonateBugsLicense

©2026 Poal.co

510

I've been playing around with ZenithOS, a fork of TempleOS. I was reading their road map. A lot of it made sense. But then out of nowhere it said "drop support for all floating point types".

Here is the full roadmap:

  • AHCI driver that is capable of reading and burning CD/DVD discs, and can also work with RW discs.

  • Speed up the OS by doing compiler optimizations like register arguments.

  • Drop floating point support completely.

  • Add either SSE or AVX support (not both) to the assembler/compiler, for working with large integers.

  • Write a new 32-bit color graphics library that uses the added SIMD instructions. Refresh DolDoc for the following:

  • Build a simplistic GUI framework that integrates with DolDoc and the terminal using the new graphics library.

  • Add Intel HD Audio support.

  • Write drivers for the 5 most common ethernet cards.

  • Create a clean and robust networking stack that supports raw sockets, TCP, UDP, IP, ICMP, DHCP, and an HTTP library. Perhaps we can avoid Berkeley Sockets and create our own system?

  • Write applications using this networking stack.

  • Write a JSON library, so REST APIs can be used.

  • Drop FAT32 and maybe RedSea, replace with exFAT and proper ISO9660 support.

  • Whole system VCS, with root being top-level directory. Stored repo inside the OS, you can checkout any commit onto another partition and boot it to see what the OS was like in that commit.

  • Pull updates directly onto root filesystem from network. (it's a repo source tree after all).

  • At this point, bigger fish in the pond can be eyed. Perhaps support for USB keyboard and mice, and native USB mass storage support, significant code clean up and refactoring.

  • Port to other architectures??

Do you see any benefit?

I've been playing around with ZenithOS, a fork of TempleOS. I was reading their road map. A lot of it made sense. But then out of nowhere it said "drop support for all floating point types". Here is the full roadmap: - AHCI driver that is capable of reading and burning CD/DVD discs, and can also work with RW discs. - Speed up the OS by doing compiler optimizations like register arguments. - Drop floating point support completely. - Add either SSE or AVX support (not both) to the assembler/compiler, for working with large integers. - Write a new 32-bit color graphics library that uses the added SIMD instructions. Refresh DolDoc for the following: - Build a simplistic GUI framework that integrates with DolDoc and the terminal using the new graphics library. - Add Intel HD Audio support. - Write drivers for the 5 most common ethernet cards. - Create a clean and robust networking stack that supports raw sockets, TCP, UDP, IP, ICMP, DHCP, and an HTTP library. Perhaps we can avoid Berkeley Sockets and create our own system? - Write applications using this networking stack. - Write a JSON library, so REST APIs can be used. - Drop FAT32 and maybe RedSea, replace with exFAT and proper ISO9660 support. - Whole system VCS, with root being top-level directory. Stored repo inside the OS, you can checkout any commit onto another partition and boot it to see what the OS was like in that commit. - Pull updates directly onto root filesystem from network. (it's a repo source tree after all). - At this point, bigger fish in the pond can be eyed. Perhaps support for USB keyboard and mice, and native USB mass storage support, significant code clean up and refactoring. - Port to other architectures?? Do you see any benefit?

(post is archived)

[–] 0 pt

a Float is still more precise than an Int.

Float has a greater magnitude and is an approximation beyond the maximum significant digits for any specific type of float, but int is always exact within its limits.

[–] 1 pt (edited )

And if your quantity is integral and falls within the int range, then use an int. When it has a larger range or is fractional, a float is better than an int. In such a case an int is even more of an approximation than a float.

[–] 0 pt

within its limits.

Where precision isn't the absolute requirement.

[–] 0 pt

Doubles are more precise than ints, floats are not.

[–] 0 pt

Int will always be true, that's the only advantage.

[–] 0 pt

In the case of Zenith when we talk about floats we are talking about F64. In it's case that's the only float it has.

When comparing F64 and I64, the I64 has more bits dedicated to precision.

[–] 0 pt

Usually when you want the max precision and your values stay in a bounded range, you use fixed point. Gives you the biggest bang for your bits.