Releases: gecko0307/dlib
Releases · gecko0307/dlib
dlib 0.6.0
- dlib.core
- Got rid of ManuallyAllocatable interface in manual memory management for classes. Added support for deleting via interface or parent class. Deleting can be abstractized with Freeable interface
- dlib.filesystem
- Added GC-free implementations for FileSystem and file streams
- dlib.image
- dlib.image.unmanaged provides generalized GC-free Image class with corresponding factory function
- JPEG decoder had been greatly improved, added more subsampling modes support, COM and APPn markers detection. Decoder now understands virtually any imaginable baseline JPEGs, including those from digital cameras
- dlib.math
- New module dlib.math.combinatorics with factorial, hyperfactorial, permutation, combinations, lucas number and other functions
- dlib.math.sse brings x86 SSE-based optimizations for some commonly used vector and matrix operations, namely, 4-vector arythmetics, dot and cross product, 4x4 matrix multiplication.
- dlib.container
- DynamicArray now supports indexing (as a syntactic sugar).
dlib 0.5.3
- Added Protobuf-style varint implementation (dlib.coding.varint)
- Streams are now ManuallyAllocatable
- Triangle struct in dlib.geometry.triangle now has tangent vectors
- Fixed unittest build failure (#59)
dlib 0.5.2
dlib 0.5.1
Small bugfix release:
- Fixed wrong module name in dlib.geometry.frustum
- Updated license information
dlib 0.5.0
- dlib.core
- Added manual memory management support. dlib.core.memory provide memory allocators based on standard C malloc/free. They can allocate arrays, classes and structs
- Added prototype-based OOP system for structs (dlib.core.oop) with support for multiple inheritance and parametric polymorphism
- dlib.image
- Image loaders are now GC-free
- dlib.image.io.zlib and dlib.image.io.huffman modules are moved to new package dlib.coding. dlib.image.io.bitio moved to dlib.core.
- Image allocation is based on a factory interface that abstracts over GC or MMM
- Improved support for indexed PNGs - added alpha channel support
- dlib.container
- Added GC-free dynamic array implementation (dlib.container.array)
- BST and AArray now use manual memory management
- dlib.math
- Quaternion is now based on and interchangeable with Vector via incapsulation
- Dual quaternion support (dlib.math.dualquaternion)
- Fixed incorrect dual number
pow
implementation
- dlib.geometry
- Breaking change: Frustum plane normals are now pointing outside frustum. Also Frustum-AABB intersection API is changed
- Fixed bugs in AABB and Plane
dlib 0.4.1
- dlib.image
- Baseline JPEG decoder (dlib.image.io.jpeg)
- dlib.math
- New matrix printer with proper alignment (a la Matlab)
dlib 0.4.0
- dlib.filesystem
- Platform-specific modules are now grouped by corresponding packages (dlib.filesystem.windows, dlib.filesystem.posix)
findFiles
is now a free function and can be used with anyReadOnlyFileSystem
- dlib.math
- Implemented LU decomposition for matrices (dlib.math.decomposition)
dlib.math.linear
is nowdlib.math.linsolve
. AddedsolveLU
, a new LU-based direct solver- Matrix inversion now uses LU decomposition by default (4x performance boost compared to old analytic method). 4x4 affine matrices use an optimized inversion, which is about 6 times faster
dlib.math.utils
now usesclamp
from latest Phobos if available- Removed deprecated functionality
- dlib.core:
- Moved container modules (bst, linkedlist, etc) from dlib.core to separate package dlib.container. Removed useless dlib.core.method
- Overall: improved compatibility with DMD 2.067.
dlib 0.3.3
Mainly bugfix release. Changes:
- Fixed compilation with DMD 2.066
- Added dlib.geometry.frustum
- Improved dlib.math.quaternion.
dlib 0.3.2
Bugfix release. The main improvement is fixed compilation with some versions of LDC.
dlib 0.3.1
Bugfix release.
Changes:
- Improved dlib.image, added interpolated pixel reading
- Added matrix addition and subtraction, tensorProduct now works with any matrix sizes
- Addressed many bugs in dlib.image and dlib.math.