# st: RE: storage type problem (2)

 From "Nick Cox" To Subject st: RE: storage type problem (2) Date Fri, 28 Feb 2003 16:08:05 -0000

```Nick Cox
> Kostova Deliana (HXX1DAK)
> >
> > I ran into the following small problem that, I think, has
> > to do with storage
> > types, but I'm not sure how to solve it...
> >
> > Suppose we want to calculate the product of -.1796042 and
> > 4.752947, so we
> > type:
> > display -.1796042^4.752947
> > and we get
> > -.00028563
> >
> > However, if we have variable X= -.1796042 and variable
> > Y=4.752947, and we
> > type
> > gen Z=X*Y, Stata will generate Z=. even though Z should be
> > -.00028563.
> >
> > I know this has to do with storage types, so i tried
> > gen double Z=X*Y, but this still produces a missing variable...
>
> What do you want, power ^ or product * ?
>
> I get with StataSE 8
>
> . di -.1796042^4.752947
> -.00028563
>
> . di -.1796042*4.752947
> -.85364924
>
> . clear
>
> . set obs 1
> obs was 0, now 1
>
> . gen power =  -.1796042^4.752947
>
> . gen product =  -.1796042*4.752947
>
> . l
>
>      +-----------------------+
>      |     power     product |
>      |-----------------------|
>   1. | -.0002856   -.8536493 |
>      +-----------------------+

When I say power, I mean "negated power".

Stata won't calculate

(negative number)^(non-integer power)

due to its narrow view of arithmetic.

It interprets

-.1796042^4.752947

as

-(.1796042^4.752947)

as a consequence of its precedence rules
(powering before negation).

Nick
n.j.cox@durham.ac.uk
*
*   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/
```