![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
...that can compare a string against hundreds of thousands of wildcarded expressions in near-linear time, at the cost of a good chunk of memory?
I have the flip-side built somewhere as well, that lets you compare a wildcard expression against hundreds of thousands of strings in near-linear time, but this version specifically lets you hand it hundreds of thousands of wildcard expressions, then pass strings in and have it return which wildcard expression it matches against.
So, if anyone wants to see it, here it is...
And here's the include file.
As a note, this is not the most souped-up version of the code, the one that packs multiple single-in-single-out nodes into one node. This is just the last version I was able to track down easilly. :-)
I have the flip-side built somewhere as well, that lets you compare a wildcard expression against hundreds of thousands of strings in near-linear time, but this version specifically lets you hand it hundreds of thousands of wildcard expressions, then pass strings in and have it return which wildcard expression it matches against.
So, if anyone wants to see it, here it is...
And here's the include file.
As a note, this is not the most souped-up version of the code, the one that packs multiple single-in-single-out nodes into one node. This is just the last version I was able to track down easilly. :-)