/** * The following code is from Michael Schmidt(MichaelMSchmidt (at) msn.com). * * The code is published under BSD license. * * Thanks for the input from Michael Schmidt. * * Nov 12 2007 - added support for % operation * Innoopract (evolanakis (at) innoopract.com) */