0

I have developed a MATLAB program with Visual C++. I am using Intel® Integrated Performance Primitives because speed of program is important issue and I have done a lot of efforts for implementing some MATLAB functions. For example, for Min and Max functions over a vector i use ippsMaxIndx_32f; but, there is function in MATLAB like Find. Here is a description of the Find method in MATLAB:

Description I need a function which implements this find function of MATLAB with high speed.

Are there any functions inside Intel Ipp, that works like the Find function in MATLAB?

Ben
  • 3,012
  • 1
  • 21
  • 25
saeed
  • 2,477
  • 2
  • 23
  • 40

2 Answers2

1

I've never heard of a comprehensive port of matlab functionality to C++. That being said, almost everything matlab does exists within a C/C++ library somewhere, some off the top of my head:

LAPACK, BLAS, and there are a few good implementations, the most notable (free) one being ATLAS.

FFT is implemented in matlab via the fftw library

There are loads of fast open-source image libraries out there, ie. interpolation, filtering.

There are really good OOP matrix libraries out there, boost has a nice one.\

After that, well figure out what you need and there is a good chance someone has implemented it in C/C++.

You can check to these to see if you can find the function you are looking for! As i am not sure for that.

Saqlain
  • 17,490
  • 4
  • 27
  • 33
  • just have look to following link and see what Intel provides i think it might provide a find function as well i have search and could not find one maybe i don't understand some functions. http://software.intel.com/en-us/intel-ipp – saeed Feb 26 '13 at 11:23
  • this is commercial library, you need to go for opensource, though the link you shared provide "trial"but it may not have source code and might have binaries only, but you can verify after you got it. – Saqlain Feb 26 '13 at 11:26
0

I've used ippsFind_* and they have worked just fine.

Reunanen
  • 7,921
  • 2
  • 35
  • 57
  • i have checked this function before but i think it does not work over a vector with a specific criteria – saeed Feb 26 '13 at 11:28
  • What kind of specific criteria are we talking about? The functions do work on vectors - they return the index of the first hit and if you want to continue searching for more hits, just call the function again with pSrc updated to point just after the previous hit. – Reunanen Feb 26 '13 at 11:35
  • how would u implement this ? Some operations on a vector x = [11 0 33 0 55]'; find(x) ans = 1 3 5 find(x == 0) ans = 2 4 find(0 < x & x < 10*pi) ans = 1 – saeed Feb 26 '13 at 11:40
  • You can first call ippsThreshold (http://software.intel.com/sites/products/documentation/hpc/ipp/ipps/ipps_ch5/functn_Threshold_LT.html) and then ippsFind on its output. – Reunanen Feb 26 '13 at 11:51