<div dir="ltr"><br><div class="gmail_extra"><div class="gmail_quote">On Sun, Jul 8, 2018 at 8:15 PM, J. Gareth Moreton <span dir="ltr"><<a href="mailto:gareth@moreton-family.com" target="_blank">gareth@moreton-family.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Yes, if any parameters are variables, then the function is not evaluated.  My intention is that the purity of a function is only determined when it comes to evaluating it in an expression, but because of how complex functions can become, the "pure" directive hints to the compiler that the given function is pure and it should attempt the laborous task of evaluating it, rather than the opposite approach of attempting to evaluate all functions with constant actual parameters and potentially increasing the compilation time by several orders of magnitude (don't forget it might be attempting to do the same thing with system functions if the project is undergoing a full build).</blockquote><div><br></div><div> if FPC assembler reader powerful enough to analyze and trust assembler functions marked as pure?</div><div><br></div><div>thanks,</div><div>Dmitry</div></div></div></div>