Saravanan666/pypi-org huggingface dataset:
Package: cython-construct
Construct is a powerfuldeclarativeparser (and builder) for binary data.Instead of writingimperative codeto parse a piece of data, you declaratively
define adata structurethat describes your data. As this data structure is not
code, you can use it in one direction toparsedata into Pythonic objects,
and in the other direction, convert (“build”) objects into binary data.The library provides both simple, atomic constructs (such as integers of various sizes),
as well as composite ones which allow you form hierarchical structures of increasing complexity.
Construct featuresbit and byte granularity, easy debugging and testing, aneasy-to-extend subclass system, and lots of primitive constructs to make your
work easier:Fields: raw bytes or numerical typesStructs and Sequences: combine simpler constructs into more complex onesAdapters: change how data is representedArrays/Ranges: duplicate constructsMeta-constructs: use the context (history) to compute the size of dataIf/Switch: branch the computational path based on the contextOn-demand (lazy) parsing: read only what you requirePointers: jump from here to there in the data streamNoteConstruct3is a rewrite of Construct2;
the two are incompatible, thusconstruct3will be released as adifferent package.
Construct 2.5 is the last release of the 2.x codebase.Construct 2.5 drops the experimental text parsing support that was added in Construct 2.0;
it was highly inefficient and I chose to concentrate on binary data.ExampleAPascalStringis a string prefixed by its length:>>> from construct import *
>>>
>>> PascalString = Struct("PascalString",
...     UBInt8("length"),
...     Bytes("data", lambda ctx: ctx.length),
... )
>>>
>>> PascalString.parse("\x05helloXXX")
Container({'length': 5, 'data': 'hello'})
>>> PascalString.build(Container(length = 6, data = "foobar"))
'\x06foobar'Instead of specifying the length manually, let’s use an adapter:>>> PascalString2 = ExprAdapter(PascalString,
...     encoder = lambda obj, ctx: Container(length = len(obj), data = obj),
...     decoder = lambda obj, ctx: obj.data
... )
>>> PascalString2.parse("\x05hello")
'hello'
>>> PascalString2.build("i'm a long string")
"\x11i'm a long string"See more examples offile formatsandnetwork protocolsin the repository.ResourcesConstruct’s homepage ishttp://construct.readthedocs.org, where you can find all kinds
of docs and resources. The library itself is developed ongithub;
please usegithub issuesto report bugs, and
github pull-requests to send in patches. For general discussion or questions, please use thenew discussion group.RequirementsConstruct should run on any Python 2.5-3.3 implementation.
Package: cython-csg
Cython-CSGCython port of Evan Wallace’s Javascripthttps://github.com/evanw/csg.js/and Tim Knip raw Python versionhttps://github.com/timknip/pycsg.What is Cython-CSGCSG stands for Constructive Solid Geometry. It allow Boolean operations to be made on a 3D object like subtraction.UsageSubtractionA simple subtraction is as followedfrom_cython_csgimportCSGa=CSG.cube()b=CSG.cube([0.5,0.5,0.0])c=a-bc.saveVTK('subtract.vtk')UnionA Simple Union would is as followedfrom_cython_csgimportCSGa=CSG.sphere(center=[0.5,0.5,0.5],radius=0.5,slices=8,stacks=4)b=CSG.cylinder(start=[0.,0.,0.],end=[1.,0.,0.],radius=0.3,slices=16)a.union(b).saveVTK('union.vtk')Custom objectsYou can make custom object here is a examplefrom_cython_csgimportBSPNode,Polygon,Vertexv0=Vertex([0.,0.,0.])v1=Vertex([1.,0.,0.])v2=Vertex([1.,1.,0.])p0=Polygon([v0,v1,v2])polygons=[p0]node=BSPNode(polygons)if you then want to convert it back to a CSG object you can doCSG.fromPolygons(node)InstallTo build runpythonsetup.pybuildpythonsetup.pyinstallOther NotesTo view the output I would recommend a program like ParaViewHelp requiredPatches are welcome for the source code or for the documentation
Package: cythoneuclideandistance
Calculate Euclidean distances between two sets of coordinates (Cython and Numexpr)Tested against Windows / Python 3.11 / Anacondapip install cythoneuclideandistanceCalculateEuclideandistancesbetweentwosetsofcoordinates.ThisfunctioncomputestheEuclideandistancematrixbetweentwosetsofcoordinates.Args:coords1(numpy.ndarray):Anarrayofshape(n,2)containingthefirstsetofcoordinates.coords2(numpy.ndarray):Anarrayofshape(m,2)containingthesecondsetofcoordinates.Returns:numpy.ndarray:A2Darrayofshape(n,m)containingtheEuclideandistancesbetweenallpairsofcoordinates.Example:importrandomimportcythoneuclideandistanceimportnumpyasnpcoords1=np.array([[random.randint(1,1000),random.randint(1,1000)]for_inrange(23000)],dtype=np.int32,)coords2=np.array([[random.randint(1,1000),random.randint(1,1000)]for_inrange(22150)],dtype=np.int32,)distance_matrix=cythoneuclideandistance.calculate_euc_distance(coords1,coords2)print(distance_matrix)
Package: cythonfastsort
C++ parallel sorting algorithms through Cython - up to 8 times faster than NumPypip install cythonfastsortTested against Windows / Python 3.11 / AnacondaCython (and a C/C++ compiler) must be installed to use the optimized Cython implementation.importsysimporttimeitimportnumpyasnpfromcythonfastsortimportgenerate_random_arrays,sort_allsize=10000000arras=[(size,"float32",-555555555,555555555),(size,"float64",-100000000000,100000000000),(size,np.uint8,0,255),(size,np.int8,-120,120),(size,np.int16,-30000,30000),(size,np.int32,-555555555,555555555),(size,np.int64,-(sys.maxsize-1)//2,(sys.maxsize-1)//2),(size,np.uint16,0,60000),(size,np.uint32,0,555555555),(size,np.uint64,0,sys.maxsize-1),]reps=3forainarras:arr=generate_random_arrays(*a)seq=generate_random_arrays(size//10,*a[1:])s="""u=sort_all(arr)"""u=sort_all(arr)t1=timeit.timeit(s,globals=globals(),number=reps)/repsprint('c++ ',t1)s2="""q=np.sort(arr)"""q=np.sort(arr)t2=timeit.timeit(s2,globals=globals(),number=reps)/repsprint('np ',t2)print(np.all(q==u))print("-----------------")haystack=np.array([b"Cumings",b"Heikkinen",b"Cumings, Mrs. John Bradley (Florence Briggs Thayer)",b"aaa",b"bbbb()",b"Futrelle",b"Allen",b"Cumings, Mrs. John Bradley (Florence Briggs Thayer)q",b"Braund, Mr. Owen Harris",b"Heikkinen, Miss. Laina",b"Futrelle, Mrs. Jacques Heath (Lily May Peel)",b"Allen, Mr. William Henry",b"Braund",],dtype="S",)arr=np.ascontiguousarray(np.concatenate([haystackfor_inrange(200000)]))reps=5s="""u=sort_all(arr)"""u=sort_all(arr)t1=timeit.timeit(s,globals=globals(),number=reps)/repss="""u=np.sort(arr)"""q=np.sort(arr)t2=timeit.timeit(s,globals=globals(),number=reps)/repsprint('c++ ',t1)print('np ',t2)print(np.all(q==u))# c++  0.2110750000004676# np  0.6982908999998472# True# -----------------# c++  0.22871500000110245# np  0.7115663999999621# True# -----------------# c++  0.0869510999994721# np  0.27525126666781335# True# -----------------# c++  0.09770773333366378# np  0.28797130000020843# True# -----------------# c++  0.13066273333364128# np  0.47454773333326256# True# -----------------# c++  0.17967379999997016# np  0.6125306666666196# True# -----------------# c++  0.19168066666679806# np  0.6346349666673632# True# -----------------# c++  0.06744649999988421# np  0.47243033333264367# True# -----------------# c++  0.09263499999966977# np  0.6186357666665572# True# -----------------# c++  0.11886440000065097# np  0.6260395666661983# True# -----------------# c++  0.9570277200000419# np  1.4337052399998356# True
Package: cython-fortran-file
Cython fortran-fileThis package is a fast and easy reader for record-based binary format, as written by Fortran.InstallationThis packages requires a compiler to be installed on you system. If you're using Linux or MacOSX you should be fine. If you're using Windows, please get in touch with me or open an issue.pip install cython_fortran_fileThat's all!Using itHere is a simple demonstration:fromcython_fortran_fileimportFortranFileasFFf=FF("/path/to/my/fortran/file.dat",mode="r")# Skip 5 recordsf.skip(5)# Read one record (an array of `double`)data=f.read_vector("d")assertdata.dtype==np.float64# Read one record (an array of signed `int`)data=f.read_vector("i")assertdata.dtype==np.int32# Read one *single* int. This will fail if there is more to read!v=f.read_int()# f _looks_ like a regular file descriptorf.tell()f.seek(0)f.close()It also supportswithstatement so that you can't forget to close the file handlerwithFF("/path/to/my/fortran/file.dat")asf:f.skip(5)data=f.read_vector("d")# Read a vector of doubles (as usual)Data typesThe argument ofread_vectorfollows the convention of the python struct package (C convention). Seehttps://docs.python.org/3.5/library/struct.html#format-charactersfor the full list. Here is a shorter version:ArgumentFortran typeC typeNumpy dtypedreal(8)doublenp.float64freal(4)floatnp.float32iintegerintnp.int32linteger(8)longnp.int64
Package: cythonimagetools
Provides functions (Cython - C) for color analysis in images, including finding unique colors, counting occurrences, and comparing imagespip install cythonimagetoolsTested against Windows / Python 3.11 / AnacondaCython (and a C/C++ compiler) must be installedimportnumpyasnpfromcythonimagetoolsimportget_unique_colors,count_colors,get_most_frequent_colors,get_rgb_coords,\get_rgb_coords_parallel,compare_rgb_values_of_2_pics,find_color_ranges# Generate a random imagenp.random.seed(0)x=np.random.randint(0,9,(1000,1000,3))# Get unique colors in the imageuniquecolors=get_unique_colors(x)print(uniquecolors)# Count the occurrence of each color in the imageallcolors=count_colors(x)print(allcolors)# Get the most frequent colors in the imagemost_freq_colors=get_most_frequent_colors(x)print(most_freq_colors)# Get RGB coordinates of each pixel in the imagergb_coords=get_rgb_coords(x)print(rgb_coords)# Get RGB coordinates in parallelrgb_coords_parallel=get_rgb_coords_parallel(x)print(rgb_coords_parallel)# Compare RGB values of two images within a specified tolerancepic1=np.random.randint(0,255,(1000,1000,3),dtype=np.uint8)pic2=np.random.randint(0,200,(1000,1000,3),dtype=np.uint8)ru=compare_rgb_values_of_2_pics(pic1,pic2,rmax=10,gmax=10,bmax=10)print(ru)# Find color ranges in an image based on given colors and tolerancecolors=np.array([[2,7,4],[4,7,2]],dtype=np.uint8)foundcolors=find_color_ranges(x,colors,rmax=1,gmax=1,bmax=2)print(foundcolors)print(uniquecolors)print('--------------------')print(allcolors)print('--------------------')print(most_freq_colors)print('--------------------')print(rgb_coords)print('--------------------')print(rgb_coords_parallel)print('--------------------')print(ru)print('--------------------')print(colors)print('--------------------')print(foundcolors)print('--------------------')# [[3 0 5]#  [3 7 3]#  [4 2 5]#  ...#  [2 0 7]#  [3 8 5]#  [2 4 1]]# --------------------# [[   3    0    5 1402]#  [   3    7    3 1380]#  [   4    2    5 1369]#  ...#  [   2    0    7 1413]#  [   3    8    5 1343]#  [   2    4    1 1405]]# --------------------# [[   2    7    4 1473]]# --------------------# [[  3   0   5   0   0]#  [  3   7   3   0   1]#  [  4   2   5   0   2]#  ...#  [  6   1   1 999 997]#  [  0   6   4 999 998]#  [  8   0   6 999 999]]# --------------------# [[  3   0   5   0   0]#  [  3   7   3   0   1]#  [  4   2   5   0   2]#  ...#  [  6   1   1 999 997]#  [  0   6   4 999 998]#  [  8   0   6 999 999]]# --------------------# [[143  76  62 ...   5 920   0]#  [153  80  38 ...   9 190   3]#  [ 42 198  93 ...   8 332   3]#  ...#  [ 71  12  64 ...   5   0 995]#  [174  85 160 ...   7 107 996]#  [193  37 160 ...   0 817 997]]# --------------------# [[2 7 4]#  [4 7 2]]# --------------------# [[  4   7   2 ...   1   0   1]#  [  4   7   2 ...   2   0  22]#  [  4   7   2 ...   2   0  24]#  ...#  [  4   7   2 ...   2 999 956]#  [  4   7   2 ...   2 999 970]#  [  2   7   4 ...   0 999 987]]# --------------------
Package: cython-indicators
C-Optimized Technical Indicator FunctionsAuthors@epociask
@rjthompson2
@a-drainInstallationInstall from PyPipipinstallcython-indicatorsBuild from SourceClone repositorypython setup.py buildto buildpython setup.py install --userto installCurrently Supported IndicatorsBB -Bolinger BandsEMA -Exponential Moving AverageFIB -Upper Fibonacci Retracement LevelsFIB_BB -Fibonacci Bolinger BandsSMA -Simple Moving AverageWMA -Weighted Moving AverageSDV -Standard DeviationMOM -MomentumHow to Useimportindicatorsimportnumpyasnpcloses=np.array([12.3,11.5,23.5,24.2,32.4])print(indicators.SMA(closes,4))> 22.9Currently Supported and Tested onMACOSXTo deploy a new versioncontact @a-drain or @epociask
Package: cython-iscsi
cython-iscsiCython-based wrapper forlibiscsi.PrerequisitesThis module depends onlibiscsi(version 1.13 or
later). You must first install the library before you can build this module.In Debian-compatible distributions, you can do so:$ apt install libiscsi-devBuilding and installingTo build and install from the repository:cython-iscsi $ pip install .DevelopmentTo set up a development environment, you can use the following commands:$gitclonehttps://github.com/python-scsi/cython-iscsi
$cdcython-iscsi
$python3-mvenvvenv
$.venv/bin/activate
$pipinstall-e.[dev]# editable installation$pre-commitinstallLicenseCopyright © 2014-2020 The cython-iscsi AuthorsThis program is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published
by the Free Software Foundation; either version 2.1 of the License, or
(at your option) any later version.This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Lesser General Public License for more details.You should have received a copy of the GNU Lesser General Public License
along with this program; if not, seehttp://www.gnu.org/licenses/.
Package: cythonizer
Cythonize one step fasterIntroductioncythonizer.pyis a script that will attempt to
automatically convert one or more.pyand.pyxfiles into
the corresponding compiled.pyd | .sobinary modules
files. Example:$ python cythonizer.py myext.pyxpip install cythonizerwill automatically create an
executable script in yourScripts/folder, so you
should be able to simply:$ cythonizer myext.pyor even:$ cythonizer *.pyxYou can type:$ cythonizer -hto obtain the following CLI:usage: cythonizer.py [-h] [--annotation] [--numpy-includes]
                     [--debugmode] filenames [filenames ...]

positional arguments:
filenames         .py and .pyx files only

optional arguments:
-h, --help        show this help message and exit
--annotation      (default: False)
--numpy-includes  (default: False)
--debugmode       (default: False)--annotationwill create the HTML Cython annotation file.--numpy-includeswill add the numpy headers to the build command.Compiler flags-O2 -march=nativeare automatically passed to the compiler.
Package: cython-lint
cython-lintEverythingflake8used to do (by accident), plus much more.A tool and pre-commit hook to lint Cython files.Used byHere's some major projects usingcython-lint- is yours missing? Feel free to open a pull request!ansible-pylibssharrowCuPyopen librarypandaspymatgenPyRFCRAPIDS cuspatialRAPIDS cudfRAPIDS Memory Managersagemath/sagescikit-imagescikit-learnscipyspaCyyarlytInstallation$pipinstallcython-lintUsage as a pre-commit hookSeepre-commitfor instructionsSample.pre-commit-config.yaml:-repo:https://github.com/MarcoGorelli/cython-lintrev:v0.16.0hooks:-id:cython-lint-id:double-quote-cython-stringsCommand-line example$cython-lintmy_file_1.pyxmy_file_2.pyxmy_file_1.pyx:54:5: 'get_conversion_factor' imported but unusedmy_file_2.pyx:1112:38: 'mod' defined but unused (try prefixing with underscore?)my_file_3.pyx:4:9: dangerous default value!my_file_3.pyx:5:9: comma after base type in definitionConfigurationThe following configuration options are available:exclude lines by including a# no-cython-lintcomment (analogous to# noqainflake8);as well as the following command-line arguments:--max-line-lengthto control the maximum line length used by pycodestyle;--no-pycodestyleif you don't want the pycodestyle checks;--ignoreif you want to ignore some specific pycodestyle checks;--filesto pass a Regex pattern with which to match files to include;--excludeto pass a Regex pattern with which to match files to exclude.Configuration can be set project-wise in apyproject.tomlfile at the root of the project.
Here's an examplepyproject.toml:[tool.cython-lint]
max-line-length = 88
ignore = ['E503', 'E504']
exclude = 'my_project/excluded_cython_file.pyx'Which checks are implemented?assert statement with tuple condition (always true...)comma after base type definition (e.g.cdef ndarray, arr)comparison between constantsdangerous default valuedict key repeateddict key variable repeatedf-string without placeholdersif-statement with tuple condition (always true...)late-binding closureshttps://docs.python-guide.org/writing/gotchas/#late-binding-closurespointless string statementpycodestylenitpicks (which you can turn off with--no-pycodestyle)repeated element in set.strip,.rstrip, or.lstripused with repeated charactersunnecessary list index lookupunnecessary import aliasvariable defined but unusedvariable imported but unusedIn addition, the following automated fixers are implemented:double-quote-cython-strings (replace single quotes with double quotes, like theblackformatter does)More to come! Requests welcome!
Package: cython-linux-usbmon
Linux usbmon in CythonThis repository contains a Cython module and some command line tools
implementing theusbmoncapture
interface of Linux, through the binary capture API.DevelopmentTo set up a development environment, you can use the following commands:$gitclonehttps://github.com/Flameeyes/cython-linux-usbmon
$cdcython-linux-usbmon
$python3-mvenvvenv
$.venv/bin/activate
$pipinstall-e.[dev]# editable installation$pre-commitinstall
Package: cython-package-example
Cython package examplePurposeThe purpose of this package is to demonstrate how to organize a project developed using Cython.
It shows a suitable folder structure according to the best practices, how to create extension modules with Cython, how to implement functions in C and make them available to Cython, how to include package data, how to write asetup.pyscript that allows users without Cython to install the package nonetheless.InstallationFrom a repository checkoutmakeinstallorCYTHONIZE=1pipinstall--user.From PyPipipinstall--usercython-package-example
Package: cython-packages
Python Package StarterFeaturesMulti python version support (pyenv,tox)Single config using the new standardizedpyproject.toml(PEP518)Simple build/publish/dependency management usingpoetryContinous integration (GitHub Actions)Code coverage reporting (Codecov)Code formatting (black)Prerequisitespyenv(for automatic installation usepyenv-installer)poetryInstallationInstallpyenv.Install the Python versions you want to support usingpyenv.pyenvinstall3.6.9
pyenvinstall3.8.0Clone repo:git clone git@github.com:vikpe/python-package-starter.git [PACKAGE_NAME]cd [PACKAGE NAME]Create a virtual env:pyenv virtualenv 3.8.0 foo38Activate virtual env:pyenv activate foo38Install poetry:pip install poetryInstall dependencies:poetry installEditpyproject.toml, update project name, description and author and any other settings you like.UsageCommandDescriptionpoetry add [package]Add package to dependencies.poetry add -D [package]Add package to dev dependencies.poetry run pytestRun tests in local Python version.poetry run ptw tests foo --clearWatch for file changes and run tests in local Python version.poetry run toxRun tests in all Python versions defined intox.ini.poetry run black .Run black code formatter.poetry build --format wheelBuild sdist and wheel to/dist.poetry publishPublish package to PyPi.Continous integrationGitHub ActionsTests are run whenever there is a commit, see.github/workflows/test.ymlfor details.Code coverageEnable code coverage reporting toCodecovby creating a secret with nameCODECOV_TOKENin your repository settings (Settings -> Secrets -> New sectret) and value set to the token created by Codecov.
Package: cythonparallelargsort
Parallel argsort with Cython - 2.5x faster than NumPy!pip install cythonparallelargsortTested against Windows / Python 3.11 / AnacondaCython (and a C/C++ compiler) must be installedA parallel argsort function for efficiently sorting numpy arrays in parallel.
It utilizes Cython to generate optimized C++ code, taking advantage of OpenMP for parallelism.fromcythonparallelargsortimportparallel_argsortimportpandasaspdimportnumpyasnpdf=pd.read_csv("https://raw.githubusercontent.com/pandas-dev/pandas/main/doc/data/titanic.csv")df=pd.concat([dffor_inrange(1000)],ignore_index=True)df=df.sample(len(df))indicopy=df.index.to_numpy().copy()p1=parallel_argsort(indicopy,'parallel_buffered',)p2=parallel_argsort(indicopy,'parallel',)p3=parallel_argsort(indicopy,'sort')p4=np.argsort(indicopy)# p1# Out[3]: array([125054,  85353, 788878, ...,  46414, 789033, 786844], dtype=int64)# p2# Out[4]: array([125054,  85353, 788878, ...,  46414, 789033, 786844], dtype=int64)# p3# Out[5]: array([125054,  85353, 788878, ...,  46414, 789033, 786844], dtype=int64)# p4# Out[6]: array([125054,  85353, 788878, ...,  46414, 789033, 786844], dtype=int64)# df.index.shape# Out[8]: (89100,)# %timeit p1=parallel_argsort(indicopy,'parallel_buffered',)# %timeit p2=parallel_argsort(indicopy,'parallel',)# %timeit p3=parallel_argsort(indicopy,'sort')# %timeit p4=np.argsort(indicopy)# 3.18 ms ± 622 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)# 2.62 ms ± 38.8 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)# 6.38 ms ± 54.3 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)# 5.13 ms ± 99.1 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)# df.index.shape# (891000,)# %timeit p1=parallel_argsort(indicopy,'parallel_buffered',)# %timeit p2=parallel_argsort(indicopy,'parallel',)# %timeit p3=parallel_argsort(indicopy,'sort')# %timeit p4=np.argsort(indicopy)# 28.4 ms ± 2.42 ms per loop (mean ± std. dev. of 7 runs, 10 loops each)# 29 ms ± 1.04 ms per loop (mean ± std. dev. of 7 runs, 10 loops each)# 90.9 ms ± 1.1 ms per loop (mean ± std. dev. of 7 runs, 10 loops each)# 73.3 ms ± 910 µs per loop (mean ± std. dev. of 7 runs, 10 loops each)# df.index.shape# Out[4]: (8910000,)# %timeit p1=parallel_argsort(indicopy,'parallel_buffered',)# %timeit p2=parallel_argsort(indicopy,'parallel',)# %timeit p3=parallel_argsort(indicopy,'sort')# %timeit p4=np.argsort(indicopy)# 586 ms ± 24.3 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)# 604 ms ± 18.4 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)# 1.45 s ± 20.2 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)# 1.34 s ± 13.6 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)# df.index.shape# Out[4]: (89100000,)# %timeit p1=parallel_argsort(indicopy,'parallel_buffered',)# %timeit p2=parallel_argsort(indicopy,'parallel',)# %timeit p3=parallel_argsort(indicopy,'sort')# %timeit p4=np.argsort(indicopy)# 10.1 s ± 97.9 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)# 10.5 s ± 45.9 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)# 20.9 s ± 82.1 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)# 24.5 s ± 70.9 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)
Package: cython-pocketfft
cython-pocketfftDescriptionACythonwrapper forPocketFFTLinksDocumentation:https://cython-pocketfft.readthedocs.io/en/latest/Source code:https://github.com/nocarryr/cython-pocketfftUsageTODOInstallationTODOLicensePocketFFTCopyright (C) 2010-2019 Max-Planck-Society - (Seepocketfft/LICENSE.mdfor details)Source code available athttps://gitlab.mpcdf.mpg.de/mtr/pocketfftcython-pocketfft (this project)Copyright (c) 2019 Matthew Reid - (SeeLICENSEfor details)Source code available athttps://github.com/nocarryr/cython-pocketfft