Skip to content
Projeler
Gruplar
Parçacıklar
Yardım
Yükleniyor...
Oturum aç / Kaydol
Gezinmeyi değiştir
C
cpython
Proje
Proje
Ayrıntılar
Etkinlik
Cycle Analytics
Depo (repository)
Depo (repository)
Dosyalar
Kayıtlar (commit)
Dallar (branch)
Etiketler
Katkıda bulunanlar
Grafik
Karşılaştır
Grafikler
Konular (issue)
0
Konular (issue)
0
Liste
Pano
Etiketler
Kilometre Taşları
Birleştirme (merge) Talepleri
0
Birleştirme (merge) Talepleri
0
CI / CD
CI / CD
İş akışları (pipeline)
İşler
Zamanlamalar
Grafikler
Paketler
Paketler
Wiki
Wiki
Parçacıklar
Parçacıklar
Üyeler
Üyeler
Collapse sidebar
Close sidebar
Etkinlik
Grafik
Grafikler
Yeni bir konu (issue) oluştur
İşler
Kayıtlar (commit)
Konu (issue) Panoları
Kenar çubuğunu aç
Batuhan Osman TASKAYA
cpython
Commits
b67ad7e6
Kaydet (Commit)
b67ad7e6
authored
Haz 14, 2004
tarafından
Raymond Hettinger
Dosyalara gözat
Seçenekler
Dosyalara Gözat
İndir
Eposta Yamaları
Sade Fark
Patch #826074: cmath.log optional base argument, fixes #823209
(Contributed by Andrew Gaul.)
üst
ad21945d
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
53 additions
and
11 deletions
+53
-11
libcmath.tex
Doc/lib/libcmath.tex
+4
-2
test_cmath.py
Lib/test/test_cmath.py
+19
-2
NEWS
Misc/NEWS
+3
-0
cmathmodule.c
Modules/cmathmodule.c
+27
-7
No files found.
Doc/lib/libcmath.tex
Dosyayı görüntüle @
b67ad7e6
...
@@ -73,10 +73,12 @@ Return the hyperbolic cosine of \var{x}.
...
@@ -73,10 +73,12 @@ Return the hyperbolic cosine of \var{x}.
Return the exponential value
\code
{
e**
\var
{
x
}}
.
Return the exponential value
\code
{
e**
\var
{
x
}}
.
\end{funcdesc}
\end{funcdesc}
\begin{funcdesc}
{
log
}{
x
}
\begin{funcdesc}
{
log
}{
x
\optional
{
, base
}}
Return the natural logarithm of
\var
{
x
}
.
Returns the logarithm of
\var
{
x
}
to the given
\var
{
base
}
.
If the
\var
{
base
}
is not specified, returns the natural logarithm of
\var
{
x
}
.
There is one branch cut, from 0 along the negative real axis to
There is one branch cut, from 0 along the negative real axis to
-
\infinity
, continuous from above.
-
\infinity
, continuous from above.
\versionchanged
[\var{base} argument added]
{
2.4
}
\end{funcdesc}
\end{funcdesc}
\begin{funcdesc}
{
log10
}{
x
}
\begin{funcdesc}
{
log10
}{
x
}
...
...
Lib/test/test_cmath.py
Dosyayı görüntüle @
b67ad7e6
...
@@ -2,8 +2,25 @@
...
@@ -2,8 +2,25 @@
""" Simple test script for cmathmodule.c
""" Simple test script for cmathmodule.c
Roger E. Masse
Roger E. Masse
"""
"""
import
cmath
import
cmath
,
math
from
test.test_support
import
verbose
from
test.test_support
import
verbose
,
verify
,
TestFailed
verify
(
abs
(
cmath
.
log
(
10
)
-
math
.
log
(
10
))
<
1e-9
)
verify
(
abs
(
cmath
.
log
(
10
,
2
)
-
math
.
log
(
10
,
2
))
<
1e-9
)
try
:
cmath
.
log
(
'a'
)
except
TypeError
:
pass
else
:
raise
TestFailed
try
:
cmath
.
log
(
10
,
'a'
)
except
TypeError
:
pass
else
:
raise
TestFailed
testdict
=
{
'acos'
:
1.0
,
testdict
=
{
'acos'
:
1.0
,
'acosh'
:
1.0
,
'acosh'
:
1.0
,
...
...
Misc/NEWS
Dosyayı görüntüle @
b67ad7e6
...
@@ -336,6 +336,9 @@ Extension modules
...
@@ -336,6 +336,9 @@ Extension modules
Library
Library
-------
-------
- Bug #823209: cmath.log() now takes an optional base argument so that its
API matches math.log().
- Bug #957381: distutils bdist_rpm no longer fails on recent RPM versions
- Bug #957381: distutils bdist_rpm no longer fails on recent RPM versions
that generate a *-debuginfo.rpm.
that generate a *-debuginfo.rpm.
...
...
Modules/cmathmodule.c
Dosyayı görüntüle @
b67ad7e6
...
@@ -20,6 +20,7 @@ static Py_complex c_halfi = {0., 0.5};
...
@@ -20,6 +20,7 @@ static Py_complex c_halfi = {0., 0.5};
static
Py_complex
c_log
(
Py_complex
);
static
Py_complex
c_log
(
Py_complex
);
static
Py_complex
c_prodi
(
Py_complex
);
static
Py_complex
c_prodi
(
Py_complex
);
static
Py_complex
c_sqrt
(
Py_complex
);
static
Py_complex
c_sqrt
(
Py_complex
);
static
PyObject
*
math_error
(
void
);
static
Py_complex
static
Py_complex
...
@@ -164,11 +165,6 @@ c_log(Py_complex x)
...
@@ -164,11 +165,6 @@ c_log(Py_complex x)
return
r
;
return
r
;
}
}
PyDoc_STRVAR
(
c_log_doc
,
"log(x)
\n
"
"
\n
"
"Return the natural logarithm of x."
);
static
Py_complex
static
Py_complex
c_log10
(
Py_complex
x
)
c_log10
(
Py_complex
x
)
...
@@ -312,6 +308,31 @@ PyDoc_STRVAR(c_tanh_doc,
...
@@ -312,6 +308,31 @@ PyDoc_STRVAR(c_tanh_doc,
"
\n
"
"
\n
"
"Return the hyperbolic tangent of x."
);
"Return the hyperbolic tangent of x."
);
static
PyObject
*
cmath_log
(
PyObject
*
self
,
PyObject
*
args
)
{
Py_complex
x
;
Py_complex
y
;
if
(
!
PyArg_ParseTuple
(
args
,
"D|D"
,
&
x
,
&
y
))
return
NULL
;
errno
=
0
;
PyFPE_START_PROTECT
(
"complex function"
,
return
0
)
x
=
c_log
(
x
);
if
(
PyTuple_GET_SIZE
(
args
)
==
2
)
x
=
c_quot
(
x
,
c_log
(
y
));
PyFPE_END_PROTECT
(
x
)
if
(
errno
!=
0
)
return
math_error
();
Py_ADJUST_ERANGE2
(
x
.
real
,
x
.
imag
);
return
PyComplex_FromCComplex
(
x
);
}
PyDoc_STRVAR
(
cmath_log_doc
,
"log(x[, base]) -> the logarithm of x to the given base.
\n
\
If the base not specified, returns the natural logarithm (base e) of x."
);
/* And now the glue to make them available from Python: */
/* And now the glue to make them available from Python: */
...
@@ -358,7 +379,6 @@ FUNC1(cmath_atanh, c_atanh)
...
@@ -358,7 +379,6 @@ FUNC1(cmath_atanh, c_atanh)
FUNC1
(
cmath_cos
,
c_cos
)
FUNC1
(
cmath_cos
,
c_cos
)
FUNC1
(
cmath_cosh
,
c_cosh
)
FUNC1
(
cmath_cosh
,
c_cosh
)
FUNC1
(
cmath_exp
,
c_exp
)
FUNC1
(
cmath_exp
,
c_exp
)
FUNC1
(
cmath_log
,
c_log
)
FUNC1
(
cmath_log10
,
c_log10
)
FUNC1
(
cmath_log10
,
c_log10
)
FUNC1
(
cmath_sin
,
c_sin
)
FUNC1
(
cmath_sin
,
c_sin
)
FUNC1
(
cmath_sinh
,
c_sinh
)
FUNC1
(
cmath_sinh
,
c_sinh
)
...
@@ -381,7 +401,7 @@ static PyMethodDef cmath_methods[] = {
...
@@ -381,7 +401,7 @@ static PyMethodDef cmath_methods[] = {
{
"cos"
,
cmath_cos
,
METH_VARARGS
,
c_cos_doc
},
{
"cos"
,
cmath_cos
,
METH_VARARGS
,
c_cos_doc
},
{
"cosh"
,
cmath_cosh
,
METH_VARARGS
,
c_cosh_doc
},
{
"cosh"
,
cmath_cosh
,
METH_VARARGS
,
c_cosh_doc
},
{
"exp"
,
cmath_exp
,
METH_VARARGS
,
c_exp_doc
},
{
"exp"
,
cmath_exp
,
METH_VARARGS
,
c_exp_doc
},
{
"log"
,
cmath_log
,
METH_VARARGS
,
c_log_doc
},
{
"log"
,
cmath_log
,
METH_VARARGS
,
c
math
_log_doc
},
{
"log10"
,
cmath_log10
,
METH_VARARGS
,
c_log10_doc
},
{
"log10"
,
cmath_log10
,
METH_VARARGS
,
c_log10_doc
},
{
"sin"
,
cmath_sin
,
METH_VARARGS
,
c_sin_doc
},
{
"sin"
,
cmath_sin
,
METH_VARARGS
,
c_sin_doc
},
{
"sinh"
,
cmath_sinh
,
METH_VARARGS
,
c_sinh_doc
},
{
"sinh"
,
cmath_sinh
,
METH_VARARGS
,
c_sinh_doc
},
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment