<p dir="auto">I tried searching in the issue tracker here but didn't find any, so let me know if this is a duplicate.</p>
<p dir="auto">This issue was first brought up in CuPy (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="295780540" data-permission-text="Title is private" data-url="https://github.com/cupy/cupy/issues/944" data-hovercard-type="issue" data-hovercard-url="/cupy/cupy/issues/944/hovercard" href="https://github.com/cupy/cupy/issues/944">cupy/cupy#944</a>) and has regained some interest, and I believe it's better to be implemented/considered first in upstream, which downstream libraries like SciPy and CuPy can follow.</p>
<p dir="auto">The desired effect is to do the normalization opposite to <code class="notranslate">norm=None</code>; that is, the backward/inverse transform is unscaled, and the forward transform is scaled by 1/n. For a perfectionist's point of view adding this option makes a lot of sense, as it would cover every possible normalization scheme.</p>
<p dir="auto">In particular, for GPU libraries like CuPy this could be performance critical for certain applications, as kernel launching is more costly in the GPU world. People usually don't do extra work whenever possible, especially if the normalization is of no interest.</p>
<p dir="auto">The name <code class="notranslate">"unnormalized"</code> can be changed to a more informative one. I don't have any preference (in fact I'm just a messenger bringing this to NumPy...)</p>
<p dir="auto"><em>Original ticket <a href="http://projects.scipy.org/numpy/ticket/1932" rel="nofollow">http://projects.scipy.org/numpy/ticket/1932</a> on 2011-08-12 by trac user josdekloe, assigned to <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pearu/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pearu">@pearu</a>.</em></p>
<p dir="auto">I have been trying to use the f2py routinely to build an interface around the ECMWF BUFR library. See <a href="http://code.google.com/p/pybufr-ecmwf/" rel="nofollow">http://code.google.com/p/pybufr-ecmwf/</a> for details. This works fine for the python 2.x versions.</p>
<p dir="auto">However, I also tried to add the possibility to use python3 and here I encountered some trouble. My python code converts properly to python3 using to 2to3 tool, but when I try to use the python3 version of f2py I encounter this error somewhere deep inside the f2py internals:</p>
<p dir="auto">Post-processing (stage 2)...<br>
Saving signatures to file "f2py_build/signatures.pyf"<br>
Traceback (most recent call last):<br>
File "./run_f2py_tool.py", line 11, in <br>
main()<br>
File "/usr/lib64/python3.2/site-packages/numpy/f2py/f2py2e.py", line 563, in main<br>
run_main(sys.argv[1:])<br>
File "/usr/lib64/python3.2/site-packages/numpy/f2py/f2py2e.py", line 342, in run_main<br>
postlist=callcrackfortran(files,options)<br>
File "/usr/lib64/python3.2/site-packages/numpy/f2py/f2py2e.py", line 279, in callcrackfortran<br>
pyf=crackfortran.crack2fortran(postlist)<br>
File "/usr/lib64/python3.2/site-packages/numpy/f2py/crackfortran.py", line 2693, in crack2fortran<br>
pyf=crack2fortrangen(block)+'\n'<br>
File "/usr/lib64/python3.2/site-packages/numpy/f2py/crackfortran.py", line 2465, in crack2fortrangen<br>
ret=ret+crack2fortrangen(g,tab)<br>
File "/usr/lib64/python3.2/site-packages/numpy/f2py/crackfortran.py", line 2505, in crack2fortrangen<br>
body=crack2fortrangen(block['body'],tab+tabchar)<br>
File "/usr/lib64/python3.2/site-packages/numpy/f2py/crackfortran.py", line 2465, in crack2fortrangen<br>
ret=ret+crack2fortrangen(g,tab)<br>
File "/usr/lib64/python3.2/site-packages/numpy/f2py/crackfortran.py", line 2505, in crack2fortrangen<br>
body=crack2fortrangen(block['body'],tab+tabchar)<br>
File "/usr/lib64/python3.2/site-packages/numpy/f2py/crackfortran.py", line 2465, in crack2fortrangen<br>
ret=ret+crack2fortrangen(g,tab)<br>
File "/usr/lib64/python3.2/site-packages/numpy/f2py/crackfortran.py", line 2506, in crack2fortrangen<br>
vars=vars2fortran(block,block['vars'],al,tab+tabchar)<br>
File "/usr/lib64/python3.2/site-packages/numpy/f2py/crackfortran.py", line 2655, in vars2fortran<br>
lst = true_intent_list(vars[a])<br>
File "/usr/lib64/python3.2/site-packages/numpy/f2py/crackfortran.py", line 2557, in true_intent_list<br>
if c:<br>
UnboundLocalError: local variable 'c' referenced before assignment<br>
ERROR: build of python wrapper failed<br>
the signatures file could not be found<br>
Traceback (most recent call last):<br>
File "./build_interface.py", line 1803, in <br>
BI.build()<br>
File "./build_interface.py", line 543, in build<br>
self.generate_python_wrapper(source_dir)<br>
File "./build_interface.py", line 1667, in generate_python_wrapper<br>
raise InterfaceBuildError<br>
<strong>main</strong>.InterfaceBuildError</p>
<p dir="auto">I any additional information is needed I would be happy to provide it.</p>