PyPyNum 1.18.0__tar.gz → 1.19.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {pypynum-1.18.0 → pypynum-1.19.0}/PKG-INFO +252 -336
- {pypynum-1.18.0 → pypynum-1.19.0}/PyPyNum.egg-info/PKG-INFO +252 -336
- {pypynum-1.18.0 → pypynum-1.19.0}/PyPyNum.egg-info/SOURCES.txt +0 -1
- pypynum-1.19.0/pypynum/PyPyNum.png +0 -0
- {pypynum-1.18.0 → pypynum-1.19.0}/pypynum/README.md +251 -335
- {pypynum-1.18.0 → pypynum-1.19.0}/pypynum/__init__.py +2 -2
- {pypynum-1.18.0 → pypynum-1.19.0}/pypynum/arrays.py +129 -59
- {pypynum-1.18.0 → pypynum-1.19.0}/pypynum/dists.py +189 -210
- pypynum-1.19.0/pypynum/geoms.py +548 -0
- {pypynum-1.18.0 → pypynum-1.19.0}/pypynum/graphs.py +53 -25
- {pypynum-1.18.0 → pypynum-1.19.0}/pypynum/hypcmpnms.py +59 -0
- pypynum-1.19.0/pypynum/images.py +3279 -0
- {pypynum-1.18.0 → pypynum-1.19.0}/pypynum/maths.py +10 -58
- {pypynum-1.18.0 → pypynum-1.19.0}/pypynum/matrices.py +238 -103
- {pypynum-1.18.0 → pypynum-1.19.0}/pypynum/numbers.py +26 -14
- pypynum-1.19.0/pypynum/plotting.py +388 -0
- pypynum-1.19.0/pypynum/test.py +438 -0
- pypynum-1.19.0/pypynum/ufuncs.py +269 -0
- {pypynum-1.18.0 → pypynum-1.19.0}/pypynum/utils.py +43 -33
- {pypynum-1.18.0 → pypynum-1.19.0}/pypynum/vectors.py +7 -7
- {pypynum-1.18.0 → pypynum-1.19.0}/pypynum/zh_cn.py +0 -20
- {pypynum-1.18.0 → pypynum-1.19.0}/setup.py +12 -6
- pypynum-1.18.0/pypynum/PyPyNum.png +0 -0
- pypynum-1.18.0/pypynum/geoms.py +0 -325
- pypynum-1.18.0/pypynum/huffman +0 -1
- pypynum-1.18.0/pypynum/images.py +0 -902
- pypynum-1.18.0/pypynum/plotting.py +0 -180
- pypynum-1.18.0/pypynum/test.py +0 -354
- pypynum-1.18.0/pypynum/ufuncs.py +0 -120
- {pypynum-1.18.0 → pypynum-1.19.0}/PyPyNum.egg-info/dependency_links.txt +0 -0
- {pypynum-1.18.0 → pypynum-1.19.0}/PyPyNum.egg-info/top_level.txt +0 -0
- {pypynum-1.18.0 → pypynum-1.19.0}/pypynum/chars.py +0 -0
- {pypynum-1.18.0 → pypynum-1.19.0}/pypynum/ciphers.py +0 -0
- {pypynum-1.18.0 → pypynum-1.19.0}/pypynum/consts.py +0 -0
- {pypynum-1.18.0 → pypynum-1.19.0}/pypynum/crandom.py +0 -0
- {pypynum-1.18.0 → pypynum-1.19.0}/pypynum/dataproc.py +0 -0
- {pypynum-1.18.0 → pypynum-1.19.0}/pypynum/equations.py +0 -0
- {pypynum-1.18.0 → pypynum-1.19.0}/pypynum/fft.py +0 -0
- {pypynum-1.18.0 → pypynum-1.19.0}/pypynum/files.py +0 -0
- {pypynum-1.18.0 → pypynum-1.19.0}/pypynum/groups.py +0 -0
- {pypynum-1.18.0 → pypynum-1.19.0}/pypynum/interp.py +0 -0
- {pypynum-1.18.0 → pypynum-1.19.0}/pypynum/kernels.py +0 -0
- {pypynum-1.18.0 → pypynum-1.19.0}/pypynum/logics.py +0 -0
- {pypynum-1.18.0 → pypynum-1.19.0}/pypynum/multiprec.py +0 -0
- {pypynum-1.18.0 → pypynum-1.19.0}/pypynum/networks.py +0 -0
- {pypynum-1.18.0 → pypynum-1.19.0}/pypynum/polys.py +0 -0
- {pypynum-1.18.0 → pypynum-1.19.0}/pypynum/pprinters.py +0 -0
- {pypynum-1.18.0 → pypynum-1.19.0}/pypynum/random.py +0 -0
- {pypynum-1.18.0 → pypynum-1.19.0}/pypynum/regs.py +0 -0
- {pypynum-1.18.0 → pypynum-1.19.0}/pypynum/seqs.py +0 -0
- {pypynum-1.18.0 → pypynum-1.19.0}/pypynum/special.py +0 -0
- {pypynum-1.18.0 → pypynum-1.19.0}/pypynum/stattest.py +0 -0
- {pypynum-1.18.0 → pypynum-1.19.0}/pypynum/symbols.py +0 -0
- {pypynum-1.18.0 → pypynum-1.19.0}/pypynum/tensors.py +0 -0
- {pypynum-1.18.0 → pypynum-1.19.0}/pypynum/this.py +0 -0
- {pypynum-1.18.0 → pypynum-1.19.0}/pypynum/tools.py +0 -0
- {pypynum-1.18.0 → pypynum-1.19.0}/pypynum/trees.py +0 -0
- {pypynum-1.18.0 → pypynum-1.19.0}/pypynum/types.py +0 -0
- {pypynum-1.18.0 → pypynum-1.19.0}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: PyPyNum
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.19.0
|
|
4
4
|
Summary: PyPyNum is a versatile Python math lib. It features modules for math, data analysis, arrays, crypto, physics, RNG, data proc, stats, eq solving, image proc, interp, matrix calc, and high-prec math. Designed for scientific computing, data science, and ML, it offers efficient, general-purpose tools.
|
|
5
5
|
Home-page: https://github.com/PythonSJL/PyPyNum
|
|
6
6
|
Author: Shen Jiayi
|
|
@@ -40,7 +40,7 @@ science, and ML, it offers efficient, general-purpose tools.
|
|
|
40
40
|
[](https://pepy.tech/project/pypynum)
|
|
41
41
|
[](https://pepy.tech/project/pypynum)
|
|
42
42
|
|
|
43
|
-
## PyPyNum | Version -> 1.
|
|
43
|
+
## PyPyNum | Version -> 1.19.0 | PyPI -> https://pypi.org/project/PyPyNum/ | Gitee -> https://www.gitee.com/PythonSJL/PyPyNum | GitHub -> https://github.com/PythonSJL/PyPyNum
|
|
44
44
|
|
|
45
45
|

|
|
46
46
|
|
|
@@ -169,70 +169,52 @@ Python interpreter and run it!
|
|
|
169
169
|
|
|
170
170
|
### Functional Changes Compared to the Previous Version
|
|
171
171
|
|
|
172
|
-
|
|
173
|
-
!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=
|
|
174
|
-
|
|
175
|
-
PyPyNum version 1.18.0 has undergone the following functional changes compared to version 1.17.2:
|
|
172
|
+
**`pypynum.images`**
|
|
176
173
|
|
|
177
|
-
|
|
178
|
-
|
|
174
|
+
- Added comprehensive support for the **GIF format**, including LZW encoding/decoding, multi-frame animations,
|
|
175
|
+
interlacing, and local/global palettes.
|
|
176
|
+
- Completely rewrote the **JPEG** module: now supports **progressive JPEG**, chroma subsampling (e.g., 4:2:0), grayscale
|
|
177
|
+
images, restart markers, and dynamic Huffman tree construction.
|
|
178
|
+
- Extended **PNG** and **BMP** support to handle low-bit-depth indexed colors (1/2/4-bit) and grayscale modes. Added
|
|
179
|
+
support for PNG Adam7 interlacing.
|
|
180
|
+
- Introduced octree color quantization and universal image format conversion (e.g., converting between BMP, PNG, JPEG,
|
|
181
|
+
and GIF with specific color modes).
|
|
179
182
|
|
|
180
|
-
|
|
181
|
-
a. The `base_64` function's input parameter and return type have been changed from `str` to `bytes`.
|
|
183
|
+
**`pypynum.plotting`**
|
|
182
184
|
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
185
|
+
- Refactored the plotting module into an object-oriented `Canvas` class for better state management and rendering.
|
|
186
|
+
- Significantly improved the contour plotting algorithm by implementing adaptive quadtree subdivision and Lipschitz
|
|
187
|
+
constant interval pruning, replacing the previous brute-force pixel scanning.
|
|
186
188
|
|
|
187
|
-
|
|
188
|
-
a. Added a new class `JPEG` for JPEG image handling.
|
|
189
|
-
b. Added JPEG processing functions: `jpeg_adjust_qtable`, `jpeg_category`, `jpeg_channel_encoding`,
|
|
190
|
-
`jpeg_chroma_dc_huff`, `jpeg_dct8x8`, `jpeg_decode_pixels`, `jpeg_encode_pixels`, `jpeg_luma_dc_huff`,
|
|
191
|
-
`jpeg_rle_decoding`, `jpeg_rle_encoding`, `jpeg_split_pixels`, and `jpeg_zigzag`.
|
|
192
|
-
c. Added color space conversion functions `rgb2ycbcr` and `ycbcr2rgb` (which are JPEG-related functions).
|
|
193
|
-
d. Added `entropy` function (which is a PNG function).
|
|
194
|
-
e. Added PNG filter functions `png_apply_filter` and `png_reverse_filter`, allowing the `apply_filter` parameter
|
|
195
|
-
to be specified during writing to compress the generated file size.
|
|
189
|
+
**`pypynum.ufuncs`**
|
|
196
190
|
|
|
197
|
-
|
|
198
|
-
|
|
191
|
+
- Added a suite of advanced special functions with full support for complex numbers and arrays: `gamma`, `loggamma`,
|
|
192
|
+
`beta`, `logbeta`, `factorial`, `logfactorial`, `pochhammer`, and `binomial`.
|
|
193
|
+
- Added `dtype` parameter support to universal function applications for better type control.
|
|
199
194
|
|
|
200
|
-
|
|
201
|
-
a. Added `dsigmoid` function.
|
|
202
|
-
b. Updated `sumprod` function with a new `floating` parameter.
|
|
195
|
+
**`pypynum.maths`**
|
|
203
196
|
|
|
204
|
-
|
|
205
|
-
a. Added `dctmtx` function to generate a discrete cosine transform matrix.
|
|
197
|
+
- Enhanced statistical functions (`ptp`, `median`, `mean`, `var`, `std`) to fully support complex number sequences.
|
|
206
198
|
|
|
207
|
-
|
|
208
|
-
a. Added `round_sigfig` function.
|
|
209
|
-
b. Added `words2int` function to convert English words to integers.
|
|
199
|
+
**`pypynum.graphs`**
|
|
210
200
|
|
|
211
|
-
|
|
212
|
-
|
|
201
|
+
- Improved vertex removal logic to safely handle unconnected nodes across all graph types.
|
|
202
|
+
- Enhanced `dijkstra` and path reconstruction algorithms to correctly handle unreachable vertices and use all graph
|
|
203
|
+
vertices for initialization.
|
|
204
|
+
- `all_edges()` now returns weights as a third element for weighted graphs.
|
|
213
205
|
|
|
214
|
-
|
|
215
|
-
a. Updated `stirling1` function with a new `sign` parameter.
|
|
206
|
+
**`pypynum.arrays` & `pypynum.matrices`**
|
|
216
207
|
|
|
217
|
-
|
|
218
|
-
|
|
208
|
+
- Improved multidimensional array indexing: integer and slice indexing now correctly returns the appropriate subtype (
|
|
209
|
+
`Array` or `Matrix`) rather than raw lists.
|
|
210
|
+
- Added complex number support for `max`, `min`, `argmax`, and `argmin` operations.
|
|
211
|
+
- `basic()` now accepts a `dtype` parameter and properly reshapes 1D results into single-row matrices.
|
|
219
212
|
|
|
220
|
-
|
|
221
|
-
a. Added `Expr` class.
|
|
222
|
-
b. Added `build_expr_tree`, `infix2postfix`, and `tokenize` functions.
|
|
223
|
-
c. The `parse_expr` function now returns an `Expr` object (previously returned a `list`).
|
|
213
|
+
**`pypynum.dists`**
|
|
224
214
|
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
ii. `ge` renamed to `greater_equal`
|
|
229
|
-
iii. `gt` renamed to `greater_than`
|
|
230
|
-
iv. `le` renamed to `less_equal`
|
|
231
|
-
v. `lt` renamed to `less_than`
|
|
232
|
-
vi. `ne` renamed to `not_equal`
|
|
233
|
-
|
|
234
|
-
!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=!=
|
|
235
|
-
```
|
|
215
|
+
- Standardized parameter names and orderings across multiple statistical distributions for a more intuitive interface (
|
|
216
|
+
e.g., `scale` -> `lam` for exponential/Poisson distributions, updated parameter models for uniform, Pareto, and
|
|
217
|
+
Weibull distributions).
|
|
236
218
|
|
|
237
219
|
### Run Time Test
|
|
238
220
|
|
|
@@ -260,23 +242,21 @@ Python interpreter version
|
|
|
260
242
|
PyPyNum
|
|
261
243
|
├── arrays
|
|
262
244
|
│ ├── CLASS
|
|
263
|
-
│ │ ├── Array(object)/__init__(self: Any, data: Any, check: Any) -> Any
|
|
264
|
-
│ │ └── BoolArray(pypynum.arrays.Array)/__init__(self: Any, data: Any, check: Any) -> Any
|
|
245
|
+
│ │ ├── Array(object)/__init__(self: Any, data: Any, check: Any, dtype: Any) -> Any
|
|
246
|
+
│ │ └── BoolArray(pypynum.arrays.Array)/__init__(self: Any, data: Any, check: Any, dtype: Any) -> Any
|
|
265
247
|
│ └── FUNCTION
|
|
266
|
-
│ ├── array(data: Any) -> Any
|
|
267
|
-
│ ├── asarray(data: Any) -> Any
|
|
268
|
-
│ ├── aslist(data: Any) -> Any
|
|
248
|
+
│ ├── array(data: Any, dtype: Any) -> Any
|
|
269
249
|
│ ├── boolarray(data: Any) -> Any
|
|
270
|
-
│ ├── fill(shape: typing.
|
|
271
|
-
│ ├── full(shape: typing.
|
|
272
|
-
│ ├── full_like(a: typing.Any, fill_value: typing.Any, rtype: typing.Callable) -> typing.Any
|
|
250
|
+
│ ├── fill(shape: typing.Sequence, sequence: typing.Sequence, repeat: bool, pad: typing.Any, rtype: typing.Callable, dtype: type) -> typing.Any
|
|
251
|
+
│ ├── full(shape: typing.Sequence, fill_value: typing.Any, rtype: typing.Callable, dtype: type) -> typing.Any
|
|
252
|
+
│ ├── full_like(a: typing.Any, fill_value: typing.Any, rtype: typing.Callable, dtype: type) -> typing.Any
|
|
273
253
|
│ ├── get_shape(data: Any) -> Any
|
|
274
254
|
│ ├── is_valid_array(_array: Any, _shape: Any) -> Any
|
|
275
|
-
│ ├── ones(shape: typing.
|
|
276
|
-
│ ├── ones_like(a: typing.Any, rtype: typing.Callable) -> typing.Any
|
|
255
|
+
│ ├── ones(shape: typing.Sequence, rtype: typing.Callable, dtype: type) -> typing.Any
|
|
256
|
+
│ ├── ones_like(a: typing.Any, rtype: typing.Callable, dtype: type) -> typing.Any
|
|
277
257
|
│ ├── tensorproduct(tensors: pypynum.arrays.Array) -> pypynum.arrays.Array
|
|
278
|
-
│ ├── zeros(shape: typing.
|
|
279
|
-
│ └── zeros_like(a: typing.Any, rtype: typing.Callable) -> typing.Any
|
|
258
|
+
│ ├── zeros(shape: typing.Sequence, rtype: typing.Callable, dtype: type) -> typing.Any
|
|
259
|
+
│ └── zeros_like(a: typing.Any, rtype: typing.Callable, dtype: type) -> typing.Any
|
|
280
260
|
├── chars
|
|
281
261
|
│ ├── CLASS
|
|
282
262
|
│ └── FUNCTION
|
|
@@ -318,41 +298,41 @@ PyPyNum
|
|
|
318
298
|
├── dists
|
|
319
299
|
│ ├── CLASS
|
|
320
300
|
│ └── FUNCTION
|
|
321
|
-
│ ├── beta_pdf(x: Any,
|
|
301
|
+
│ ├── beta_pdf(x: Any, alpha: Any, beta: Any) -> Any
|
|
322
302
|
│ ├── binom_pmf(k: Any, n: Any, p: Any) -> Any
|
|
323
303
|
│ ├── cauchy_cdf(x: Any, x0: Any, gamma: Any) -> Any
|
|
324
304
|
│ ├── cauchy_pdf(x: Any, x0: Any, gamma: Any) -> Any
|
|
325
305
|
│ ├── chi2_cdf(x: Any, df: Any) -> Any
|
|
326
306
|
│ ├── chi2_pdf(x: Any, df: Any) -> Any
|
|
327
|
-
│ ├── expon_cdf(x: Any,
|
|
328
|
-
│ ├── expon_pdf(x: Any,
|
|
307
|
+
│ ├── expon_cdf(x: Any, lam: Any) -> Any
|
|
308
|
+
│ ├── expon_pdf(x: Any, lam: Any) -> Any
|
|
329
309
|
│ ├── f_pdf(x: Any, dfnum: Any, dfden: Any) -> Any
|
|
330
310
|
│ ├── gamma_pdf(x: Any, shape: Any, scale: Any) -> Any
|
|
331
311
|
│ ├── geometric_pmf(k: Any, p: Any) -> Any
|
|
332
|
-
│ ├── hypergeom_pmf(k: Any,
|
|
333
|
-
│ ├── invgauss_pdf(x: Any, mu: Any,
|
|
312
|
+
│ ├── hypergeom_pmf(k: Any, N: Any, K: Any, n: Any) -> Any
|
|
313
|
+
│ ├── invgauss_pdf(x: Any, mu: Any, lam: Any) -> Any
|
|
334
314
|
│ ├── levy_pdf(x: Any, c: Any) -> Any
|
|
335
315
|
│ ├── log_logistic_cdf(x: Any, alpha: Any, beta: Any) -> Any
|
|
336
316
|
│ ├── log_logistic_pdf(x: Any, alpha: Any, beta: Any) -> Any
|
|
337
|
-
│ ├── logistic_cdf(x: Any,
|
|
338
|
-
│ ├── logistic_pdf(x: Any,
|
|
317
|
+
│ ├── logistic_cdf(x: Any, loc: Any, scale: Any) -> Any
|
|
318
|
+
│ ├── logistic_pdf(x: Any, loc: Any, scale: Any) -> Any
|
|
339
319
|
│ ├── lognorm_cdf(x: Any, mu: Any, sigma: Any) -> Any
|
|
340
|
-
│ ├── lognorm_pdf(x: Any,
|
|
320
|
+
│ ├── lognorm_pdf(x: Any, mu: Any, sigma: Any) -> Any
|
|
341
321
|
│ ├── logser_pmf(k: Any, p: Any) -> Any
|
|
342
322
|
│ ├── multinomial_pmf(k: Any, n: Any, p: Any) -> Any
|
|
343
|
-
│ ├── nbinom_pmf(k: Any,
|
|
344
|
-
│ ├── nhypergeom_pmf(k: Any,
|
|
323
|
+
│ ├── nbinom_pmf(k: Any, r: Any, p: Any) -> Any
|
|
324
|
+
│ ├── nhypergeom_pmf(k: Any, N: Any, K: Any, r: Any) -> Any
|
|
345
325
|
│ ├── normal_cdf(x: Any, mu: Any, sigma: Any) -> Any
|
|
346
326
|
│ ├── normal_pdf(x: Any, mu: Any, sigma: Any) -> Any
|
|
347
|
-
│ ├── pareto_pdf(x: Any,
|
|
348
|
-
│ ├── poisson_pmf(k: Any,
|
|
327
|
+
│ ├── pareto_pdf(x: Any, alpha: Any, x_m: Any) -> Any
|
|
328
|
+
│ ├── poisson_pmf(k: Any, lam: Any) -> Any
|
|
349
329
|
│ ├── rayleigh_pdf(x: Any, sigma: Any) -> Any
|
|
350
330
|
│ ├── t_pdf(x: Any, df: Any) -> Any
|
|
351
|
-
│ ├── uniform_cdf(x: Any,
|
|
352
|
-
│ ├── uniform_pdf(x: Any,
|
|
331
|
+
│ ├── uniform_cdf(x: Any, a: Any, b: Any) -> Any
|
|
332
|
+
│ ├── uniform_pdf(x: Any, a: Any, b: Any) -> Any
|
|
353
333
|
│ ├── vonmises_pdf(x: Any, mu: Any, kappa: Any) -> Any
|
|
354
|
-
│ ├── weibull_max_pdf(x: Any,
|
|
355
|
-
│ ├── weibull_min_pdf(x: Any,
|
|
334
|
+
│ ├── weibull_max_pdf(x: Any, k: Any, scale: Any, loc: Any) -> Any
|
|
335
|
+
│ ├── weibull_min_pdf(x: Any, k: Any, scale: Any, loc: Any) -> Any
|
|
356
336
|
│ └── zipf_pmf(k: Any, s: Any, n: Any) -> Any
|
|
357
337
|
├── equations
|
|
358
338
|
│ ├── CLASS
|
|
@@ -377,6 +357,8 @@ PyPyNum
|
|
|
377
357
|
│ │ ├── Quadrilateral(object)/__init__(self: Any, a: typing.Union[list, tuple], b: typing.Union[list, tuple], c: typing.Union[list, tuple], d: typing.Union[list, tuple]) -> Any
|
|
378
358
|
│ │ └── Triangle(object)/__init__(self: Any, a: typing.Union[list, tuple], b: typing.Union[list, tuple], c: typing.Union[list, tuple]) -> Any
|
|
379
359
|
│ └── FUNCTION
|
|
360
|
+
│ ├── _rotate_point(p: Any, theta: Any, cx: Any, cy: Any) -> Any
|
|
361
|
+
│ ├── _scale_point(p: Any, k: Any, cx: Any, cy: Any) -> Any
|
|
380
362
|
│ └── distance(g1: Any, g2: Any, error: typing.Union[int, float]) -> float
|
|
381
363
|
├── graphs
|
|
382
364
|
│ ├── CLASS
|
|
@@ -406,22 +388,38 @@ PyPyNum
|
|
|
406
388
|
│ ├── CLASS
|
|
407
389
|
│ │ ├── BMP(pypynum.images.BaseImage)/__init__(self: Any) -> None
|
|
408
390
|
│ │ ├── BaseImage(object)/__init__(self: Any) -> None
|
|
391
|
+
│ │ ├── GIF(pypynum.images.BaseImage)/__init__(self: Any) -> None
|
|
409
392
|
│ │ ├── JPEG(pypynum.images.BaseImage)/__init__(self: Any) -> None
|
|
410
|
-
│ │
|
|
393
|
+
│ │ ├── OctreeNode(object)/__init__(self: Any, level: Any, parent: Any) -> Any
|
|
394
|
+
│ │ ├── PNG(pypynum.images.BaseImage)/__init__(self: Any) -> None
|
|
395
|
+
│ │ ├── _BitReader(object)/__init__(self: Any, data: bytes) -> None
|
|
396
|
+
│ │ └── _BitWriter(object)/__init__(self: Any) -> None
|
|
411
397
|
│ └── FUNCTION
|
|
398
|
+
│ ├── __dht2dict(dht_bytes: Any) -> Any
|
|
399
|
+
│ ├── _deinterlace(pixels: list, w: int, h: int) -> list
|
|
400
|
+
│ ├── _find_closest_color(color: Any, palette: Any, octree_root: Any) -> int
|
|
401
|
+
│ ├── _interlace(pixels: list, w: int, h: int) -> list
|
|
402
|
+
│ ├── _lzw_decode(min_code_size: int, data: bytes) -> list
|
|
403
|
+
│ ├── _lzw_encode(min_code_size: int, pixels: list) -> bytes
|
|
404
|
+
│ ├── _norm_palette(pal: list) -> list
|
|
405
|
+
│ ├── _read_sub_blocks(data: bytes, offset: int) -> tuple
|
|
406
|
+
│ ├── _write_sub_blocks(raw: bytes) -> bytes
|
|
412
407
|
│ ├── entropy(data: typing.Any) -> float
|
|
413
408
|
│ ├── jpeg_adjust_qtable(qtable: typing.Union[list, tuple], quality: int) -> list
|
|
414
409
|
│ ├── jpeg_category(data: typing.Any, reverse: bool) -> typing.Any
|
|
415
410
|
│ ├── jpeg_channel_encoding(matrix: list, quality: int, mode: int) -> tuple
|
|
416
411
|
│ ├── jpeg_chroma_dc_huff(data: typing.Any, reverse: bool) -> typing.Any
|
|
417
412
|
│ ├── jpeg_dct8x8(block: typing.Union[list, tuple], reverse: bool) -> list
|
|
418
|
-
│ ├── jpeg_decode_pixels(scan_data: bytes,
|
|
419
|
-
│ ├──
|
|
413
|
+
│ ├── jpeg_decode_pixels(scan_data: bytes, q_tables: dict, huff_tables: dict, width: int, height: int, yh: int, yv: int, comp_ids: list, comp_info: dict, comp_huff: dict, rst_offsets: list) -> list
|
|
414
|
+
│ ├── jpeg_decode_progressive_pixels(scans_info: Any, q_tables: Any, huff_tables: Any, width: Any, height: Any, yh: Any, yv: Any, comp_ids: Any, comp_info: Any, comp_huff: Any) -> Any
|
|
415
|
+
│ ├── jpeg_encode_pixels(pixels: typing.Union[list, tuple], quality: int, subsampling: str) -> tuple
|
|
416
|
+
│ ├── jpeg_encode_progressive_pixels(pixels: Any, quality: Any, subsampling: Any) -> Any
|
|
420
417
|
│ ├── jpeg_luma_dc_huff(data: typing.Any, reverse: bool) -> typing.Any
|
|
421
418
|
│ ├── jpeg_rle_decoding(sequence: typing.Union[list, tuple]) -> list
|
|
422
419
|
│ ├── jpeg_rle_encoding(sequence: typing.Union[list, tuple]) -> list
|
|
423
420
|
│ ├── jpeg_split_pixels(matrix: list) -> list
|
|
424
421
|
│ ├── jpeg_zigzag(data: typing.Union[list, tuple], reverse: bool) -> list
|
|
422
|
+
│ ├── octree_quantize(pixels: Any, num_colors: Any) -> Any
|
|
425
423
|
│ ├── png_apply_filter(pixels: list, above_pixels: list, filter_type: int) -> list
|
|
426
424
|
│ ├── png_reverse_filter(pixels: list, above_pixels: list, filter_type: int) -> list
|
|
427
425
|
│ ├── rgb2ycbcr(weights: typing.Union[list, tuple]) -> tuple
|
|
@@ -497,7 +495,6 @@ PyPyNum
|
|
|
497
495
|
│ ├── atan(x: typing.Union[int, float]) -> typing.Union[int, float]
|
|
498
496
|
│ ├── atanh(x: typing.Union[int, float]) -> typing.Union[int, float]
|
|
499
497
|
│ ├── average(data: typing.Union[list, tuple], weights: typing.Union[list, tuple]) -> float
|
|
500
|
-
│ ├── beta(p: typing.Union[int, float], q: typing.Union[int, float]) -> typing.Union[int, float]
|
|
501
498
|
│ ├── central_moment(data: typing.Union[list, tuple], order: int) -> float
|
|
502
499
|
│ ├── coeff_det(x: typing.Union[list, tuple], y: typing.Union[list, tuple]) -> typing.Union[int, float, complex]
|
|
503
500
|
│ ├── combination(n: int, r: int) -> int
|
|
@@ -517,9 +514,7 @@ PyPyNum
|
|
|
517
514
|
│ ├── erf(x: typing.Union[int, float]) -> float
|
|
518
515
|
│ ├── exgcd(a: int, b: int) -> tuple
|
|
519
516
|
│ ├── exp(x: typing.Union[int, float]) -> typing.Union[int, float]
|
|
520
|
-
│ ├── factorial(n: int) -> int
|
|
521
517
|
│ ├── freq(data: typing.Union[list, tuple]) -> dict
|
|
522
|
-
│ ├── gamma(alpha: typing.Union[int, float]) -> float
|
|
523
518
|
│ ├── gcd(args: int) -> int
|
|
524
519
|
│ ├── geom_mean(numbers: typing.Union[list, tuple]) -> typing.Union[int, float, complex]
|
|
525
520
|
│ ├── harm_mean(numbers: typing.Union[list, tuple]) -> typing.Union[int, float, complex]
|
|
@@ -567,23 +562,23 @@ PyPyNum
|
|
|
567
562
|
│ └── zeta(alpha: typing.Union[int, float, complex]) -> typing.Union[int, float, complex]
|
|
568
563
|
├── matrices
|
|
569
564
|
│ ├── CLASS
|
|
570
|
-
│ │ └── Matrix(pypynum.arrays.Array)/__init__(self: Any, data: Any, check: Any) -> Any
|
|
565
|
+
│ │ └── Matrix(pypynum.arrays.Array)/__init__(self: Any, data: Any, check: Any, dtype: Any) -> Any
|
|
571
566
|
│ └── FUNCTION
|
|
572
|
-
│ ├── cholesky(matrix: pypynum.matrices.Matrix, hermitian: bool) -> pypynum.matrices.Matrix
|
|
573
|
-
│ ├── dctmtx(n: int) -> pypynum.matrices.Matrix
|
|
574
|
-
│ ├── diag(v: typing.Any, k: int, n: int, m: int) -> typing.Any
|
|
567
|
+
│ ├── cholesky(matrix: pypynum.matrices.Matrix, hermitian: bool, dtype: Any) -> pypynum.matrices.Matrix
|
|
568
|
+
│ ├── dctmtx(n: int, dtype: Any) -> pypynum.matrices.Matrix
|
|
569
|
+
│ ├── diag(v: typing.Any, k: int, n: int, m: int, dtype: Any) -> typing.Any
|
|
575
570
|
│ ├── diag_indices(n: int, k: int, m: int) -> tuple
|
|
576
|
-
│ ├── eigen(matrix: pypynum.matrices.Matrix) -> tuple
|
|
577
|
-
│ ├── hessenberg(matrix: pypynum.matrices.Matrix) -> tuple
|
|
578
|
-
│ ├── identity(n: int, m: int) -> pypynum.matrices.Matrix
|
|
579
|
-
│ ├── lu(matrix: pypynum.matrices.Matrix) -> tuple
|
|
580
|
-
│ ├── mat(data: typing.Any) -> pypynum.matrices.Matrix
|
|
581
|
-
│ ├── perm_mat(num_rows: int, num_cols: int, row_swaps: typing.Union[list, tuple], col_swaps: typing.Union[list, tuple], rtype: typing.Callable) -> typing.Any
|
|
571
|
+
│ ├── eigen(matrix: pypynum.matrices.Matrix, dtype: Any) -> tuple
|
|
572
|
+
│ ├── hessenberg(matrix: pypynum.matrices.Matrix, dtype: Any) -> tuple
|
|
573
|
+
│ ├── identity(n: int, m: int, dtype: Any) -> pypynum.matrices.Matrix
|
|
574
|
+
│ ├── lu(matrix: pypynum.matrices.Matrix, dtype: Any) -> tuple
|
|
575
|
+
│ ├── mat(data: typing.Any, dtype: Any) -> pypynum.matrices.Matrix
|
|
576
|
+
│ ├── perm_mat(num_rows: int, num_cols: int, row_swaps: typing.Union[list, tuple], col_swaps: typing.Union[list, tuple], rtype: typing.Callable, dtype: Any) -> typing.Any
|
|
582
577
|
│ ├── perm_mat_indices(num_rows: int, num_cols: int, row_swaps: typing.Union[list, tuple], col_swaps: typing.Union[list, tuple]) -> tuple
|
|
583
|
-
│ ├── qr(matrix: pypynum.matrices.Matrix, reduce: bool) -> tuple
|
|
584
|
-
│ ├── rank_decomp(matrix: pypynum.matrices.Matrix) -> tuple
|
|
585
|
-
│ ├── rotate90(matrix: pypynum.matrices.Matrix, times: int) -> pypynum.matrices.Matrix
|
|
586
|
-
│ ├── svd(matrix: pypynum.matrices.Matrix, full: bool, calc_uv: bool) -> tuple
|
|
578
|
+
│ ├── qr(matrix: pypynum.matrices.Matrix, reduce: bool, dtype: Any) -> tuple
|
|
579
|
+
│ ├── rank_decomp(matrix: pypynum.matrices.Matrix, dtype: Any) -> tuple
|
|
580
|
+
│ ├── rotate90(matrix: pypynum.matrices.Matrix, times: int, dtype: Any) -> pypynum.matrices.Matrix
|
|
581
|
+
│ ├── svd(matrix: pypynum.matrices.Matrix, full: bool, calc_uv: bool, dtype: Any) -> tuple
|
|
587
582
|
│ ├── tril_indices(n: int, k: int, m: int) -> tuple
|
|
588
583
|
│ └── triu_indices(n: int, k: int, m: int) -> tuple
|
|
589
584
|
├── multiprec
|
|
@@ -630,13 +625,11 @@ PyPyNum
|
|
|
630
625
|
│ └── words2int(words: str) -> int
|
|
631
626
|
├── plotting
|
|
632
627
|
│ ├── CLASS
|
|
628
|
+
│ │ └── Canvas(object)/__init__(self: Any, xlim: tuple, ylim: tuple, resolution: typing.Union[int, float], aspect_ratio: typing.Union[int, float]) -> Any
|
|
633
629
|
│ └── FUNCTION
|
|
634
|
-
│ ├── background(right: typing.Union[int, float], left: typing.Union[int, float], top: typing.Union[int, float], bottom: typing.Union[int, float], complexity: typing.Union[int, float], ratio: typing.Union[int, float], string: bool) -> typing.Union[list, str]
|
|
635
|
-
│ ├── binary(function: Any, right: typing.Union[int, float], left: typing.Union[int, float], top: typing.Union[int, float], bottom: typing.Union[int, float], complexity: typing.Union[int, float], ratio: typing.Union[int, float], error: Any, compare: Any, string: bool, basic: list, character: str, data: bool, coloration: Any) -> typing.Union[list, str]
|
|
636
|
-
│ ├── c_unary(function: Any, projection: str, right: typing.Union[int, float], left: typing.Union[int, float], top: typing.Union[int, float], bottom: typing.Union[int, float], complexity: typing.Union[int, float], ratio: typing.Union[int, float], string: bool, basic: list, character: str, data: bool, coloration: Any) -> typing.Union[list, str]
|
|
637
|
-
│ ├── change(data: typing.Union[list, str]) -> typing.Union[list, str]
|
|
638
630
|
│ ├── colortext(text: str, rgb: typing.Union[list, tuple]) -> str
|
|
639
|
-
│
|
|
631
|
+
│ ├── estimate_lipschitz(func: Any, domain: Any, threshold: Any, n: Any, safety: Any) -> Any
|
|
632
|
+
│ └── safe_eval(func: Any, x: Any, y: Any, threshold: Any) -> Any
|
|
640
633
|
├── polys
|
|
641
634
|
│ ├── CLASS
|
|
642
635
|
│ │ └── Polynomial(object)/__init__(self: Any, terms: Any) -> Any
|
|
@@ -795,22 +788,40 @@ PyPyNum
|
|
|
795
788
|
├── ufuncs
|
|
796
789
|
│ ├── CLASS
|
|
797
790
|
│ └── FUNCTION
|
|
791
|
+
│ ├── _beta_scalar(a: Any, b: Any) -> Any
|
|
792
|
+
│ ├── _binomial_scalar(n: Any, k: Any) -> Any
|
|
793
|
+
│ ├── _factorial_scalar(n: Any) -> Any
|
|
794
|
+
│ ├── _lanczos_sum(z: Any) -> Any
|
|
795
|
+
│ ├── _log_sin_pi(z: Any) -> Any
|
|
796
|
+
│ ├── _logbeta_scalar(a: Any, b: Any) -> Any
|
|
797
|
+
│ ├── _logfactorial_scalar(n: Any) -> Any
|
|
798
|
+
│ ├── _pochhammer_scalar(a: Any, n: Any) -> Any
|
|
799
|
+
│ ├── _scalar_gamma(z: Any) -> Any
|
|
800
|
+
│ ├── _scalar_loggamma(z: Any) -> Any
|
|
798
801
|
│ ├── add(x: Any, y: Any) -> Any
|
|
799
|
-
│ ├── apply(a: Any, func: Any, rtype: Any) -> Any
|
|
800
|
-
│ ├── base_ufunc(arrays: Any, func: Any, args: Any, rtype: Any) -> Any
|
|
802
|
+
│ ├── apply(a: Any, func: Any, rtype: Any, dtype: Any) -> Any
|
|
803
|
+
│ ├── base_ufunc(arrays: Any, func: Any, args: Any, rtype: Any, dtype: Any) -> Any
|
|
804
|
+
│ ├── beta(a: Any, b: Any) -> Any
|
|
805
|
+
│ ├── binomial(n: Any, k: Any) -> Any
|
|
801
806
|
│ ├── divide(x: Any, y: Any) -> Any
|
|
802
807
|
│ ├── equal(x: Any, y: Any) -> Any
|
|
808
|
+
│ ├── factorial(n: Any) -> Any
|
|
803
809
|
│ ├── floor_divide(x: Any, y: Any) -> Any
|
|
810
|
+
│ ├── gamma(z: Any) -> Any
|
|
804
811
|
│ ├── greater_equal(x: Any, y: Any) -> Any
|
|
805
812
|
│ ├── greater_than(x: Any, y: Any) -> Any
|
|
806
813
|
│ ├── less_equal(x: Any, y: Any) -> Any
|
|
807
814
|
│ ├── less_than(x: Any, y: Any) -> Any
|
|
815
|
+
│ ├── logbeta(a: Any, b: Any) -> Any
|
|
816
|
+
│ ├── logfactorial(n: Any) -> Any
|
|
817
|
+
│ ├── loggamma(z: Any) -> Any
|
|
808
818
|
│ ├── modulo(x: Any, y: Any) -> Any
|
|
809
819
|
│ ├── multiply(x: Any, y: Any) -> Any
|
|
810
820
|
│ ├── not_equal(x: Any, y: Any) -> Any
|
|
821
|
+
│ ├── pochhammer(a: Any, n: Any) -> Any
|
|
811
822
|
│ ├── power(x: Any, y: Any, m: Any) -> Any
|
|
812
823
|
│ ├── subtract(x: Any, y: Any) -> Any
|
|
813
|
-
│ └── ufunc_helper(x: Any, y: Any, func: Any) -> Any
|
|
824
|
+
│ └── ufunc_helper(x: Any, y: Any, func: Any, rtype: Any, dtype: Any) -> Any
|
|
814
825
|
├── utils
|
|
815
826
|
│ ├── CLASS
|
|
816
827
|
│ │ ├── InfIterator(object)/__init__(self: Any, start: typing.Union[int, float, complex], mode: str, common: typing.Union[int, float, complex]) -> Any
|
|
@@ -822,162 +833,19 @@ PyPyNum
|
|
|
822
833
|
│ └── FUNCTION
|
|
823
834
|
├── vectors
|
|
824
835
|
│ ├── CLASS
|
|
825
|
-
│ │ └── Vector(pypynum.arrays.Array)/__init__(self: Any, data: Any, check: Any) -> Any
|
|
836
|
+
│ │ └── Vector(pypynum.arrays.Array)/__init__(self: Any, data: Any, check: Any, dtype: Any) -> Any
|
|
826
837
|
│ └── FUNCTION
|
|
827
838
|
│ └── vec(data: Any) -> Any
|
|
828
839
|
└── zh_cn
|
|
829
840
|
├── CLASS
|
|
830
841
|
└── FUNCTION
|
|
831
|
-
├── Fraction转为Decimal(分数对象: fractions.Fraction, 有效位数: int) -> decimal.Decimal
|
|
832
|
-
├── RC4伪随机生成算法(密钥序列: list) -> Any
|
|
833
|
-
├── RC4初始化密钥调度算法(密钥: bytes) -> list
|
|
834
|
-
├── RC4密码(文本: bytes, 密钥: bytes) -> bytes
|
|
835
|
-
├── ROT13密码(文本: str) -> str
|
|
836
|
-
├── S型函数(x: typing.Union[int, float]) -> typing.Union[int, float]
|
|
837
|
-
├── base64密码(文本: str, 解密: bool) -> str
|
|
838
|
-
├── x对数y乘积(x: float, y: float) -> float
|
|
839
|
-
├── y次方根(被开方数: typing.Union[int, float, complex], 开方数: typing.Union[int, float, complex]) -> typing.Union[int, float, complex]
|
|
840
|
-
├── 一维傅里叶变换(数据: Any) -> pypynum.fft.FT1D
|
|
841
|
-
├── 上伽玛(s: typing.Union[int, float, complex], x: typing.Union[int, float, complex]) -> typing.Union[int, float, complex]
|
|
842
|
-
├── 上标转整数(上标字符串: str) -> str
|
|
843
|
-
├── 下伽玛(s: typing.Union[int, float, complex], x: typing.Union[int, float, complex]) -> typing.Union[int, float, complex]
|
|
844
|
-
├── 下标转整数(下标字符串: str) -> str
|
|
845
|
-
├── 中位数(数据: typing.List[float]) -> float
|
|
846
|
-
├── 中国剩余定理(n: typing.List[int], a: typing.List[int]) -> int
|
|
847
|
-
├── 中心矩(数据: typing.List[float], 阶数: int) -> float
|
|
848
|
-
├── 乘积和(多个数组: typing.List[typing.Any]) -> float
|
|
849
|
-
├── 代替密码(文本: str, 替换映射: dict, 解密: bool) -> str
|
|
850
|
-
├── 众数(数据: typing.List[typing.Any]) -> Any
|
|
851
|
-
├── 伽玛函数(alpha: float) -> float
|
|
852
|
-
├── 余切(x: typing.Union[int, float]) -> typing.Union[int, float]
|
|
853
|
-
├── 余割(x: typing.Union[int, float]) -> typing.Union[int, float]
|
|
854
|
-
├── 余弦(x: typing.Union[int, float]) -> typing.Union[int, float]
|
|
855
|
-
├── 偏度(数据: typing.List[float]) -> float
|
|
856
|
-
├── 全一(形状: Any, 返回类型: Any) -> Any
|
|
857
|
-
├── 全部填充(形状: Any, 填充值: Any, 返回类型: Any) -> Any
|
|
858
|
-
├── 全零(形状: Any, 返回类型: Any) -> Any
|
|
859
|
-
├── 写入(文件: str, 对象: object) -> Any
|
|
860
|
-
├── 几何平均数(数据: typing.List[float]) -> float
|
|
861
|
-
├── 凯撒密码(文本: str, 移位: int, 解密: bool) -> str
|
|
862
|
-
├── 分位数(数据: list, 分位值: float, 插值方法: str, 已排序: bool) -> float
|
|
863
|
-
├── 判定系数(x: typing.List[float], y: typing.List[float]) -> float
|
|
864
|
-
├── 判断平方数(n: int) -> bool
|
|
865
|
-
├── 加权平均(数据: typing.List[float], 权重: typing.List[float]) -> float
|
|
866
|
-
├── 协方差(x: typing.List[float], y: typing.List[float], 自由度: int) -> float
|
|
867
|
-
├── 原根(a: int, 单个: bool) -> typing.Union[int, typing.List[int]]
|
|
868
|
-
├── 原点矩(数据: typing.List[float], 阶数: int) -> float
|
|
869
|
-
├── 双曲余切(x: typing.Union[int, float]) -> typing.Union[int, float]
|
|
870
|
-
├── 双曲余割(x: typing.Union[int, float]) -> typing.Union[int, float]
|
|
871
|
-
├── 双曲余弦(x: typing.Union[int, float]) -> typing.Union[int, float]
|
|
872
|
-
├── 双曲正切(x: typing.Union[int, float]) -> typing.Union[int, float]
|
|
873
|
-
├── 双曲正割(x: typing.Union[int, float]) -> typing.Union[int, float]
|
|
874
|
-
├── 双曲正弦(x: typing.Union[int, float]) -> typing.Union[int, float]
|
|
875
|
-
├── 反余切(x: typing.Union[int, float]) -> typing.Union[int, float]
|
|
876
|
-
├── 反余割(x: typing.Union[int, float]) -> typing.Union[int, float]
|
|
877
|
-
├── 反余弦(x: typing.Union[int, float]) -> typing.Union[int, float]
|
|
878
|
-
├── 反双曲余切(x: typing.Union[int, float]) -> typing.Union[int, float]
|
|
879
|
-
├── 反双曲余割(x: typing.Union[int, float]) -> typing.Union[int, float]
|
|
880
|
-
├── 反双曲余弦(x: typing.Union[int, float]) -> typing.Union[int, float]
|
|
881
|
-
├── 反双曲正切(x: typing.Union[int, float]) -> typing.Union[int, float]
|
|
882
|
-
├── 反双曲正割(x: typing.Union[int, float]) -> typing.Union[int, float]
|
|
883
|
-
├── 反双曲正弦(x: typing.Union[int, float]) -> typing.Union[int, float]
|
|
884
|
-
├── 反正切(x: typing.Union[int, float]) -> typing.Union[int, float]
|
|
885
|
-
├── 反正割(x: typing.Union[int, float]) -> typing.Union[int, float]
|
|
886
|
-
├── 反正弦(x: typing.Union[int, float]) -> typing.Union[int, float]
|
|
887
|
-
├── 可能是平方数(n: int) -> bool
|
|
888
|
-
├── 填充序列(形状: Any, 序列: Any, 重复: Any, 填充: Any, 返回类型: Any) -> Any
|
|
889
|
-
├── 多次方根取整(被开方数: int, 开方数: int) -> int
|
|
890
|
-
├── 多精度余弦(x: typing.Union[int, float], 有效位数: int) -> decimal.Decimal
|
|
891
|
-
├── 多精度双曲余弦(x: typing.Union[int, float], 有效位数: int) -> decimal.Decimal
|
|
892
|
-
├── 多精度双曲正弦(x: typing.Union[int, float], 有效位数: int) -> decimal.Decimal
|
|
893
|
-
├── 多精度反余弦(x: typing.Union[int, float], 有效位数: int) -> decimal.Decimal
|
|
894
|
-
├── 多精度反正切(x: typing.Union[int, float], 有效位数: int) -> decimal.Decimal
|
|
895
|
-
├── 多精度反正弦(x: typing.Union[int, float], 有效位数: int) -> decimal.Decimal
|
|
896
|
-
├── 多精度圆周率(有效位数: int, 方法: str) -> decimal.Decimal
|
|
897
|
-
├── 多精度复数(实部: typing.Union[int, float, str, decimal.Decimal], 虚部: typing.Union[int, float, str, decimal.Decimal], 有效位数: int) -> pypynum.multiprec.MPComplex
|
|
898
|
-
├── 多精度对数(真数: typing.Union[int, float], 底数: typing.Union[int, float], 有效位数: int, 使用内置方法: bool) -> decimal.Decimal
|
|
899
|
-
├── 多精度方位角(y: typing.Union[int, float], x: typing.Union[int, float], 有效位数: int) -> decimal.Decimal
|
|
900
|
-
├── 多精度欧拉伽马(有效位数: int) -> decimal.Decimal
|
|
901
|
-
├── 多精度正弦(x: typing.Union[int, float], 有效位数: int) -> decimal.Decimal
|
|
902
|
-
├── 多精度自然对数(真数: typing.Union[int, float], 有效位数: int, 使用内置方法: bool) -> decimal.Decimal
|
|
903
|
-
├── 多精度自然常数(有效位数: int, 方法: str) -> decimal.Decimal
|
|
904
|
-
├── 多精度自然指数(指数: typing.Union[int, float], 有效位数: int, 使用内置方法: bool) -> decimal.Decimal
|
|
905
|
-
├── 多精度菲涅耳余弦积分(x: typing.Union[int, float], 有效位数: int) -> decimal.Decimal
|
|
906
|
-
├── 多精度菲涅耳正弦积分(x: typing.Union[int, float], 有效位数: int) -> decimal.Decimal
|
|
907
|
-
├── 多精度黄金分割率(有效位数: int, 方法: str) -> decimal.Decimal
|
|
908
|
-
├── 多项式方程(系数: list) -> list
|
|
909
|
-
├── 字符串转整数(字符串: str) -> int
|
|
910
|
-
├── 导数(函数: Any, 参数: float, 步长: float, 额外参数: Any, 额外关键字参数: Any) -> float
|
|
911
|
-
├── 峰度(数据: typing.List[float], 费希尔: bool) -> float
|
|
912
|
-
├── 希尔256密码(文本: bytes, 密钥: list, 解密: bool) -> bytes
|
|
913
|
-
├── 平均数(数据: typing.List[float]) -> float
|
|
914
|
-
├── 平方平均数(数据: typing.List[float]) -> float
|
|
915
|
-
├── 平方根取整(被开方数: int) -> int
|
|
916
|
-
├── 序列滚动(序列: typing.Iterator[typing.Any], 偏移: int) -> typing.Iterator[typing.Any]
|
|
917
|
-
├── 归一化(数据: typing.List[float], 目标: float) -> typing.List[float]
|
|
918
|
-
├── 扩展欧几里得算法(a: int, b: int) -> typing.Tuple[int, int, int]
|
|
919
|
-
├── 排列数(总数: int, 选取数: int) -> int
|
|
920
|
-
├── 数组(数据: list, 检查: bool) -> pypynum.arrays.Array
|
|
921
|
-
├── 整数转上标(标准字符串: str) -> str
|
|
922
|
-
├── 整数转下标(标准字符串: str) -> str
|
|
923
|
-
├── 整数转单词(整数: int) -> str
|
|
924
|
-
├── 整数转罗马数(整数: int, 上划线: bool) -> str
|
|
925
|
-
├── 方差(数据: typing.List[float], 自由度: int) -> float
|
|
926
|
-
├── 普莱费尔密码(文本: str, 密钥: str, 解密: bool) -> str
|
|
927
|
-
├── 最大公约数(args: int) -> int
|
|
928
|
-
├── 最小公倍数(args: int) -> int
|
|
929
|
-
├── 极差(数据: typing.List[float]) -> float
|
|
930
|
-
├── 标准差(数据: typing.List[float], 自由度: int) -> float
|
|
931
|
-
├── 模运算阶(a: int, n: int, b: int) -> int
|
|
932
|
-
├── 欧拉函数(n: int) -> int
|
|
933
|
-
├── 正切(x: typing.Union[int, float]) -> typing.Union[int, float]
|
|
934
|
-
├── 正割(x: typing.Union[int, float]) -> typing.Union[int, float]
|
|
935
|
-
├── 正弦(x: typing.Union[int, float]) -> typing.Union[int, float]
|
|
936
|
-
├── 浮点数转分数(数值: float, 是否带分数: bool, 误差: float) -> tuple
|
|
937
|
-
├── 相关系数(x: typing.List[float], y: typing.List[float]) -> float
|
|
938
|
-
├── 积分(函数: Any, 积分开始: float, 积分结束: float, 积分点数: int, 额外参数: Any, 额外关键字参数: Any) -> float
|
|
939
|
-
├── 积累乘积(数据: typing.List[float]) -> float
|
|
940
|
-
├── 符号函数(x: typing.Union[int, float, complex]) -> typing.Union[int, float, complex]
|
|
941
|
-
├── 类似形状全一(数组A: Any, 返回类型: Any) -> Any
|
|
942
|
-
├── 类似形状全零(数组A: Any, 返回类型: Any) -> Any
|
|
943
|
-
├── 类似形状填充(数组A: Any, 填充值: Any, 返回类型: Any) -> Any
|
|
944
|
-
├── 累乘积(序列: typing.List[float]) -> typing.List[float]
|
|
945
|
-
├── 累加和(序列: typing.List[float]) -> typing.List[float]
|
|
946
|
-
├── 线性方程组(左边: list, 右边: list) -> list
|
|
947
|
-
├── 组合数(总数: int, 选取数: int) -> int
|
|
948
|
-
├── 维吉尼亚密码(文本: str, 密钥: str, 解密: bool) -> str
|
|
949
|
-
├── 罗马数转整数(罗马数: str) -> int
|
|
950
|
-
├── 自然对数(真数: typing.Union[int, float]) -> typing.Union[int, float]
|
|
951
|
-
├── 自然指数(指数: typing.Union[int, float]) -> typing.Union[int, float]
|
|
952
|
-
├── 莫尔斯密码(文本: str, 解密: bool) -> str
|
|
953
|
-
├── 解析浮点数字符串(字符串: str) -> tuple
|
|
954
|
-
├── 误差函数(x: typing.Union[int, float]) -> typing.Union[int, float]
|
|
955
|
-
├── 读取(文件: str) -> list
|
|
956
|
-
├── 调和平均数(数据: typing.List[float]) -> float
|
|
957
|
-
├── 贝塔函数(p: float, q: float) -> float
|
|
958
|
-
├── 贝塞尔函数I0(x: typing.Union[int, float, complex]) -> typing.Union[int, float, complex]
|
|
959
|
-
├── 贝塞尔函数I1(x: typing.Union[int, float, complex]) -> typing.Union[int, float, complex]
|
|
960
|
-
├── 贝塞尔函数Iv(v: typing.Union[int, float], x: typing.Union[int, float, complex]) -> typing.Union[int, float, complex]
|
|
961
|
-
├── 贝塞尔函数J0(x: typing.Union[int, float, complex]) -> typing.Union[int, float, complex]
|
|
962
|
-
├── 贝塞尔函数J1(x: typing.Union[int, float, complex]) -> typing.Union[int, float, complex]
|
|
963
|
-
├── 贝塞尔函数Jv(v: typing.Union[int, float], x: typing.Union[int, float, complex]) -> typing.Union[int, float, complex]
|
|
964
|
-
├── 负一整数次幂(指数: int) -> int
|
|
965
|
-
├── 转为多精度复数(实部: typing.Union[int, float, str, decimal.Decimal, complex, pypynum.multiprec.MPComplex], 虚部: typing.Union[int, float, str, decimal.Decimal], 有效位数: int) -> pypynum.multiprec.MPComplex
|
|
966
|
-
├── 转换为列表(数据: Any) -> list
|
|
967
|
-
├── 转换为数组(数据: Any) -> pypynum.arrays.Array
|
|
968
|
-
├── 连续乘积(下界: int, 上界: int, 函数: typing.Callable) -> float
|
|
969
|
-
├── 连续加和(下界: int, 上界: int, 函数: typing.Callable) -> float
|
|
970
|
-
├── 阶乘函数(n: int) -> int
|
|
971
|
-
├── 阿特巴什密码(文本: str) -> str
|
|
972
|
-
├── 频率统计(数据: typing.List[typing.Any]) -> typing.Dict[typing.Any, int]
|
|
973
|
-
└── 黎曼函数(alpha: float) -> float
|
|
974
842
|
```
|
|
975
843
|
|
|
976
844
|
### Code Testing
|
|
977
845
|
|
|
978
846
|
```python
|
|
979
|
-
from pypynum import (arrays, geoms, hypcmpnms, logics, matrices, multiprec, special, vectors,
|
|
980
|
-
|
|
847
|
+
from pypynum import (arrays, geoms, hypcmpnms, logics, matrices, multiprec, polys, special, vectors, ciphers, consts,
|
|
848
|
+
equations, maths, plotting, random, regs, tools, ufuncs)
|
|
981
849
|
|
|
982
850
|
...
|
|
983
851
|
|
|
@@ -1087,12 +955,38 @@ print("Value of exp(e^2):", exp_e_squared)
|
|
|
1087
955
|
"""
|
|
1088
956
|
Modulus of the complex1: 3.064156670102011971734464
|
|
1089
957
|
Square root of the complex2: 1.630869996965458756791024890326755654659+0.9631646481434200567938527724670041364524i
|
|
1090
|
-
Power of complex1 raised to complex2: 0.
|
|
958
|
+
Power of complex1 raised to complex2: 0.144632311554759549910373681032-0.17337039786352194417298867399i
|
|
1091
959
|
Value of Euler's gamma constant: 0.577215664901532860606512090082402431042159336
|
|
1092
960
|
Logarithm of 2 (base 10): 0.30102999566398119521373889472449302676818988146211
|
|
1093
961
|
Value of exp(e^2): 1618.1779919126535017
|
|
1094
962
|
"""
|
|
1095
963
|
|
|
964
|
+
p0 = polys.poly([(2, 1), (1, -2), (0, 1)])
|
|
965
|
+
p1 = polys.poly([(1, 1), (0, -1)])
|
|
966
|
+
print(p0)
|
|
967
|
+
print(p1)
|
|
968
|
+
print(p0 + p1)
|
|
969
|
+
print(p0 * p1)
|
|
970
|
+
print(p0.deriv())
|
|
971
|
+
print(p0.integ())
|
|
972
|
+
print(p0.roots())
|
|
973
|
+
print(p0.gcd(p1))
|
|
974
|
+
print(polys.legpoly(3))
|
|
975
|
+
print(polys.chebpoly(3))
|
|
976
|
+
|
|
977
|
+
"""
|
|
978
|
+
1 - 2x + x^2
|
|
979
|
+
-1 + x
|
|
980
|
+
-x + x^2
|
|
981
|
+
-1 + 3x - 3x^2 + x^3
|
|
982
|
+
-2 + 2x
|
|
983
|
+
x - x^2 + 0.3333333333333333x^3
|
|
984
|
+
[0.9999999999999998, 0.9999999999999999]
|
|
985
|
+
-1 + x
|
|
986
|
+
-1.5x + 2.5x^3
|
|
987
|
+
-3x + 4x^3
|
|
988
|
+
"""
|
|
989
|
+
|
|
1096
990
|
print("Bessel Function of the first kind, order 0 at x=1:", special.besselj0(1))
|
|
1097
991
|
print("Modified Bessel function of the first kind, order 1 at x=1:", special.besseli1(1))
|
|
1098
992
|
print("Hypergeometric function 0F1 at z=0.5 with b0=1:", special.hyp0f1(1, 0.5))
|
|
@@ -1105,7 +999,7 @@ Bessel Function of the first kind, order 0 at x=1: 0.7651976865579666
|
|
|
1105
999
|
Modified Bessel function of the first kind, order 1 at x=1: 0.565159103992485
|
|
1106
1000
|
Hypergeometric function 0F1 at z=0.5 with b0=1: 1.5660829297563503
|
|
1107
1001
|
Hypergeometric function 1F1 at z=1 with a0=1, b0=1: 2.7182818284590455
|
|
1108
|
-
q-Pochhammer Symbol with a=2+1j, q=0.5+0.1j, n=2+1j: (-0.
|
|
1002
|
+
q-Pochhammer Symbol with a=2+1j, q=0.5+0.1j, n=2+1j: (-0.3335342940577659+1.8573191887407858j)
|
|
1109
1003
|
q-Gamma Function at n=2 with q=0.5+0.1j: (0.9999999999999989-4.953510875709033e-16j)
|
|
1110
1004
|
"""
|
|
1111
1005
|
|
|
@@ -1182,12 +1076,12 @@ print(equations.poly_eq(p))
|
|
|
1182
1076
|
print(equations.lin_eq(*m))
|
|
1183
1077
|
|
|
1184
1078
|
"""
|
|
1185
|
-
[(-1.5615528128088307-
|
|
1186
|
-
[1.6666666666666665
|
|
1079
|
+
[(-1.5615528128088307-3.728101026218476e-24j), (1.0000000000000007+3.2415545137443745e-25j), (2.5615528128088294+7.352235277305158e-24j)]
|
|
1080
|
+
[ 1.6666666666666665 -0.6666666666666666 -0.4444444444444444]
|
|
1187
1081
|
"""
|
|
1188
1082
|
|
|
1189
1083
|
print(maths.cot(consts.pi / 3))
|
|
1190
|
-
print(maths.
|
|
1084
|
+
print(maths.combination(10, 3))
|
|
1191
1085
|
print(maths.pi(1, 10, lambda x: x ** 2))
|
|
1192
1086
|
print(maths.product([2, 3, 5, 7, 11, 13, 17, 19, 23, 29]))
|
|
1193
1087
|
print(maths.sigma(1, 10, lambda x: x ** 2))
|
|
@@ -1195,86 +1089,108 @@ print(maths.var([2, 3, 5, 7, 11, 13, 17, 19, 23, 29]))
|
|
|
1195
1089
|
|
|
1196
1090
|
"""
|
|
1197
1091
|
0.577350269189626
|
|
1198
|
-
|
|
1092
|
+
120
|
|
1199
1093
|
13168189440000
|
|
1200
1094
|
6469693230
|
|
1201
1095
|
385
|
|
1202
1096
|
73.29
|
|
1203
1097
|
"""
|
|
1204
1098
|
|
|
1205
|
-
|
|
1206
|
-
print(
|
|
1207
|
-
print(
|
|
1208
|
-
print(
|
|
1099
|
+
print("Scalar gamma(5):", ufuncs.gamma(5))
|
|
1100
|
+
print("Complex gamma(1+1j):", ufuncs.gamma(1 + 1j))
|
|
1101
|
+
print("Array gamma:", ufuncs.gamma(arrays.array([1, 2, 3, 4, 5])))
|
|
1102
|
+
print("Scalar factorial(10):", ufuncs.factorial(10))
|
|
1103
|
+
print("Array factorial:", ufuncs.factorial(arrays.array([1, 2, 3, 4, 5])))
|
|
1104
|
+
print("Scalar binomial(10, 3):", ufuncs.binomial(10, 3))
|
|
1105
|
+
print("Complex binomial(5+1j, 2+1j):", ufuncs.binomial(5 + 1j, 2 + 1j))
|
|
1106
|
+
print("Array binomial:", ufuncs.binomial(arrays.array([5, 6, 7]), arrays.array([2, 3, 4])))
|
|
1107
|
+
print("Scalar beta(2, 3):", ufuncs.beta(2, 3))
|
|
1108
|
+
print("Complex beta(1+1j, 2+1j):", ufuncs.beta(1 + 1j, 2 + 1j))
|
|
1109
|
+
print("Scalar pochhammer(2, 3):", ufuncs.pochhammer(2, 3))
|
|
1110
|
+
print("Array loggamma:", ufuncs.loggamma(arrays.array([2, 3, 4, 5])))
|
|
1111
|
+
|
|
1112
|
+
"""
|
|
1113
|
+
Scalar gamma(5): 24.0
|
|
1114
|
+
Complex gamma(1+1j): (0.49801566811835757-0.15494982830181106j)
|
|
1115
|
+
Array gamma: [ 1.0 1.0 2.0 6.0 24.0]
|
|
1116
|
+
Scalar factorial(10): 3628800.0
|
|
1117
|
+
Array factorial: [ 1.0 2.0 6.0 24.0 120.0]
|
|
1118
|
+
Scalar binomial(10, 3): 119.99999999999987
|
|
1119
|
+
Complex binomial(5+1j, 2+1j): (7.999999999999997+7.6666666666666625j)
|
|
1120
|
+
Array binomial: [10.000000000000002 20.000000000000007 35.00000000000001]
|
|
1121
|
+
Scalar beta(2, 3): 0.08333333333333337
|
|
1122
|
+
Complex beta(1+1j, 2+1j): (-0.10563618646826745-0.3827641582689022j)
|
|
1123
|
+
Scalar pochhammer(2, 3): 24.0
|
|
1124
|
+
Array loggamma: [ 0.0 0.693147180559945 1.7917594692280554 3.178053830347945]
|
|
1125
|
+
"""
|
|
1126
|
+
|
|
1127
|
+
canvas = plotting.Canvas(xlim=(0, 10), ylim=(0, 10), resolution=50)
|
|
1128
|
+
canvas.plot(lambda x: x ** 2, marker="+")
|
|
1129
|
+
print(canvas.render())
|
|
1130
|
+
canvas2 = plotting.Canvas(xlim=(-5, 5), ylim=(-5, 5), resolution=60)
|
|
1131
|
+
canvas2.plot_contour(lambda x, y: maths.sin(x ** 2) + maths.sin(y ** 2), threshold=0, marker="*")
|
|
1132
|
+
print(canvas2.render())
|
|
1133
|
+
canvas3 = plotting.Canvas(xlim=(-2, 2), ylim=(-2, 2), resolution=40)
|
|
1134
|
+
canvas3.plot_complex(lambda z: z ** z, marker="-")
|
|
1135
|
+
print(canvas3.render())
|
|
1209
1136
|
|
|
1210
1137
|
"""
|
|
1211
|
-
1.00e+01|
|
|
1138
|
+
1.00e+01| +
|
|
1212
1139
|
|
|
|
1213
|
-
|
|
|
1140
|
+
| +
|
|
1214
1141
|
|
|
|
1215
|
-
|
|
|
1216
|
-
| + +
|
|
1142
|
+
| +
|
|
1217
1143
|
|
|
|
1218
|
-
| +
|
|
1144
|
+
| +
|
|
1145
|
+
| +
|
|
1219
1146
|
5.00e+00|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
|
|
1220
|
-
|
|
|
1221
|
-
|
|
|
1222
|
-
|
|
|
1223
|
-
| + +
|
|
1224
|
-
| + +
|
|
1225
|
-
| + +
|
|
1226
|
-
| + +
|
|
1227
|
-
| +++ +++
|
|
1228
|
-
0.00e+00|________________________+++________________________
|
|
1229
|
-
-5.00e+00 0.00e+00 5.00e+00
|
|
1230
|
-
1.00e+01| + +
|
|
1231
|
-
|
|
|
1232
|
-
| + +
|
|
1147
|
+
| +
|
|
1148
|
+
| +
|
|
1149
|
+
| +
|
|
1233
1150
|
|
|
|
1234
|
-
|
|
1235
|
-
|
|
1236
|
-
|
|
1237
|
-
|
|
1238
|
-
|
|
1239
|
-
|
|
1240
|
-
|
|
1241
|
-
|
|
1242
|
-
|
|
1243
|
-
|
|
1244
|
-
|
|
1245
|
-
|
|
1246
|
-
|
|
|
1247
|
-
|
|
1248
|
-
|
|
1249
|
-
|
|
1250
|
-
|
|
1251
|
-
|
|
1252
|
-
|
|
1253
|
-
|
|
1254
|
-
|
|
|
1255
|
-
|
|
1256
|
-
|
|
1257
|
-
|
|
1258
|
-
|
|
1259
|
-
|
|
1260
|
-
|
|
1261
|
-
|
|
1262
|
-
|
|
1263
|
-
|
|
1264
|
-
|
|
|
1265
|
-
|
|
|
1266
|
-
|
|
|
1267
|
-
|
|
|
1268
|
-
|
|
1269
|
-
|
|
|
1270
|
-
|
|
|
1271
|
-
|
|
|
1272
|
-
|
|
|
1273
|
-
|
|
1274
|
-
|
|
1275
|
-
|
|
1276
|
-
|
|
1277
|
-
-2.00e+00 0.00e+00 2.00e+00
|
|
1151
|
+
| +
|
|
1152
|
+
| +
|
|
1153
|
+
| ++
|
|
1154
|
+
| ++
|
|
1155
|
+
0.00e+00|+++________________________________________________
|
|
1156
|
+
0.00e+00 5.00e+00 1.00e+01
|
|
1157
|
+
5.00e+00| *** **** **** ********* ********* **** **** ***
|
|
1158
|
+
|************* ******** *********** ******** *************
|
|
1159
|
+
|*************************************************************
|
|
1160
|
+
|*************************************************************
|
|
1161
|
+
|********************** ************* **********************
|
|
1162
|
+
|*************************************************************
|
|
1163
|
+
| *** **** **** *********************** **** **** ***
|
|
1164
|
+
|*** *** **** ***** ***** **** *** ***
|
|
1165
|
+
|** *** *** *** *** *** *** **
|
|
1166
|
+
|*** * * * ** ** ** ** ** ** * * * ***
|
|
1167
|
+
0.00e+00|_ * * * _*_ * _*_ _*_ _ _ _ _ * _ _ _ _ _*_ _*_ * _*_ * * * _
|
|
1168
|
+
|*** * * * ** ** ** ** ** ** * * * ***
|
|
1169
|
+
|** *** *** *** *** *** *** **
|
|
1170
|
+
|*** *** **** ***** ***** **** *** ***
|
|
1171
|
+
| *** **** **** *********************** **** **** ***
|
|
1172
|
+
|*************************************************************
|
|
1173
|
+
|********************** ************* **********************
|
|
1174
|
+
|*************************************************************
|
|
1175
|
+
|*************************************************************
|
|
1176
|
+
|************* ******** *********** ******** *************
|
|
1177
|
+
-5.00e+00|__***_****__****____*********___*********____****__****_***__
|
|
1178
|
+
-5.00e+00 0.00e+00 5.00e+00
|
|
1179
|
+
2.00e+00| - -
|
|
1180
|
+
|- - - -
|
|
1181
|
+
| - - -- - - -
|
|
1182
|
+
| - - -- - -
|
|
1183
|
+
| - ---- ---- -- --
|
|
1184
|
+
| - ---- ------------- ---- - -
|
|
1185
|
+
0.00e+00|_ _-_ _ _ _-_-------------------- - _ _ _
|
|
1186
|
+
| - - -------------------- -
|
|
1187
|
+
| - ---- ------------- ---- - -
|
|
1188
|
+
| - ---- ---- -- --
|
|
1189
|
+
| - - -- - -
|
|
1190
|
+
| - - -- - - -
|
|
1191
|
+
|- - - -
|
|
1192
|
+
-2.00e+00|________________-___________-____________
|
|
1193
|
+
-2.00e+00 - 0.00e+00 - 2.00e+00
|
|
1278
1194
|
"""
|
|
1279
1195
|
|
|
1280
1196
|
print(random.gauss(0, 1, [2, 3, 4]))
|
|
@@ -1283,10 +1199,10 @@ print(random.randint(0, 9, [2, 3, 4]))
|
|
|
1283
1199
|
print(random.uniform(0, 9, [2, 3, 4]))
|
|
1284
1200
|
|
|
1285
1201
|
"""
|
|
1286
|
-
[[[0.
|
|
1287
|
-
[[[0.
|
|
1288
|
-
[[[
|
|
1289
|
-
[[[8.
|
|
1202
|
+
[[[-0.1298501384051712, 0.3727699801277098, 0.4166700916648799, -0.7775206291555409], [-0.30014656405123064, -0.16697588134574046, 0.05882136579879377, -1.3702698211987647], [0.6197659045003135, 1.991697529996604, 0.9298444669920536, 0.4422044574065226]], [[-1.0421887750231207, 1.0127464645610977, -0.19182259386341258, -0.005000095322641637], [-0.9920550978825892, -0.10153125400742637, -0.10261269275330637, 0.14806319544548724], [-0.4828220202617309, -1.1860880232637627, -2.0699004045058267, -0.529540752082409]]]
|
|
1203
|
+
[[[0.08655140967833264, 0.6394780807323993, 0.2524438881598683, 0.6474199226773842], [0.5756049932474537, 0.5282380647601147, 0.7316894682109464, 0.019931361163881167], [0.7159100626981946, 0.9890997667800252, 0.07139958022635717, 0.41108364623335725]], [[0.3968800554375378, 0.2991796674738614, 0.6018719095232256, 0.8784654982369239], [0.4686461866479704, 0.590160413315007, 0.8152095317051954, 0.27473954566778025], [0.4442862079226716, 0.9497328028804668, 0.024900765451991935, 0.6874120115820541]]]
|
|
1204
|
+
[[[1, 2, 1, 8], [7, 5, 6, 4], [7, 2, 0, 3]], [[4, 7, 5, 9], [6, 5, 7, 7], [9, 7, 9, 7]]]
|
|
1205
|
+
[[[8.03159946997718, 0.6986351746766797, 6.257222546262797, 0.201624984908367], [1.5010606332093606, 8.490949276137348, 2.801498207055703, 1.6336744885080783], [3.940481233427212, 7.308098296419055, 2.025878540098897, 8.64457791957968]], [[6.154491182321485, 0.7269750156678364, 2.5524453548150046, 0.9963287593978754], [7.233834593868724, 8.238488157751819, 5.011182865628198, 1.7274625227896652], [2.378375506221915, 7.213742910935083, 2.705310847444149, 6.1706150877584705]]]
|
|
1290
1206
|
"""
|
|
1291
1207
|
|
|
1292
1208
|
print(regs.lin_reg(list(range(5)), [2, 4, 6, 7, 8]))
|
|
@@ -1305,14 +1221,14 @@ print(tools.frange(0, 3, 0.4))
|
|
|
1305
1221
|
print(tools.linspace(0, 2.8, 8))
|
|
1306
1222
|
|
|
1307
1223
|
"""
|
|
1308
|
-
{<class 'int'>: [1], <class 'float'>: [2.3, 3.14], <class 'complex'>: [(4+5j)], <class 'str'>: ['string'], <class 'type'>: [<class 'list'>, <class 'tuple'>], <class 'bool'>: [True, False], <class 'module'>: [<module 'pypynum.tools' from 'C:\\Users\\Administrator\\PycharmProjects\\
|
|
1224
|
+
{<class 'int'>: [1], <class 'float'>: [2.3, 3.14], <class 'complex'>: [(4+5j)], <class 'str'>: ['string'], <class 'type'>: [<class 'list'>, <class 'tuple'>], <class 'bool'>: [True, False], <class 'module'>: [<module 'pypynum.tools' from 'C:\\Users\\Administrator\\PycharmProjects\\PythonProject\\pypynum\\tools.py'>]}
|
|
1309
1225
|
['Python', 6, 'NumPy', <class 'int'>, 'PyPyNum', 9, 'pypynum', True]
|
|
1310
1226
|
[0.0, 0.4, 0.8, 1.2000000000000002, 1.6, 2.0, 2.4000000000000004, 2.8000000000000003, 3.2]
|
|
1311
1227
|
[0.0, 0.39999999999999997, 0.7999999999999999, 1.2, 1.5999999999999999, 1.9999999999999998, 2.4, 2.8]
|
|
1312
1228
|
"""
|
|
1313
1229
|
|
|
1314
|
-
# Tip:
|
|
1315
|
-
# The test has been successfully passed and ended.
|
|
1316
|
-
# These tests are only part of the functionality of this package.
|
|
1317
|
-
# More features need to be explored and tried by yourself!
|
|
1230
|
+
# Tip:
|
|
1231
|
+
# The test has been successfully passed and ended.
|
|
1232
|
+
# These tests are only part of the functionality of this package.
|
|
1233
|
+
# More features need to be explored and tried by yourself!
|
|
1318
1234
|
```
|