ccr / ccr

Community Codec Repository
BSD 3-Clause "New" or "Revised" License
18 stars 4 forks source link

Change name from Granular BitGroom to Granular BitRound? #207

Closed czender closed 2 years ago

czender commented 2 years ago

I would like to change the name of the Granular BitGroom (GBG) algorithm to Granular BitRound (GBR), to more clearly convey that it applies BitRound with the keepbits determined optimally for each value, rather than using the same number of keepbits for all values in a variable. Feedback welcome!

Upsides: Name is more clear. GBG actually has little of BitGroom in it, but the name implies they are strongly related. GBR has the same code as BitRound in it, at the end, to do the quantization. I'm getting ready to add BitRound as a separate codec, and GBR makes that clear.

Downsides: CCR 1.3.0 has already been released with the shorthand name granularbg everywhere, including in the API which looks like nc_def_var_granularbg(). I would suggest changing that to granularbr and GBR instead of GBG in the docs. This change would break the source code of anyone using the nc_def/inq_var_granularbg() function names. Unless we added a backwards compatibility token that redefined nc_def/inq_var_granularbg to nc_def/inq_var_granularbr.

Naming new stuff is hard. It was not clear to me when I wrote GBG that BitRound would skyrocket in importance (due to Klower's paper). My feeling is that it's best to fix the names now to avoid misinterpretation later. Though I'm not absolutely wedded to the change. @edwardhartnett what do you think? Has this horse already left the barn? Or can we make this change in 1.4?

edwardhartnett commented 2 years ago

Fix the name if you like, we have few users at this point so no one will mind. Since it was just introduced, no one can be using it much anyway, yet.

Naming is indeed hard! ;-)