The other picolibc project this week is to (finally) put together a coding standard and reformat all of the code. I'm wondering if others have experience with this particular transition and if you all have advice and guidance about how to make this less disruptive. Of course, bike-shedding about the actual format is highly encouraged.
🇺🇦 #NowPlaying on KEXP's #ElSonido
Chuwi:
🎵 Rico y Pico
#Chuwi
https://chui2.bandcamp.com/track/rico-y-pico
https://open.spotify.com/track/7y6bGyRB4tpSThUZXqzx0t
I received a bug report about picolibc's iconv implementation. So I added a test case. Which pushed the CI runtime up over *six hours* at which point github gave up and killed it.
I spent a bit of time yesterday and today re-implementing the JIS to Unicode conversion function to make it faster. Lines changed: 5125 additions & 7495 deletions. Runtime is back to normal now. And I have a deeper understanding of these encodings.
🇺🇦 #NowPlaying on KEXP's #ElSonido
107 Faunos:
🎵 Pico tres
#107Faunos
https://107faunoss.bandcamp.com/track/pico-tres
https://open.spotify.com/track/1icWP49F2rC93ZSFtn9u6U
Posted a PR, https://github.com/picolibc/picolibc/pull/1138, to finally delete the original newlib stdio code from picolibc. It's well past time; that code is missing a bunch of functionality and fails a lot of tests.
The Software Observatory: aggregating and analysing software metadata for trend computation and FAIR assessment
Eva Mart\'in del Pico, Josep Llu\'is Gelp\'i, Salvador Capella-Guti\'errez
https://arxiv.org/abs/2510.05705
#footpathfriday camino de #Mataelpino con La Maliciosa al fondo
I managed to merge five PRs from other picolibc contributors today. I really like getting contributions from other other people; it makes me think that maybe my little project is starting to be useful in the world.
Added 'a few' math tests to picolibc today. These create reference values using nickle with its arbitrary precision floating point arithmetic. The result is a list of functions which need work to improve their accuracy. Most are "close", with known errors of 1 or 2 ulp, but tgamma is in rough shape with errors of 56 ulp for binary64 and 97ulp for binary128. The complex functions are almost all in very rough shape with errors of thousands of ulps.
Picolibc math testing is paying off. I found bugs in cbrtf, lgammaf and erfcf, probably because they were translated from the binary64 versions.
cbrtf from 2ulp to 1ulp. lgammaf for non-negative values down to 3ulp. erfcf from 64ulp to 3 ulp.