On Fri, Jul 20, 2007 at 05:05:40PM -0700, Christopher Barker wrote:
> >> so I think it does make sense to bring the common names that show up in 
> >> math expressions into the main namespace.
> 
> >> This is probably best just done by each individual according to his/her 
> >> taste.
> > 
> > That's what I'm trying to get away from.  I want to be able to write
> > the contains() function in patch.py and just use the normal math where
> > it makes sense to use normal math.
> 
> Ahh -- we're back on an a mpl-devel topic now.
>
> I was thinking that you were proposing a "math" namespace for pylab 
> users -- but it sounds like you're proposing a standard set of math 
> names that will be brought in to modules for the matplotlib project 
> itself. Different issue.

Through the use of "from mpl.math import *" yes.

> I don't write enough MPL internal code to have any opinion on that.

I'll let the code speak for itself:

~/src/matplotlib/lib/matplotlib pkienzle$ for sym in $symlist; do 
>     echo `grep "[^A-Za-z0-9_]$sym[^A-Za-z0-9_]" *.py | wc -l` $sym; 
> done | sort -n -r | column -c 75
163 max         7 remainder     1 cosh          0 isnormal
136 arg         7 pow           1 arctanh       0 isinf
109 min         7 inf           1 arcsinh       0 isfinite
102 log         6 arctan2       1 arccosh       0 frexp
64 pi           5 fabs          0 trunc         0 fmin
56 sqrt         4 imag          0 tgamma        0 fmax
44 abs          3 tan           0 signbit       0 fdim
38 sin          3 nan           0 scalbn        0 expm1
28 cos          3 log2          0 rint          0 exp2
23 minimum      3 hypot         0 remquo        0 erfc
22 round        2 isnan         0 nexttoward    0 erf
19 maximum      2 arctan        0 nearbyingt    0 cproj
19 floor        2 arcsin        0 modf          0 copysign
18 log10        2 arccos        0 logb          0 conj
18 ceil         1 tanh          0 log1p         0 cbrt
13 real         1 sinh          0 lgamma        0 NaN
12 exp          1 fmod          0 ldexp         0 Inf


I used the following list:

symlist=`cat <<EOF
  pi inf Inf nan NaN
  isfinite isnormal isnan isinf
  arccos arcsin arctan arctan2 cos sin tan
  arccosh arcsinh arctanh cosh sinh tanh
  exp log log10 expm1 log1p exp2 log2
  pow sqrt cbrt erf erfc lgamma tgamma hypot
  fmod remainder remquo
  fabs fdim fmax fmin
  copysign signbit frexp ldexp logb modf scalbn
  ceil floor rint nexttoward nearbyingt round trunc 
  conj cproj abs arg imag real
  min max minimum maximum
EOF`

This measure doesn't distinguish between comments and
code, but it should still be good enough for the purposes
of this discussion.  Tuning the list to the set of functions
available in numpy rather than c99 would help (I did rename
ayyy to arcyyy for the trig functions).

- Paul

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel

Reply via email to