mkl_spblas.fi 75 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562
  1. !===============================================================================
  2. ! Copyright 2005-2022 Intel Corporation.
  3. !
  4. ! This software and the related documents are Intel copyrighted materials, and
  5. ! your use of them is governed by the express license under which they were
  6. ! provided to you (License). Unless the License provides otherwise, you may not
  7. ! use, modify, copy, publish, distribute, disclose or transmit this software or
  8. ! the related documents without Intel's prior written permission.
  9. !
  10. ! This software and the related documents are provided as is, with no express
  11. ! or implied warranties, other than those that are expressly stated in the
  12. ! License.
  13. !===============================================================================
  14. ! Content:
  15. ! Intel(R) oneAPI Math Kernel Library (oneMKL) interface for Sparse BLAS level 2,3 routines
  16. !*******************************************************************************
  17. INTERFACE
  18. subroutine mkl_scoomv( transa, m, k, alpha, matdescra, &
  19. &val, indx, jndx, nnz, x, beta, y)
  20. character transa
  21. character matdescra(*)
  22. integer m, k, nnz
  23. real alpha, beta
  24. integer indx(*), jndx(*)
  25. real val(*)
  26. real y(*), x(*)
  27. END
  28. END INTERFACE
  29. INTERFACE
  30. subroutine mkl_scoosv( transa, m, alpha, matdescra, &
  31. &val, indx, jndx, nnz, x, y)
  32. character transa
  33. character matdescra(*)
  34. integer m, nnz
  35. real alpha
  36. integer indx(*), jndx(*)
  37. real val(*)
  38. real y(*), x(*)
  39. END
  40. END INTERFACE
  41. INTERFACE
  42. subroutine mkl_scoogemv( transa, m, &
  43. &val, rowind, colind, nnz, x, y)
  44. character transa
  45. integer m, nnz
  46. integer rowind(*), colind(*)
  47. real val(*)
  48. real y(*), x(*)
  49. END
  50. END INTERFACE
  51. INTERFACE
  52. subroutine mkl_cspblas_scoogemv( transa, m, &
  53. &val, rowind, colind, nnz, x, y)
  54. character transa
  55. integer m, nnz
  56. integer rowind(*), colind(*)
  57. real val(*)
  58. real y(*), x(*)
  59. END
  60. END INTERFACE
  61. INTERFACE
  62. subroutine mkl_scoosymv(uplo, m, &
  63. &val, rowind, colind, nnz, x, y)
  64. character uplo
  65. integer m, nnz
  66. integer rowind(*), colind(*)
  67. real val(*)
  68. real y(*), x(*)
  69. END
  70. END INTERFACE
  71. INTERFACE
  72. subroutine mkl_cspblas_scoosymv(uplo, m, &
  73. &val, rowind, colind, nnz, x, y)
  74. character uplo
  75. integer m, nnz
  76. integer rowind(*), colind(*)
  77. real val(*)
  78. real y(*), x(*)
  79. END
  80. END INTERFACE
  81. INTERFACE
  82. subroutine mkl_scootrsv(uplo, transa, diag, m, &
  83. &val, rowind, colind, nnz, x, y)
  84. character uplo, transa, diag
  85. integer m, nnz
  86. integer rowind(*), colind(*)
  87. real val(*)
  88. real y(*), x(*)
  89. END
  90. END INTERFACE
  91. INTERFACE
  92. subroutine mkl_cspblas_scootrsv(uplo, transa, diag, m, &
  93. &val, rowind, colind, nnz, x, y)
  94. character uplo, transa, diag
  95. integer m, nnz
  96. integer rowind(*), colind(*)
  97. real val(*)
  98. real y(*), x(*)
  99. END
  100. END INTERFACE
  101. INTERFACE
  102. subroutine mkl_scscmv( transa, m, k, alpha, matdescra, &
  103. &val, indx, pntrb, pntre, x, beta, y)
  104. character transa
  105. character matdescra(*)
  106. integer m, k
  107. real alpha, beta
  108. integer indx(*), pntrb(*), pntre(*)
  109. real val(*)
  110. real y(*), x(*)
  111. END
  112. END INTERFACE
  113. INTERFACE
  114. subroutine mkl_scscsv( transa, m, alpha, matdescra, &
  115. &val, indx, pntrb, pntre, x, y)
  116. character transa
  117. character matdescra(*)
  118. integer m
  119. real alpha
  120. integer indx(*), pntrb(*), pntre(*)
  121. real val(*)
  122. real y(*), x(*)
  123. END
  124. END INTERFACE
  125. INTERFACE
  126. subroutine mkl_scsrmv( transa, m, k, alpha, matdescra, &
  127. &val, indx, pntrb, pntre, x, beta, y)
  128. character transa
  129. character matdescra(*)
  130. integer m, k
  131. real alpha, beta
  132. integer indx(*), pntrb(*), pntre(*)
  133. real val(*)
  134. real y(*), x(*)
  135. END
  136. END INTERFACE
  137. INTERFACE
  138. subroutine mkl_scsrgemv( transa, m, &
  139. &a, ia, ja, x, y)
  140. character transa
  141. integer m
  142. integer ia(*), ja(*)
  143. real a(*)
  144. real y(*), x(*)
  145. END
  146. END INTERFACE
  147. INTERFACE
  148. subroutine mkl_cspblas_scsrgemv( transa, m, &
  149. &a, ia, ja, x, y)
  150. character transa
  151. integer m
  152. integer ia(*), ja(*)
  153. real a(*)
  154. real y(*), x(*)
  155. END
  156. END INTERFACE
  157. INTERFACE
  158. subroutine mkl_scsrsymv( uplo, m, &
  159. &a, ia, ja, x, y)
  160. character uplo
  161. integer m
  162. integer ia(*), ja(*)
  163. real a(*)
  164. real y(*), x(*)
  165. END
  166. END INTERFACE
  167. INTERFACE
  168. subroutine mkl_cspblas_scsrsymv( uplo, m, &
  169. &a, ia, ja, x, y)
  170. character uplo
  171. integer m
  172. integer ia(*), ja(*)
  173. real a(*)
  174. real y(*), x(*)
  175. END
  176. END INTERFACE
  177. INTERFACE
  178. subroutine mkl_scsrsv( transa, m, alpha, matdescra, &
  179. &val, indx, pntrb, pntre, x, y)
  180. character transa
  181. character matdescra(*)
  182. integer m
  183. real alpha
  184. integer indx(*), pntrb(*), pntre(*)
  185. real val(*)
  186. real y(*), x(*)
  187. END
  188. END INTERFACE
  189. INTERFACE
  190. subroutine mkl_scsrtrsv( uplo, transa, diag, m, &
  191. &a, ia, ja, x, y)
  192. character uplo, transa, diag
  193. integer m
  194. integer ia(*), ja(*)
  195. real a(*)
  196. real y(*), x(*)
  197. END
  198. END INTERFACE
  199. INTERFACE
  200. subroutine mkl_cspblas_scsrtrsv( uplo, transa, diag, m, &
  201. &a, ia, ja, x, y)
  202. character uplo, transa, diag
  203. integer m
  204. integer ia(*), ja(*)
  205. real a(*)
  206. real y(*), x(*)
  207. END
  208. END INTERFACE
  209. INTERFACE
  210. subroutine mkl_sbsrmv( transa, m, k, lb, alpha, matdescra, &
  211. &val, indx, pntrb, pntre, x, beta, y)
  212. character transa
  213. character matdescra(*)
  214. integer m, k, lb
  215. real alpha, beta
  216. integer indx(*), pntrb(*), pntre(*)
  217. real val(*)
  218. real y(*), x(*)
  219. END
  220. END INTERFACE
  221. INTERFACE
  222. subroutine mkl_sbsrgemv( transa, m, lb, &
  223. &a, ia, ja, x, y)
  224. character transa
  225. integer m, lb
  226. integer ia(*), ja(*)
  227. real a(*)
  228. real y(*), x(*)
  229. END
  230. END INTERFACE
  231. INTERFACE
  232. subroutine mkl_cspblas_sbsrgemv( transa, m, lb, &
  233. &a, ia, ja, x, y)
  234. character transa
  235. integer m, lb
  236. integer ia(*), ja(*)
  237. real a(*)
  238. real y(*), x(*)
  239. END
  240. END INTERFACE
  241. INTERFACE
  242. subroutine mkl_sbsrsymv( uplo, m, lb, &
  243. &a, ia, ja, x, y)
  244. character uplo
  245. integer m, lb
  246. integer ia(*), ja(*)
  247. real a(*)
  248. real y(*), x(*)
  249. END
  250. END INTERFACE
  251. INTERFACE
  252. subroutine mkl_cspblas_sbsrsymv( uplo, m, lb, &
  253. &a, ia, ja, x, y)
  254. character uplo
  255. integer m, lb
  256. integer ia(*), ja(*)
  257. real a(*)
  258. real y(*), x(*)
  259. END
  260. END INTERFACE
  261. INTERFACE
  262. subroutine mkl_sbsrsv( transa, m, lb, alpha, matdescra, &
  263. &val, indx, pntrb, pntre, x, y)
  264. character transa
  265. character matdescra(*)
  266. integer m, lb
  267. real alpha
  268. integer indx(*), pntrb(*), pntre(*)
  269. real val(*)
  270. real y(*), x(*)
  271. END
  272. END INTERFACE
  273. INTERFACE
  274. subroutine mkl_sbsrtrsv( uplo, transa, diag, m, lb, &
  275. &a, ia, ja, x, y)
  276. character uplo, transa, diag
  277. integer m, lb
  278. integer ia(*), ja(*)
  279. real a(*)
  280. real y(*), x(*)
  281. END
  282. END INTERFACE
  283. INTERFACE
  284. subroutine mkl_cspblas_sbsrtrsv( uplo, transa, diag, m, lb, &
  285. &a, ia, ja, x, y)
  286. character uplo, transa, diag
  287. integer m, lb
  288. integer ia(*), ja(*)
  289. real a(*)
  290. real y(*), x(*)
  291. END
  292. END INTERFACE
  293. INTERFACE
  294. subroutine mkl_sdiamv( transa, m, k, alpha, matdescra, &
  295. &val, lda, idiag, ndiag, x, beta, y)
  296. character transa
  297. character matdescra(*)
  298. integer m, k, lda, ndiag
  299. integer idiag(*)
  300. real val(lda, *)
  301. real alpha, beta
  302. real y(*), x(*)
  303. END
  304. END INTERFACE
  305. INTERFACE
  306. subroutine mkl_sdiagemv( transa, m, &
  307. &val, lda, idiag, ndiag, x, y)
  308. character transa
  309. integer m, lda, ndiag
  310. integer idiag(*)
  311. real val(lda, *)
  312. real y(*), x(*)
  313. END
  314. END INTERFACE
  315. INTERFACE
  316. subroutine mkl_sdiasymv( uplo, m, &
  317. &val, lda, idiag, ndiag, x, y)
  318. character uplo
  319. integer m, lda, ndiag
  320. integer idiag(*)
  321. real val(lda, *)
  322. real y(*), x(*)
  323. END
  324. END INTERFACE
  325. INTERFACE
  326. subroutine mkl_sdiasv( transa, m, alpha, matdescra, &
  327. &val, lda, idiag, ndiag, x, y)
  328. character transa
  329. character matdescra(*)
  330. integer m, lda, ndiag
  331. integer idiag(*)
  332. real val(lda, *)
  333. real alpha
  334. real y(*), x(*)
  335. END
  336. END INTERFACE
  337. INTERFACE
  338. subroutine mkl_sdiatrsv( uplo, transa, diag, m, &
  339. &val, lda, idiag, ndiag, x, y)
  340. character uplo, transa, diag
  341. integer m, lda, ndiag
  342. integer idiag(*)
  343. real val(lda, *)
  344. real y(*), x(*)
  345. END
  346. END INTERFACE
  347. INTERFACE
  348. subroutine mkl_sskymv(transa, m, k, alpha, matdescra, &
  349. &val, pntr, x, beta, y)
  350. character transa
  351. character matdescra(*)
  352. integer m, k
  353. integer pntr(*)
  354. real val(*)
  355. real alpha, beta
  356. real y(*), x(*)
  357. END
  358. END INTERFACE
  359. INTERFACE
  360. subroutine mkl_sskysv(transa, m, alpha, matdescra, &
  361. &val, pntr, x, y)
  362. character transa
  363. character matdescra(*)
  364. integer m
  365. integer pntr(*)
  366. real val(*)
  367. real alpha
  368. real y(*), x(*)
  369. END
  370. END INTERFACE
  371. INTERFACE
  372. subroutine mkl_scoomm( transa, m, n, k, alpha, matdescra, &
  373. &val, indx, jndx, nnz, b, ldb, beta, c, ldc)
  374. character transa
  375. character matdescra(*)
  376. integer m, n, k, nnz
  377. real alpha, beta
  378. integer indx(*), jndx(*)
  379. real val(*)
  380. real b(ldb,*), c(ldc,*)
  381. END
  382. END INTERFACE
  383. INTERFACE
  384. subroutine mkl_scoosm( transa, m, n, alpha, matdescra, &
  385. &val, indx, jndx, nnz, b, ldb, c, ldc)
  386. character transa
  387. character matdescra(*)
  388. integer m, n, nnz
  389. real alpha
  390. integer indx(*), jndx(*)
  391. real val(*)
  392. real b(ldb,*), c(ldc,*)
  393. END
  394. END INTERFACE
  395. INTERFACE
  396. subroutine mkl_scscmm( transa, m, n, k, alpha, matdescra, &
  397. &val, indx, pntrb, pntre, b, ldb, beta, c, ldc)
  398. character transa
  399. character matdescra(*)
  400. integer m, n, k, ldb, ldc
  401. real alpha, beta
  402. integer indx(*), pntrb(*), pntre(*)
  403. real val(*)
  404. real b(ldb,*), c(ldc,*)
  405. END
  406. END INTERFACE
  407. INTERFACE
  408. subroutine mkl_scscsm( transa, m, n, alpha, matdescra, &
  409. &val, indx, pntrb, pntre, b, ldb, c, ldc)
  410. character transa
  411. character matdescra(*)
  412. integer m, n, ldb, ldc
  413. real alpha
  414. integer indx(*), pntrb(*), pntre(*)
  415. real val(*)
  416. real b(ldb,*), c(ldc,*)
  417. END
  418. END INTERFACE
  419. INTERFACE
  420. subroutine mkl_scsrmm( transa, m, n, k, alpha, matdescra, &
  421. &val, indx, pntrb, pntre, b, ldb, beta, c, ldc)
  422. character transa
  423. character matdescra(*)
  424. integer m, n, k, ldb, ldc
  425. real alpha, beta
  426. integer indx(*), pntrb(*), pntre(*)
  427. real val(*)
  428. real b(ldb,*), c(ldc,*)
  429. END
  430. END INTERFACE
  431. INTERFACE
  432. subroutine mkl_scsrsm( transa, m, n, alpha, matdescra, &
  433. &val, indx, pntrb, pntre, b, ldb, c, ldc)
  434. character transa
  435. character matdescra(*)
  436. integer m, n, ldb, ldc
  437. real alpha
  438. integer indx(*), pntrb(*), pntre(*)
  439. real val(*)
  440. real b(ldb,*), c(ldc,*)
  441. END
  442. END INTERFACE
  443. INTERFACE
  444. subroutine mkl_sdiamm( transa, m, n, k, alpha, matdescra, &
  445. &val, lda, idiag, ndiag, b, ldb, beta, c, ldc)
  446. character transa
  447. character matdescra(*)
  448. integer m, k, n, lda, ndiag, ldb, ldc
  449. integer idiag(*)
  450. real val(lda, *)
  451. real alpha, beta
  452. real b(ldb,*), c(ldc,*)
  453. END
  454. END INTERFACE
  455. INTERFACE
  456. subroutine mkl_sdiasm( transa, m, n, alpha, matdescra, &
  457. &val, lda, idiag, ndiag, b, ldb, c, ldc)
  458. character transa
  459. character matdescra(*)
  460. integer m, n, lda, ndiag, ldb, ldc
  461. integer idiag(*)
  462. real val(lda, *)
  463. real alpha
  464. real b(ldb,*), c(ldc,*)
  465. END
  466. END INTERFACE
  467. INTERFACE
  468. subroutine mkl_sskymm(transa, m, n, k, alpha, matdescra, &
  469. &val, pntr, b, ldb, beta, c, ldc)
  470. character transa
  471. character matdescra(*)
  472. integer m, n, k, ldb, ldc
  473. integer pntr(*)
  474. real val(*)
  475. real alpha, beta
  476. real b(ldb,*), c(ldc,*)
  477. END
  478. END INTERFACE
  479. INTERFACE
  480. subroutine mkl_sskysm(transa, m, n, alpha, matdescra, &
  481. &val, pntr, b, ldb, c, ldc)
  482. character transa
  483. character matdescra(*)
  484. integer m, n, ldb, ldc
  485. integer pntr(*)
  486. real val(*)
  487. real alpha
  488. real b(ldb,*), c(ldc,*)
  489. END
  490. END INTERFACE
  491. INTERFACE
  492. subroutine mkl_sbsrmm( transa, m, n, k, lb, alpha, matdescra, &
  493. & val, indx, pntrb, pntre, b, ldb, beta, c, ldc)
  494. character transa
  495. character matdescra(*)
  496. integer m, n, k, ldb, ldc, lb
  497. real alpha, beta
  498. integer indx(*), pntrb(*), pntre(*)
  499. real val(*)
  500. real b(ldb,*), c(ldc,*)
  501. END
  502. END INTERFACE
  503. INTERFACE
  504. subroutine mkl_sbsrsm( transa, m, n, lb, alpha, matdescra, &
  505. &val, indx, pntrb, pntre, b, ldb, c, ldc)
  506. character transa
  507. character matdescra(*)
  508. integer m, n, ldb, ldc, lb
  509. real alpha
  510. integer indx(*), pntrb(*), pntre(*)
  511. real val(*)
  512. real b(ldb,*), c(ldc,*)
  513. END
  514. END INTERFACE
  515. INTERFACE
  516. subroutine mkl_scsrbsr( job, m, mblk, ldAbsr, Acsr, AJ, AI, &
  517. &Absr, AJB, AIB, info)
  518. Integer job(8)
  519. integer m, mblk, ldAbsr, info
  520. integer AJ(*), AI(m+1), AJB(*), AIB(*)
  521. real Acsr(*), Absr(ldAbsr,*)
  522. END
  523. END INTERFACE
  524. INTERFACE
  525. subroutine mkl_scsrcoo ( job, n, Acsr, AJR, AIR, nnz, &
  526. &Acoo, ir, jc, info)
  527. Integer job(8)
  528. integer n, nnz, info
  529. integer AJR(*), AIR(n+1), ir(*), jc(*)
  530. real Acsr(*), Acoo(*)
  531. END
  532. END INTERFACE
  533. INTERFACE
  534. subroutine mkl_sdnscsr ( job, m, n, Adns, lda, &
  535. &Acsr, AJ, AI, info)
  536. Integer job(8)
  537. integer m, n, lda, info
  538. integer AJ(*), AI(m+1)
  539. real Adns(*), Acsr(*)
  540. END
  541. END INTERFACE
  542. INTERFACE
  543. subroutine mkl_scsrcsc( job, n, VAL_csr, AJ, AI, &
  544. &VAL_csc, AJ1, AI1, info)
  545. integer job(8)
  546. integer n, info
  547. integer AJ(*), AI(n+1), AJ1(*), AI1(n+1)
  548. real VAL_csr(*), VAL_csc(*)
  549. END
  550. END INTERFACE
  551. INTERFACE
  552. subroutine mkl_scsrdia( job, n, VAL_csr, AJ, AI, &
  553. &VAL_dia, ndiag, distance, idiag, &
  554. &VAL_csr_rem, AJ_rem, AI_rem, info)
  555. integer job(8)
  556. integer n, ndiag, idiag, info
  557. integer AJ(*), AI(n+1), AJ_rem(*),AI_rem(*), distance(*)
  558. real VAL_csr(*), VAL_dia(*), VAL_csr_rem(*)
  559. END
  560. END INTERFACE
  561. INTERFACE
  562. subroutine mkl_scsrsky( job, n, VAL_csr, AJ, AI, &
  563. &VAL_sky, pointers, info)
  564. integer job(8)
  565. integer n, info
  566. integer AJ(*),AI(n+1), pointers(n+1)
  567. real VAL_csr(*), VAL_sky(*)
  568. END
  569. END INTERFACE
  570. INTERFACE
  571. subroutine mkl_dcoomv( transa, m, k, alpha, matdescra, &
  572. &val, indx, jndx, nnz, x, beta, y)
  573. character transa
  574. character matdescra(*)
  575. integer m, k, nnz
  576. double precision alpha, beta
  577. integer indx(*), jndx(*)
  578. double precision val(*)
  579. double precision y(*), x(*)
  580. END
  581. END INTERFACE
  582. INTERFACE
  583. subroutine mkl_dcoosv( transa, m, alpha, matdescra, &
  584. &val, indx, jndx, nnz, x, y)
  585. character transa
  586. character matdescra(*)
  587. integer m, nnz
  588. double precision alpha
  589. integer indx(*), jndx(*)
  590. double precision val(*)
  591. double precision y(*), x(*)
  592. END
  593. END INTERFACE
  594. INTERFACE
  595. subroutine mkl_dcoogemv( transa, m, &
  596. &val, rowind, colind, nnz, x, y)
  597. character transa
  598. integer m, nnz
  599. integer rowind(*), colind(*)
  600. double precision val(*)
  601. double precision y(*), x(*)
  602. END
  603. END INTERFACE
  604. INTERFACE
  605. subroutine mkl_cspblas_dcoogemv( transa, m, &
  606. &val, rowind, colind, nnz, x, y)
  607. character transa
  608. integer m, nnz
  609. integer rowind(*), colind(*)
  610. double precision val(*)
  611. double precision y(*), x(*)
  612. END
  613. END INTERFACE
  614. INTERFACE
  615. subroutine mkl_dcoosymv(uplo, m, &
  616. &val, rowind, colind, nnz, x, y)
  617. character uplo
  618. integer m, nnz
  619. integer rowind(*), colind(*)
  620. double precision val(*)
  621. double precision y(*), x(*)
  622. END
  623. END INTERFACE
  624. INTERFACE
  625. subroutine mkl_cspblas_dcoosymv(uplo, m, &
  626. &val, rowind, colind, nnz, x, y)
  627. character uplo
  628. integer m, nnz
  629. integer rowind(*), colind(*)
  630. double precision val(*)
  631. double precision y(*), x(*)
  632. END
  633. END INTERFACE
  634. INTERFACE
  635. subroutine mkl_dcootrsv(uplo, transa, diag, m, &
  636. &val, rowind, colind, nnz, x, y)
  637. character uplo, transa, diag
  638. integer m, nnz
  639. integer rowind(*), colind(*)
  640. double precision val(*)
  641. double precision y(*), x(*)
  642. END
  643. END INTERFACE
  644. INTERFACE
  645. subroutine mkl_cspblas_dcootrsv(uplo, transa, diag, m, &
  646. &val, rowind, colind, nnz, x, y)
  647. character uplo, transa, diag
  648. integer m, nnz
  649. integer rowind(*), colind(*)
  650. double precision val(*)
  651. double precision y(*), x(*)
  652. END
  653. END INTERFACE
  654. INTERFACE
  655. subroutine mkl_dcscmv( transa, m, k, alpha, matdescra, &
  656. &val, indx, pntrb, pntre, x, beta, y)
  657. character transa
  658. character matdescra(*)
  659. integer m, k
  660. double precision alpha, beta
  661. integer indx(*), pntrb(*), pntre(*)
  662. double precision val(*)
  663. double precision y(*), x(*)
  664. END
  665. END INTERFACE
  666. INTERFACE
  667. subroutine mkl_dcscsv( transa, m, alpha, matdescra, &
  668. &val, indx, pntrb, pntre, x, y)
  669. character transa
  670. character matdescra(*)
  671. integer m
  672. double precision alpha
  673. integer indx(*), pntrb(*), pntre(*)
  674. double precision val(*)
  675. double precision y(*), x(*)
  676. END
  677. END INTERFACE
  678. INTERFACE
  679. subroutine mkl_dcsrmv( transa, m, k, alpha, matdescra, &
  680. &val, indx, pntrb, pntre, x, beta, y)
  681. character transa
  682. character matdescra(*)
  683. integer m, k
  684. double precision alpha, beta
  685. integer indx(*), pntrb(*), pntre(*)
  686. double precision val(*)
  687. double precision y(*), x(*)
  688. END
  689. END INTERFACE
  690. INTERFACE
  691. subroutine mkl_dcsrgemv( transa, m, &
  692. &a, ia, ja, x, y)
  693. character transa
  694. integer m
  695. integer ia(*), ja(*)
  696. double precision a(*)
  697. double precision y(*), x(*)
  698. END
  699. END INTERFACE
  700. INTERFACE
  701. subroutine mkl_cspblas_dcsrgemv( transa, m, &
  702. &a, ia, ja, x, y)
  703. character transa
  704. integer m
  705. integer ia(*), ja(*)
  706. double precision a(*)
  707. double precision y(*), x(*)
  708. END
  709. END INTERFACE
  710. INTERFACE
  711. subroutine mkl_dcsrsymv( uplo, m, &
  712. &a, ia, ja, x, y)
  713. character uplo
  714. integer m
  715. integer ia(*), ja(*)
  716. double precision a(*)
  717. double precision y(*), x(*)
  718. END
  719. END INTERFACE
  720. INTERFACE
  721. subroutine mkl_cspblas_dcsrsymv( uplo, m, &
  722. &a, ia, ja, x, y)
  723. character uplo
  724. integer m
  725. integer ia(*), ja(*)
  726. double precision a(*)
  727. double precision y(*), x(*)
  728. END
  729. END INTERFACE
  730. INTERFACE
  731. subroutine mkl_dcsrsv( transa, m, alpha, matdescra, &
  732. &val, indx, pntrb, pntre, x, y)
  733. character transa
  734. character matdescra(*)
  735. integer m
  736. double precision alpha
  737. integer indx(*), pntrb(*), pntre(*)
  738. double precision val(*)
  739. double precision y(*), x(*)
  740. END
  741. END INTERFACE
  742. INTERFACE
  743. subroutine mkl_dcsrtrsv( uplo, transa, diag, m, &
  744. &a, ia, ja, x, y)
  745. character uplo, transa, diag
  746. integer m
  747. integer ia(*), ja(*)
  748. double precision a(*)
  749. double precision y(*), x(*)
  750. END
  751. END INTERFACE
  752. INTERFACE
  753. subroutine mkl_cspblas_dcsrtrsv( uplo, transa, diag, m, &
  754. &a, ia, ja, x, y)
  755. character uplo, transa, diag
  756. integer m
  757. integer ia(*), ja(*)
  758. double precision a(*)
  759. double precision y(*), x(*)
  760. END
  761. END INTERFACE
  762. INTERFACE
  763. subroutine mkl_dbsrmv( transa, m, k, lb, alpha, matdescra, &
  764. &val, indx, pntrb, pntre, x, beta, y)
  765. character transa
  766. character matdescra(*)
  767. integer m, k, lb
  768. double precision alpha, beta
  769. integer indx(*), pntrb(*), pntre(*)
  770. double precision val(*)
  771. double precision y(*), x(*)
  772. END
  773. END INTERFACE
  774. INTERFACE
  775. subroutine mkl_dbsrgemv( transa, m, lb, &
  776. &a, ia, ja, x, y)
  777. character transa
  778. integer m, lb
  779. integer ia(*), ja(*)
  780. double precision a(*)
  781. double precision y(*), x(*)
  782. END
  783. END INTERFACE
  784. INTERFACE
  785. subroutine mkl_cspblas_dbsrgemv( transa, m, lb, &
  786. &a, ia, ja, x, y)
  787. character transa
  788. integer m, lb
  789. integer ia(*), ja(*)
  790. double precision a(*)
  791. double precision y(*), x(*)
  792. END
  793. END INTERFACE
  794. INTERFACE
  795. subroutine mkl_dbsrsymv( uplo, m, lb, &
  796. &a, ia, ja, x, y)
  797. character uplo
  798. integer m, lb
  799. integer ia(*), ja(*)
  800. double precision a(*)
  801. double precision y(*), x(*)
  802. END
  803. END INTERFACE
  804. INTERFACE
  805. subroutine mkl_cspblas_dbsrsymv( uplo, m, lb, &
  806. &a, ia, ja, x, y)
  807. character uplo
  808. integer m, lb
  809. integer ia(*), ja(*)
  810. double precision a(*)
  811. double precision y(*), x(*)
  812. END
  813. END INTERFACE
  814. INTERFACE
  815. subroutine mkl_dbsrsv( transa, m, lb, alpha, matdescra, &
  816. &val, indx, pntrb, pntre, x, y)
  817. character transa
  818. character matdescra(*)
  819. integer m, lb
  820. double precision alpha
  821. integer indx(*), pntrb(*), pntre(*)
  822. double precision val(*)
  823. double precision y(*), x(*)
  824. END
  825. END INTERFACE
  826. INTERFACE
  827. subroutine mkl_dbsrtrsv( uplo, transa, diag, m, lb, &
  828. &a, ia, ja, x, y)
  829. character uplo, transa, diag
  830. integer m, lb
  831. integer ia(*), ja(*)
  832. double precision a(*)
  833. double precision y(*), x(*)
  834. END
  835. END INTERFACE
  836. INTERFACE
  837. subroutine mkl_cspblas_dbsrtrsv( uplo, transa, diag, m, lb, &
  838. &a, ia, ja, x, y)
  839. character uplo, transa, diag
  840. integer m, lb
  841. integer ia(*), ja(*)
  842. double precision a(*)
  843. double precision y(*), x(*)
  844. END
  845. END INTERFACE
  846. INTERFACE
  847. subroutine mkl_ddiamv( transa, m, k, alpha, matdescra, &
  848. &val, lda, idiag, ndiag, x, beta, y)
  849. character transa
  850. character matdescra(*)
  851. integer m, k, lda, ndiag
  852. integer idiag(*)
  853. double precision val(lda, *)
  854. double precision alpha, beta
  855. double precision y(*), x(*)
  856. END
  857. END INTERFACE
  858. INTERFACE
  859. subroutine mkl_ddiagemv( transa, m, &
  860. &val, lda, idiag, ndiag, x, y)
  861. character transa
  862. integer m, lda, ndiag
  863. integer idiag(*)
  864. double precision val(lda, *)
  865. double precision y(*), x(*)
  866. END
  867. END INTERFACE
  868. INTERFACE
  869. subroutine mkl_ddiasymv( uplo, m, &
  870. &val, lda, idiag, ndiag, x, y)
  871. character uplo
  872. integer m, lda, ndiag
  873. integer idiag(*)
  874. double precision val(lda, *)
  875. double precision y(*), x(*)
  876. END
  877. END INTERFACE
  878. INTERFACE
  879. subroutine mkl_ddiasv( transa, m, alpha, matdescra, &
  880. &val, lda, idiag, ndiag, x, y)
  881. character transa
  882. character matdescra(*)
  883. integer m, lda, ndiag
  884. integer idiag(*)
  885. double precision val(lda, *)
  886. double precision alpha
  887. double precision y(*), x(*)
  888. END
  889. END INTERFACE
  890. INTERFACE
  891. subroutine mkl_ddiatrsv( uplo, transa, diag, m, &
  892. &val, lda, idiag, ndiag, x, y)
  893. character uplo, transa, diag
  894. integer m, lda, ndiag
  895. integer idiag(*)
  896. double precision val(lda, *)
  897. double precision y(*), x(*)
  898. END
  899. END INTERFACE
  900. INTERFACE
  901. subroutine mkl_dskymv(transa, m, k, alpha, matdescra, &
  902. &val, pntr, x, beta, y)
  903. character transa
  904. character matdescra(*)
  905. integer m, k
  906. integer pntr(*)
  907. double precision val(*)
  908. double precision alpha, beta
  909. double precision y(*), x(*)
  910. END
  911. END INTERFACE
  912. INTERFACE
  913. subroutine mkl_dskysv(transa, m, alpha, matdescra, &
  914. &val, pntr, x, y)
  915. character transa
  916. character matdescra(*)
  917. integer m
  918. integer pntr(*)
  919. double precision val(*)
  920. double precision alpha
  921. double precision y(*), x(*)
  922. END
  923. END INTERFACE
  924. INTERFACE
  925. subroutine mkl_dcoomm( transa, m, n, k, alpha, matdescra, &
  926. &val, indx, jndx, nnz, b, ldb, beta, c, ldc)
  927. character transa
  928. character matdescra(*)
  929. integer m, n, k, nnz
  930. double precision alpha, beta
  931. integer indx(*), jndx(*)
  932. double precision val(*)
  933. double precision b(ldb,*), c(ldc,*)
  934. END
  935. END INTERFACE
  936. INTERFACE
  937. subroutine mkl_dcoosm( transa, m, n, alpha, matdescra, &
  938. &val, indx, jndx, nnz, b, ldb, c, ldc)
  939. character transa
  940. character matdescra(*)
  941. integer m, n, nnz
  942. double precision alpha
  943. integer indx(*), jndx(*)
  944. double precision val(*)
  945. double precision b(ldb,*), c(ldc,*)
  946. END
  947. END INTERFACE
  948. INTERFACE
  949. subroutine mkl_dcscmm( transa, m, n, k, alpha, matdescra, &
  950. &val, indx, pntrb, pntre, b, ldb, beta, c, ldc)
  951. character transa
  952. character matdescra(*)
  953. integer m, n, k, ldb, ldc
  954. double precision alpha, beta
  955. integer indx(*), pntrb(*), pntre(*)
  956. double precision val(*)
  957. double precision b(ldb,*), c(ldc,*)
  958. END
  959. END INTERFACE
  960. INTERFACE
  961. subroutine mkl_dcscsm( transa, m, n, alpha, matdescra, &
  962. &val, indx, pntrb, pntre, b, ldb, c, ldc)
  963. character transa
  964. character matdescra(*)
  965. integer m, n, ldb, ldc
  966. double precision alpha
  967. integer indx(*), pntrb(*), pntre(*)
  968. double precision val(*)
  969. double precision b(ldb,*), c(ldc,*)
  970. END
  971. END INTERFACE
  972. INTERFACE
  973. subroutine mkl_dcsrmm( transa, m, n, k, alpha, matdescra, &
  974. &val, indx, pntrb, pntre, b, ldb, beta, c, ldc)
  975. character transa
  976. character matdescra(*)
  977. integer m, n, k, ldb, ldc
  978. double precision alpha, beta
  979. integer indx(*), pntrb(*), pntre(*)
  980. double precision val(*)
  981. double precision b(ldb,*), c(ldc,*)
  982. END
  983. END INTERFACE
  984. INTERFACE
  985. subroutine mkl_dcsrsm( transa, m, n, alpha, matdescra, &
  986. &val, indx, pntrb, pntre, b, ldb, c, ldc)
  987. character transa
  988. character matdescra(*)
  989. integer m, n, ldb, ldc
  990. double precision alpha
  991. integer indx(*), pntrb(*), pntre(*)
  992. double precision val(*)
  993. double precision b(ldb,*), c(ldc,*)
  994. END
  995. END INTERFACE
  996. INTERFACE
  997. subroutine mkl_ddiamm( transa, m, n, k, alpha, matdescra, &
  998. &val, lda, idiag, ndiag, b, ldb, beta, c, ldc)
  999. character transa
  1000. character matdescra(*)
  1001. integer m, k, n, lda, ndiag, ldb, ldc
  1002. integer idiag(*)
  1003. double precision val(lda, *)
  1004. double precision alpha, beta
  1005. double precision b(ldb,*), c(ldc,*)
  1006. END
  1007. END INTERFACE
  1008. INTERFACE
  1009. subroutine mkl_ddiasm( transa, m, n, alpha, matdescra, &
  1010. &val, lda, idiag, ndiag, b, ldb, c, ldc)
  1011. character transa
  1012. character matdescra(*)
  1013. integer m, n, lda, ndiag, ldb, ldc
  1014. integer idiag(*)
  1015. double precision val(lda, *)
  1016. double precision alpha
  1017. double precision b(ldb,*), c(ldc,*)
  1018. END
  1019. END INTERFACE
  1020. INTERFACE
  1021. subroutine mkl_dskymm(transa, m, n, k, alpha, matdescra, &
  1022. &val, pntr, b, ldb, beta, c, ldc)
  1023. character transa
  1024. character matdescra(*)
  1025. integer m, n, k, ldb, ldc
  1026. integer pntr(*)
  1027. double precision val(*)
  1028. double precision alpha, beta
  1029. double precision b(ldb,*), c(ldc,*)
  1030. END
  1031. END INTERFACE
  1032. INTERFACE
  1033. subroutine mkl_dskysm(transa, m, n, alpha, matdescra, &
  1034. &val, pntr, b, ldb, c, ldc)
  1035. character transa
  1036. character matdescra(*)
  1037. integer m, n, ldb, ldc
  1038. integer pntr(*)
  1039. double precision val(*)
  1040. double precision alpha
  1041. double precision b(ldb,*), c(ldc,*)
  1042. END
  1043. END INTERFACE
  1044. INTERFACE
  1045. subroutine mkl_dbsrmm( transa, m, n, k, lb, alpha, matdescra, &
  1046. &val, indx, pntrb, pntre, b, ldb, beta, c, ldc)
  1047. character transa
  1048. character matdescra(*)
  1049. integer m, n, k, ldb, ldc, lb
  1050. double precision alpha, beta
  1051. integer indx(*), pntrb(*), pntre(*)
  1052. double precision val(*)
  1053. double precision b(ldb,*), c(ldc,*)
  1054. END
  1055. END INTERFACE
  1056. INTERFACE
  1057. subroutine mkl_dbsrsm( transa, m, n, lb, alpha, matdescra, &
  1058. &val, indx, pntrb, pntre, b, ldb, c, ldc)
  1059. character transa
  1060. character matdescra(*)
  1061. integer m, n, ldb, ldc, lb
  1062. double precision alpha
  1063. integer indx(*), pntrb(*), pntre(*)
  1064. double precision val(*)
  1065. double precision b(ldb,*), c(ldc,*)
  1066. END
  1067. END INTERFACE
  1068. INTERFACE
  1069. subroutine mkl_dcsrbsr( job, m, mblk, ldAbsr, Acsr, AJ, AI, &
  1070. &Absr, AJB, AIB, info)
  1071. Integer job(8)
  1072. integer m, mblk, ldAbsr, info
  1073. integer AJ(*), AI(m+1), AJB(*), AIB(*)
  1074. double precision Acsr(*), Absr(ldAbsr,*)
  1075. END
  1076. END INTERFACE
  1077. INTERFACE
  1078. subroutine mkl_dcsrcoo ( job, n, Acsr, AJR, AIR, nnz, &
  1079. &Acoo, ir, jc, info)
  1080. Integer job(8)
  1081. integer n, nnz, info
  1082. integer AJR(*), AIR(n+1), ir(*), jc(*)
  1083. double precision Acsr(*), Acoo(*)
  1084. END
  1085. END INTERFACE
  1086. INTERFACE
  1087. subroutine mkl_ddnscsr ( job, m, n, Adns, lda, &
  1088. &Acsr, AJ, AI, info)
  1089. Integer job(8)
  1090. integer m, n, lda, info
  1091. integer AJ(*), AI(m+1)
  1092. double precision Adns(*), Acsr(*)
  1093. END
  1094. END INTERFACE
  1095. INTERFACE
  1096. subroutine mkl_dcsrcsc( job, n, VAL_csr, AJ, AI, &
  1097. &VAL_csc, AJ1, AI1, info)
  1098. integer job(8)
  1099. integer n, info
  1100. integer AJ(*), AI(n+1), AJ1(*), AI1(n+1)
  1101. double precision VAL_csr(*), VAL_csc(*)
  1102. END
  1103. END INTERFACE
  1104. INTERFACE
  1105. subroutine mkl_dcsrdia( job, n, VAL_csr, AJ, AI, &
  1106. &VAL_dia, ndiag, distance, idiag, &
  1107. &VAL_csr_rem, AJ_rem, AI_rem, info)
  1108. integer job(8)
  1109. integer n, ndiag, idiag, info
  1110. integer AJ(*), AI(n+1), AJ_rem(*),AI_rem(*), distance(*)
  1111. double precision VAL_csr(*), VAL_dia(*), VAL_csr_rem(*)
  1112. END
  1113. END INTERFACE
  1114. INTERFACE
  1115. subroutine mkl_dcsrsky( job, n, VAL_csr, AJ, AI, &
  1116. &VAL_sky, pointers, info)
  1117. integer job(8)
  1118. integer n, info
  1119. integer AJ(*),AI(n+1), pointers(n+1)
  1120. double precision VAL_csr(*), VAL_sky(*)
  1121. END
  1122. END INTERFACE
  1123. INTERFACE
  1124. subroutine mkl_ccoomv( transa, m, k, alpha, matdescra, &
  1125. &val, indx, jndx, nnz, x, beta, y)
  1126. character transa
  1127. character matdescra(*)
  1128. integer m, k, nnz
  1129. complex alpha, beta
  1130. integer indx(*), jndx(*)
  1131. complex val(*)
  1132. complex y(*), x(*)
  1133. END
  1134. END INTERFACE
  1135. INTERFACE
  1136. subroutine mkl_ccoosv( transa, m, alpha, matdescra, &
  1137. &val, indx, jndx, nnz, x, y)
  1138. character transa
  1139. character matdescra(*)
  1140. integer m, nnz
  1141. complex alpha
  1142. integer indx(*), jndx(*)
  1143. complex val(*)
  1144. complex y(*), x(*)
  1145. END
  1146. END INTERFACE
  1147. INTERFACE
  1148. subroutine mkl_ccoogemv( transa, m, &
  1149. &val, rowind, colind, nnz, x, y)
  1150. character transa
  1151. integer m, nnz
  1152. integer rowind(*), colind(*)
  1153. complex val(*)
  1154. complex y(*), x(*)
  1155. END
  1156. END INTERFACE
  1157. INTERFACE
  1158. subroutine mkl_cspblas_ccoogemv( transa, m, &
  1159. &val, rowind, colind, nnz, x, y)
  1160. character transa
  1161. integer m, nnz
  1162. integer rowind(*), colind(*)
  1163. complex val(*)
  1164. complex y(*), x(*)
  1165. END
  1166. END INTERFACE
  1167. INTERFACE
  1168. subroutine mkl_ccoosymv(uplo, m, &
  1169. &val, rowind, colind, nnz, x, y)
  1170. character uplo
  1171. integer m, nnz
  1172. integer rowind(*), colind(*)
  1173. complex val(*)
  1174. complex y(*), x(*)
  1175. END
  1176. END INTERFACE
  1177. INTERFACE
  1178. subroutine mkl_cspblas_ccoosymv(uplo, m, &
  1179. &val, rowind, colind, nnz, x, y)
  1180. character uplo
  1181. integer m, nnz
  1182. integer rowind(*), colind(*)
  1183. complex val(*)
  1184. complex y(*), x(*)
  1185. END
  1186. END INTERFACE
  1187. INTERFACE
  1188. subroutine mkl_ccootrsv(uplo, transa, diag, m, &
  1189. &val, rowind, colind, nnz, x, y)
  1190. character uplo, transa, diag
  1191. integer m, nnz
  1192. integer rowind(*), colind(*)
  1193. complex val(*)
  1194. complex y(*), x(*)
  1195. END
  1196. END INTERFACE
  1197. INTERFACE
  1198. subroutine mkl_cspblas_ccootrsv(uplo, transa, diag, m, &
  1199. &val, rowind, colind, nnz, x, y)
  1200. character uplo, transa, diag
  1201. integer m, nnz
  1202. integer rowind(*), colind(*)
  1203. complex val(*)
  1204. complex y(*), x(*)
  1205. END
  1206. END INTERFACE
  1207. INTERFACE
  1208. subroutine mkl_ccscmv( transa, m, k, alpha, matdescra, &
  1209. &val, indx, pntrb, pntre, x, beta, y)
  1210. character transa
  1211. character matdescra(*)
  1212. integer m, k
  1213. complex alpha, beta
  1214. integer indx(*), pntrb(*), pntre(*)
  1215. complex val(*)
  1216. complex y(*), x(*)
  1217. END
  1218. END INTERFACE
  1219. INTERFACE
  1220. subroutine mkl_ccscsv( transa, m, alpha, matdescra, &
  1221. &val, indx, pntrb, pntre, x, y)
  1222. character transa
  1223. character matdescra(*)
  1224. integer m
  1225. complex alpha
  1226. integer indx(*), pntrb(*), pntre(*)
  1227. complex val(*)
  1228. complex y(*), x(*)
  1229. END
  1230. END INTERFACE
  1231. INTERFACE
  1232. subroutine mkl_ccsrmv( transa, m, k, alpha, matdescra, &
  1233. &val, indx, pntrb, pntre, x, beta, y)
  1234. character transa
  1235. character matdescra(*)
  1236. integer m, k
  1237. complex alpha, beta
  1238. integer indx(*), pntrb(*), pntre(*)
  1239. complex val(*)
  1240. complex y(*), x(*)
  1241. END
  1242. END INTERFACE
  1243. INTERFACE
  1244. subroutine mkl_ccsrgemv( transa, m, &
  1245. &a, ia, ja, x, y)
  1246. character transa
  1247. integer m
  1248. integer ia(*), ja(*)
  1249. complex a(*)
  1250. complex y(*), x(*)
  1251. END
  1252. END INTERFACE
  1253. INTERFACE
  1254. subroutine mkl_cspblas_ccsrgemv( transa, m, &
  1255. &a, ia, ja, x, y)
  1256. character transa
  1257. integer m
  1258. integer ia(*), ja(*)
  1259. complex a(*)
  1260. complex y(*), x(*)
  1261. END
  1262. END INTERFACE
  1263. INTERFACE
  1264. subroutine mkl_ccsrsymv( uplo, m, &
  1265. &a, ia, ja, x, y)
  1266. character uplo
  1267. integer m
  1268. integer ia(*), ja(*)
  1269. complex a(*)
  1270. complex y(*), x(*)
  1271. END
  1272. END INTERFACE
  1273. INTERFACE
  1274. subroutine mkl_cspblas_ccsrsymv( uplo, m, &
  1275. &a, ia, ja, x, y)
  1276. character uplo
  1277. integer m
  1278. integer ia(*), ja(*)
  1279. complex a(*)
  1280. complex y(*), x(*)
  1281. END
  1282. END INTERFACE
  1283. INTERFACE
  1284. subroutine mkl_ccsrsv( transa, m, alpha, matdescra, &
  1285. &val, indx, pntrb, pntre, x, y)
  1286. character transa
  1287. character matdescra(*)
  1288. integer m
  1289. complex alpha
  1290. integer indx(*), pntrb(*), pntre(*)
  1291. complex val(*)
  1292. complex y(*), x(*)
  1293. END
  1294. END INTERFACE
  1295. INTERFACE
  1296. subroutine mkl_ccsrtrsv( uplo, transa, diag, m, &
  1297. &a, ia, ja, x, y)
  1298. character uplo, transa, diag
  1299. integer m
  1300. integer ia(*), ja(*)
  1301. complex a(*)
  1302. complex y(*), x(*)
  1303. END
  1304. END INTERFACE
  1305. INTERFACE
  1306. subroutine mkl_cspblas_ccsrtrsv( uplo, transa, diag, m, &
  1307. &a, ia, ja, x, y)
  1308. character uplo, transa, diag
  1309. integer m
  1310. integer ia(*), ja(*)
  1311. complex a(*)
  1312. complex y(*), x(*)
  1313. END
  1314. END INTERFACE
  1315. INTERFACE
  1316. subroutine mkl_cbsrmv( transa, m, k, lb, alpha, matdescra, &
  1317. &val, indx, pntrb, pntre, x, beta, y)
  1318. character transa
  1319. character matdescra(*)
  1320. integer m, k, lb
  1321. complex alpha, beta
  1322. integer indx(*), pntrb(*), pntre(*)
  1323. complex val(*)
  1324. complex y(*), x(*)
  1325. END
  1326. END INTERFACE
  1327. INTERFACE
  1328. subroutine mkl_cbsrgemv( transa, m, lb, &
  1329. &a, ia, ja, x, y)
  1330. character transa
  1331. integer m, lb
  1332. integer ia(*), ja(*)
  1333. complex a(*)
  1334. complex y(*), x(*)
  1335. END
  1336. END INTERFACE
  1337. INTERFACE
  1338. subroutine mkl_cspblas_cbsrgemv( transa, m, lb, &
  1339. &a, ia, ja, x, y)
  1340. character transa
  1341. integer m, lb
  1342. integer ia(*), ja(*)
  1343. complex a(*)
  1344. complex y(*), x(*)
  1345. END
  1346. END INTERFACE
  1347. INTERFACE
  1348. subroutine mkl_cbsrsymv( uplo, m, lb, &
  1349. &a, ia, ja, x, y)
  1350. character uplo
  1351. integer m, lb
  1352. integer ia(*), ja(*)
  1353. complex a(*)
  1354. complex y(*), x(*)
  1355. END
  1356. END INTERFACE
  1357. INTERFACE
  1358. subroutine mkl_cspblas_cbsrsymv( uplo, m, lb, &
  1359. &a, ia, ja, x, y)
  1360. character uplo
  1361. integer m, lb
  1362. integer ia(*), ja(*)
  1363. complex a(*)
  1364. complex y(*), x(*)
  1365. END
  1366. END INTERFACE
  1367. INTERFACE
  1368. subroutine mkl_cbsrsv( transa, m, lb, alpha, matdescra, &
  1369. &val, indx, pntrb, pntre, x, y)
  1370. character transa
  1371. character matdescra(*)
  1372. integer m, lb
  1373. complex alpha
  1374. integer indx(*), pntrb(*), pntre(*)
  1375. complex val(*)
  1376. complex y(*), x(*)
  1377. END
  1378. END INTERFACE
  1379. INTERFACE
  1380. subroutine mkl_cbsrtrsv( uplo, transa, diag, m, lb, &
  1381. &a, ia, ja, x, y)
  1382. character uplo, transa, diag
  1383. integer m, lb
  1384. integer ia(*), ja(*)
  1385. complex a(*)
  1386. complex y(*), x(*)
  1387. END
  1388. END INTERFACE
  1389. INTERFACE
  1390. subroutine mkl_cspblas_cbsrtrsv( uplo, transa, diag, m, lb, &
  1391. &a, ia, ja, x, y)
  1392. character uplo, transa, diag
  1393. integer m, lb
  1394. integer ia(*), ja(*)
  1395. complex a(*)
  1396. complex y(*), x(*)
  1397. END
  1398. END INTERFACE
  1399. INTERFACE
  1400. subroutine mkl_cdiamv( transa, m, k, alpha, matdescra, &
  1401. &val, lda, idiag, ndiag, x, beta, y)
  1402. character transa
  1403. character matdescra(*)
  1404. integer m, k, lda, ndiag
  1405. integer idiag(*)
  1406. complex val(lda, *)
  1407. complex alpha, beta
  1408. complex y(*), x(*)
  1409. END
  1410. END INTERFACE
  1411. INTERFACE
  1412. subroutine mkl_cdiagemv( transa, m, &
  1413. &val, lda, idiag, ndiag, x, y)
  1414. character transa
  1415. integer m, lda, ndiag
  1416. integer idiag(*)
  1417. complex val(lda, *)
  1418. complex y(*), x(*)
  1419. END
  1420. END INTERFACE
  1421. INTERFACE
  1422. subroutine mkl_cdiasymv( uplo, m, &
  1423. &val, lda, idiag, ndiag, x, y)
  1424. character uplo
  1425. integer m, lda, ndiag
  1426. integer idiag(*)
  1427. complex val(lda, *)
  1428. complex y(*), x(*)
  1429. END
  1430. END INTERFACE
  1431. INTERFACE
  1432. subroutine mkl_cdiasv( transa, m, alpha, matdescra, &
  1433. &val, lda, idiag, ndiag, x, y)
  1434. character transa
  1435. character matdescra(*)
  1436. integer m, lda, ndiag
  1437. integer idiag(*)
  1438. complex val(lda, *)
  1439. complex alpha
  1440. complex y(*), x(*)
  1441. END
  1442. END INTERFACE
  1443. INTERFACE
  1444. subroutine mkl_cdiatrsv( uplo, transa, diag, m, &
  1445. &val, lda, idiag, ndiag, x, y)
  1446. character uplo, transa, diag
  1447. integer m, lda, ndiag
  1448. integer idiag(*)
  1449. complex val(lda, *)
  1450. complex y(*), x(*)
  1451. END
  1452. END INTERFACE
  1453. INTERFACE
  1454. subroutine mkl_cskymv(transa, m, k, alpha, matdescra, &
  1455. &val, pntr, x, beta, y)
  1456. character transa
  1457. character matdescra(*)
  1458. integer m, k
  1459. integer pntr(*)
  1460. complex val(*)
  1461. complex alpha, beta
  1462. complex y(*), x(*)
  1463. END
  1464. END INTERFACE
  1465. INTERFACE
  1466. subroutine mkl_cskysv(transa, m, alpha, matdescra, &
  1467. &val, pntr, x, y)
  1468. character transa
  1469. character matdescra(*)
  1470. integer m
  1471. integer pntr(*)
  1472. complex val(*)
  1473. complex alpha
  1474. complex y(*), x(*)
  1475. END
  1476. END INTERFACE
  1477. INTERFACE
  1478. subroutine mkl_ccoomm( transa, m, n, k, alpha, matdescra, &
  1479. &val, indx, jndx, nnz, b, ldb, beta, c, ldc)
  1480. character transa
  1481. character matdescra(*)
  1482. integer m, n, k, nnz
  1483. complex alpha, beta
  1484. integer indx(*), jndx(*)
  1485. complex val(*)
  1486. complex b(ldb,*), c(ldc,*)
  1487. END
  1488. END INTERFACE
  1489. INTERFACE
  1490. subroutine mkl_ccoosm( transa, m, n, alpha, matdescra, &
  1491. &val, indx, jndx, nnz, b, ldb, c, ldc)
  1492. character transa
  1493. character matdescra(*)
  1494. integer m, n, nnz
  1495. complex alpha
  1496. integer indx(*), jndx(*)
  1497. complex val(*)
  1498. complex b(ldb,*), c(ldc,*)
  1499. END
  1500. END INTERFACE
  1501. INTERFACE
  1502. subroutine mkl_ccscmm( transa, m, n, k, alpha, matdescra, &
  1503. &val, indx, pntrb, pntre, b, ldb, beta, c, ldc)
  1504. character transa
  1505. character matdescra(*)
  1506. integer m, n, k, ldb, ldc
  1507. complex alpha, beta
  1508. integer indx(*), pntrb(*), pntre(*)
  1509. complex val(*)
  1510. complex b(ldb,*), c(ldc,*)
  1511. END
  1512. END INTERFACE
  1513. INTERFACE
  1514. subroutine mkl_ccscsm( transa, m, n, alpha, matdescra, &
  1515. &val, indx, pntrb, pntre, b, ldb, c, ldc)
  1516. character transa
  1517. character matdescra(*)
  1518. integer m, n, ldb, ldc
  1519. complex alpha
  1520. integer indx(*), pntrb(*), pntre(*)
  1521. complex val(*)
  1522. complex b(ldb,*), c(ldc,*)
  1523. END
  1524. END INTERFACE
  1525. INTERFACE
  1526. subroutine mkl_ccsrmm( transa, m, n, k, alpha, matdescra, &
  1527. &val, indx, pntrb, pntre, b, ldb, beta, c, ldc)
  1528. character transa
  1529. character matdescra(*)
  1530. integer m, n, k, ldb, ldc
  1531. complex alpha, beta
  1532. integer indx(*), pntrb(*), pntre(*)
  1533. complex val(*)
  1534. complex b(ldb,*), c(ldc,*)
  1535. END
  1536. END INTERFACE
  1537. INTERFACE
  1538. subroutine mkl_ccsrsm( transa, m, n, alpha, matdescra, &
  1539. &val, indx, pntrb, pntre, b, ldb, c, ldc)
  1540. character transa
  1541. character matdescra(*)
  1542. integer m, n, ldb, ldc
  1543. complex alpha
  1544. integer indx(*), pntrb(*), pntre(*)
  1545. complex val(*)
  1546. complex b(ldb,*), c(ldc,*)
  1547. END
  1548. END INTERFACE
  1549. INTERFACE
  1550. subroutine mkl_cdiamm( transa, m, n, k, alpha, matdescra, &
  1551. &val, lda, idiag, ndiag, b, ldb, beta, c, ldc)
  1552. character transa
  1553. character matdescra(*)
  1554. integer m, k, n, lda, ndiag, ldb, ldc
  1555. integer idiag(*)
  1556. complex val(lda, *)
  1557. complex alpha, beta
  1558. complex b(ldb,*), c(ldc,*)
  1559. END
  1560. END INTERFACE
  1561. INTERFACE
  1562. subroutine mkl_cdiasm( transa, m, n, alpha, matdescra, &
  1563. &val, lda, idiag, ndiag, b, ldb, c, ldc)
  1564. character transa
  1565. character matdescra(*)
  1566. integer m, n, lda, ndiag, ldb, ldc
  1567. integer idiag(*)
  1568. complex val(lda, *)
  1569. complex alpha
  1570. complex b(ldb,*), c(ldc,*)
  1571. END
  1572. END INTERFACE
  1573. INTERFACE
  1574. subroutine mkl_cskymm(transa, m, n, k, alpha, matdescra, &
  1575. &val, pntr, b, ldb, beta, c, ldc)
  1576. character transa
  1577. character matdescra(*)
  1578. integer m, n, k, ldb, ldc
  1579. integer pntr(*)
  1580. complex val(*)
  1581. complex alpha, beta
  1582. complex b(ldb,*), c(ldc,*)
  1583. END
  1584. END INTERFACE
  1585. INTERFACE
  1586. subroutine mkl_cskysm(transa, m, n, alpha, matdescra, &
  1587. &val, pntr, b, ldb, c, ldc)
  1588. character transa
  1589. character matdescra(*)
  1590. integer m, n, ldb, ldc
  1591. integer pntr(*)
  1592. complex val(*)
  1593. complex alpha
  1594. complex b(ldb,*), c(ldc,*)
  1595. END
  1596. END INTERFACE
  1597. INTERFACE
  1598. subroutine mkl_cbsrmm( transa, m, n, k, lb, alpha, matdescra, &
  1599. &val, indx, pntrb, pntre, b, ldb, beta, c, ldc)
  1600. character transa
  1601. character matdescra(*)
  1602. integer m, n, k, ldb, ldc, lb
  1603. complex alpha, beta
  1604. integer indx(*), pntrb(*), pntre(*)
  1605. complex val(*)
  1606. complex b(ldb,*), c(ldc,*)
  1607. END
  1608. END INTERFACE
  1609. INTERFACE
  1610. subroutine mkl_cbsrsm( transa, m, n, lb, alpha, matdescra, &
  1611. &val, indx, pntrb, pntre, b, ldb, c, ldc)
  1612. character transa
  1613. character matdescra(*)
  1614. integer m, n, ldb, ldc, lb
  1615. complex alpha
  1616. integer indx(*), pntrb(*), pntre(*)
  1617. complex val(*)
  1618. complex b(ldb,*), c(ldc,*)
  1619. END
  1620. END INTERFACE
  1621. INTERFACE
  1622. subroutine mkl_ccsrbsr( job, m, mblk, ldAbsr, Acsr, AJ, AI, &
  1623. &Absr, AJB, AIB, info)
  1624. Integer job(8)
  1625. integer m, mblk, ldAbsr, info
  1626. integer AJ(*), AI(m+1), AJB(*), AIB(*)
  1627. complex Acsr(*), Absr(ldAbsr,*)
  1628. END
  1629. END INTERFACE
  1630. INTERFACE
  1631. subroutine mkl_ccsrcoo ( job, n, Acsr, AJR, AIR, nnz, &
  1632. &Acoo, ir, jc, info)
  1633. Integer job(8)
  1634. integer n, nnz, info
  1635. integer AJR(*), AIR(n+1), ir(*), jc(*)
  1636. complex Acsr(*), Acoo(*)
  1637. END
  1638. END INTERFACE
  1639. INTERFACE
  1640. subroutine mkl_cdnscsr ( job, m, n, Adns, lda, &
  1641. &Acsr, AJ, AI, info)
  1642. Integer job(8)
  1643. integer m, n, lda, info
  1644. integer AJ(*), AI(m+1)
  1645. complex Adns(*), Acsr(*)
  1646. END
  1647. END INTERFACE
  1648. INTERFACE
  1649. subroutine mkl_ccsrcsc( job, n, VAL_csr, AJ, AI, &
  1650. &VAL_csc, AJ1, AI1, info)
  1651. integer job(8)
  1652. integer n, info
  1653. integer AJ(*), AI(n+1), AJ1(*), AI1(n+1)
  1654. complex VAL_csr(*), VAL_csc(*)
  1655. END
  1656. END INTERFACE
  1657. INTERFACE
  1658. subroutine mkl_ccsrdia( job, n, VAL_csr, AJ, AI, &
  1659. &VAL_dia, ndiag, distance, idiag, &
  1660. &VAL_csr_rem, AJ_rem, AI_rem, info)
  1661. integer job(8)
  1662. integer n, ndiag, idiag, info
  1663. integer AJ(*), AI(n+1), AJ_rem(*),AI_rem(*), distance(*)
  1664. complex VAL_csr(*), VAL_dia(*), VAL_csr_rem(*)
  1665. END
  1666. END INTERFACE
  1667. INTERFACE
  1668. subroutine mkl_ccsrsky( job, n, VAL_csr, AJ, AI, &
  1669. &VAL_sky, pointers, info)
  1670. integer job(8)
  1671. integer n, info
  1672. integer AJ(*),AI(n+1), pointers(n+1)
  1673. complex VAL_csr(*), VAL_sky(*)
  1674. END
  1675. END INTERFACE
  1676. INTERFACE
  1677. subroutine mkl_zcoomv( transa, m, k, alpha, matdescra, &
  1678. &val, indx, jndx, nnz, x, beta, y)
  1679. character transa
  1680. character matdescra(*)
  1681. integer m, k, nnz
  1682. double complex alpha, beta
  1683. integer indx(*), jndx(*)
  1684. double complex val(*)
  1685. double complex y(*), x(*)
  1686. END
  1687. END INTERFACE
  1688. INTERFACE
  1689. subroutine mkl_zcoosv( transa, m, alpha, matdescra, &
  1690. &val, indx, jndx, nnz, x, y)
  1691. character transa
  1692. character matdescra(*)
  1693. integer m, nnz
  1694. double complex alpha
  1695. integer indx(*), jndx(*)
  1696. double complex val(*)
  1697. double complex y(*), x(*)
  1698. END
  1699. END INTERFACE
  1700. INTERFACE
  1701. subroutine mkl_zcoogemv( transa, m, &
  1702. &val, rowind, colind, nnz, x, y)
  1703. character transa
  1704. integer m, nnz
  1705. integer rowind(*), colind(*)
  1706. double complex val(*)
  1707. double complex y(*), x(*)
  1708. END
  1709. END INTERFACE
  1710. INTERFACE
  1711. subroutine mkl_cspblas_zcoogemv( transa, m, &
  1712. &val, rowind, colind, nnz, x, y)
  1713. character transa
  1714. integer m, nnz
  1715. integer rowind(*), colind(*)
  1716. double complex val(*)
  1717. double complex y(*), x(*)
  1718. END
  1719. END INTERFACE
  1720. INTERFACE
  1721. subroutine mkl_zcoosymv(uplo, m, &
  1722. &val, rowind, colind, nnz, x, y)
  1723. character uplo
  1724. integer m, nnz
  1725. integer rowind(*), colind(*)
  1726. double complex val(*)
  1727. double complex y(*), x(*)
  1728. END
  1729. END INTERFACE
  1730. INTERFACE
  1731. subroutine mkl_cspblas_zcoosymv(uplo, m, &
  1732. &val, rowind, colind, nnz, x, y)
  1733. character uplo
  1734. integer m, nnz
  1735. integer rowind(*), colind(*)
  1736. double complex val(*)
  1737. double complex y(*), x(*)
  1738. END
  1739. END INTERFACE
  1740. INTERFACE
  1741. subroutine mkl_zcootrsv(uplo, transa, diag, m, &
  1742. &val, rowind, colind, nnz, x, y)
  1743. character uplo, transa, diag
  1744. integer m, nnz
  1745. integer rowind(*), colind(*)
  1746. double complex val(*)
  1747. double complex y(*), x(*)
  1748. END
  1749. END INTERFACE
  1750. INTERFACE
  1751. subroutine mkl_cspblas_zcootrsv(uplo, transa, diag, m, &
  1752. &val, rowind, colind, nnz, x, y)
  1753. character uplo, transa, diag
  1754. integer m, nnz
  1755. integer rowind(*), colind(*)
  1756. double complex val(*)
  1757. double complex y(*), x(*)
  1758. END
  1759. END INTERFACE
  1760. INTERFACE
  1761. subroutine mkl_zcscmv( transa, m, k, alpha, matdescra, &
  1762. &val, indx, pntrb, pntre, x, beta, y)
  1763. character transa
  1764. character matdescra(*)
  1765. integer m, k
  1766. double complex alpha, beta
  1767. integer indx(*), pntrb(*), pntre(*)
  1768. double complex val(*)
  1769. double complex y(*), x(*)
  1770. END
  1771. END INTERFACE
  1772. INTERFACE
  1773. subroutine mkl_zcscsv( transa, m, alpha, matdescra, &
  1774. &val, indx, pntrb, pntre, x, y)
  1775. character transa
  1776. character matdescra(*)
  1777. integer m
  1778. double complex alpha
  1779. integer indx(*), pntrb(*), pntre(*)
  1780. double complex val(*)
  1781. double complex y(*), x(*)
  1782. END
  1783. END INTERFACE
  1784. INTERFACE
  1785. subroutine mkl_zcsrmv( transa, m, k, alpha, matdescra, &
  1786. &val, indx, pntrb, pntre, x, beta, y)
  1787. character transa
  1788. character matdescra(*)
  1789. integer m, k
  1790. double complex alpha, beta
  1791. integer indx(*), pntrb(*), pntre(*)
  1792. double complex val(*)
  1793. double complex y(*), x(*)
  1794. END
  1795. END INTERFACE
  1796. INTERFACE
  1797. subroutine mkl_zcsrgemv( transa, m, &
  1798. &a, ia, ja, x, y)
  1799. character transa
  1800. integer m
  1801. integer ia(*), ja(*)
  1802. double complex a(*)
  1803. double complex y(*), x(*)
  1804. END
  1805. END INTERFACE
  1806. INTERFACE
  1807. subroutine mkl_cspblas_zcsrgemv( transa, m, &
  1808. &a, ia, ja, x, y)
  1809. character transa
  1810. integer m
  1811. integer ia(*), ja(*)
  1812. double complex a(*)
  1813. double complex y(*), x(*)
  1814. END
  1815. END INTERFACE
  1816. INTERFACE
  1817. subroutine mkl_zcsrsymv( uplo, m, &
  1818. &a, ia, ja, x, y)
  1819. character uplo
  1820. integer m
  1821. integer ia(*), ja(*)
  1822. double complex a(*)
  1823. double complex y(*), x(*)
  1824. END
  1825. END INTERFACE
  1826. INTERFACE
  1827. subroutine mkl_cspblas_zcsrsymv( uplo, m, &
  1828. &a, ia, ja, x, y)
  1829. character uplo
  1830. integer m
  1831. integer ia(*), ja(*)
  1832. double complex a(*)
  1833. double complex y(*), x(*)
  1834. END
  1835. END INTERFACE
  1836. INTERFACE
  1837. subroutine mkl_zcsrsv( transa, m, alpha, matdescra, &
  1838. &val, indx, pntrb, pntre, x, y)
  1839. character transa
  1840. character matdescra(*)
  1841. integer m
  1842. double complex alpha
  1843. integer indx(*), pntrb(*), pntre(*)
  1844. double complex val(*)
  1845. double complex y(*), x(*)
  1846. END
  1847. END INTERFACE
  1848. INTERFACE
  1849. subroutine mkl_zcsrtrsv( uplo, transa, diag, m, &
  1850. &a, ia, ja, x, y)
  1851. character uplo, transa, diag
  1852. integer m
  1853. integer ia(*), ja(*)
  1854. double complex a(*)
  1855. double complex y(*), x(*)
  1856. END
  1857. END INTERFACE
  1858. INTERFACE
  1859. subroutine mkl_cspblas_zcsrtrsv( uplo, transa, diag, m, &
  1860. &a, ia, ja, x, y)
  1861. character uplo, transa, diag
  1862. integer m
  1863. integer ia(*), ja(*)
  1864. double complex a(*)
  1865. double complex y(*), x(*)
  1866. END
  1867. END INTERFACE
  1868. INTERFACE
  1869. subroutine mkl_zbsrmv( transa, m, k, lb, alpha, matdescra, &
  1870. &val, indx, pntrb, pntre, x, beta, y)
  1871. character transa
  1872. character matdescra(*)
  1873. integer m, k, lb
  1874. double complex alpha, beta
  1875. integer indx(*), pntrb(*), pntre(*)
  1876. double complex val(*)
  1877. double complex y(*), x(*)
  1878. END
  1879. END INTERFACE
  1880. INTERFACE
  1881. subroutine mkl_zbsrgemv( transa, m, lb, &
  1882. &a, ia, ja, x, y)
  1883. character transa
  1884. integer m, lb
  1885. integer ia(*), ja(*)
  1886. double complex a(*)
  1887. double complex y(*), x(*)
  1888. END
  1889. END INTERFACE
  1890. INTERFACE
  1891. subroutine mkl_cspblas_zbsrgemv( transa, m, lb, &
  1892. &a, ia, ja, x, y)
  1893. character transa
  1894. integer m, lb
  1895. integer ia(*), ja(*)
  1896. double complex a(*)
  1897. double complex y(*), x(*)
  1898. END
  1899. END INTERFACE
  1900. INTERFACE
  1901. subroutine mkl_zbsrsymv( uplo, m, lb, &
  1902. &a, ia, ja, x, y)
  1903. character uplo
  1904. integer m, lb
  1905. integer ia(*), ja(*)
  1906. double complex a(*)
  1907. double complex y(*), x(*)
  1908. END
  1909. END INTERFACE
  1910. INTERFACE
  1911. subroutine mkl_cspblas_zbsrsymv( uplo, m, lb, &
  1912. &a, ia, ja, x, y)
  1913. character uplo
  1914. integer m, lb
  1915. integer ia(*), ja(*)
  1916. double complex a(*)
  1917. double complex y(*), x(*)
  1918. END
  1919. END INTERFACE
  1920. INTERFACE
  1921. subroutine mkl_zbsrsv( transa, m, lb, alpha, matdescra, &
  1922. &val, indx, pntrb, pntre, x, y)
  1923. character transa
  1924. character matdescra(*)
  1925. integer m, lb
  1926. double complex alpha
  1927. integer indx(*), pntrb(*), pntre(*)
  1928. double complex val(*)
  1929. double complex y(*), x(*)
  1930. END
  1931. END INTERFACE
  1932. INTERFACE
  1933. subroutine mkl_zbsrtrsv( uplo, transa, diag, m, lb, &
  1934. &a, ia, ja, x, y)
  1935. character uplo, transa, diag
  1936. integer m, lb
  1937. integer ia(*), ja(*)
  1938. double complex a(*)
  1939. double complex y(*), x(*)
  1940. END
  1941. END INTERFACE
  1942. INTERFACE
  1943. subroutine mkl_cspblas_zbsrtrsv( uplo, transa, diag, m, lb, &
  1944. &a, ia, ja, x, y)
  1945. character uplo, transa, diag
  1946. integer m, lb
  1947. integer ia(*), ja(*)
  1948. double complex a(*)
  1949. double complex y(*), x(*)
  1950. END
  1951. END INTERFACE
  1952. INTERFACE
  1953. subroutine mkl_zdiamv( transa, m, k, alpha, matdescra, &
  1954. &val, lda, idiag, ndiag, x, beta, y)
  1955. character transa
  1956. character matdescra(*)
  1957. integer m, k, lda, ndiag
  1958. integer idiag(*)
  1959. double complex val(lda, *)
  1960. double complex alpha, beta
  1961. double complex y(*), x(*)
  1962. END
  1963. END INTERFACE
  1964. INTERFACE
  1965. subroutine mkl_zdiagemv( transa, m, &
  1966. &val, lda, idiag, ndiag, x, y)
  1967. character transa
  1968. integer m, lda, ndiag
  1969. integer idiag(*)
  1970. double complex val(lda, *)
  1971. double complex y(*), x(*)
  1972. END
  1973. END INTERFACE
  1974. INTERFACE
  1975. subroutine mkl_zdiasymv( uplo, m, &
  1976. &val, lda, idiag, ndiag, x, y)
  1977. character uplo
  1978. integer m, lda, ndiag
  1979. integer idiag(*)
  1980. double complex val(lda, *)
  1981. double complex y(*), x(*)
  1982. END
  1983. END INTERFACE
  1984. INTERFACE
  1985. subroutine mkl_zdiasv( transa, m, alpha, matdescra, &
  1986. &val, lda, idiag, ndiag, x, y)
  1987. character transa
  1988. character matdescra(*)
  1989. integer m, lda, ndiag
  1990. integer idiag(*)
  1991. double complex val(lda, *)
  1992. double complex alpha
  1993. double complex y(*), x(*)
  1994. END
  1995. END INTERFACE
  1996. INTERFACE
  1997. subroutine mkl_zdiatrsv( uplo, transa, diag, m, &
  1998. &val, lda, idiag, ndiag, x, y)
  1999. character uplo, transa, diag
  2000. integer m, lda, ndiag
  2001. integer idiag(*)
  2002. double complex val(lda, *)
  2003. double complex y(*), x(*)
  2004. END
  2005. END INTERFACE
  2006. INTERFACE
  2007. subroutine mkl_zskymv(transa, m, k, alpha, matdescra, &
  2008. &val, pntr, x, beta, y)
  2009. character transa
  2010. character matdescra(*)
  2011. integer m, k
  2012. integer pntr(*)
  2013. double complex val(*)
  2014. double complex alpha, beta
  2015. double complex y(*), x(*)
  2016. END
  2017. END INTERFACE
  2018. INTERFACE
  2019. subroutine mkl_zskysv(transa, m, alpha, matdescra, &
  2020. &val, pntr, x, y)
  2021. character transa
  2022. character matdescra(*)
  2023. integer m
  2024. integer pntr(*)
  2025. double complex val(*)
  2026. double complex alpha
  2027. double complex y(*), x(*)
  2028. END
  2029. END INTERFACE
  2030. INTERFACE
  2031. subroutine mkl_zcoomm( transa, m, n, k, alpha, matdescra, &
  2032. &val, indx, jndx, nnz, b, ldb, beta, c, ldc)
  2033. character transa
  2034. character matdescra(*)
  2035. integer m, n, k, nnz
  2036. double complex alpha, beta
  2037. integer indx(*), jndx(*)
  2038. double complex val(*)
  2039. double complex b(ldb,*), c(ldc,*)
  2040. END
  2041. END INTERFACE
  2042. INTERFACE
  2043. subroutine mkl_zcoosm( transa, m, n, alpha, matdescra, &
  2044. &val, indx, jndx, nnz, b, ldb, c, ldc)
  2045. character transa
  2046. character matdescra(*)
  2047. integer m, n, nnz
  2048. double complex alpha
  2049. integer indx(*), jndx(*)
  2050. double complex val(*)
  2051. double complex b(ldb,*), c(ldc,*)
  2052. END
  2053. END INTERFACE
  2054. INTERFACE
  2055. subroutine mkl_zcscmm( transa, m, n, k, alpha, matdescra, &
  2056. &val, indx, pntrb, pntre, b, ldb, beta, c, ldc)
  2057. character transa
  2058. character matdescra(*)
  2059. integer m, n, k, ldb, ldc
  2060. double complex alpha, beta
  2061. integer indx(*), pntrb(*), pntre(*)
  2062. double complex val(*)
  2063. double complex b(ldb,*), c(ldc,*)
  2064. END
  2065. END INTERFACE
  2066. INTERFACE
  2067. subroutine mkl_zcscsm( transa, m, n, alpha, matdescra, &
  2068. &val, indx, pntrb, pntre, b, ldb, c, ldc)
  2069. character transa
  2070. character matdescra(*)
  2071. integer m, n, ldb, ldc
  2072. double complex alpha
  2073. integer indx(*), pntrb(*), pntre(*)
  2074. double complex val(*)
  2075. double complex b(ldb,*), c(ldc,*)
  2076. END
  2077. END INTERFACE
  2078. INTERFACE
  2079. subroutine mkl_zcsrmm( transa, m, n, k, alpha, matdescra, &
  2080. &val, indx, pntrb, pntre, b, ldb, beta, c, ldc)
  2081. character transa
  2082. character matdescra(*)
  2083. integer m, n, k, ldb, ldc
  2084. double complex alpha, beta
  2085. integer indx(*), pntrb(*), pntre(*)
  2086. double complex val(*)
  2087. double complex b(ldb,*), c(ldc,*)
  2088. END
  2089. END INTERFACE
  2090. INTERFACE
  2091. subroutine mkl_zcsrsm( transa, m, n, alpha, matdescra, &
  2092. &val, indx, pntrb, pntre, b, ldb, c, ldc)
  2093. character transa
  2094. character matdescra(*)
  2095. integer m, n, ldb, ldc
  2096. double complex alpha
  2097. integer indx(*), pntrb(*), pntre(*)
  2098. double complex val(*)
  2099. double complex b(ldb,*), c(ldc,*)
  2100. END
  2101. END INTERFACE
  2102. INTERFACE
  2103. subroutine mkl_zdiamm( transa, m, n, k, alpha, matdescra, &
  2104. &val, lda, idiag, ndiag, b, ldb, beta, c, ldc)
  2105. character transa
  2106. character matdescra(*)
  2107. integer m, k, n, lda, ndiag, ldb, ldc
  2108. integer idiag(*)
  2109. double complex val(lda, *)
  2110. double complex alpha, beta
  2111. double complex b(ldb,*), c(ldc,*)
  2112. END
  2113. END INTERFACE
  2114. INTERFACE
  2115. subroutine mkl_zdiasm( transa, m, n, alpha, matdescra, &
  2116. &val, lda, idiag, ndiag, b, ldb, c, ldc)
  2117. character transa
  2118. character matdescra(*)
  2119. integer m, n, lda, ndiag, ldb, ldc
  2120. integer idiag(*)
  2121. double complex val(lda, *)
  2122. double complex alpha
  2123. double complex b(ldb,*), c(ldc,*)
  2124. END
  2125. END INTERFACE
  2126. INTERFACE
  2127. subroutine mkl_zskymm(transa, m, n, k, alpha, matdescra, &
  2128. &val, pntr, b, ldb, beta, c, ldc)
  2129. character transa
  2130. character matdescra(*)
  2131. integer m, n, k, ldb, ldc
  2132. integer pntr(*)
  2133. double complex val(*)
  2134. double complex alpha, beta
  2135. double complex b(ldb,*), c(ldc,*)
  2136. END
  2137. END INTERFACE
  2138. INTERFACE
  2139. subroutine mkl_zskysm(transa, m, n, alpha, matdescra, &
  2140. &val, pntr, b, ldb, c, ldc)
  2141. character transa
  2142. character matdescra(*)
  2143. integer m, n, ldb, ldc
  2144. integer pntr(*)
  2145. double complex val(*)
  2146. double complex alpha
  2147. double complex b(ldb,*), c(ldc,*)
  2148. END
  2149. END INTERFACE
  2150. INTERFACE
  2151. subroutine mkl_zbsrmm( transa, m, n, k, lb, alpha, matdescra, &
  2152. &val, indx, pntrb, pntre, b, ldb, beta, c, ldc)
  2153. character transa
  2154. character matdescra(*)
  2155. integer m, n, k, ldb, ldc, lb
  2156. double complex alpha, beta
  2157. integer indx(*), pntrb(*), pntre(*)
  2158. double complex val(*)
  2159. double complex b(ldb,*), c(ldc,*)
  2160. END
  2161. END INTERFACE
  2162. INTERFACE
  2163. subroutine mkl_zbsrsm( transa, m, n, lb, alpha, matdescra, &
  2164. &val, indx, pntrb, pntre, b, ldb, c, ldc)
  2165. character transa
  2166. character matdescra(*)
  2167. integer m, n, ldb, ldc, lb
  2168. double complex alpha
  2169. integer indx(*), pntrb(*), pntre(*)
  2170. double complex val(*)
  2171. double complex b(ldb,*), c(ldc,*)
  2172. END
  2173. END INTERFACE
  2174. INTERFACE
  2175. subroutine mkl_zcsrbsr( job, m, mblk, ldAbsr, Acsr, AJ, AI, &
  2176. &Absr, AJB, AIB, info)
  2177. Integer job(8)
  2178. integer m, mblk, ldAbsr, info
  2179. integer AJ(*), AI(m+1), AJB(*), AIB(*)
  2180. double complex Acsr(*), Absr(ldAbsr,*)
  2181. END
  2182. END INTERFACE
  2183. INTERFACE
  2184. subroutine mkl_zcsrcoo ( job, n, Acsr, AJR, AIR, nnz, &
  2185. &Acoo, ir, jc, info)
  2186. Integer job(8)
  2187. integer n, nnz, info
  2188. integer AJR(*), AIR(n+1), ir(*), jc(*)
  2189. double complex Acsr(*), Acoo(*)
  2190. END
  2191. END INTERFACE
  2192. INTERFACE
  2193. subroutine mkl_zdnscsr ( job, m, n, Adns, lda, &
  2194. &Acsr, AJ, AI, info)
  2195. Integer job(8)
  2196. integer m, n, lda, info
  2197. integer AJ(*), AI(m+1)
  2198. double complex Adns(*), Acsr(*)
  2199. END
  2200. END INTERFACE
  2201. INTERFACE
  2202. subroutine mkl_zcsrcsc( job, n, VAL_csr, AJ, AI, &
  2203. &VAL_csc, AJ1, AI1, info)
  2204. integer job(8)
  2205. integer n, info
  2206. integer AJ(*), AI(n+1), AJ1(*), AI1(n+1)
  2207. double complex VAL_csr(*), VAL_csc(*)
  2208. END
  2209. END INTERFACE
  2210. INTERFACE
  2211. subroutine mkl_zcsrdia( job, n, VAL_csr, AJ, AI, &
  2212. &VAL_dia, ndiag, distance, idiag, &
  2213. &VAL_csr_rem, AJ_rem, AI_rem, info)
  2214. integer job(8)
  2215. integer n, ndiag, idiag, info
  2216. integer AJ(*), AI(n+1), AJ_rem(*),AI_rem(*), distance(*)
  2217. double complex VAL_csr(*), VAL_dia(*), VAL_csr_rem(*)
  2218. END
  2219. END INTERFACE
  2220. INTERFACE
  2221. subroutine mkl_zcsrsky( job, n, VAL_csr, AJ, AI, &
  2222. &VAL_sky, pointers, info)
  2223. integer job(8)
  2224. integer n, info
  2225. integer AJ(*),AI(n+1), pointers(n+1)
  2226. double complex VAL_csr(*), VAL_sky(*)
  2227. END
  2228. END INTERFACE
  2229. INTERFACE
  2230. subroutine mkl_scsradd(trans, job, sort, nrowA,ncolA, a,ja,ia, &
  2231. & beta, b,jb,ib, c,jc,ic,nzmax, ierr)
  2232. character trans
  2233. integer job, sort, nrowA, ncolA, nzmax, ierr
  2234. real*4 beta
  2235. real*4 a(*), b(*), c(*)
  2236. integer ja(*),jb(*),jc(*),ia(*),ib(*),ic(*)
  2237. END
  2238. END INTERFACE
  2239. INTERFACE
  2240. subroutine mkl_dcsradd(trans, job, sort, nrowA,ncolA, a,ja,ia, &
  2241. & beta, b,jb,ib, c,jc,ic,nzmax, ierr)
  2242. character trans
  2243. integer job, sort, nrowA, ncolA, nzmax, ierr
  2244. double precision beta
  2245. double precision a(*), b(*), c(*)
  2246. integer ja(*),jb(*),jc(*),ia(*),ib(*),ic(*)
  2247. END
  2248. END INTERFACE
  2249. INTERFACE
  2250. subroutine mkl_ccsradd(trans, job, sort, nrowA,ncolA, a,ja,ia, &
  2251. & beta, b,jb,ib, c,jc,ic,nzmax, ierr)
  2252. character trans
  2253. integer job, sort, nrowA, ncolA, nzmax, ierr
  2254. complex beta
  2255. complex a(*), b(*), c(*)
  2256. integer ja(*),jb(*),jc(*),ia(*),ib(*),ic(*)
  2257. END
  2258. END INTERFACE
  2259. INTERFACE
  2260. subroutine mkl_zcsradd(trans, job, sort, nrowA,ncolA, a,ja,ia, &
  2261. & beta, b,jb,ib, c,jc,ic,nzmax, ierr)
  2262. character trans
  2263. integer job, sort, nrowA, ncolA, nzmax, ierr
  2264. double complex beta
  2265. double complex a(*), b(*), c(*)
  2266. integer ja(*),jb(*),jc(*),ia(*),ib(*),ic(*)
  2267. END
  2268. END INTERFACE
  2269. INTERFACE
  2270. subroutine mkl_scsrmultcsr(trans, job, sort, nrowA,ncolA,ncolB, &
  2271. & a,ja,ia, b,jb,ib, c,jc,ic, nzmax, ierr)
  2272. character trans
  2273. integer job,nrowA,ncolA,ncolB, nzmax, ierr,sort
  2274. real*4 a(*), b(*), c(*)
  2275. integer ja(*),jb(*),jc(*),ia(nrowA+1),ib(*),ic(*)
  2276. END
  2277. END INTERFACE
  2278. INTERFACE
  2279. subroutine mkl_dcsrmultcsr(trans, job, sort, nrowA,ncolA,ncolB, &
  2280. & a,ja,ia, b,jb,ib, c,jc,ic, nzmax, ierr)
  2281. character trans
  2282. integer job,nrowA,ncolA,ncolB, nzmax, ierr,sort
  2283. double precision a(*), b(*), c(*)
  2284. integer ja(*),jb(*),jc(*),ia(nrowA+1),ib(*),ic(*)
  2285. END
  2286. END INTERFACE
  2287. INTERFACE
  2288. subroutine mkl_ccsrmultcsr(trans, job, sort, nrowA,ncolA,ncolB, &
  2289. & a,ja,ia, b,jb,ib, c,jc,ic, nzmax, ierr)
  2290. character trans
  2291. integer job,nrowA,ncolA,ncolB, nzmax, ierr,sort
  2292. complex a(*), b(*), c(*)
  2293. integer ja(*),jb(*),jc(*),ia(nrowA+1),ib(*),ic(*)
  2294. END
  2295. END INTERFACE
  2296. INTERFACE
  2297. subroutine mkl_zcsrmultcsr(trans, job, sort, nrowA,ncolA,ncolB, &
  2298. & a,ja,ia, b,jb,ib, c,jc,ic, nzmax, ierr)
  2299. character trans
  2300. integer job,nrowA,ncolA,ncolB, nzmax, ierr,sort
  2301. double complex a(*), b(*), c(*)
  2302. integer ja(*),jb(*),jc(*),ia(nrowA+1),ib(*),ic(*)
  2303. END
  2304. END INTERFACE
  2305. INTERFACE
  2306. subroutine mkl_scsrmultd(trans, nrowA, ncolA, ncolB, a,ja,ia, &
  2307. & b,jb,ib, c, ldc)
  2308. character trans
  2309. integer nrowA, ncolA, ncolB, ldc
  2310. real*4 a(*), b(*), c(ldc, *)
  2311. integer ja(*),jb(*),ia(nrowA+1),ib(*)
  2312. END
  2313. END INTERFACE
  2314. INTERFACE
  2315. subroutine mkl_dcsrmultd(trans, nrowA, ncolA, ncolB, a,ja,ia, &
  2316. & b,jb,ib, c, ldc)
  2317. character trans
  2318. integer nrowA, ncolA, ncolB, ldc
  2319. double precision a(*), b(*), c(ldc, *)
  2320. integer ja(*),jb(*),ia(nrowA+1),ib(*)
  2321. END
  2322. END INTERFACE
  2323. INTERFACE
  2324. subroutine mkl_ccsrmultd(trans, nrowA, ncolA, ncolB, a,ja,ia, &
  2325. & b,jb,ib, c, ldc)
  2326. character trans
  2327. integer nrowA, ncolA, ncolB, ldc
  2328. complex a(*), b(*), c(ldc, *)
  2329. integer ja(*),jb(*),ia(nrowA+1),ib(*)
  2330. END
  2331. END INTERFACE
  2332. INTERFACE
  2333. subroutine mkl_zcsrmultd(trans, nrowA, ncolA, ncolB, a,ja,ia, &
  2334. & b,jb,ib, c, ldc)
  2335. character trans
  2336. integer nrowA, ncolA, ncolB, ldc
  2337. double complex a(*), b(*), c(ldc, *)
  2338. integer ja(*),jb(*),ia(nrowA+1),ib(*)
  2339. END
  2340. END INTERFACE