🚀 0.0.6 — 2023-07-20
- Added
test_leibniz
to performance test suite. - Fixed problem with
test_wallis
for 32-bit systems.
- Fixed double popping of
'__cycept__'
fromcall.module_dict
(#1).
- Safer version detection.
🚀 0.0.5 — 2023-05-14
- Support for Unicode variable names.
- Proper silencing of unwanted output in performance test suite.
- Added
test_trapz
to performance test suite. - Added
test_nbody
to performance test suite. - Added
test_array_1
to performance test suite.
- Better support for closures and classes.
🚀 0.0.4 — 2023-04-19
- Added
cycept.check()
for quickly checking whether Cycept functions correctly. - Functions can now be re-jitted (
g = jit(f); h = jit(f)
).
- Improved array attribute lookup.
- Improved proof system for array scalar indexing.
- More correct, efficient and elegant performance test suite.
- Added
test_mandelbrot
to performance test suite.
- Safer context managers throughout.
🚀 0.0.3 — 2023-04-16
- It is now possible to transpile to C++ rather than C
(the
c_lang
option of@jit
).
- Improved system for compiler optimizations.
- Now generates optimal code for chained array indexing.
- Now uses
setuptools
andCython.Distutils
instead ofdistutils
. - Improved packaging.
- Added performance test suite.
- Added more unit tests.
🚀 0.0.2 — 2023-04-12
- More array/memoryview operations allowed:
- Comparisons (arrays).
- Scalar indexing (memoryviews).
- New
@jit
optionsintegral
,floating
andfloating_complex
for overwriting the default Cython types used for the Python typesint
,float
andcomplex
. - Compilation times are now measured and stored as
FunctionCall.time
.
- Support for Windows.
- Better support for macOS.
- Better support for Python 3.9.
- Available NumPy types now checked at runtime.
- Support using
tomli
andtoml
iftomllib
is missing (Python < 3.11).
- NumPy Boolean arrays now correctly translated to Cython memoryviews.
- Compiler error messages are now also suppressed when running
silent
ly.
🚀 0.0.1 — 2023-04-11
@jit
decorator powered by Cython.- Automatic type inference
- Python types (
str
,list
,dict
, ...) - C/Cython types (
cython.Py_ssize_t
,cython.double
, ...).
- Python types (
- Manual type annotations using PEP 484 and PEP 526.
- NumPy arrays treated as memoryviews when possible, while still supporting NumPy array operations.
- Source code extraction possible for
lambda
functions. - Jitting of closures supported.
- Easy viewing of generated code in the browser via
func.__cycept__()
. - Available options to
jit
:compile
: Used to disable the jitting.silent
: Used to display compilation text.checks
: Used to enable certain runtime checks.clike
: Used to change certain Python semantics to C semantics.array_args
: Used to allow using memoryviews as function arguments.directives
: Used to specify Cython directives.optimizations
: Used to set C compiler optimizations.
- Test suite.