11-17-2016 03:10 AM
Hi,
I have been looking for a library which can be used for array manipulation in Labwindows cvi or C. For example , Labview has many array functions such as
I'm relatively new to CVI and I haven't found any thing like that in Labwindows cvi. Are there any libraries available for these type of operations, so that a programmer need not create a separate function for each of these in the source code file, instead simply include the header file of an appropriate library for array manipulation.
If someone has already compiled a library or has any third party libraries please share those
Best Regards
Deepu Jacob.
11-17-2016 03:18 AM
CVI already comes with a set of functions for 1D or 2D array operations: depending on the CVI version you have purchased, you can find them in the Analysis Library (CVI Base version) or in the Advanced Analysis Library (CVI Full version).
I suggest you look at that library that may solve all of your problems.
11-17-2016 03:38 AM
Hello Roberto,
Thanks. I missed those while searching in CVI. i see some handlful functions in the library you just pointed. However please share if there are any 'non-cvi' libraries also.
Thanks again
Deepu Jacob
11-17-2016 04:01 AM
There may be several libraries in the C world but I was always confortable with the built-in analysis library.
11-18-2016 12:01 AM
Math library is a critical component so your source needs to be trustworthy and the code should be tested a little.
I do not know the depth of testing NI performs on those libraries but at least having a somewhat large user base helps finding bugs and problems quicker.
11-18-2016 09:15 AM
You didn't specify the type of the data you need sorted. the 1D and 2D functions of the CVI libraries deal only with double. If you need generic C types or even your own typedef, there are many C libraries that can do that. Look in github... Note that for a certain level of complexity (if you keep inserting / removing elements in the middle of the array), it's probably better to use linked lists, which you can then convert to arrays.
Note also that for raw speed array manipulation, you should look at CUDA (computation done on the graphic card instead of the CPU).