Socket UAs primary generation
The UAS generation for sockets 2 and sockets 3 is in fact very close to the generation of the main UAs.
Once the gangster revised, Exactly the same things have to be done.
As for the main UAs, we cover the area 2-5 digits.
Regarding the UA generation, the main (only) difference is in the PM initial value.
The search is done for sockets of interest.
Sockets2 and sockets 3 are described in Go_17_Gen12.
GEN_BAND_12 (in fact a global data area with one occurrence genb12) contains the 81 sockets2 data structures SGUA2; tsgua2 and the 81 socket3 data structures SGUA3;tsgua3.
Initial settings are done at the very beginning.
Here, we have to see which of the sockets are of interest and to store the results for the future use.
A socket is of interest if one of the bands 3 has a use for it, either directly as GUA2 GUA3 or as GUA4 GUA6. (see GEN_BANDES_12:: SecondSocket2Setup, and SecondSocket3Setup)
The appropriate revised gangster is prepared before the call to GuaCollect(). The results are processed nearly as in the main process and added to the relevant table in tsgua2 or tsgua3.
It is clear that each socket has the same potential in UAs as the main table.
And having a response as reliable as possible to the question “is the socket active” after validation of a Bands 1+2 set of given is very important.
This push to collect a significant amount of UAs, but we have to take care of the 2x81 factor.
The first parameter to adjust the process is zh2b5_g.sizef5. A specific value is given in SecondSocket2Setup and SecondSocket3Setup. Some test have still to be done to optimize the parameter, currently same limit as main table for socket 2 and one less for socket 3.
A global limit of 150 (#define SIZETGUA 150 in go_17_genb12.h) can also be changed to adjust the primary collection.
More test are needed to define the value to take to start the process
More socket UAs
As the socket UAs tables will not be modified during the bands 1+2 process, it appeared interesting to collect also UAs of 6/7 digits
Not too costly to search
Having a good chance to be small and of interest
Searching UAs limited to one mini row in one of the bands 1/2 led to good results.
The brute force is applied in one band only with the relevant gangster (the original gangster where the column of the socket have been adjusted).
This does not work in all cases. We must have a mini row containing the digits of the socket (in the right order if we have a socket 3). So the search is done only if the bands 1+2 meet the condition to produce UAs
void GEN_BANDES_12::SecondSockets2MoreUAs() is the code where is done the check that such UAs can be found and the call to the search for all perms of 6/7 digits (but a perm must contains the digits of the socket)