Date: Sat, 5 Mar 2011 13:09:34 -0800
Reply-To: Jack Hamilton <jfh@STANFORDALUMNI.ORG>
Sender: "SAS(r) Discussion" <SAS-L@LISTSERV.UGA.EDU>
From: Jack Hamilton <jfh@STANFORDALUMNI.ORG>
Subject: Re: eval the expression in variable
Content-Type: text/plain; charset=us-ascii
- Its web page says that MuParser has a C wrapper, and that's what you'd need to use. Your SASCBTBL definitions would have to be based on the C interface, not the C++ interface (at least, that used to be the case; perhaps C++ is now supported). The wrapper would have to work invisibly.
- You want to use this inside PROC GA, which uses the same syntax as PROC FCMP (according to the documentation). I don't see anything that indicates that MODULE can't be used inside FCMP. The Java interface can't be.
- MuParser requires initialization and deinitialization calls. FCMP doesn't (or didn't in the last release) have a way to store values across calls, so you might have to load and unload the package for each GA function call, and that might be slow. The MuParser doc says that the initial evaluation of an expression is relatively slow, but I don't know what that's in comparison to.
Those are the three things I see as problematic.
I think you'll need to talk to SAS Technical Support; there are some people outside SAS Institute who have experience with both MODULE and FCMP, but probably not many. If you haven't read Richard deVenezia's papers and web pages on MODULE, you should do so.
On Mar 5, 2011, at 12:14 PM, Clark An wrote:
> Thank you^_^
> %sysfunc is 4-5 times faster than the fcmp solution but not fast enough.
> I'm trying to use MODULE to call dll function.
> but not very clear for the SASCBTBL file.
> The dlls link:
> seems the best,
> And http://www.bestcode.com/html/math_parser_for_cpp.html
> demo http://www.bestcode.com/assets/downloads/Calculator.exe
> I think muparser should be better...
> Anyone knows a better dll?