Note that local f = (`y' - 1)/ln(`1')
not f = (`y' - 1)/ln(`y')
 (for arg 1, =(exp(1) - 1)/ln(exp(1))),
so you are dividing by ln(1), or dividing by zero, 
so the result is missing.
-----Original Message-----
From: Katsuhide Isa [mailto:[email protected]]
Sent: Friday, July 22, 2005 9:11 AM
Subject: st: odd behavior in ado file
I wrote the following simple ado file.
/*----------myboxcox.ado----------*/
program define myboxcox
version 7
local y = exp(`1')
if `y' == 1 {
   di in gr "f = " 1
   }
else {
   local f = (`y' - 1)/ln(`1')
   di in gr "f = " "`f'"
   }
end
/*----------myboxcox.ado----------*/
It works well all in all. But it sometimes shows an odd 
behavior. 
More specifically, when typed - myboxcox 1 - (namely, setting 
the argument as 1), the result is ". "(missing?), not 1.7182818 
(=(exp(1) - 1)/ln(exp(1))).
*
*   For searches and help try:
*   http://www.stata.com/support/faqs/res/findit.html
*   http://www.stata.com/support/statalist/faq
*   http://www.ats.ucla.edu/stat/stata/