Skip to main content

MtxVec icon

MtxVec Core Edition

One source for every platform

The full-source edition of MtxVec v6: compiled without external DLLs, in pure Pascal, C# or native C++, for Windows, Linux, macOS, iOS and Android. With a compiler switch you choose how MtxVec is included in your application.

Why the Core Edition

  • A small distribution, with no DLLs to ship
  • Platform-independent builds from one source
  • The complete source, with optional range checking in C#, C++ and Delphi
  • The full LAPACK translation, passing every LAPACK test with matching accuracy
  • A nearly full feature set — only sparse matrices and the higher-quality random generators are absent — that serves DSP Master and Stats Master fully
  • Automated tests

Where it runs

Delphi and C++Builder

100% Pascal source. With VCL it builds Windows applications without the DLLs; with FireMonkey it is the edition MtxVec runs as on macOS, iOS and Android. The Pascal code reaches its full speed from Delphi XE6 (Update 1).

C# and .NET

Dew.Math.Core is pure managed code with no native libraries to deploy: Windows, Linux, macOS, iOS and Android (Xamarin, MAUI), Uno, Avalonia, Blazor and WebAssembly, Unity within its IL2CPP/AOT limits, containers, and plugin hosts such as Revit, AutoCAD, Rhino, LabVIEW and MATLAB interop — wherever unmanaged deployment is not allowed. It keeps Dew.Math's programming model — vectors, matrices, subranges, views and capacity, operator overloads, complex numbers and the expression parser — with linear algebra (QR, LU, SVD, eigenvalues), the probability distributions, the special functions, and the optimizers Nelder-Mead, Marquardt with numerical derivatives, BFGS, conjugate gradient and trust region. It uses .NET's own vector support (AVX2, AVX-512), with BLAS accelerated inside .NET, and shares every namespace and class with the accelerated packages, so you swap the package before you deploy. It aims at portability rather than peak speed — the lowest-dependency baseline for shared code — and suits plugins and sandboxes, and long-running simulation engines, model servers and streaming pipelines, where predictable allocation matters. Dew.Lab.Studio.Core bundles it with Dew.Signal.Core and Dew.Stats.Core.

Native C++

The Core Edition as standard-compliant C++11 source — Dew.Math, Dew.Signal and Dew.Stats, the same engine as in Delphi and C# — compiled into your application without external DLLs.

Audio on Android and iOS

TSignalCoreAudioIn and TSignalCoreAudioOut record and play audio on Android (AudioRecord, AudioTrack) and iOS (RemoteIO), so a whole audio application is debugged on Windows and only deployed to the device. DSP Master also gains from the faster FFT and dot products.

Speed without the DLLs

The pure code runs slower than its DLL-based counterpart, but ships without it. According to our tests an iPhone runs CPU code about 10× faster than a high-end Android device, close to a Windows desktop application without special optimizations.

DeviceVector (ms)FFT (ms)
iPad (A9)6 acc14 acc · 90 no acc
iPhone 5s (A7)9 acc · 18 no acc, libm37 acc · 156 no acc
iPhone 12 (A14)1.8–2.7 acc7.7–14 acc
Mac Mini M1 (2020)2–36–7
Huawei P10 Lite22 libm200
LG V700120 libm400
Core i5-3320M0.83 acc2.9 acc
Core i5-46700.3 acc · 2.5 no acc1 acc · 27 no acc
Core i7-7820X0.21 acc · 1.7 no acc0.51 acc · 17 no acc

Vector: c[i] := sqrt(sqr(a[i]) + sqr(b[i])) over 512 values, 1024 times; FFT: 1024 real samples to complex, 1024 times. One CPU core, single precision; "acc" means with the accelerated libraries, "no acc" the Core Edition's own code. Clocks: iPad A9 1.85 GHz, iPhone 5s A7 1.3 GHz (dual core), iPhone 12 A14 3 GHz, Huawei P10 Lite 2.4 GHz (Cortex-A53, 4 cores), LG V700 1.2 GHz (Qualcomm ARMv7, 4 cores), Core i5-3320M 2.6 GHz (2 cores), Core i5-4670 3.7 GHz (4 cores), Core i7-7820X 4 GHz (8 cores).

Try the Core Edition

The Delphi and C++Builder trials come in Core editions for VCL and FireMonkey; for C#, install Dew.Math.Core from NuGet. Leaving out the DLLs takes a license with source code.