Metadata-Version: 1.1
Name: Numscrypt
Version: 0.0.31
Summary: A tiny bit of NumPy for Transcrypt using JavaScript typed arrays
Home-page: https://github.com/JdeH/Numscrypt
Author: Jacques de Hooge
Author-email: jacques.de.hooge@qquick.org
License: Apache 2.0
Description: Numscrypt is a port of a small part of NumPy to Transcrypt using JavaScript typed arrays.
        While Numscrypt is no match for Numpy, some attention has been payed to speed.
        
        Whereas NumPy often has multiple way to do things, Numscrypt focuses on one obvious way. The clearest example is the NumPy type *matrix* type, that is a specialization of *ndarray* with confusingly deviating use of some operators. In Transcrypt *matrix* is deliberately left out, to keep it lean.
        
        One thing Numscrypt does support is the use of views, i.e. references to parts of existing arrays rather than copies. As with NumPy, views are implemented using strides and offsets.
        
        Parts of the code can later be replaced by things like asm.js and simd.js, or, better even, GPGPU code.
        There's not yet a clear winner in this area.
        This implementation is usable as a skeleton to try out those new technologies in parts of the code where speed matters most.
        
        It may seem attractive to compile everything from C++ to asm.js, but the downloads would become very bulky and the readability approaching zero.
        Or wouldn't it?
        Forking and experimenting highly encouraged!!
        
        As with Transcrypt, the eventual goal is not to completely copy a desktop programming environment.
        Rather a lean and mean subset is sought that can still be very useful, e.g. for science demo's in the browser.
        
        Jacques de Hooge, Rotterdam, Netherlands
        
        .. figure:: http://www.transcrypt.org/numscrypt/illustrations/numscrypt_logo_white_small.png
        	:alt: Logo
        	
        	**The first computers were used... to compute**
        
        What's new
        ==========
        
        N.B. Always use the newest version of Transcrypt to be able to use the newest features of Numscrypt.
        
        - Fourier transformation added for 2^n samples using complex arrays. Speed indication: 8192 samples took 14 ms on average using at 1.6 GHz in Chrome.
        - Examples in documentation fixed
        - Low hanging fruit optimizations done for complex and real arrays, e.g. multiplication in natural order 30x faster
        - For educational and demonstration purposes a simple, non-optimized implementation of complex arrays was added
        - Ndarray's mixable with scalars for overloaded ops
        - Overloaded unary minus added
        - Preliminary optimizations, speedup 70x for inversion, 10x for multiplication (default: optimize for speed)
        - Several bugs fixed for working with non-default strides
        - Start made with module linalg, matrix inversion added + testcase
        - Overloaded LHS and RHS slicing added to ndarray
        - Readme adapted
        - Hsplit, vsplit, hstack, vstack added
        - Transpose can now deal with non-default strides
        - Tuple stripping optimization added for simple indices
        - Overloaded operators added for simple indices e.g. matrix [2, 3, 2] + autotest
        - Overloaded operators added for +, -, \*, / and @, not yet mixable with scalars + autotest
        - Setup adapted to Linux' case sensitivity
        - Dependencies added to setup.py
        - Changes package name to lowercase
        - Modest beginning made with ndarray + autotest for it
        
        Other packages you might like
        =============================
        
        - Python to JavaScript transpiler, supporting multiple inheritance and generating lean, highly readable code: https://pypi.python.org/pypi/Transcrypt
        - Multi-module Python source code obfuscator: https://pypi.python.org/pypi/Opy
        - PLC simulator with Arduino code generation: https://pypi.python.org/pypi/SimPyLC
        - A lightweight Python course taking beginners seriously (under construction): https://pypi.python.org/pypi/LightOn
        - Event driven evaluation nodes: https://pypi.python.org/pypi/Eden
        
        
        Licence
        =======
        
        Copyright 2016 Jacques de Hooge, GEATEC engineering, www.geatec.com
        
        Licensed under the Apache License, Version 2.0 (the "License");
        you may not use this file except in compliance with the License.
        You may obtain a copy of the License at
        
            http://www.apache.org/licenses/LICENSE-2.0
        
        Unless required by applicable law or agreed to in writing, software
        distributed under the License is distributed on an "AS IS" BASIS,
        WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
        See the License for the specific language governing permissions and
        limitations under the License.
        
Keywords: transcrypt,numscrypt,numpy,browser
Platform: UNKNOWN
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Intended Audience :: Developers
Classifier: Natural Language :: English
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3.5
