Hi List and Barton,
pwint() is a function in pw.mac that competes with and complements the signum_int() function in abs_integrate.mac. I wrote it to see what it would take to write an integration routine for my own benefit but I also wanted to extent the signum_int() function to handle pwdelta() and diff_pwdelta() and higher powers of signum() like (1-signum(x))^3 because I want to have support for products of piecewise functions. I do not have a high degree of certainty that is is always correct, but it is there in case you want it and it is looks right too me. I have been thinking about removing it from the list of extra_integration_methods defined in abs_integrate.mac but have decided against it on the following grounds. If you load("pw.mac") and then load("abs_integrate.mac") in that order it has the same effect as removing pwint() from the list as would commenting out the code that adds it. If you load the two packages in the opposite order then pwint() will get added to the end of the list and then that will extent the power of integrate(). So I don't see any point to removing it completely. Also pwint() can be used to check the answers from signum_int() and vica-versa. In cases where they disagree I suppose further investigation is necessary but that does not happen often, however I have noticed a few cases.
Anyway, the latest version of pw.mac is 3.04 and I don't think there are any major issues with it but I have been spending a lot of time on the pwint() function and incurring the opportunity cost of working on something else . . .. I am pretty happy with it now so I doubt there will be many more enhancements to that function. Also the signum_int() function is somewhat faster so I don't see a good reason to call pwint() or add it to the beginnning of the list except in the special cases I mentioned.
You can get pw.mac 3.04 here.
http://mysite.verizon.net/res11w2yb/id2.html
Have a nice day,
Richard Hennessy