ippch.h 43 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037
  1. /* /////////////////////////////////////////////////////////////////////////////
  2. //
  3. // INTEL CORPORATION PROPRIETARY INFORMATION
  4. // This software is supplied under the terms of a license agreement or
  5. // nondisclosure agreement with Intel Corporation and may not be copied
  6. // or disclosed except in accordance with the terms of that agreement.
  7. // Copyright(c) 2002-2009 Intel Corporation. All Rights Reserved.
  8. //
  9. //
  10. // Intel(R) Integrated Performance Primitives
  11. // String Manipulations Library (ippCH)
  12. //
  13. */
  14. #if !defined( __IPPCH_H__ ) || defined( _OWN_BLDPCS )
  15. #define __IPPCH_H__
  16. #ifndef __IPPDEFS_H__
  17. #include "ippdefs.h"
  18. #endif
  19. #ifdef __cplusplus
  20. extern "C" {
  21. #endif
  22. #if !defined( _OWN_BLDPCS )
  23. #if defined (_WIN32_WCE) && defined (_M_IX86) && defined (__stdcall)
  24. #define _IPP_STDCALL_CDECL
  25. #undef __stdcall
  26. #endif
  27. typedef struct {
  28. void *pFind;
  29. int lenFind;
  30. } IppRegExpFind;
  31. struct RegExpState;
  32. typedef struct RegExpState IppRegExpState;
  33. typedef enum {
  34. ippFmtASCII = 0,
  35. ippFmtUTF8
  36. } IppRegExpFormat;
  37. #endif /* _OWN_BLDPCS */
  38. /* /////////////////////////////////////////////////////////////////////////////
  39. ////////////////////////////////////////////////////////////////////////////////
  40. // Functions declarations
  41. ////////////////////////////////////////////////////////////////////////////////
  42. ///////////////////////////////////////////////////////////////////////////// */
  43. /* /////////////////////////////////////////////////////////////////////////////
  44. // Name: ippchGetLibVersion
  45. // Purpose: getting of the library version
  46. // Returns: the structure of information about version
  47. // of ippCH library
  48. // Parameters:
  49. //
  50. // Notes: not necessary to release the returned structure
  51. */
  52. IPPAPI( const IppLibraryVersion*, ippchGetLibVersion, (void) )
  53. /* /////////////////////////////////////////////////////////////////////////////
  54. // String Functions
  55. ///////////////////////////////////////////////////////////////////////////// */
  56. /* /////////////////////////////////////////////////////////////////////////////
  57. // Name: ippsFind_8u ippsFind_16u
  58. // ippsFindC_8u ippsFindC_16u
  59. // ippsFindRev_8u ippsFindRev_16u
  60. // ippsFindRevC_8u ippsFindRevC_16u
  61. //
  62. // Purpose: Finds the match for string of elements or single element
  63. // within source string in direct or reverse direction
  64. //
  65. // Arguments:
  66. // pSrc - pointer to the source string
  67. // len - source string length
  68. // pFind - pointer to the searching string
  69. // lenFind - searching string length
  70. // valFind - searching element
  71. // pIndex - pointer to the result index:
  72. // *pIndex = index of first occurrence ;
  73. // *pIndex = -1 if no match;
  74. //
  75. // Return:
  76. // ippStsNoErr Ok
  77. // ippStsNullPtrErr pSrc, pFind or pIndex are NULL
  78. // ippStsLengthErr len or lenFind are negative
  79. */
  80. IPPAPI (IppStatus, ippsFind_8u, (const Ipp8u* pSrc, int len,
  81. const Ipp8u* pFind, int lenFind,
  82. int *pIndex))
  83. IPPAPI (IppStatus, ippsFind_16u, (const Ipp16u* pSrc, int len,
  84. const Ipp16u* pFind, int lenFind,
  85. int *pIndex))
  86. IPPAPI (IppStatus, ippsFindC_8u, (const Ipp8u* pSrc, int len,
  87. Ipp8u valFind, int *pIndex))
  88. IPPAPI (IppStatus, ippsFindC_16u, (const Ipp16u* pSrc, int len,
  89. Ipp16u valFind, int *pIndex))
  90. IPPAPI (IppStatus, ippsFindRev_8u, (const Ipp8u* pSrc, int len,
  91. const Ipp8u* pFind, int lenFind,
  92. int *pIndex))
  93. IPPAPI (IppStatus, ippsFindRev_16u, (const Ipp16u* pSrc, int len,
  94. const Ipp16u* pFind, int lenFind,
  95. int *pIndex))
  96. IPPAPI (IppStatus, ippsFindRevC_8u, (const Ipp8u* pSrc, int len,
  97. Ipp8u valFind, int *pIndex))
  98. IPPAPI (IppStatus, ippsFindRevC_16u, (const Ipp16u* pSrc, int len,
  99. Ipp16u valFind, int *pIndex))
  100. /* /////////////////////////////////////////////////////////////////////////////
  101. // Name: ippsFind_Z_8u ippsFind_Z_16u
  102. // ippsFindC_Z_8u ippsFindC_Z_16u
  103. //
  104. // Purpose: Finds the match for zero-ended string of elements or single element
  105. // within source zero-ended string in direct or reverse direction
  106. //
  107. // Arguments:
  108. // pSrcZ - pointer to the source zero-ended string
  109. // pFindZ - pointer to the searching zero-ended string
  110. // valFind - searching element
  111. // pIndex - pointer to the result index:
  112. // *pIndex = index of first occurrence;
  113. // *pIndex = -1 if no match;
  114. //
  115. // Return:
  116. // ippStsNoErr Ok
  117. // ippStsNullPtrErr pSrcZ, pFindZ or pIndex are NULL
  118. */
  119. IPPAPI (IppStatus, ippsFind_Z_8u, (const Ipp8u* pSrcZ,
  120. const Ipp8u* pFindZ, int *pIndex))
  121. IPPAPI (IppStatus, ippsFind_Z_16u, (const Ipp16u* pSrcZ,
  122. const Ipp16u* pFindZ, int *pIndex))
  123. IPPAPI (IppStatus, ippsFindC_Z_8u, (const Ipp8u* pSrcZ,
  124. Ipp8u valFind, int *pIndex))
  125. IPPAPI (IppStatus, ippsFindC_Z_16u, (const Ipp16u* pSrcZ,
  126. Ipp16u valFind, int *pIndex))
  127. /* /////////////////////////////////////////////////////////////////////////////
  128. // Name: ippsCompare_8u ippsCompare_16u
  129. //
  130. // Purpose: Compares two strings element-by-element
  131. //
  132. // Arguments:
  133. // pSrc1 - pointer to the first string
  134. // pSrc2 - pointer to the second string
  135. // len - string length to compare
  136. // pResult - pointer to the result:
  137. // *pResult = 0 if src1 == src2;
  138. // *pResult = >0 if src1 > src2;
  139. // *pResult = <0 if src1 < src2;
  140. //
  141. // Return:
  142. // ippStsNoErr Ok
  143. // ippStsNullPtrErr pSrc1, pSrc2 or pResult are NULL
  144. // ippStsLengthErr len is negative
  145. */
  146. IPPAPI (IppStatus, ippsCompare_8u, (const Ipp8u* pSrc1, const Ipp8u* pSrc2,
  147. int len, int *pResult))
  148. IPPAPI (IppStatus, ippsCompare_16u, (const Ipp16u* pSrc1, const Ipp16u* pSrc2,
  149. int len, int *pResult))
  150. /* /////////////////////////////////////////////////////////////////////////////
  151. // Name: ippsEqual_8u ippsEqual_16u
  152. //
  153. // Purpose: Compares two strings element-by-element
  154. //
  155. // Arguments:
  156. // pSrc1 - pointer to the first string
  157. // pSrc2 - pointer to the second string
  158. // len - string length to compare
  159. // pResult - pointer to the result:
  160. // *pResult = 1 if src1 == src2;
  161. // *pResult = 0 if src1 != src2;
  162. //
  163. // Return:
  164. // ippStsNoErr Ok
  165. // ippStsNullPtrErr pSrc1, pSrc2 or pResult are NULL
  166. // ippStsLengthErr len is negative
  167. */
  168. IPPAPI (IppStatus, ippsEqual_8u, (const Ipp8u* pSrc1, const Ipp8u* pSrc2,
  169. int len, int *pResult))
  170. IPPAPI (IppStatus, ippsEqual_16u, (const Ipp16u* pSrc1, const Ipp16u* pSrc2,
  171. int len, int *pResult))
  172. /* /////////////////////////////////////////////////////////////////////////////
  173. // Name: ippsTrimC_8u_I ippsTrimC_16u_I
  174. //
  175. // Purpose: Deletes an odd symbol at the end and the beginning of a string
  176. // in-place
  177. //
  178. // Arguments:
  179. // pSrcDst - pointer to the string
  180. // pLen - pointer to the string length:
  181. // *pLen = source length on input;
  182. // *pLen = destination length on output;
  183. // odd - odd symbol
  184. //
  185. // Return:
  186. // ippStsNoErr Ok
  187. // ippStsNullPtrErr pSrcDst or pLen are NULL
  188. // ippStsLengthErr *pLen is negative
  189. */
  190. IPPAPI (IppStatus, ippsTrimC_8u_I, (Ipp8u* pSrcDst, int* pLen, Ipp8u odd ))
  191. IPPAPI (IppStatus, ippsTrimC_16u_I, (Ipp16u* pSrcDst, int* pLen, Ipp16u odd ))
  192. /* /////////////////////////////////////////////////////////////////////////////
  193. // Name: ippsTrimC_8u ippsTrimC_16u
  194. //
  195. // Purpose: Deletes an odd symbol at the end and the beginning of a string
  196. //
  197. // Arguments:
  198. // pSrc - pointer to the source string
  199. // srcLen - source string length
  200. // odd - odd symbol
  201. // pDst - pointer to the destination string
  202. // pDstLen - pointer to the destination string length:
  203. // *pDstLen doesn't use as input value;
  204. // *pDstLen = destination length on output;
  205. //
  206. // Return:
  207. // ippStsNoErr Ok
  208. // ippStsNullPtrErr pSrcDst, pDst or pDstLen are NULL
  209. // ippStsLengthErr srcLen is negative
  210. */
  211. IPPAPI (IppStatus, ippsTrimC_8u, (const Ipp8u* pSrc, int srcLen, Ipp8u odd,
  212. Ipp8u* pDst, int* pDstLen ))
  213. IPPAPI (IppStatus, ippsTrimC_16u, (const Ipp16u* pSrc, int srcLen, Ipp16u odd,
  214. Ipp16u* pDst, int* pDstLen ))
  215. /* /////////////////////////////////////////////////////////////////////////////
  216. // Name: ippsUppercase_16u_I
  217. // ippsLowercase_16u_I
  218. // ippsUppercase_16u
  219. // ippsLowercase_16u
  220. //
  221. // Purpose: Forms an uppercase or lowercase version of the Unicode string
  222. //
  223. // Arguments:
  224. // pSrc - pointer to the source string
  225. // pDst - pointer to the destination string
  226. // pSrcDst - pointer to the string for in-place operation
  227. // len - string length
  228. //
  229. // Return:
  230. // ippStsNoErr Ok
  231. // ippStsNullPtrErr pSrc, pDst or pSrcDst are NULL;
  232. // ippStsLengthErr len is negative;
  233. */
  234. IPPAPI (IppStatus, ippsUppercase_16u_I,( Ipp16u* pSrcDst, int len ))
  235. IPPAPI (IppStatus, ippsLowercase_16u_I,( Ipp16u* pSrcDst, int len ))
  236. IPPAPI (IppStatus, ippsUppercase_16u, (const Ipp16u* pSrc, Ipp16u* pDst, int len))
  237. IPPAPI (IppStatus, ippsLowercase_16u, (const Ipp16u* pSrc, Ipp16u* pDst, int len))
  238. /* /////////////////////////////////////////////////////////////////////////////
  239. // Name: ippsUppercaseLatin_8u_I ippsUppercaseLatin_16u_I
  240. // ippsLowercaseLatin_8u_I ippsLowercaseLatin_16u_I
  241. // ippsLowercaseLatin_8u ippsUppercaseLatin_16u
  242. // ippsUppercaseLatin_8u ippsLowercaseLatin_16u
  243. //
  244. // Purpose: Forms an uppercase or lowercase version of the ASCII string
  245. //
  246. // Arguments:
  247. // pSrc - pointer to the source string
  248. // pDst - pointer to the destination string
  249. // pSrcDst - pointer to the string for in-place operation
  250. // len - string length
  251. //
  252. // Return:
  253. // ippStsNoErr Ok
  254. // ippStsNullPtrErr pSrc, pDst or pSrcDst are NULL;
  255. // ippStsLengthErr len is negative;
  256. */
  257. IPPAPI (IppStatus, ippsUppercaseLatin_8u_I, ( Ipp8u* pSrcDst, int len ))
  258. IPPAPI (IppStatus, ippsLowercaseLatin_8u_I, ( Ipp8u* pSrcDst, int len ))
  259. IPPAPI (IppStatus, ippsUppercaseLatin_16u_I,( Ipp16u* pSrcDst, int len ))
  260. IPPAPI (IppStatus, ippsLowercaseLatin_16u_I,( Ipp16u* pSrcDst, int len ))
  261. IPPAPI (IppStatus, ippsLowercaseLatin_8u, (const Ipp8u* pSrc, Ipp8u* pDst, int len))
  262. IPPAPI (IppStatus, ippsUppercaseLatin_8u, (const Ipp8u* pSrc, Ipp8u* pDst, int len))
  263. IPPAPI (IppStatus, ippsUppercaseLatin_16u, (const Ipp16u* pSrc, Ipp16u* pDst, int len))
  264. IPPAPI (IppStatus, ippsLowercaseLatin_16u, (const Ipp16u* pSrc, Ipp16u* pDst, int len))
  265. /* /////////////////////////////////////////////////////////////////////////////
  266. // Name: ippsHash_8u32u ippsHash_16u32u
  267. //
  268. // Purpose: Calculates hashed value so that different strings yield different
  269. // values:
  270. // for (i=0; i<len; i++) hash = (hash << 1) ^ src[i];
  271. //
  272. // Arguments:
  273. // pSrc - pointer to the source string
  274. // len - source string length
  275. // pHashVal - pointer to the result value
  276. //
  277. // Return:
  278. // ippStsNoErr Ok
  279. // ippStsNullPtrErr pSrc or pHashVal are NULL
  280. // ippStsLengthErr len is negative
  281. */
  282. IPPAPI (IppStatus, ippsHash_8u32u, (const Ipp8u* pSrc, int len, Ipp32u* pHashVal ))
  283. IPPAPI (IppStatus, ippsHash_16u32u, (const Ipp16u* pSrc, int len, Ipp32u* pHashVal ))
  284. /* /////////////////////////////////////////////////////////////////////////////
  285. // Name: ippsHashSJ2_8u32u ippsHashSJ2_16u32u
  286. //
  287. // Purpose: Calculates hashed value so that different strings yield different
  288. // values:
  289. // for (i=0; i<len; i++) hash =
  290. //
  291. // Arguments:
  292. // pSrc - pointer to the source string
  293. // len - source string length
  294. // pHashVal - pointer to the result value
  295. //
  296. // Return:
  297. // ippStsNoErr Ok
  298. // ippStsNullPtrErr pSrc or pHashVal are NULL
  299. // ippStsLengthErr len is negative
  300. */
  301. IPPAPI (IppStatus,ippsHashSJ2_8u32u, (const Ipp8u* pSrc, int len, Ipp32u* pHashVal))
  302. IPPAPI (IppStatus,ippsHashSJ2_16u32u, (const Ipp16u* pSrc, int len, Ipp32u* pHashVal))
  303. /* /////////////////////////////////////////////////////////////////////////////
  304. // Name: ippsHashMSCS_8u32u ippsHashMSCS_16u32u
  305. //
  306. // Purpose: Calculates hashed value so that different strings yield different
  307. // values:
  308. // for (i=0; i<len; i++) hash =
  309. //
  310. // Arguments:
  311. // pSrc - pointer to the source string
  312. // len - source string length
  313. // pHashVal - pointer to the result value
  314. //
  315. // Return:
  316. // ippStsNoErr Ok
  317. // ippStsNullPtrErr pSrc or pHashVal are NULL
  318. // ippStsLengthErr len is negative
  319. */
  320. IPPAPI (IppStatus,ippsHashMSCS_8u32u, (const Ipp8u* pSrc, int len, Ipp32u* pHashVal))
  321. IPPAPI (IppStatus,ippsHashMSCS_16u32u, (const Ipp16u* pSrc, int len, Ipp32u* pHashVal))
  322. /* /////////////////////////////////////////////////////////////////////////////
  323. // Name: ippsConcat_8u ippsConcat_16u
  324. //
  325. // Purpose: Concatenates two strings together
  326. //
  327. // Arguments:
  328. // pSrc1 - pointer to the first source string
  329. // len1 - first source string length
  330. // pSrc2 - pointer to the second source string
  331. // len2 - second source string length
  332. // pDst - pointer to the destination string
  333. //
  334. // Return:
  335. // ippStsNoErr Ok
  336. // ippStsNullPtrErr pSrc1, pSrc2 or pDst are NULL
  337. // ippStsLengthErr len1 or len2 are negative
  338. */
  339. IPPAPI (IppStatus, ippsConcat_8u, (const Ipp8u* pSrc1, int len1,
  340. const Ipp8u* pSrc2, int len2,
  341. Ipp8u* pDst))
  342. IPPAPI (IppStatus, ippsConcat_16u, (const Ipp16u* pSrc1, int len1,
  343. const Ipp16u* pSrc2, int len2,
  344. Ipp16u* pDst))
  345. /* /////////////////////////////////////////////////////////////////////////////
  346. // Name: ippsConcat_8u_D2L ippsConcat_16u_D2L
  347. //
  348. // Purpose: Concatenates several strings together
  349. //
  350. // Arguments:
  351. // pSrc - pointer to the array of source strings
  352. // srcLen - pointer to the array of source strings' lengths
  353. // numSrc - number of source strings
  354. // pDst - pointer to the destination string
  355. //
  356. // Return:
  357. // ippStsNoErr Ok
  358. // ippStsNullPtrErr pSrc, srcLen or pDst are NULL;
  359. // pSrc[i] is NULL for i < numSrc
  360. // ippStsLengthErr srcLen[i] is negative for i < numSrc
  361. // ippStsSizeErr numSrc is not positive
  362. */
  363. IPPAPI (IppStatus, ippsConcat_8u_D2L, (const Ipp8u* const pSrc[], const int srcLen[], int numSrc,
  364. Ipp8u* pDst ))
  365. IPPAPI (IppStatus, ippsConcat_16u_D2L, (const Ipp16u* const pSrc[], const int srcLen[], int numSrc,
  366. Ipp16u* pDst ))
  367. /* /////////////////////////////////////////////////////////////////////////////
  368. // Name: ippsConcatC_8u_D2L ippsConcatC_16u_D2L
  369. //
  370. // Purpose: Concatenates several strings together and separates them
  371. // by the symbol delimiter
  372. //
  373. // Arguments:
  374. // pSrc - pointer to the array of source strings
  375. // srcLen - pointer to the array of source strings' lengths
  376. // numSrc - number of source strings
  377. // delim - delimiter
  378. // pDst - pointer to the destination string
  379. //
  380. // Return:
  381. // ippStsNoErr Ok
  382. // ippStsNullPtrErr pSrc, srcLen or pDst are NULL;
  383. // pSrc[i] is NULL for i < numSrc
  384. // ippStsLengthErr srcLen[i] is negative for i < numSrc
  385. // ippStsSizeErr numSrc is not positive
  386. */
  387. IPPAPI (IppStatus, ippsConcatC_8u_D2L, (const Ipp8u* const pSrc[], const int srcLen[], int numSrc,
  388. Ipp8u delim, Ipp8u* pDst ))
  389. IPPAPI (IppStatus, ippsConcatC_16u_D2L, (const Ipp16u* const pSrc[], const int srcLen[], int numSrc,
  390. Ipp16u delim, Ipp16u* pDst ))
  391. /* /////////////////////////////////////////////////////////////////////////////
  392. // Name: ippsSplitC_8u_D2L ippsSplitC_16u_D2L
  393. //
  394. // Purpose: Splits source string to several destination strings
  395. // using the symbol delimiter; all delimiters are significant,
  396. // in the case of double delimiter empty string is inserted.
  397. //
  398. // Arguments:
  399. // pSrc - pointer to the source string
  400. // srcLen - source string length
  401. // delim - delimiter
  402. // pDst - pointer to the array of destination strings
  403. // dstLen - pointer to the array of destination strings' lengths
  404. // pNumDst - pointer to the number of destination strings:
  405. // *pNumDst = initial number of destination strings on input;
  406. // *pNumDst = number of splitted strings on output;
  407. //
  408. // Return:
  409. // ippStsNoErr Ok
  410. // ERRORS:
  411. // ippStsNullPtrErr pSrc, pDst, dstLen or pNumDst are NULL;
  412. // pDst[i] is NULL for i < number of splitted strings
  413. // ippStsLengthErr srcLen is negative;
  414. // dstLen[i] is negative for i < number of splitted strings
  415. // ippStsSizeErr *pNumDst is not positive
  416. // WARNINGS:
  417. // ippStsOvermuchStrings the initial number of destination strings is less
  418. // than the number of splitted strings;
  419. // number of destination strings is truncated to
  420. // initial number in this case
  421. // ippStsOverlongString the length of one of destination strings is less than
  422. // length of corresponding splitted string;
  423. // splitted string is truncated to destination length
  424. // in this case
  425. */
  426. IPPAPI (IppStatus, ippsSplitC_8u_D2L, (const Ipp8u* pSrc, int srcLen, Ipp8u delim,
  427. Ipp8u* pDst[], int dstLen[], int* pNumDst))
  428. IPPAPI (IppStatus, ippsSplitC_16u_D2L, (const Ipp16u* pSrc, int srcLen, Ipp16u delim,
  429. Ipp16u* pDst[], int dstLen[], int* pNumDst))
  430. /* /////////////////////////////////////////////////////////////////////////////
  431. // Name: ippsFindCAny_8u
  432. // ippsFindCAny_16u
  433. // ippsFindRevCAny_8u
  434. // ippsFindRevCAny_16u
  435. //
  436. // Purpose: Reports the index of the first/last occurrence in
  437. // the vector of any value in a specified array.
  438. //
  439. // Arguments:
  440. // pSrc - The pointer of vector to find.
  441. // len - The length of the vector.
  442. // pAnyOf - A pointer of array containing one or more values to seek.
  443. // lenFind - The length of array.
  444. // pIndex - The positive integer index of the first occurrence in
  445. // the vector where any value in pAnyOf was found;
  446. // otherwise, -1 if no value in pAnyOf was found.
  447. //
  448. // Return:
  449. // ippStsNoErr Ok
  450. // ippStsNullPtrErr Any of pointers is NULL.
  451. // ippStsLengthErr len or lenAnyOf are negative.
  452. */
  453. IPPAPI (IppStatus, ippsFindCAny_8u, ( const Ipp8u* pSrc, int len,
  454. const Ipp8u* pAnyOf, int lenAnyOf, int* pIndex ))
  455. IPPAPI (IppStatus, ippsFindCAny_16u, ( const Ipp16u* pSrc, int len,
  456. const Ipp16u* pAnyOf, int lenAnyOf, int* pIndex ))
  457. IPPAPI (IppStatus, ippsFindRevCAny_8u, ( const Ipp8u* pSrc, int len,
  458. const Ipp8u* pAnyOf, int lenAnyOf, int* pIndex ))
  459. IPPAPI (IppStatus, ippsFindRevCAny_16u, ( const Ipp16u* pSrc, int len,
  460. const Ipp16u* pAnyOf, int lenAnyOf, int* pIndex ))
  461. /* /////////////////////////////////////////////////////////////////////////////
  462. // Name: ippsReplaceC_8u
  463. // ippsReplaceC_16u
  464. //
  465. // Purpose: Replaces all occurrences of a specified value in
  466. // the vector with another specified value.
  467. //
  468. // Arguments:
  469. // pSrc - The pointer of vector to replace.
  470. // pDst - The ponter of replaced vector.
  471. // len - The length of the vector.
  472. // oldVal - A value to be replaced.
  473. // newVal - A value to replace all occurrences of oldVal.
  474. //
  475. // Return:
  476. // ippStsNoErr Ok
  477. // ippStsNullPtrErr Any of pointers is NULL.
  478. // ippStsLengthErr len is negative.
  479. */
  480. IPPAPI (IppStatus, ippsReplaceC_8u, ( const Ipp8u* pSrc, Ipp8u* pDst, int len,
  481. Ipp8u oldVal, Ipp8u newVal ))
  482. IPPAPI (IppStatus, ippsReplaceC_16u, ( const Ipp16u* pSrc, Ipp16u* pDst, int len,
  483. Ipp16u oldVal, Ipp16u newVal ))
  484. /* /////////////////////////////////////////////////////////////////////////////
  485. // Name: ippsTrimCAny_8u
  486. // ippsTrimCAny_16u
  487. // ippsTrimEndCAny_8u
  488. // ippsTrimEndCAny_16u
  489. // ippsTrimStartCAny_8u
  490. // ippsTrimStartCAny_16u
  491. //
  492. // Purpose: Removes all occurrences of a set of specified values
  493. // from:
  494. // TrimCAny - the beginning and end of the vector.
  495. // TrimEndCAny - the end of the vector.
  496. // TrimStartCAny - the beginning of the vector.
  497. //
  498. // Arguments:
  499. // pSrc - The pointer of src vector to remove.
  500. // srcLen - The length of the src vector.
  501. // pTrim - An array of values to be removed.
  502. // trimLen - The length of the array values.
  503. // pDst - The pointer of dst vector to result save.
  504. // pDstLen - The result length of the dst vector.
  505. //
  506. // Return:
  507. // ippStsNoErr Ok
  508. // ippStsNullPtrErr Any of pointers is NULL.
  509. // ippStsLengthErr srcLen or trimLen are negative.
  510. //
  511. // Note:
  512. // The length of the pDst should be sufficient;
  513. // if values not found, *pDstLen = srcLen.
  514. */
  515. IPPAPI (IppStatus, ippsTrimCAny_8u, ( const Ipp8u* pSrc, int srcLen,
  516. const Ipp8u* pTrim, int trimLen, Ipp8u* pDst, int* pDstLen ))
  517. IPPAPI (IppStatus, ippsTrimCAny_16u, ( const Ipp16u* pSrc, int srcLen,
  518. const Ipp16u* pTrim, int trimLen, Ipp16u* pDst, int* pDstLen ))
  519. IPPAPI (IppStatus, ippsTrimEndCAny_8u, ( const Ipp8u* pSrc, int srcLen,
  520. const Ipp8u* pTrim, int trimLen, Ipp8u* pDst, int* pDstLen ))
  521. IPPAPI (IppStatus, ippsTrimEndCAny_16u, ( const Ipp16u* pSrc, int srcLen,
  522. const Ipp16u* pTrim, int trimLen, Ipp16u* pDst, int* pDstLen ))
  523. IPPAPI (IppStatus, ippsTrimStartCAny_8u, ( const Ipp8u* pSrc, int srcLen,
  524. const Ipp8u* pTrim, int trimLen, Ipp8u* pDst, int* pDstLen ))
  525. IPPAPI (IppStatus, ippsTrimStartCAny_16u, ( const Ipp16u* pSrc, int srcLen,
  526. const Ipp16u* pTrim, int trimLen, Ipp16u* pDst, int* pDstLen ))
  527. /* /////////////////////////////////////////////////////////////////////////////
  528. // Name: ippsCompareIgnoreCase_16u
  529. //
  530. // Purpose: Compares two Unicode strings element-by-element
  531. //
  532. // Arguments:
  533. // pSrc1 - pointer to the first string
  534. // pSrc2 - pointer to the second string
  535. // len - string length to compare
  536. // pResult - pointer to the result:
  537. // *pResult = 0 if src1 == src2;
  538. // *pResult > 0 if src1 > src2;
  539. // *pResult < 0 if src1 < src2;
  540. //
  541. // Return:
  542. // ippStsNoErr Ok
  543. // ippStsNullPtrErr pSrc1, pSrc2 or pResult is NULL
  544. // ippStsLengthErr len is negative
  545. */
  546. IPPAPI (IppStatus, ippsCompareIgnoreCase_16u, (const Ipp16u* pSrc1, const Ipp16u* pSrc2, int len,
  547. int *pResult))
  548. /* /////////////////////////////////////////////////////////////////////////////
  549. // Name: ippsCompareIgnoreCaseLatin_8u
  550. // ippsCompareIgnoreCaseLatin_16u
  551. //
  552. // Purpose: Compares two ASCII strings element-by-element
  553. //
  554. // Arguments:
  555. // pSrc1 - pointer to the first string
  556. // pSrc2 - pointer to the second string
  557. // len - string length to compare
  558. // pResult - pointer to the result:
  559. // *pResult = 0 if src1 == src2;
  560. // *pResult > 0 if src1 > src2;
  561. // *pResult < 0 if src1 < src2;
  562. //
  563. // Return:
  564. // ippStsNoErr Ok
  565. // ippStsNullPtrErr pSrc1, pSrc2 or pResult is NULL
  566. // ippStsLengthErr len is negative
  567. */
  568. IPPAPI (IppStatus, ippsCompareIgnoreCaseLatin_8u, (const Ipp8u* pSrc1, const Ipp8u* pSrc2, int len,
  569. int *pResult))
  570. IPPAPI (IppStatus, ippsCompareIgnoreCaseLatin_16u, (const Ipp16u* pSrc1, const Ipp16u* pSrc2,
  571. int len, int *pResult))
  572. /* /////////////////////////////////////////////////////////////////////////////
  573. // Name: ippsInsert_8u_I ippsInsert_16u_I
  574. // ippsInsert_8u ippsInsert_16u
  575. //
  576. // Purpose: Inserts one string at a specified index position in other string
  577. //
  578. // Arguments:
  579. // pSrc - pointer to the source string
  580. // srcLen - source string length
  581. // pInsert - pointer to the string to be inserted
  582. // insertLen - length of the string to be inserted
  583. // pDst - pointer to the destination string
  584. // pSrcDst - pointer to the string for in-place operation
  585. // pSrcDstLen - pointer to the string length:
  586. // *pSrcDstLen = source length on input;
  587. // *pSrcDstLen = destination length on output;
  588. // startIndex - index of start position
  589. //
  590. // Return:
  591. // ippStsNoErr Ok
  592. // ippStsNullPtrErr pSrc, pInsert, pDst, pSrcDst or pSrcDstLen is NULL
  593. // ippStsLengthErr srcLen, insertLen, *pSrcDstLen or startIndex is negative Or
  594. // startIndex is greater than srcLen or *pSrcDstLen
  595. */
  596. IPPAPI (IppStatus, ippsInsert_8u_I, (const Ipp8u* pInsert, int insertLen, Ipp8u* pSrcDst,
  597. int* pSrcDstLen, int startIndex))
  598. IPPAPI (IppStatus, ippsInsert_16u_I, (const Ipp16u* pInsert, int insertLen, Ipp16u* pSrcDst,
  599. int* pSrcDstLen, int startIndex))
  600. IPPAPI (IppStatus, ippsInsert_8u, (const Ipp8u* pSrc, int srcLen, const Ipp8u* pInsert,
  601. int insertLen, Ipp8u* pDst, int startIndex))
  602. IPPAPI (IppStatus, ippsInsert_16u, (const Ipp16u* pSrc, int srcLen, const Ipp16u* pInsert,
  603. int insertLen, Ipp16u* pDst, int startIndex))
  604. /* /////////////////////////////////////////////////////////////////////////////
  605. // Name: ippsRemove_8u_I ippsRemove_16u_I
  606. // ippsRemove_8u ippsRemove_16u
  607. //
  608. // Purpose: Deletes a specified number of characters from the string
  609. // beginning at a specified position.
  610. //
  611. // Arguments:
  612. // pSrc - pointer to the source string
  613. // srcLen - source string length
  614. // pDst - pointer to the destination string
  615. // pSrcDst - pointer to the string for in-place operation
  616. // pSrcDstLen - pointer to the string length:
  617. // *pSrcDstLen = source length on input;
  618. // *pSrcDstLen = destination length on output;
  619. // startIndex - index of start position
  620. // len - number of characters to be deleted
  621. //
  622. // Return:
  623. // ippStsNoErr Ok
  624. // ippStsNullPtrErr pSrc, pDst, pSrcDst or pSrcDstLen are NULL
  625. // ippStsLengthErr srcLen, *pSrcDstLen, len or startIndex is negative Or
  626. // (startIndex + len) is greater than srcLen or *pSrcDstLen
  627. */
  628. IPPAPI (IppStatus, ippsRemove_8u_I, (Ipp8u* pSrcDst, int* pSrcDstLen, int startIndex, int len))
  629. IPPAPI (IppStatus, ippsRemove_16u_I, (Ipp16u* pSrcDst, int* pSrcDstLen, int startIndex, int len))
  630. IPPAPI (IppStatus, ippsRemove_8u, (const Ipp8u* pSrc, int srcLen, Ipp8u* pDst, int startIndex,
  631. int len))
  632. IPPAPI (IppStatus, ippsRemove_16u, (const Ipp16u* pSrc, int srcLen, Ipp16u* pDst, int startIndex,
  633. int len))
  634. /* /////////////////////////////////////////////////////////////////////////////
  635. // Name: ippsRegExpInitAlloc
  636. // Purpose: Allocates necessary memory, compiles a pattern into the
  637. // internal form consideration corresponding options and
  638. // writes it into the pRegExpState
  639. //
  640. // Parameters:
  641. // pPattern Pointer to the pattern of regular expression
  642. // pOptions Pointer to options for compiling and executing
  643. // regular expression (possible values 'i','s','m','x','g')
  644. // It should be NULL if no options are required.
  645. // pRegExpState Pointer to the structure containing internal form of
  646. // a regular expression.
  647. // pErrOffset Pointer to offset into the pattern if compiling is break
  648. //
  649. // Return:
  650. // ippStsNoErr No errors
  651. // ippStsNullPtrErr One or several pointer(s) is NULL
  652. // ippStsMemAllocErr Can't allocate memory for pRegExpState
  653. // ippStsRegExpOptionsErr Options are incorrect
  654. // ippStsRegExpQuantifierErr Error caused by using wrong quantifier
  655. // ippStsRegExpGroupingErr Error caused by using wrong grouping
  656. // ippStsRegExpBackRefErr Error caused by using wrong back reference
  657. // ippStsRegExpChClassErr Error caused by using wrong character class
  658. // ippStsRegExpMetaChErr Error caused by using wrong metacharacter
  659. //
  660. */
  661. IPPAPI(IppStatus, ippsRegExpInitAlloc, ( const char* pPattern, const char* pOptions,
  662. IppRegExpState** ppRegExpState, int* pErrOffset ))
  663. /* /////////////////////////////////////////////////////////////////////////////
  664. // Name: ippsRegExpGetSize
  665. // Purpose: Computes the size of necessary memory (in bytes) for
  666. // structure containing internal form of regular expression
  667. //
  668. // Parameters:
  669. // pPattern Pointer to the pattern of regular expression
  670. // pRegExpStateSize Pointer to the computed size of structure containing
  671. // internal form of regular expression
  672. //
  673. // Return:
  674. // ippStsNullPtrErr One or several pointer(s) is NULL
  675. // ippStsNoErr No errors
  676. //
  677. */
  678. IPPAPI(IppStatus, ippsRegExpGetSize, ( const char* pPattern, int* pRegExpStateSize ))
  679. /* /////////////////////////////////////////////////////////////////////////////
  680. // Name: ippsRegExpInit
  681. // Purpose: Compiles a pattern into the internal form consideration
  682. // corresponding options and writes it into the pRegExpState
  683. //
  684. // Parameters:
  685. // pPattern Pointer to the pattern of regular expression
  686. // pOptions Pointer to options for compiling and executing
  687. // regular expression (possible values 'i','s','m','x','g')
  688. // It should be NULL if no options are required.
  689. // pRegExpState Pointer to the structure containing internal form of
  690. // a regular expression.
  691. // pErrOffset Pointer to offset into the pattern if compiling is break
  692. //
  693. // Return:
  694. // ippStsNoErr No errors
  695. // ippStsNullPtrErr One or several pointer(s) is NULL
  696. // ippStsRegExpOptionsErr Options are incorrect
  697. // ippStsRegExpQuantifierErr Error caused by using wrong quantifier
  698. // ippStsRegExpGroupingErr Error caused by using wrong grouping
  699. // ippStsRegExpBackRefErr Error caused by using wrong back reference
  700. // ippStsRegExpChClassErr Error caused by using wrong character class
  701. // ippStsRegExpMetaChErr Error caused by using wrong metacharacter
  702. //
  703. */
  704. IPPAPI(IppStatus, ippsRegExpInit, ( const char* pPattern, const char* pOptions,
  705. IppRegExpState* pRegExpState, int* pErrOffset ))
  706. /* /////////////////////////////////////////////////////////////////////////////
  707. // Name: ippsRegExpSetMatchLimit
  708. // Purpose: Changes initial value of the matches kept in stack
  709. //
  710. // Parameters:
  711. // matchLimit New value of the matches kept in stack
  712. // pRegExpState Pointer to the structure containing internal form of
  713. // a regular expression
  714. //
  715. // Return:
  716. // ippStsNullPtrErr Pointer is NULL
  717. // ippStsNoErr No errors
  718. //
  719. */
  720. IPPAPI(IppStatus, ippsRegExpSetMatchLimit, ( int matchLimit, IppRegExpState* pRegExpState ))
  721. /* /////////////////////////////////////////////////////////////////////////////
  722. // Name: ippsRegExpSetFormat
  723. // Purpose: Changes initial value of the matches kept in stack
  724. //
  725. // Parameters:
  726. // fmt New source encoding mode
  727. // pRegExpState Pointer to the structure containing internal form of
  728. // a regular expression
  729. //
  730. // Return:
  731. // ippStsNullPtrErr Pointer is NULL.
  732. // ippStsRangeErr When
  733. // ippStsNoErr No errors
  734. //
  735. */
  736. IPPAPI(IppStatus, ippsRegExpSetFormat, ( IppRegExpFormat fmt, IppRegExpState* pRegExpState ))
  737. /* /////////////////////////////////////////////////////////////////////////////
  738. // Name: ippsRegExpFree
  739. // Purpose: Frees allocated memory for the structure containing
  740. // internal form of regular expression
  741. //
  742. // Parameters:
  743. // pRegExpState Pointer to the structure containing internal form of
  744. // a regular expression.
  745. //
  746. */
  747. IPPAPI(void, ippsRegExpFree, ( IppRegExpState* pRegExpState ))
  748. /* /////////////////////////////////////////////////////////////////////////////
  749. // Name: ippsRegExpFind_8u
  750. // Purpose: Looks for the occurrences of the substrings matching
  751. // the specified regular expression.
  752. //
  753. // Parameters:
  754. // pSrc Pointer to the source string
  755. // srcLen Number of elements in the source string.
  756. // pRegExpState Pointer to the structure containing internal form of
  757. // a regular expression
  758. // pFind Array of pointers to the matching substrings
  759. // pNumFind Size of the array pFind on input,
  760. // number of matching substrings on output.
  761. //
  762. // Return:
  763. // ippStsNullPtrErr One or several pointer(s) is NULL
  764. // ippStsSizeErr Length of the source vector is less zero or or
  765. // pNumFind is less than or equal to 0
  766. // ippStsRegExpErr The structure pRegExpState contains wrong data
  767. // ippStsRegExpMatchLimitErr The match limit has been exhausted
  768. // ippStsNoErr No errors
  769. //
  770. */
  771. IPPAPI(IppStatus, ippsRegExpFind_8u, ( const Ipp8u* pSrc, int srcLen, IppRegExpState* pRegExpState,
  772. IppRegExpFind* pFind, int* pNumFind ))
  773. #if !defined( _OWN_BLDPCS )
  774. struct RegExpMultiState;
  775. typedef struct RegExpMultiState IppRegExpMultiState;
  776. typedef struct {
  777. Ipp32u regexpDoneFlag;
  778. Ipp32u regexpID;
  779. Ipp32s numMultiFind;
  780. IppStatus status;
  781. IppRegExpFind* pFind;
  782. } IppRegExpMultiFind;
  783. #endif /* _OWN_BLDPCS */
  784. /* /////////////////////////////////////////////////////////////////////////////
  785. // Name: ippsRegExpMultiGetSize
  786. // Purpose: Computes the size of necessary memory (in bytes) for
  787. // structure containing internal form of multi patterns search engine.
  788. //
  789. // Parameters:
  790. // maxPatterns Maximum number of pattern.
  791. // pSize Pointer to the computed size of structure containing
  792. // internal form of search engine
  793. //
  794. // Return:
  795. // ippStsNullPtrErr One or several pointer(s) is NULL
  796. // ippStsSizeErr When maxPatterns is less or equal 0.
  797. // ippStsNoErr No errors
  798. //
  799. */
  800. IPPAPI(IppStatus, ippsRegExpMultiGetSize, ( Ipp32u maxPatterns, int *pSize))
  801. /* /////////////////////////////////////////////////////////////////////////////
  802. // Name: ippsRegExpMultiInit
  803. // Purpose: Initialize internal form of multi patterns search engine.
  804. //
  805. // Parameters:
  806. // maxPatterns Maximum number of pattern.
  807. // pState Pointer to the structure containing internal form of
  808. // multi patterns search engine.
  809. //
  810. // Return:
  811. // ippStsNoErr No errors
  812. // ippStsNullPtrErr One or several pointer(s) is NULL
  813. // ippStsSizeErr When maxPatterns is less or equal 0.
  814. //
  815. */
  816. IPPAPI(IppStatus, ippsRegExpMultiInit, ( IppRegExpMultiState* pState, Ipp32u maxPatterns))
  817. /* /////////////////////////////////////////////////////////////////////////////
  818. // Name: ippsRegExpMultiInitAlloc
  819. // Purpose: Allocates necessary memory, initialize internal form of multi patterns search engine
  820. //
  821. // Parameters:
  822. // maxPatterns Maximum number of pattern.
  823. // pState Double pointer to the structure containing internal form of
  824. // multi patterns search engine.
  825. //
  826. // Return:
  827. // ippStsNoErr No errors
  828. // ippStsNullPtrErr One or several pointer(s) is NULL
  829. // ippStsSizeErr When maxPatterns is less or equal 0.
  830. */
  831. IPPAPI(IppStatus, ippsRegExpMultiInitAlloc, ( IppRegExpMultiState** ppState, Ipp32u maxPatterns))
  832. /* /////////////////////////////////////////////////////////////////////////////
  833. // Name: ippsRegExpMultiFree
  834. // Purpose: Frees allocated memory for the structure containing
  835. // internal form of multi patterns search engine
  836. //
  837. // Parameters:
  838. // pState Pointer to the structure containing internal form of
  839. // multi patterns search engine.
  840. //
  841. */
  842. IPPAPI(void, ippsRegExpMultiFree, (IppRegExpMultiState* pState))
  843. /* /////////////////////////////////////////////////////////////////////////////
  844. // Name: ippsRegExpMulti*
  845. // Purpose: Controls multi patterns database. Add, remove or modify patterns.
  846. //
  847. // Parameters:
  848. // pRegExpState Pointer to the structure containing internal form of a
  849. // compiled regular expression.
  850. // regexpID Pattern ID. 0 is invalid ID.
  851. // pState Pointer to the structure containing internal form of
  852. // multi patterns search engine.
  853. //
  854. // Return:
  855. // ippStsNoErr No errors
  856. // ippStsNullPtrErr One or several pointer(s) is NULL
  857. // ippStsSizeErr When ID is equal 0.
  858. // ippStsMemAllocErr When number of patterns exceeded its maximum value.
  859. //
  860. */
  861. IPPAPI(IppStatus, ippsRegExpMultiAdd, ( const IppRegExpState* pRegExpState, Ipp32u regexpID, IppRegExpMultiState* pState))
  862. IPPAPI(IppStatus, ippsRegExpMultiModify, ( const IppRegExpState* pRegExpState, Ipp32u regexpID, IppRegExpMultiState* pState))
  863. IPPAPI(IppStatus, ippsRegExpMultiDelete, (Ipp32u regexpID, IppRegExpMultiState* pState))
  864. /* /////////////////////////////////////////////////////////////////////////////
  865. // Name: ippsRegExpMultiFind_8u
  866. // Purpose: Looks for the occurrences of the substrings matching
  867. // the specified patterns.
  868. //
  869. // Parameters:
  870. // pSrc Pointer to the source string
  871. // srcLen Number of elements in the source string.
  872. // pState Pointer to the structure containing internal form of
  873. // multi patterns search engine
  874. // pDstMultiFind Array of pointers to the matching patterns
  875. //
  876. // Return:
  877. // ippStsNullPtrErr One or several pointer(s) is NULL
  878. // ippStsSizeErr Length of the source vector is less or equal zero.
  879. // ippStsNoErr No errors
  880. //
  881. */
  882. IPPAPI(IppStatus, ippsRegExpMultiFind_8u, ( const Ipp8u* pSrc, int srcLen, IppRegExpMultiFind *pDstMultiFind, const IppRegExpMultiState* pState))
  883. /* /////////////////////////////////////////////////////////////////////////////
  884. // Name: ippsConvertUTF
  885. // Purpose: Convert UTF16BE or UTF16LE format to UTF8 and vice versa.
  886. //
  887. // Parameters:
  888. // pSrc Pointer to the input vector.
  889. // pSrcLen Length of the pSrc vector on input and its used length on output.
  890. // BEFlag Flag to indicate UTF16BE format. 0 means UTF16LE format.
  891. // pDst Pointer to the output vector.
  892. // pDstLen Length of the pDst vector on input and its used length on output.
  893. //
  894. // Return:
  895. // ippStsNullPtrErr One or several pointer(s) is NULL
  896. // ippStsNoErr No errors
  897. */
  898. IPPAPI(IppStatus, ippsConvertUTF_8u16u,( const Ipp8u* pSrc, Ipp32u *pSrcLen, Ipp16u* pDst, Ipp32u *pDstLen, int BEFlag))
  899. IPPAPI(IppStatus, ippsConvertUTF_16u8u,( const Ipp16u* pSrc, Ipp32u *pSrcLen, Ipp8u* pDst, Ipp32u *pDstLen, int BEFlag))
  900. #if !defined( _OWN_BLDPCS )
  901. struct RegExpMultiState;
  902. typedef struct RegExpReplaceState IppRegExpReplaceState;
  903. #endif /* _OWN_BLDPCS */
  904. /* /////////////////////////////////////////////////////////////////////////////
  905. // Name: ippsRegExpReplaceGetSize
  906. // Purpose: Computes the size the find and replace engine memory.
  907. //
  908. // Parameters:
  909. // pSrcReplacement Pointer to the input null-terminated replace pattern.
  910. // pSize Pointer to the computed size of the replace engine memory.
  911. //
  912. // Return:
  913. // ippStsNullPtrErr pSize pointer is NULL
  914. // ippStsNoErr No errors
  915. //
  916. */
  917. IPPAPI(IppStatus, ippsRegExpReplaceGetSize, ( const Ipp8u* pSrcReplacement, Ipp32u *pSize))
  918. /* /////////////////////////////////////////////////////////////////////////////
  919. // Name: ippsRegExpReplaceInit
  920. // Purpose: Initialize internal form of find and replace engine.
  921. //
  922. // Parameters:
  923. // pSrcReplacement Pointer to the input null-terminated replace pattern.
  924. // pReplaceState Pointer to the memory allocated for the find and replace
  925. // engine structure of size after ippsRegExpReplaceGetSize function.
  926. //
  927. // Return:
  928. // ippStsNoErr No errors
  929. // ippStsNullPtrErr pReplaceState pointer is NULL
  930. //
  931. */
  932. IPPAPI(IppStatus, ippsRegExpReplaceInit, ( const Ipp8u* pSrcReplacement, IppRegExpReplaceState *pReplaceState))
  933. /* /////////////////////////////////////////////////////////////////////////////
  934. // Name: ippsRegExpReplace_8u
  935. // Purpose: Performs find and replace.
  936. //
  937. // Parameters:
  938. // pSrc Pointer to the source string.
  939. // pSrcLenOffset Length of the pSrc vector on input and its used length on output.
  940. // pRegExpState Pointer to the compiled pattern structure.
  941. // pReplaceState Pointer to the memory allocated for the find and replace engine structure.
  942. // pDst Pointer to the destination string.
  943. // pDstLen Length of the pDst vector on input and its used length on output.
  944. // pFind Array of pointers to the matching substrings.
  945. // pNumFind Size of the array pFind on input, number of matching substrings on output.
  946. //
  947. // Return:
  948. // ippStsNoErr Indicates no error.
  949. // ippStsNullPtrErr One or several pointer(s) is NULL.
  950. // ippStsSizeErr Indicates an error when value in pSrcLen or pDstLen is less or equal to zero.
  951. //
  952. */
  953. IPPAPI(IppStatus, ippsRegExpReplace_8u, ( const Ipp8u* pSrc, int *pSrcLenOffset, Ipp8u *pDst, int *pDstLen, IppRegExpFind* pFind, int* pNumFind, IppRegExpState* pRegExpState,
  954. IppRegExpReplaceState *pReplaceState ))
  955. #if defined (_IPP_STDCALL_CDECL)
  956. #undef _IPP_STDCALL_CDECL
  957. #define __stdcall __cdecl
  958. #endif
  959. #ifdef __cplusplus
  960. }
  961. #endif
  962. #endif /* __IPPCH_H__ */
  963. /* ////////////////////////////// End of file /////////////////////////////// */