title: Trying to calcuate mean and std using float32 numpy arrays. Getting float64 returned
body: <p>[EDIT]</p>
  
  <p>Okay my test case was poorly thought out.  I only tested on 1-D arrays.  in which case I get a 64bit scalar returned. If I do it on 3D array, I get the 32 bit as expected.</p>
  
  <p>I am trying to calculate the mean and standard deviation of a very large numpy array (600*600*4044) and I am close to the limit of my memory (16GB on a 64bit machine).  As such I am trying to process everything as a float32 rather than the float64 that is the default.  However, any time I try to work on the data I get a float64 returned even if I specify the dtype as float32.  why is this happening?  Yes I can convert afterwards, but like I said I am close the to limit of my RAM and I am trying to keep everything as small as possible even during the processing step.  Below is an example of what I am getting.</p>
  
  <pre><code>import scipy
  a = scipy.ones((600,600,4044), dtype=scipy.float32)
  print(a.dtype)
  
  a_mean = scipy.mean(a, 2, dtype=scipy.float32)
  a_std = scipy.std(a, 2, dtype=scipy.float32)
  
  print(a_mean.dtype)
  print(a_std.dtype)
  </code></pre>
  
  <p>Returns</p>
  
  <pre><code>float32
  float32
  float32
  </code></pre>