11/24/2023 at 14:51 •
The Pascal family of languages don't bother with such details because operators use all-letters operators : sll, shl... But the C-like syntax is preferred today so I need to be creative.
Carry-related operations are traditionally absent, which is a shame. So let's skip directly to the rotations : there is no direct symbol for this, but I have long wanted to modify the shift symbols:
<<@ rotate left >>@ rotate right
Or maybe a shorter version:
<@ rotate left @> rotate right
which is less effort than having to analyse the syntax tree and look for a compound operation (OR of two SHIFTs with the same arguments and the shift amounts sum up to 32 or 64).
Now there is an even trickier symbol to choose : I need UMIN, UMAX, SMIN and SMAX (unsigned and signed minimum and maximum) The < and > symbols will be used but how to discern between signed and non signed operations ?
<? MIN ?> MAX
The Dollar symbol looks like a S so
<$ SMIN $> SMAX
could do the trick.
Any advice or prior art is welcome !
09/26/2023 at 06:43 •
I have covered permutations of control signals in binary trees many years ago, I have even published 2 articles:
And I recently became aware that I am only a rediscoverer, as there are 2 patents:
https://patents.google.com/patent/US5243599A/en by IBM, expired in 2011
"Tree-type multiplexers and methods for configuring the same"
Figure 6 is clearly a balanced tree (32 leaves, 1,7,7,8,8 configuration)
https://patents.google.com/patent/US20120194250 AMD, seems identical but expires in 2031 ???
I have not been able to understand the difference between the two patents but this would explain why the technique has not appeared on my radar before : who wants to walk on IBM's toes ? However its validity is gone since a dozen years now so why restrain ourselves ?
05/06/2023 at 03:58 •
I'm 46 years old and only now do I realize that there is <strings.h> and <string.h>