The following procedure should be used in a program that maintains an index into a string, beginning at character zero (0). The program calls this procedure to get the next character and to update the index, based on how many characters were used to represent the Gensym character set character.
/* arithmetically shift d1 left 13 bits */
(d1 << 13)
+ (d2 * 95)
+ d3
+ -265976
(d1 * 95)
+ d2
+ 4360