<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Tahoma
}
--></style>
</head>
<body class='hmmessage'><div dir='ltr'>



to whom it may concern<BR>&nbsp;<BR>&nbsp;<BR>here are a few suggestions to make life easier with python at least i hope<BR>&nbsp;<BR>&nbsp;<br><a href="http://docs.python.org/bugs.html">http://docs.python.org/bugs.html</a><br>&nbsp;<br><a href="mailto:docs@python.org">mailto:docs@python.org</a>&nbsp;<br>&nbsp;<br>&nbsp;I'm not a programmer but i like to use Python with Blender and like to work with Complex numbers<BR>but right now i think there is room for improvement for the Cmath lib or&nbsp;add a new&nbsp;lib may be.<br>&nbsp;<BR>so&nbsp;here are a&nbsp;few suggestions:<BR><br>&nbsp;<br>1- Interference between math and Cmath lib<br>&nbsp;<br>&nbsp;<br>&nbsp;<br>&nbsp;<br>#&nbsp;<a href="http://docs.python.org/library/math.html#module-math">http://docs.python.org/library/math.html#module-math</a><br>#&nbsp;<a href="http://docs.python.org/library/cmath.html#module-cmat">http://docs.python.org/library/cmath.html#module-cmat</a><br>&nbsp;<br>&nbsp;<br>&nbsp;if these 2 modules are loaded and you try to find a log10&nbsp; for a real number you get by default the Cmath.log10(x) with a Complex Result!<br>&nbsp;<br>&nbsp;i think it would be more logical to default to math.log10(x)&nbsp; for X being a real number which is not the case right now!<br>&nbsp;<br>&nbsp;Suggestion:<br>&nbsp;<br>&nbsp;change the name for Cmath log10&nbsp; for something like Clog10(x) to get a Complex number for X and the result!<br>&nbsp;then by default log10 for X real would be a real number and not a complex one!<BR><br>&nbsp;<br>&nbsp;Other functions which could be change too:<br>&nbsp;<br>&nbsp;cmath.sqrt(x)¶ &nbsp;&nbsp;&nbsp;&nbsp;---&gt;&nbsp;cmath.csqrt(x)¶<br>&nbsp;cmath.log(x[, base])&nbsp;&nbsp;---&gt;&nbsp;¶cmath.Clog(x[, base])¶<br>&nbsp;cmath.exp(x)¶&nbsp;&nbsp;&nbsp;&nbsp;---&gt;&nbsp;cmath.cexp(x)¶<br>&nbsp;cmath.acos(x)¶&nbsp;&nbsp;&nbsp;&nbsp;----&gt;&nbsp;cmath.cacos(x)¶<br>&nbsp;cmath.asin(x)¶&nbsp;&nbsp;&nbsp;&nbsp;----&gt;&nbsp;cmath.casin(x)¶<br>&nbsp;cmath.atan(x)¶&nbsp;&nbsp;&nbsp;&nbsp;----&gt;&nbsp;cmath.catan(x)¶<br>&nbsp;cmath.cos(x&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;----&gt;&nbsp;cmath.ccos(x<br>&nbsp;cmath.sin(x)&nbsp;&nbsp;&nbsp;&nbsp;----&gt;&nbsp;cmath.csin(x)<br>&nbsp;cmath.tan(x)¶&nbsp;&nbsp;&nbsp;&nbsp;----&gt;&nbsp;cmath.ctan(x)¶<br>&nbsp;<br>&nbsp;<br>&nbsp;cmath.acosh(x)¶&nbsp;&nbsp;&nbsp;&nbsp;----&gt;&nbsp;cmath.cacosh(x)¶<br>&nbsp;cmath.asinh(x)¶&nbsp;&nbsp;&nbsp;&nbsp;----&gt;&nbsp;cmath.casinh(x)¶<br>&nbsp;cmath.atanh(x)&nbsp;&nbsp;&nbsp;&nbsp;----&gt;&nbsp;cmath.atanh(x)<br>&nbsp;cmath.atanh(x)¶&nbsp;&nbsp;&nbsp;&nbsp;----&gt;&nbsp;cmath.catanh(x)¶<br>&nbsp;<br>&nbsp;cmath.cosh(x)¶&nbsp;&nbsp;&nbsp;&nbsp;----&gt;&nbsp;cmath.ccosh(x)¶<br>&nbsp;cmath.sinh(x)&nbsp;&nbsp;&nbsp;&nbsp;----&gt;&nbsp;cmath.csinh(x)<br>&nbsp;<br>&nbsp;cmath.tanh(x)¶&nbsp;&nbsp;&nbsp;&nbsp;----&gt;&nbsp;cmath.ctanh(x)¶<br>&nbsp;<br>&nbsp;<br>&nbsp;<br>&nbsp;Unless the Argument is complex then it would use the Complex function but for real number it should default to the math lib functions.<br>&nbsp;<br>&nbsp;<br>&nbsp;<br>&nbsp;<br>2 - C math&nbsp; Polar&nbsp; operators<br>&nbsp;<br>&nbsp;Right now it appears that polar operators don't exist <br>&nbsp;<br>&nbsp;Suggestion add new polar Operators&nbsp; + - X / using polar values<br>&nbsp;<br>&nbsp;Ex:&nbsp;&nbsp;Z1=120 /__ 0 Radian angle<br>&nbsp;&nbsp;&nbsp;z2= 10/__1&nbsp; Radian angle<br>&nbsp;<br>&nbsp;New operator&nbsp;Polar +&nbsp; :&nbsp;&nbsp; Z1<strong>+</strong> Z2&nbsp; = 120 /__ 0 +&nbsp; 10/__1 <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Polar -&nbsp; :&nbsp;&nbsp; Z1/ Z2&nbsp; = 120 /__ 0 <strong>-&nbsp;</strong> 10/__1 <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Polar X&nbsp; :&nbsp;&nbsp; Z1/ Z2&nbsp; = 120 /__ 0 <strong>X</strong>&nbsp; 10/__1 <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Polar /&nbsp; :&nbsp;&nbsp; Z1/ Z2&nbsp; = 120 /__ 0 <strong>/&nbsp; </strong>10/__1 <br>&nbsp;<br>&nbsp;<br>&nbsp;Note: In electrical engeenering we very often use polar notation for Voltage current and Z&nbsp; impedance values<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; because it is easier to visualize it&nbsp; with angle then using the&nbsp; rectangular form.<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; I think this would make Cmath more user friendly in any case!<BR>&nbsp;<BR>&nbsp;&nbsp; if possible make the angle&nbsp; like&nbsp; 120D&nbsp; or&nbsp; 1.5R&nbsp; for having the flexibiliy&nbsp; to give angle in degrees or radians!<BR><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3-&nbsp; complex matrix <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; it might also be very usefull to&nbsp;have the basic capabilities to work with and solve complex matrix<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; like we do in electrical engeneering calculations&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hope this&nbsp;can be inmplemented too may be inside the Cmath lib!<BR><br>&nbsp;<BR>i hope&nbsp; these suggestions make sense&nbsp;&nbsp; and&nbsp; also&nbsp;hoping these&nbsp; can be implemented&nbsp; to make life easier with python<BR>&nbsp;<BR>thanks &amp; have a nice day <BR>&nbsp;<BR>Richard Jean<BR>&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>                                               </div></body>
</html>