Siboot will use a set of Quantifiers ranging from −3 to +3; that’s 7 in all. However, SWAT provides Quantifiers ranging from 0 to +10; that’s 11 in all. I have to figure out how to get the Siboot Quantifiers working in SWAT.
The good news is that SWAT already has a rough system for handling this: groupings called 9-sets, 7-sets, and 5-sets. I would want to use a 7-set. Sappho has a command called isAMemberOf7Set, which returns true if the Quantifier is a member of the 7-set. However, there’s a catch: SWAT defines a 7-set as the standard 11-set minus the Quantifiers for 1, 4, 6, and 9. In other words, a 7-set covers the same amount of space as the 11-set (from −1.00 to +1.00) but does so rather jumpily, retaining values 0, 2, 3, 5, 7, 8, and 10.
SWAT converts Quantifiers to BNumbers using this equation:
B = (Q - 5)/ 5.1
which yields the following table of results:
Q B
0 -0.98
1 -0.78
2 -0.59
3 -0.39
4 -0.19
5 0.0
6 +0.19
7 +0.39
8 +0.59
9 +0.78
10 +0.98
The Quantifiers that are excluded from Siboot are marked in red; as you can see, the differences between values will be quite jerky. I need a way to fix this an even out the gaps, and I think that I can do it with a custom operator.
But a trickier question looms: should I use the full range of Quantifiers as defined by SWAT, and some how patch over its jerky values for Quantifier2BNumber, or should I use a 7-set that is continuous but covers a smaller range? I was able to build something that does this, but it’s ugly as sin.