Update
Site Index:
OptiVec home
VectorLib
MatrixLib
CMATH
Download
Order
Support |
Links
Downloads / Updates for Registered Users
Current version: 5.2
Registered users of our products can download the present full versions of OptiVec and CMATH from this page. In addition, here our customers who bought through an electronic distribution channel can get the rarely used libraries
which are omitted from the electronically distributed versions. In order to reduce the download times, all packages are split into several parts, consisting of
a) the documentation,
b) the include-files (C/C++ versions only), and
c) C++ libraries or Pascal/Delphi units for each combination of memory model and processor supported. As specified below, some rarely needed libraries are not available here, but will be sent by email upon request.
The library and unit ZIP files are password-protected. Our registered users get the passwords by e-mail. If you are a registered user and did not receive the password, please drop us a note at optivec%at%gmx.de (replace %at% by the @ sign)! Consult the documentation of your unzip program about how to uncompress password-protected files. In most cases, you will be automatically asked for the password through a popup dialogue.
You should install the files from this page over any previous version (trial or full) of OptiVec or CMATH; in other words, you should not deinstall your previous version, but simply overwrite it. If you do not have any previous version installed, you have to manually create the directories mentioned in the description below.
If you install the registered version over the Shareware version, be sure to recompile your project(s). (Remember that applications, containing functions of the Shareware version, cease functioning after 90 days and shall not run at all on your client's computers!)
Directly jump to the library selection tables:
New features in v5.2:
- Debug library, detecting violations of vector / matrix boundaries, which would otherwise lead to hard-to-locate memory faults. We strongly recommend to use the debug libraries in the initial development phases of an application using OptiVec. Only after dimension consistency has been checked by the debug library and you can be sure no memory issues remain, you should switch over to the high-performance libraries. Read more.
- CMATH for Delphi:
From Delphi 2006 on, the operators + - * / = := <> are available. As the older Delphi versions did not allow the implementation of these operators, the CMATH versions for Delphi 4 through 2005 continue to offer only the functions add, mul as a replacement for the operators. To ensure portability, these functions remain available also in CMATH for Delphi 2006 or higher.
- Bug fixes:
- OptiVec for Delphi: The non-linear fitting functions were improved, mainly with respect to errors in the weighted variants and with respect to stability of the "breakout" operation.
- OptiVec for Visual C++: Several bugs in VQI_ functions were fixed.
New features in v5.1:
- Multi-processor library also for Delphi. All arithmetic functions are now also optimized for multi-core.Read here for details and considerations about using OptiVec on multi-processor computers.
- P8 version, using the SSE3 instruction set of Core2Duo, AMD64x2 (and the latest series of Pentium 4) for faster complex-number multiplications in a variety of functions.
- You should call V_initMT at the beginning of any multi-thread applications making use of OptiVec functions. Previously, this was necessary only if you used the Multi-Core libraries of OptiVec. Now, V_initMT also performs initializations which avoid previously encountered thread-safety issues inside the memory management functions like V?_vector.
- Calculation of the center of gravity, both for vectors and for matrices:
V?_centerOfGravityInd, V?_centerOfGravityV,
M?_centerOfGravityInd, M?_centerOfGravityV.
The V?_centerOfGravityInd variant takes the element indices as axis, whereas V?_centerOfGravityV takes a specified X axis.
- The speed of the Fourier Transform routines was improved once more. This latest tweak makes itself felt mostly for smaller vectors (VF_FFT) and for 2D FFT (MF_FFT).
- Alternative forms of the functions for element rotations. The new forms take the necessary buffer memory as an argument instead of requesting it from the operating system each time they are called:
V?_rotate_buf,
M?_Rows_rotate_buf, M?_Cols_rotate_buf.
- VecObj: integralV is now a member function of the vector Y, whose integral over X is being evaluated. X is passed as argument. Previously, this function was defined the other way round.
- Bug fixes in
VE_polyinterpol,
VE_ratinterpol,
MC?_read (which would occasionally fail if the input numbers were written with braces or brackets)
- C/C++, Multi-Core Libraries only: Bug fixes in:
V?_powexp,
V?x_pow2, V?x_pow10
- P7 libraries only: bug fixes in
MD_TmulM (large MY with uneven lenY caused an error),
MD_SVsolve, affecting also MD_solveBySVD, MD_safeSolve, VD_linfit, and VD_nonlinfit: failed with non-aligned vectors (e.g., static arrays)
v5.0:
- Multi-processor optimized library, scaling with the number of available processor cores for C/C++.
- v4.4.0 - 4.4.5:
- The non-linear data-fitting functions are now thread-safe
- Visual C++ version only: compatibility problem with <crtdbg.h> fixed. You can now detect memory leaks by including <crtdbg.h> with the _CRTDBG_MAP_ALLOC option on. If you do so, any calls to the VecObj member function X.free() must be replaced by the synonymous member function X.dealloc();
- Reorganization of the Win32 libraries for C++ compilers:
A base library is specific for the compiler version and target configuration.
The main library contains the functions which are independent from the target configuration, but are optimized for different processors.
- Bug fixes in:
M?_mulMT and M?_TmulM (affected matrix with a single column only),
VLI_not (Pentium 4 only),
VFx_exp (Pentium III, 4 only),
MDp_FFTtoC (Pentium III, 4 only),
MDsym_eigenvalues (Visual C++ version only).
- Version 4 introduced:
P7 version (Pentium 4+). This version extends the benefits of the earlier P6 version to double-precision and integer operations. It is, on the avarage, 20-30% faster than the 486DX/Pentium version, but will not run on CPUs lower than Pentium 4. The scalar functions of CMATH do not profit from the enhanced vector possibilities of the SSE2 command set of the Pentium 4 chip; therefore, no separate P7 version is available for CMATH. For CMATH, use the P6 version instead.
- Mixed floating-point/integer Arithmetic operations like VF_addVI or VD_mulVUS
- The rounding-to-integer functions now employ "silent" saturation instead of generating an error message in the case of overflow.
- Bug fix in the P6 version of MF_LUdecompose. This bug affected also MF_inv and the single-precision data fitting functions of the P6 version.
Please choose which product you want to download / update:
Update OptiVec for Borland C/C++
-
Please download and unzip the documentation, OVDOC.ZIP, or the German version, OVDOCD.ZIP, into the OptiVec root directory on your computer.
- Optionally, you may also download the demo programs, DEMOS.ZIP, again into the OptiVec root directory.
- Now please download and unzip OVINCL.ZIP, which goes into OPTIVEC/INCLUDE.
- Download all needed library ZIP files from the table below, store them in OPTIVEC/LIB and unzip them.
The P6, P7, P8 versions need RAD Studio, BDS, BCB 5 or higher, or BC++ 5.x. Windows XP or Vista is required, as well.
The Large-Vector Versions are optimized for single-processor systems for vectors and matrices larger than the size of the second-level cache of your mainboard. In these versions, the cache is bypassed during load and store operations on vector/matrix elements. A heavy penalty results from their mis-use for smaller vectors or matrices which would have fit into the cache.
The libraries for multi-processor systems run on workstations with discrete processors as well as on multi-core processors like AMD64x2, Core2 Duo and so on.
The libraries for down-compatibility with 386+387 as well as for all 16-bit models and for 286 fossiles are no longer updated. The old versions are, however, still available upon request. We'll send you by email what you need.
- Additionally, you need to download and link either of the following base libraries:
| Configuration | OptiVec base library |
| BC runtime library static | VCFS |
| BC runtime library as DLL | VCFD |
- After uncompressing, you can delete all .ZIP files you downloaded.
Update CMATH for Borland C/C++
-
Please download and unzip the documentation, CMDOC.ZIP, or the German version, CMDOCD.ZIP into the CMATH root directory on your computer.
- Now please download and unzip CMINCL.ZIP, which goes into CMATH/INCLUDE.
- Download all needed library ZIP files from the table below, store them in CMATH/LIB and unzip them.
| Platform | 486DX / Pentium / Athlon | Pentium III (only BC++ 5.x, BCB 5 or higher!) |
| Windows 95/98/ME/NT/2000/XP/Vista |
CMATHF4W | CMATHF6W |
The libraries for down-compatibility with 386+387 are still available. Upon request, we'll send you by email what you need.
- Additionally, you need to download and link either of the following base libraries:
| Configuration | CMATH base library |
| BC runtime library static | CMATHFS |
| BC runtime library as DLL | CMATHFD |
- After uncompressing, you can delete all .ZIP files you downloaded.
Update OptiVec for Microsoft Visual C++
- Please download and unzip the documentation, OVDOC.ZIP, or the German version, OVDOCD.ZIP, into the OptiVec root directory on your computer.
- Optionally, you may also download the demo programs, DEMOS.ZIP, again into the OptiVec root directory.
- Now please download and unzip OVINCL.ZIP, which goes into OPTIVEC/INCLUDE.
- Download all needed library ZIP files from the table below, store them in OPTIVEC/LIB and unzip them.
The Large-Vector Versions are optimized for single-processor systems for vectors and matrices larger than the size of the second-level cache of your mainboard. In these versions, the cache is bypassed during load and store operations on vector/matrix elements. A heavy penalty results from their mis-use for smaller vectors or matrices which would have fit into the cache.
The libraries for multi-processor systems run on workstations with discrete processors as well as on multi-core processors like AMD64x2, Intel Core2 Duo and so on.
- Additionally, you need to download and link either of the following base libraries:
| Visual C++ version | Configuration | OptiVec base library |
| Visual C++ 5, 6, 2003 | Single-Thread Debug | OVVCSD |
| Visual C++ 5, 6, 2003 | Single-Thread Release | OVVCSR | |
| Visual C++ 5, 6, 2003 | Multi-Thread Debug | OVVCMTD |
| Visual C++ 5, 6, 2003 | Multi-Thread Release | OVVCMTR |
| Visual C++ 5, 6, 2003 | Multi-Thread, MFC as DLL, Debug | OVVCMDD |
| Visual C++ 5, 6, 2003 | Multi-Thread, MFC as DLL, Release | OVVCMDR |
| Visual Studio 2005 | Multi-Thread Debug | OVVC8MTD |
| Visual Studio 2005 | Multi-Thread Release | OVVC8MTR |
| Visual Studio 2005 | Multi-Thread, MFC as DLL, Debug | OVVC8MDD |
| Visual Studio 2005 | Multi-Thread, MFC as DLL, Release | OVVC8MDR |
- After uncompressing them, you can delete all .ZIP files you downloaded.
Update CMATH for Microsoft Visual C++
- Please download and unzip the documentation, CMDOC.ZIP, or the German version, CMDOCD.ZIP, into the CMATH root directory on your computer.
- Now please download and unzip CMINCL.ZIP, which goes into CMATH/INCLUDE.
- Download all needed library ZIP files from the table below, store them in CMATH/LIB and unzip them.
| Platform | 486DX/Pentium/Athlon | Pentium III+ |
| Windows 95/98/ME/NT/2000/XP/Vista | CMVC4 | CMVC6 |
- Additionally, you need to download and link either of the following base libraries:
| Visual C++ version | Configuration | CMATH base library |
| Visual C++ 5, 6, 2003 | Single-Thread Debug | CMVCSD |
| Visual C++ 5, 6, 2003 | Single-Thread Release | CMVCSR | |
| Visual C++ 5, 6, 2003 | Multi-Thread Debug | CMVCMTD |
| Visual C++ 5, 6, 2003 | Multi-Thread Release | CMVCMTR |
| Visual C++ 5, 6, 2003 | Multi-Thread, MFC as DLL, Debug | CMVCMDD |
| Visual C++ 5, 6, 2003 | Multi-Thread, MFC as DLL, Release | CMVCMDR |
| Visual Studio 2005 | Multi-Thread Debug | CMVC8MTD |
| Visual Studio 2005 | Multi-Thread Release | CMVC8MTR |
| Visual Studio 2005 | Multi-Thread, MFC as DLL, Debug | CMVC8MDD |
| Visual Studio 2005 | Multi-Thread, MFC as DLL, Release | CMVC8MDR |
- After uncompressing them, you can delete all .ZIP files you downloaded.
Update OptiVec for Borland Delphi
- Please download and unzip the documentation, OVDOC.ZIP, or the German version, OVDOCD.ZIP, into the OptiVec for Delphi root directory on your computer.
- Optionally, you may also download the demo programs, DEMOSD.ZIP, again into the OptiVec root directory.
- Download and unzip the needed library ZIP files from the table below. If you previously used the Shareware version, be sure to overwrite the Shareware units with the registered ones downloaded here!
The Large-Vector Versions are for vectors and matrices larger than the size of the second-level cache of your mainboard. In these versions, the cache is bypassed during load and store operations on vector/matrix elements. A heavy penalty results from their mis-use for smaller vectors or matrices which would have fit into the cache.
The units back-compatible to 386+387 are still available upon request: We'll send you by email what you need.
- After uncompressing them, you can delete all .ZIP files you downloaded.
Update CMATH for Borland Delphi
- Please download and unzip the documentation, CMDDOC.ZIP, or the German version, CMDOCD.ZIP, into the CMATH for Delphi root directory on your computer.
- Download and unzip the needed library ZIP files from the table below. Be sure to overwrite the units in CMATH/LIB4 with the units contained in CMDxLIB4.ZIP, and the units in CMATH/LIB6 with the units in CMDxLIB6.ZIP.
The units back-compatible to 386+387 are still available upon request: We'll send you by email what you need.
- After uncompressing them, you can delete all .ZIP files you downloaded.
Copyright © 1998-2008 OptiCode - Dr. Martin Sander Software Development
|