| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491 |
- !===============================================================================
- ! Copyright 1999-2022 Intel Corporation.
- !
- ! This software and the related documents are Intel copyrighted materials, and
- ! your use of them is governed by the express license under which they were
- ! provided to you (License). Unless the License provides otherwise, you may not
- ! use, modify, copy, publish, distribute, disclose or transmit this software or
- ! the related documents without Intel's prior written permission.
- !
- ! This software and the related documents are provided as is, with no express
- ! or implied warranties, other than those that are expressly stated in the
- ! License.
- !===============================================================================
- ! Content:
- ! Intel(R) oneAPI Math Kernel Library (oneMKL) FORTRAN interface for BLAS routines
- !*******************************************************************************
- INTERFACE
- subroutine xerbla(srname,info)
- character*(*) srname
- integer*4 info
- END
- END INTERFACE
- INTERFACE
- logical function lsame(ca,cb)
- character*(*) ca,cb
- END
- END INTERFACE
- INTERFACE
- real function scabs1(c)
- complex c
- END
- END INTERFACE
- INTERFACE
- subroutine saxpy(n,sa,sx,incx,sy,incy)
- real sx(*),sy(*),sa
- integer incx,incy,n
- END
- END INTERFACE
- INTERFACE
- subroutine saxpy_batch_strided(n,sa,sx,incx,stridex, &
- &sy,incy,stridey,batch_size)
- real sx(*),sy(*),sa
- integer incx,incy,n
- integer stridex,stridey,batch_size
- END
- END INTERFACE
- INTERFACE
- subroutine saxpy_batch(n_array,alpha_array,x_array,incx_array, &
- &y_array,incy_array,group_count,group_size_array)
- use, intrinsic :: ISO_C_BINDING
- real alpha_array(*)
- integer incx_array(*),incy_array(*),n_array(*)
- integer group_count,group_size_array(*)
- integer(KIND=C_INTPTR_T) x_array(*), y_array(*)
- END
- END INTERFACE
- INTERFACE
- subroutine saxpby(n,sa,sx,incx,sb,sy,incy)
- real sx(*),sy(*),sa,sb
- integer incx,incy,n
- END
- END INTERFACE
- INTERFACE
- subroutine scopy(n,sx,incx,sy,incy)
- real sx(*),sy(*)
- integer incx,incy,n
- END
- END INTERFACE
- INTERFACE
- subroutine scopy_batch_strided(n,x,incx,stridex, &
- &y,incy,stridey,batch_size)
- real x(*),y(*)
- integer n,incx,incy
- integer stridex,stridey,batch_size
- END
- END INTERFACE
- INTERFACE
- subroutine scopy_batch(n_array,x_array,incx_array, &
- &y_array,incy_array,group_count,group_size_array)
- use, intrinsic :: ISO_C_BINDING
- integer incx_array(*),incy_array(*),n_array(*)
- integer group_count,group_size_array(*)
- integer(KIND=C_INTPTR_T) x_array(*), y_array(*)
- END
- END INTERFACE
- INTERFACE
- real function sdot(n,sx,incx,sy,incy)
- real sx(*),sy(*)
- integer incx,incy,n
- END
- END INTERFACE
- INTERFACE
- real function sdsdot(n,sb,sx,incx,sy,incy)
- real sb,sx(*),sy(*)
- integer incx,incy,n
- END
- END INTERFACE
- INTERFACE
- subroutine sscal(n,sa,sx,incx)
- real sa,sx(*)
- integer incx,n
- END
- END INTERFACE
- INTERFACE
- subroutine sswap (n,sx,incx,sy,incy)
- real sx(*),sy(*)
- integer incx,incy,n
- END
- END INTERFACE
- INTERFACE
- real function snrm2 ( n, x, incx )
- integer incx, n
- real x( * )
- END
- END INTERFACE
- INTERFACE
- integer function isamax(n,sx,incx)
- real sx(*)
- integer incx,n
- END
- END INTERFACE
- INTERFACE
- integer function isamin(n,sx,incx)
- real sx(*)
- integer incx, n
- END
- END INTERFACE
- INTERFACE
- subroutine srot (n,sx,incx,sy,incy,c,s)
- real sx(*),sy(*),c,s
- integer incx,incy,n
- END
- END INTERFACE
- INTERFACE
- subroutine srotg(sa,sb,c,s)
- real sa,sb,c,s
- END
- END INTERFACE
- INTERFACE
- real function sasum(n,sx,incx)
- real sx(*)
- integer incx,n
- END
- END INTERFACE
- INTERFACE
- subroutine saxpyi( nz, a, x, indx, y )
- integer nz, indx (*)
- real y (*), x (*), a
- END
- END INTERFACE
- INTERFACE
- real function sdoti( nz, x, indx, y )
- integer nz, indx (*)
- real x (*), y (*)
- END
- END INTERFACE
- INTERFACE
- subroutine sgthr( nz, y, x, indx )
- integer nz, indx (*)
- real y (*), x (*)
- END
- END INTERFACE
- INTERFACE
- subroutine sgthrz( nz, y, x, indx )
- integer nz, indx (*)
- real y (*), x (*)
- END
- END INTERFACE
- INTERFACE
- subroutine sroti( nz, x, indx, y, c, s )
- integer nz, indx (*)
- real x (*), y (*), c, s
- END
- END INTERFACE
- INTERFACE
- subroutine srotm (n,sx,incx,sy,incy,sparam)
- real sx, sy, sparam
- integer n, incx, incy
- END
- END INTERFACE
- INTERFACE
- subroutine srotmg (sd1,sd2,sx1,sy1,sparam)
- real sd1, sd2, sx1, sy1, sparam
- END
- END INTERFACE
- INTERFACE
- subroutine ssctr ( nz, x, indx, y )
- integer nz, indx (*)
- real x (*), y (*)
- END
- END INTERFACE
- INTERFACE
- double precision function dcabs1(z)
- double complex z
- END
- END INTERFACE
- INTERFACE
- subroutine daxpy(n,da,dx,incx,dy,incy)
- double precision dx(*),dy(*),da
- integer incx,incy,n
- END
- END INTERFACE
- INTERFACE
- subroutine daxpy_batch_strided(n,sa,sx,incx,stridex, &
- &sy,incy,stridey,batch_size)
- double precision sx(*),sy(*),sa
- integer incx,incy,n
- integer stridex,stridey,batch_size
- END
- END INTERFACE
- INTERFACE
- subroutine daxpy_batch(n_array,alpha_array,x_array,incx_array, &
- &y_array,incy_array,group_count,group_size_array)
- use, intrinsic :: ISO_C_BINDING
- double precision alpha_array(*)
- integer incx_array(*),incy_array(*),n_array(*)
- integer group_count,group_size_array(*)
- integer(KIND=C_INTPTR_T) x_array(*), y_array(*)
- END
- END INTERFACE
- INTERFACE
- subroutine daxpby(n,da,dx,incx,db,dy,incy)
- double precision dx(*),dy(*),da,db
- integer incx,incy,n
- END
- END INTERFACE
- INTERFACE
- subroutine dcopy(n,dx,incx,dy,incy)
- double precision dx(*),dy(*)
- integer incx,incy,n
- END
- END INTERFACE
- INTERFACE
- subroutine dcopy_batch_strided(n,x,incx,stridex, &
- &y,incy,stridey,batch_size)
- double precision x(*),y(*)
- integer n,incx,incy
- integer stridex,stridey,batch_size
- END
- END INTERFACE
- INTERFACE
- subroutine dcopy_batch(n_array,x_array,incx_array, &
- &y_array,incy_array,group_count,group_size_array)
- use, intrinsic :: ISO_C_BINDING
- integer incx_array(*),incy_array(*),n_array(*)
- integer group_count,group_size_array(*)
- integer(KIND=C_INTPTR_T) x_array(*), y_array(*)
- END
- END INTERFACE
- INTERFACE
- double precision function ddot(n,dx,incx,dy,incy)
- double precision dx(*),dy(*)
- integer incx,incy,n
- END
- END INTERFACE
- INTERFACE
- double precision function dsdot(n,sx,incx,sy,incy)
- real sx(*),sy(*)
- integer incx,incy,n
- END
- END INTERFACE
- INTERFACE
- subroutine dscal(n,da,dx,incx)
- double precision da,dx(*)
- integer incx,n
- END
- END INTERFACE
- INTERFACE
- subroutine dswap (n,dx,incx,dy,incy)
- double precision dx(*),dy(*)
- integer incx,incy,n
- END
- END INTERFACE
- INTERFACE
- double precision function dnrm2 ( n, x, incx )
- integer incx, n
- double precision x( * )
- END
- END INTERFACE
- INTERFACE
- integer function idamax(n,dx,incx)
- double precision dx(*)
- integer incx,n
- END
- END INTERFACE
- INTERFACE
- integer function idamin(n,dx,incx)
- double precision dx(*)
- integer incx, n
- END
- END INTERFACE
- INTERFACE
- subroutine drot (n,dx,incx,dy,incy,c,s)
- double precision dx(*),dy(*),c,s
- integer incx,incy,n
- END
- END INTERFACE
- INTERFACE
- subroutine drotg(da,db,c,s)
- double precision da,db,c,s
- END
- END INTERFACE
- INTERFACE
- double precision function dasum(n,dx,incx)
- double precision dx(*)
- integer incx,n
- END
- END INTERFACE
- INTERFACE
- subroutine daxpyi( nz, a, x, indx, y )
- integer nz, indx (*)
- double precision y (*), x (*), a
- END
- END INTERFACE
- INTERFACE
- double precision function ddoti( nz, x, indx, y )
- integer nz, indx (*)
- double precision x (*), y (*)
- END
- END INTERFACE
- INTERFACE
- subroutine dgthr( nz, y, x, indx )
- integer nz, indx (*)
- double precision y (*), x (*)
- END
- END INTERFACE
- INTERFACE
- subroutine dgthrz( nz, y, x, indx )
- integer nz, indx (*)
- double precision y (*), x (*)
- END
- END INTERFACE
- INTERFACE
- subroutine droti( nz, x, indx, y, c, s )
- integer nz, indx (*)
- double precision x (*), y (*), c, s
- END
- END INTERFACE
- INTERFACE
- subroutine drotm(n,dx,incx,dy,incy,dparam)
- double precision dparam, dx, dy
- integer n,incx,incy
- END
- END INTERFACE
- INTERFACE
- subroutine drotmg(dd1,dd2,dx1,dy1,dparam)
- double precision dd1, dd2, dx1, dy1, dparam
- END
- END INTERFACE
- INTERFACE
- subroutine dsctr( nz, x, indx, y )
- integer nz, indx (*)
- double precision x (*), y (*)
- END
- END INTERFACE
- INTERFACE
- subroutine caxpy(n,ca,cx,incx,cy,incy)
- complex cx(*),cy(*),ca
- integer incx,incy,n
- END
- END INTERFACE
- INTERFACE
- subroutine caxpy_batch_strided(n,sa,sx,incx,stridex, &
- &sy,incy,stridey,batch_size)
- complex sx(*),sy(*),sa
- integer incx,incy,n
- integer stridex,stridey,batch_size
- END
- END INTERFACE
- INTERFACE
- subroutine caxpy_batch(n_array,alpha_array,x_array,incx_array, &
- &y_array,incy_array,group_count,group_size_array)
- use, intrinsic :: ISO_C_BINDING
- complex alpha_array(*)
- integer incx_array(*),incy_array(*),n_array(*)
- integer group_count,group_size_array(*)
- integer(KIND=C_INTPTR_T) x_array(*), y_array(*)
- END
- END INTERFACE
- INTERFACE
- subroutine caxpby(n,ca,cx,incx,cb,cy,incy)
- complex cx(*),cy(*),ca,cb
- integer incx,incy,n
- END
- END INTERFACE
- INTERFACE
- subroutine ccopy(n,cx,incx,cy,incy)
- complex cx(*),cy(*)
- integer incx,incy,n
- END
- END INTERFACE
- INTERFACE
- subroutine ccopy_batch_strided(n,x,incx,stridex, &
- &y,incy,stridey,batch_size)
- complex x(*),y(*)
- integer n,incx,incy
- integer stridex,stridey,batch_size
- END
- END INTERFACE
- INTERFACE
- subroutine ccopy_batch(n_array,x_array,incx_array, &
- &y_array,incy_array,group_count,group_size_array)
- use, intrinsic :: ISO_C_BINDING
- integer incx_array(*),incy_array(*),n_array(*)
- integer group_count,group_size_array(*)
- integer(KIND=C_INTPTR_T) x_array(*), y_array(*)
- END
- END INTERFACE
- INTERFACE
- complex function cdotc(n,cx,incx,cy,incy)
- complex cx(*),cy(*)
- integer incx,incy,n
- END
- END INTERFACE
- INTERFACE
- complex function cdotu(n,cx,incx,cy,incy)
- complex cx(*),cy(*)
- integer incx,incy,n
- END
- END INTERFACE
- INTERFACE
- subroutine cscal(n,ca,cx,incx)
- complex ca,cx(*)
- integer incx,n
- END
- END INTERFACE
- INTERFACE
- subroutine csscal(n,sa,cx,incx)
- complex cx(*)
- real sa
- integer incx,n
- END
- END INTERFACE
- INTERFACE
- subroutine cswap(n,cx,incx,cy,incy)
- complex cx(*),cy(*)
- integer incx,incy,n
- END
- END INTERFACE
- INTERFACE
- real function scnrm2( n, x, incx )
- integer incx, n
- complex x( * )
- END
- END INTERFACE
- INTERFACE
- integer function icamax(n,cx,incx)
- complex cx(*)
- integer incx,n
- END
- END INTERFACE
- INTERFACE
- integer function icamin(n,cx,incx)
- complex cx(*)
- integer incx, n
- END
- END INTERFACE
- INTERFACE
- subroutine csrot (n,sx,incx,sy,incy,c,s)
- integer n
- complex sx(*), sy(*)
- real c, s
- integer incx, incy
- END
- END INTERFACE
- INTERFACE
- subroutine crotg(ca,cb,c,s)
- complex ca,cb,s
- real c
- END
- END INTERFACE
- INTERFACE
- real function scasum(n,cx,incx)
- complex cx(*)
- integer incx,n
- END
- END INTERFACE
- INTERFACE
- subroutine caxpyi( nz, a, x, indx, y )
- integer nz, indx (*)
- complex y (*), x (*), a
- END
- END INTERFACE
- INTERFACE
- complex function cdotci( nz, x, indx, y )
- integer nz, indx (*)
- complex x (*), y (*)
- END
- END INTERFACE
- INTERFACE
- complex function cdotui( nz, x, indx, y )
- integer nz, indx (*)
- complex x (*), y (*)
- END
- END INTERFACE
- INTERFACE
- subroutine cgthr( nz, y, x, indx )
- integer nz, indx (*)
- complex y (*), x (*)
- END
- END INTERFACE
- INTERFACE
- subroutine cgthrz( nz, y, x, indx )
- integer nz, indx (*)
- complex y (*), x (*)
- END
- END INTERFACE
- INTERFACE
- subroutine csctr( nz, x, indx, y )
- integer nz, indx (*)
- complex x (*), y (*)
- END
- END INTERFACE
- INTERFACE
- subroutine zaxpy(n,za,zx,incx,zy,incy)
- double complex zx(*),zy(*),za
- integer incx,incy,n
- END
- END INTERFACE
- INTERFACE
- subroutine zaxpy_batch_strided(n,sa,sx,incx,stridex, &
- &sy,incy,stridey,batch_size)
- double complex sx(*),sy(*),sa
- integer incx,incy,n
- integer stridex,stridey,batch_size
- END
- END INTERFACE
- INTERFACE
- subroutine zaxpy_batch(n_array,alpha_array,x_array,incx_array, &
- &y_array,incy_array,group_count,group_size_array)
- use, intrinsic :: ISO_C_BINDING
- complex*16 alpha_array(*)
- integer incx_array(*),incy_array(*),n_array(*)
- integer group_count,group_size_array(*)
- integer(KIND=C_INTPTR_T) x_array(*), y_array(*)
- END
- END INTERFACE
- INTERFACE
- subroutine zaxpby(n,za,zx,incx,zb,zy,incy)
- double complex zx(*),zy(*),za,zb
- integer incx,incy,n
- END
- END INTERFACE
- INTERFACE
- subroutine zcopy(n,zx,incx,zy,incy)
- double complex zx(*),zy(*)
- integer incx,incy,n
- END
- END INTERFACE
- INTERFACE
- subroutine zcopy_batch_strided(n,x,incx,stridex, &
- &y,incy,stridey,batch_size)
- double complex x(*),y(*)
- integer n,incx,incy
- integer stridex,stridey,batch_size
- END
- END INTERFACE
- INTERFACE
- subroutine zcopy_batch(n_array,x_array,incx_array, &
- &y_array,incy_array,group_count,group_size_array)
- use, intrinsic :: ISO_C_BINDING
- integer incx_array(*),incy_array(*),n_array(*)
- integer group_count,group_size_array(*)
- integer(KIND=C_INTPTR_T) x_array(*), y_array(*)
- END
- END INTERFACE
- INTERFACE
- double complex function zdotc(n,zx,incx,zy,incy)
- double complex zx(*),zy(*)
- integer incx,incy,n
- END
- END INTERFACE
- INTERFACE
- double complex function zdotu(n,zx,incx,zy,incy)
- double complex zx(*),zy(*)
- integer incx,incy,n
- END
- END INTERFACE
- INTERFACE
- subroutine zscal(n,za,zx,incx)
- double complex za,zx(*)
- integer incx,n
- END
- END INTERFACE
- INTERFACE
- subroutine zdscal(n,da,zx,incx)
- double complex zx(*)
- double precision da
- integer incx,n
- END
- END INTERFACE
- INTERFACE
- subroutine zswap (n,zx,incx,zy,incy)
- double complex zx(*),zy(*)
- integer incx,incy,n
- END
- END INTERFACE
- INTERFACE
- double precision function dznrm2( n, x, incx )
- integer incx, n
- complex*16 x( * )
- END
- END INTERFACE
- INTERFACE
- integer function izamax(n,zx,incx)
- double complex zx(*)
- integer incx,n
- END
- END INTERFACE
- INTERFACE
- integer function izamin(n,zx,incx)
- double complex zx(*)
- integer incx, n
- END
- END INTERFACE
- INTERFACE
- subroutine zdrot(n,dx,incx,dy,incy,c,s)
- double complex dx(1), dy(1)
- double precision c, s
- integer incx, incy, n
- END
- END INTERFACE
- INTERFACE
- subroutine zrotg(ca,cb,c,s)
- double complex ca,cb,s
- double precision c
- END
- END INTERFACE
- INTERFACE
- double precision function dzasum(n,zx,incx)
- double complex zx(*)
- integer incx,n
- END
- END INTERFACE
- INTERFACE
- subroutine zaxpyi( nz, a, x, indx, y )
- integer nz, indx (*)
- complex*16 y (*), x (*), a
- END
- END INTERFACE
- INTERFACE
- function zdotci( nz, x, indx, y )
- integer nz, indx (*)
- complex*16 x (*), y (*), zdotci
- END
- END INTERFACE
- INTERFACE
- function zdotui( nz, x, indx, y )
- integer nz, indx (*)
- complex*16 x (*), y (*), zdotui
- END
- END INTERFACE
- INTERFACE
- subroutine zgthr( nz, y, x, indx )
- integer nz, indx (*)
- complex*16 y (*), x (*)
- END
- END INTERFACE
- INTERFACE
- subroutine zgthrz( nz, y, x, indx )
- integer nz, indx (*)
- complex*16 y (*), x (*)
- END
- END INTERFACE
- INTERFACE
- subroutine zsctr( nz, x, indx, y )
- integer nz, indx (*)
- complex*16 x (*), y (*)
- END
- END INTERFACE
- INTERFACE
- subroutine sgemv ( trans, m, n, alpha, a, lda, x, incx, &
- &beta, y, incy )
- real alpha, beta
- integer incx, incy, lda, m, n
- character*1 trans
- real a( lda, * ), x( * ), y( * )
- END
- END INTERFACE
- INTERFACE
- subroutine sgem2vu ( m, n, alpha, a, lda, x1, incx1, &
- &x2, incx2, beta, y1, incy1, y2, incy2 )
- real alpha, beta
- integer incx1, incx2, incy1, incy2, lda, m, n
- real a( lda, * ), x1( * ), y1( * ), &
- &x2( * ), y2( * )
- END
- END INTERFACE
- INTERFACE
- subroutine sger ( m, n, alpha, x, incx, y, incy, a, lda )
- real alpha
- integer incx, incy, lda, m, n
- real a( lda, * ), x( * ), y( * )
- END
- END INTERFACE
- INTERFACE
- subroutine strsv ( uplo, trans, diag, n, a, lda, x, incx )
- integer incx, lda, n
- character*1 diag, trans, uplo
- real a( lda, * ), x( * )
- END
- END INTERFACE
- INTERFACE
- subroutine sgbmv ( trans, m, n, kl, ku, alpha, a, lda, x, incx, &
- &beta, y, incy )
- real alpha, beta
- integer incx, incy, kl, ku, lda, m, n
- character*1 trans
- real a( lda, * ), x( * ), y( * )
- END
- END INTERFACE
- INTERFACE
- subroutine ssbmv ( uplo, n, k, alpha, a, lda, x, incx, &
- &beta, y, incy )
- real alpha, beta
- integer incx, incy, k, lda, n
- character*1 uplo
- real a( lda, * ), x( * ), y( * )
- END
- END INTERFACE
- INTERFACE
- subroutine sspmv ( uplo, n, alpha, ap, x, incx, beta, y, incy )
- real alpha, beta
- integer incx, incy, n
- character*1 uplo
- real ap( * ), x( * ), y( * )
- END
- END INTERFACE
- INTERFACE
- subroutine ssymv ( uplo, n, alpha, a, lda, x, incx, &
- &beta, y, incy )
- real alpha, beta
- integer incx, incy, lda, n
- character*1 uplo
- real a( lda, * ), x( * ), y( * )
- END
- END INTERFACE
- INTERFACE
- subroutine strmv ( uplo, trans, diag, n, a, lda, x, incx )
- integer incx, lda, n
- character*1 diag, trans, uplo
- real a( lda, * ), x( * )
- END
- END INTERFACE
- INTERFACE
- subroutine stbmv ( uplo, trans, diag, n, k, a, lda, x, incx )
- integer incx, k, lda, n
- character*1 diag, trans, uplo
- real a( lda, * ), x( * )
- END
- END INTERFACE
- INTERFACE
- subroutine stbsv ( uplo, trans, diag, n, k, a, lda, x, incx )
- integer incx, k, lda, n
- character*1 diag, trans, uplo
- real a( lda, * ), x( * )
- END
- END INTERFACE
- INTERFACE
- subroutine stpmv ( uplo, trans, diag, n, ap, x, incx )
- integer incx, n
- character*1 diag, trans, uplo
- real ap( * ), x( * )
- END
- END INTERFACE
- INTERFACE
- subroutine stpsv ( uplo, trans, diag, n, ap, x, incx )
- integer incx, n
- character*1 diag, trans, uplo
- real ap( * ), x( * )
- END
- END INTERFACE
- INTERFACE
- subroutine ssyr ( uplo, n, alpha, x, incx, a, lda )
- real alpha
- integer incx, lda, n
- character*1 uplo
- real a( lda, * ), x( * )
- END
- END INTERFACE
- INTERFACE
- subroutine sspr ( uplo, n, alpha, x, incx, ap )
- real alpha
- integer incx, n
- character*1 uplo
- real ap( * ), x( * )
- END
- END INTERFACE
- INTERFACE
- subroutine sspr2 ( uplo, n, alpha, x, incx, y, incy, ap )
- real alpha
- integer incx, incy, n
- character*1 uplo
- real ap( * ), x( * ), y( * )
- END
- END INTERFACE
- INTERFACE
- subroutine ssyr2 ( uplo, n, alpha, x, incx, y, incy, a, lda )
- real alpha
- integer incx, incy, lda, n
- character*1 uplo
- real a( lda, * ), x( * ), y( * )
- END
- END INTERFACE
- INTERFACE
- subroutine dgemv ( trans, m, n, alpha, a, lda, x, incx, &
- &beta, y, incy )
- double precision alpha, beta
- integer incx, incy, lda, m, n
- character*1 trans
- double precision a( lda, * ), x( * ), y( * )
- END
- END INTERFACE
- INTERFACE
- subroutine dgem2vu ( m, n, alpha, a, lda, x1, incx1, &
- &x2, incx2, beta, y1, incy1, y2, incy2 )
- double precision alpha, beta
- integer incx1, incx2, incy1, incy2, lda, m, n
- double precision a( lda, * ), x1( * ), y1( * ), &
- &x2( * ), y2( * )
- END
- END INTERFACE
- INTERFACE
- subroutine dger ( m, n, alpha, x, incx, y, incy, a, lda )
- double precision alpha
- integer incx, incy, lda, m, n
- double precision a( lda, * ), x( * ), y( * )
- END
- END INTERFACE
- INTERFACE
- subroutine dtrsv ( uplo, trans, diag, n, a, lda, x, incx )
- integer incx, lda, n
- character*1 diag, trans, uplo
- double precision a( lda, * ), x( * )
- END
- END INTERFACE
- INTERFACE
- subroutine dgbmv ( trans, m, n, kl, ku, alpha, a, lda, x, incx, &
- &beta, y, incy )
- double precision alpha, beta
- integer incx, incy, kl, ku, lda, m, n
- character*1 trans
- double precision a( lda, * ), x( * ), y( * )
- END
- END INTERFACE
- INTERFACE
- subroutine dsbmv ( uplo, n, k, alpha, a, lda, x, incx, &
- &beta, y, incy )
- double precision alpha, beta
- integer incx, incy, k, lda, n
- character*1 uplo
- double precision a( lda, * ), x( * ), y( * )
- END
- END INTERFACE
- INTERFACE
- subroutine dspmv ( uplo, n, alpha, ap, x, incx, beta, y, incy )
- double precision alpha, beta
- integer incx, incy, n
- character*1 uplo
- double precision ap( * ), x( * ), y( * )
- END
- END INTERFACE
- INTERFACE
- subroutine dsymv ( uplo, n, alpha, a, lda, x, incx, &
- &beta, y, incy )
- double precision alpha, beta
- integer incx, incy, lda, n
- character*1 uplo
- double precision a( lda, * ), x( * ), y( * )
- END
- END INTERFACE
- INTERFACE
- subroutine dtrmv ( uplo, trans, diag, n, a, lda, x, incx )
- integer incx, lda, n
- character*1 diag, trans, uplo
- double precision a( lda, * ), x( * )
- END
- END INTERFACE
- INTERFACE
- subroutine dtbmv ( uplo, trans, diag, n, k, a, lda, x, incx )
- integer incx, k, lda, n
- character*1 diag, trans, uplo
- double precision a( lda, * ), x( * )
- END
- END INTERFACE
- INTERFACE
- subroutine dtbsv ( uplo, trans, diag, n, k, a, lda, x, incx )
- integer incx, k, lda, n
- character*1 diag, trans, uplo
- double precision a( lda, * ), x( * )
- END
- END INTERFACE
- INTERFACE
- subroutine dtpmv ( uplo, trans, diag, n, ap, x, incx )
- integer incx, n
- character*1 diag, trans, uplo
- double precision ap( * ), x( * )
- END
- END INTERFACE
- INTERFACE
- subroutine dtpsv ( uplo, trans, diag, n, ap, x, incx )
- integer incx, n
- character*1 diag, trans, uplo
- double precision ap( * ), x( * )
- END
- END INTERFACE
- INTERFACE
- subroutine dsyr ( uplo, n, alpha, x, incx, a, lda )
- double precision alpha
- integer incx, lda, n
- character*1 uplo
- double precision a( lda, * ), x( * )
- END
- END INTERFACE
- INTERFACE
- subroutine dspr ( uplo, n, alpha, x, incx, ap )
- double precision alpha
- integer incx, n
- character*1 uplo
- double precision ap( * ), x( * )
- END
- END INTERFACE
- INTERFACE
- subroutine dspr2 ( uplo, n, alpha, x, incx, y, incy, ap )
- double precision alpha
- integer incx, incy, n
- character*1 uplo
- double precision ap( * ), x( * ), y( * )
- END
- END INTERFACE
- INTERFACE
- subroutine dsyr2 ( uplo, n, alpha, x, incx, y, incy, a, lda )
- double precision alpha
- integer incx, incy, lda, n
- character*1 uplo
- double precision a( lda, * ), x( * ), y( * )
- END
- END INTERFACE
- INTERFACE
- subroutine cgemv ( trans, m, n, alpha, a, lda, x, incx, &
- &beta, y, incy )
- complex alpha, beta
- integer incx, incy, lda, m, n
- character*1 trans
- complex a( lda, * ), x( * ), y( * )
- END
- END INTERFACE
- INTERFACE
- subroutine scgemv ( trans, m, n, alpha, a, lda, x, incx, &
- &beta, y, incy )
- complex alpha, beta
- integer incx, incy, lda, m, n
- character*1 trans
- complex x( * ), y( * )
- real a( lda, * )
- END
- END INTERFACE
- INTERFACE
- subroutine cgem2vc ( m, n, alpha, a, lda, x1, incx1, &
- &x2, incx2, beta, y1, incy1, y2, incy2 )
- complex alpha, beta
- integer incx1, incx2, incy1, incy2, lda, m, n
- complex a( lda, * ), x1( * ), y1( * ), &
- &x2( * ), y2( * )
- END
- END INTERFACE
- INTERFACE
- subroutine cgerc ( m, n, alpha, x, incx, y, incy, a, lda )
- complex alpha
- integer incx, incy, lda, m, n
- complex a( lda, * ), x( * ), y( * )
- END
- END INTERFACE
- INTERFACE
- subroutine cgeru ( m, n, alpha, x, incx, y, incy, a, lda )
- complex alpha
- integer incx, incy, lda, m, n
- complex a( lda, * ), x( * ), y( * )
- END
- END INTERFACE
- INTERFACE
- subroutine ctrsv ( uplo, trans, diag, n, a, lda, x, incx )
- integer incx, lda, n
- character*1 diag, trans, uplo
- complex a( lda, * ), x( * )
- END
- END INTERFACE
- INTERFACE
- subroutine cgbmv ( trans, m, n, kl, ku, alpha, a, lda, x, incx, &
- &beta, y, incy )
- complex alpha, beta
- integer incx, incy, kl, ku, lda, m, n
- character*1 trans
- complex a( lda, * ), x( * ), y( * )
- END
- END INTERFACE
- INTERFACE
- subroutine chbmv ( uplo, n, k, alpha, a, lda, x, incx, &
- &beta, y, incy )
- complex alpha, beta
- integer incx, incy, k, lda, n
- character*1 uplo
- complex a( lda, * ), x( * ), y( * )
- END
- END INTERFACE
- INTERFACE
- subroutine chpmv ( uplo, n, alpha, ap, x, incx, beta, y, incy )
- complex alpha, beta
- integer incx, incy, n
- character*1 uplo
- complex ap( * ), x( * ), y( * )
- END
- END INTERFACE
- INTERFACE
- subroutine chemv ( uplo, n, alpha, a, lda, x, incx, &
- &beta, y, incy )
- complex alpha, beta
- integer incx, incy, lda, n
- character*1 uplo
- complex a( lda, * ), x( * ), y( * )
- END
- END INTERFACE
- INTERFACE
- subroutine ctrmv ( uplo, trans, diag, n, a, lda, x, incx )
- integer incx, lda, n
- character*1 diag, trans, uplo
- complex a( lda, * ), x( * )
- END
- END INTERFACE
- INTERFACE
- subroutine ctbmv ( uplo, trans, diag, n, k, a, lda, x, incx )
- integer incx, k, lda, n
- character*1 diag, trans, uplo
- complex a( lda, * ), x( * )
- END
- END INTERFACE
- INTERFACE
- subroutine ctbsv ( uplo, trans, diag, n, k, a, lda, x, incx )
- integer incx, k, lda, n
- character*1 diag, trans, uplo
- complex a( lda, * ), x( * )
- END
- END INTERFACE
- INTERFACE
- subroutine ctpmv ( uplo, trans, diag, n, ap, x, incx )
- integer incx, n
- character*1 diag, trans, uplo
- complex ap( * ), x( * )
- END
- END INTERFACE
- INTERFACE
- subroutine ctpsv ( uplo, trans, diag, n, ap, x, incx )
- integer incx, n
- character*1 diag, trans, uplo
- complex ap( * ), x( * )
- END
- END INTERFACE
- INTERFACE
- subroutine cher ( uplo, n, alpha, x, incx, a, lda )
- real alpha
- integer incx, lda, n
- character*1 uplo
- complex a( lda, * ), x( * )
- END
- END INTERFACE
- INTERFACE
- subroutine chpr ( uplo, n, alpha, x, incx, ap )
- real alpha
- integer incx, n
- character*1 uplo
- complex ap( * ), x( * )
- END
- END INTERFACE
- INTERFACE
- subroutine chpr2 ( uplo, n, alpha, x, incx, y, incy, ap )
- complex alpha
- integer incx, incy, n
- character*1 uplo
- complex ap( * ), x( * ), y( * )
- END
- END INTERFACE
- INTERFACE
- subroutine cher2 ( uplo, n, alpha, x, incx, y, incy, a, lda )
- complex alpha
- integer incx, incy, lda, n
- character*1 uplo
- complex a( lda, * ), x( * ), y( * )
- END
- END INTERFACE
- INTERFACE
- subroutine zgemv ( trans, m, n, alpha, a, lda, x, incx, &
- &beta, y, incy )
- complex*16 alpha, beta
- integer incx, incy, lda, m, n
- character*1 trans
- complex*16 a( lda, * ), x( * ), y( * )
- END
- END INTERFACE
- INTERFACE
- subroutine dzgemv ( trans, m, n, alpha, a, lda, x, incx, &
- &beta, y, incy )
- complex*16 alpha, beta
- integer incx, incy, lda, m, n
- character*1 trans
- complex*16 x( * ), y( * )
- double precision a( lda, * )
- END
- END INTERFACE
- INTERFACE
- subroutine zgem2vc ( m, n, alpha, a, lda, x1, incx1, &
- &x2, incx2, beta, y1, incy1, y2, incy2 )
- complex*16 alpha, beta
- integer incx1, incx2, incy1, incy2, lda, m, n
- complex*16 a( lda, * ), x1( * ), y1( * ), &
- &x2( * ), y2( * )
- END
- END INTERFACE
- INTERFACE
- subroutine zgerc ( m, n, alpha, x, incx, y, incy, a, lda )
- complex*16 alpha
- integer incx, incy, lda, m, n
- complex*16 a( lda, * ), x( * ), y( * )
- END
- END INTERFACE
- INTERFACE
- subroutine zgeru ( m, n, alpha, x, incx, y, incy, a, lda )
- complex*16 alpha
- integer incx, incy, lda, m, n
- complex*16 a( lda, * ), x( * ), y( * )
- END
- END INTERFACE
- INTERFACE
- subroutine ztrsv ( uplo, trans, diag, n, a, lda, x, incx )
- integer incx, lda, n
- character*1 diag, trans, uplo
- complex*16 a( lda, * ), x( * )
- END
- END INTERFACE
- INTERFACE
- subroutine zgbmv ( trans, m, n, kl, ku, alpha, a, lda, x, incx, &
- &beta, y, incy )
- complex*16 alpha, beta
- integer incx, incy, kl, ku, lda, m, n
- character*1 trans
- complex*16 a( lda, * ), x( * ), y( * )
- END
- END INTERFACE
- INTERFACE
- subroutine zhbmv ( uplo, n, k, alpha, a, lda, x, incx, &
- &beta, y, incy )
- complex*16 alpha, beta
- integer incx, incy, k, lda, n
- character*1 uplo
- complex*16 a( lda, * ), x( * ), y( * )
- END
- END INTERFACE
- INTERFACE
- subroutine zhpmv ( uplo, n, alpha, ap, x, incx, beta, y, incy )
- complex*16 alpha, beta
- integer incx, incy, n
- character*1 uplo
- complex*16 ap( * ), x( * ), y( * )
- END
- END INTERFACE
- INTERFACE
- subroutine zhemv ( uplo, n, alpha, a, lda, x, incx, &
- &beta, y, incy )
- complex*16 alpha, beta
- integer incx, incy, lda, n
- character*1 uplo
- complex*16 a( lda, * ), x( * ), y( * )
- END
- END INTERFACE
- INTERFACE
- subroutine ztrmv ( uplo, trans, diag, n, a, lda, x, incx )
- integer incx, lda, n
- character*1 diag, trans, uplo
- complex*16 a( lda, * ), x( * )
- END
- END INTERFACE
- INTERFACE
- subroutine ztbmv ( uplo, trans, diag, n, k, a, lda, x, incx )
- integer incx, k, lda, n
- character*1 diag, trans, uplo
- complex*16 a( lda, * ), x( * )
- END
- END INTERFACE
- INTERFACE
- subroutine ztbsv ( uplo, trans, diag, n, k, a, lda, x, incx )
- integer incx, k, lda, n
- character*1 diag, trans, uplo
- complex*16 a( lda, * ), x( * )
- END
- END INTERFACE
- INTERFACE
- subroutine ztpmv ( uplo, trans, diag, n, ap, x, incx )
- integer incx, n
- character*1 diag, trans, uplo
- complex*16 ap( * ), x( * )
- END
- END INTERFACE
- INTERFACE
- subroutine ztpsv ( uplo, trans, diag, n, ap, x, incx )
- integer incx, n
- character*1 diag, trans, uplo
- complex*16 ap( * ), x( * )
- END
- END INTERFACE
- INTERFACE
- subroutine zher ( uplo, n, alpha, x, incx, a, lda )
- double precision alpha
- integer incx, lda, n
- character*1 uplo
- complex*16 a( lda, * ), x( * )
- END
- END INTERFACE
- INTERFACE
- subroutine zhpr ( uplo, n, alpha, x, incx, ap )
- double precision alpha
- integer incx, n
- character*1 uplo
- complex*16 ap( * ), x( * )
- END
- END INTERFACE
- INTERFACE
- subroutine zhpr2 ( uplo, n, alpha, x, incx, y, incy, ap )
- complex*16 alpha
- integer incx, incy, n
- character*1 uplo
- complex*16 ap( * ), x( * ), y( * )
- END
- END INTERFACE
- INTERFACE
- subroutine zher2 ( uplo, n, alpha, x, incx, y, incy, a, lda )
- complex*16 alpha
- integer incx, incy, lda, n
- character*1 uplo
- complex*16 a( lda, * ), x( * ), y( * )
- END
- END INTERFACE
- INTERFACE
- subroutine sgemm ( transa, transb, m, n, k, alpha, a, lda, &
- &b, ldb, beta, c, ldc )
- character*1 transa, transb
- integer m, n, k, lda, ldb, ldc
- real alpha, beta
- real a( lda, * ), b( ldb, * ), c( ldc, * )
- END
- END INTERFACE
- INTERFACE
- subroutine sgemm_batch_strided ( transa, transb, m, n, k, &
- &alpha, a, lda, stridea, b, ldb, strideb, beta, c, ldc, &
- &stridec, batch_size )
- character*1 transa, transb
- integer m, n, k, lda, ldb, ldc, batch_size
- integer stridea, strideb, stridec
- real alpha, beta
- real a( lda, * ), b( ldb, * ), c( ldc, * )
- END
- END INTERFACE
- INTERFACE
- subroutine sgemm_batch ( transa_array, transb_array, m_array, &
- &n_array, k_array, alpha_array, a_array, lda_array, b_array, &
- &ldb_array, beta_array, c_array, ldc_array, group_count, &
- &group_size )
- use, intrinsic :: ISO_C_BINDING
- character*1 transa_array(*), transb_array(*)
- integer m_array(*), n_array(*), k_array(*)
- integer lda_array(*), ldb_array(*), ldc_array(*)
- real alpha_array(*), beta_array(*)
- integer(KIND=C_INTPTR_T) a_array(*), b_array(*), c_array(*)
- integer group_count, group_size(*)
- END
- END INTERFACE
- INTERFACE
- subroutine ssymm ( side, uplo, m, n, alpha, a, lda, b, ldb, &
- &beta, c, ldc )
- character*1 side, uplo
- integer m, n, lda, ldb, ldc
- real alpha, beta
- real a( lda, * ), b( ldb, * ), c( ldc, * )
- END
- END INTERFACE
- INTERFACE
- subroutine ssyrk ( uplo, trans, n, k, alpha, a, lda, &
- &beta, c, ldc )
- character*1 uplo, trans
- integer n, k, lda, ldc
- real alpha, beta
- real a( lda, * ), c( ldc, * )
- END
- END INTERFACE
- INTERFACE
- subroutine ssyrk_batch_strided ( uplo, trans, n, k, &
- &alpha, a, lda, stridea, &
- &beta, c, ldc, stridec, batch_size )
- character*1 uplo, trans
- integer n, k, lda, ldc, batch_size
- integer stridea, stridec
- real alpha, beta
- real a( lda, * ), c( ldc, * )
- END
- END INTERFACE
- INTERFACE
- subroutine ssyrk_batch ( uplo_array, trans_array, n_array, &
- &k_array, alpha_array, a_array, lda_array, &
- &beta_array, c_array, ldc_array, group_count, group_size )
- use, intrinsic :: ISO_C_BINDING
- character*1 uplo_array(*), trans_array(*)
- integer n_array(*), k_array(*)
- integer lda_array(*), ldc_array(*)
- real alpha_array(*), beta_array(*)
- integer(KIND=C_INTPTR_T) a_array(*), c_array(*)
- integer group_count, group_size(*)
- END
- END INTERFACE
- INTERFACE
- subroutine ssyr2k( uplo, trans, n, k, alpha, a, lda, b, ldb, &
- &beta, c, ldc )
- character*1 uplo, trans
- integer n, k, lda, ldb, ldc
- real alpha, beta
- real a( lda, * ), b( ldb, * ), c( ldc, * )
- END
- END INTERFACE
- INTERFACE
- subroutine strmm ( side, uplo, transa, diag, m, n, alpha, a, lda, &
- &b, ldb )
- character*1 side, uplo, transa, diag
- integer m, n, lda, ldb
- real alpha
- real a( lda, * ), b( ldb, * )
- END
- END INTERFACE
- INTERFACE
- subroutine strsm ( side, uplo, transa, diag, m, n, alpha, a, lda, &
- &b, ldb )
- character*1 side, uplo, transa, diag
- integer m, n, lda, ldb
- real alpha
- real a( lda, * ), b( ldb, * )
- END
- END INTERFACE
- INTERFACE
- subroutine strsm_batch_strided ( side, uplo, transa, diag, m, n, &
- &alpha, a, lda, stridea, b, ldb, strideb, batch_size )
- character*1 side, uplo, transa, diag
- integer m, n, lda, ldb, batch_size
- integer stridea, strideb
- real alpha
- real a( lda, * ), b( ldb, * )
- END
- END INTERFACE
- INTERFACE
- subroutine strsm_batch ( side_array, uplo_array, transa_array, &
- &diag_array, m_array, n_array, alpha_array, a_array, lda_array, &
- &b_array, ldb_array, group_count, group_size )
- use, intrinsic :: ISO_C_BINDING
- character*1 side_array(*), uplo_array(*)
- character*1 transa_array(*), diag_array(*)
- integer m_array(*), n_array(*)
- integer lda_array(*), ldb_array(*)
- real alpha_array(*)
- integer(KIND=C_INTPTR_T) a_array(*), b_array(*)
- integer group_count, group_size(*)
- END
- END INTERFACE
- INTERFACE
- subroutine sgemmt ( uplo, transa, transb, n, k, alpha, a, lda, &
- &b, ldb, beta, c, ldc )
- character*1 uplo, transa, transb
- integer n, k, lda, ldb, ldc
- real alpha, beta
- real a( lda, * ), b( ldb, * ), c( ldc, * )
- END
- END INTERFACE
- INTERFACE
- function sgemm_pack_get_size ( identifier, m, n, k )
- INTEGER sgemm_pack_get_size
- character*1 identifier
- integer m, n, k
- END
- END INTERFACE
- INTERFACE
- subroutine sgemm_compute ( transa, transb, m, n, k, a, lda, &
- &b, ldb, beta, c, ldc )
- character*1 transa, transb
- integer m, n, k, lda, ldb, ldc
- real beta
- real a( * ), b( * ), c( ldc, * )
- END
- END INTERFACE
- INTERFACE
- subroutine sgemm_pack ( identifier, trans, m, n, k, alpha, src, &
- &ld, dest )
- character*1 identifier, trans
- integer m, n, k, ld
- real alpha
- real src( ld, * ), dest( * )
- END
- END INTERFACE
- INTERFACE
- subroutine dgemm ( transa, transb, m, n, k, alpha, a, lda, &
- &b, ldb, beta, c, ldc )
- character*1 transa, transb
- integer m, n, k, lda, ldb, ldc
- double precision alpha, beta
- double precision a( lda, * ), b( ldb, * ), c( ldc, * )
- END
- END INTERFACE
- INTERFACE
- subroutine dgemm_batch_strided ( transa, transb, m, n, k, &
- &alpha, a, lda, stridea, b, ldb, strideb, beta, c, ldc, &
- &stridec, batch_size )
- character*1 transa, transb
- integer m, n, k, lda, ldb, ldc, batch_size
- integer stridea, strideb, stridec
- double precision alpha, beta
- double precision a( lda, * ), b( ldb, * ), c( ldc, * )
- END
- END INTERFACE
- INTERFACE
- subroutine dgemm_batch ( transa_array, transb_array, m_array, &
- &n_array, k_array, alpha_array, a_array, lda_array, b_array, &
- &ldb_array, beta_array, c_array, ldc_array, group_count, &
- &group_size )
- use, intrinsic :: ISO_C_BINDING
- character*1 transa_array(*), transb_array(*)
- integer m_array(*), n_array(*), k_array(*)
- integer lda_array(*), ldb_array(*), ldc_array(*)
- double precision alpha_array(*), beta_array(*)
- integer(KIND=C_INTPTR_T) a_array(*), b_array(*), c_array(*)
- integer group_count, group_size(*)
- END
- END INTERFACE
- INTERFACE
- subroutine dsymm ( side, uplo, m, n, alpha, a, lda, b, ldb, &
- &beta, c, ldc )
- character*1 side, uplo
- integer m, n, lda, ldb, ldc
- double precision alpha, beta
- double precision a( lda, * ), b( ldb, * ), c( ldc, * )
- END
- END INTERFACE
- INTERFACE
- subroutine dsyrk ( uplo, trans, n, k, alpha, a, lda, &
- &beta, c, ldc )
- character*1 uplo, trans
- integer n, k, lda, ldc
- double precision alpha, beta
- double precision a( lda, * ), c( ldc, * )
- END
- END INTERFACE
- INTERFACE
- subroutine dsyrk_batch_strided ( uplo, trans, n, k, &
- &alpha, a, lda, stridea, beta, c, ldc, &
- &stridec, batch_size )
- character*1 uplo, trans
- integer n, k, lda, ldc, batch_size
- integer stridea, stridec
- double precision alpha, beta
- double precision a( lda, * ), c( ldc, * )
- END
- END INTERFACE
- INTERFACE
- subroutine dsyrk_batch ( uplo_array, trans_array, &
- &n_array, k_array, alpha_array, a_array, lda_array, &
- &beta_array, c_array, ldc_array, group_count, &
- &group_size )
- use, intrinsic :: ISO_C_BINDING
- character*1 uplo_array(*), trans_array(*)
- integer n_array(*), k_array(*)
- integer lda_array(*), ldc_array(*)
- double precision alpha_array(*), beta_array(*)
- integer(KIND=C_INTPTR_T) a_array(*), c_array(*)
- integer group_count, group_size(*)
- END
- END INTERFACE
- INTERFACE
- subroutine dsyr2k( uplo, trans, n, k, alpha, a, lda, b, ldb, &
- &beta, c, ldc )
- character*1 uplo, trans
- integer n, k, lda, ldb, ldc
- double precision alpha, beta
- double precision a( lda, * ), b( ldb, * ), c( ldc, * )
- END
- END INTERFACE
- INTERFACE
- subroutine dtrmm ( side, uplo, transa, diag, m, n, alpha, a, lda, &
- &b, ldb )
- character*1 side, uplo, transa, diag
- integer m, n, lda, ldb
- double precision alpha
- double precision a( lda, * ), b( ldb, * )
- END
- END INTERFACE
- INTERFACE
- subroutine dtrsm ( side, uplo, transa, diag, m, n, alpha, a, lda, &
- &b, ldb )
- character*1 side, uplo, transa, diag
- integer m, n, lda, ldb
- double precision alpha
- double precision a( lda, * ), b( ldb, * )
- END
- END INTERFACE
- INTERFACE
- subroutine dtrsm_batch_strided ( side, uplo, transa, diag, m, n, &
- &alpha, a, lda, stridea, b, ldb, strideb, batch_size )
- character*1 side, uplo, transa, diag
- integer m, n, lda, ldb, batch_size
- integer stridea, strideb
- double precision alpha
- double precision a( lda, * ), b( ldb, * )
- END
- END INTERFACE
- INTERFACE
- subroutine dtrsm_batch ( side_array, uplo_array, transa_array, &
- &diag_array, m_array, n_array, alpha_array, a_array, lda_array, &
- &b_array, ldb_array, group_count, group_size )
- use, intrinsic :: ISO_C_BINDING
- character*1 side_array(*), uplo_array(*)
- character*1 transa_array(*), diag_array(*)
- integer m_array(*), n_array(*)
- integer lda_array(*), ldb_array(*)
- double precision alpha_array(*)
- integer(KIND=C_INTPTR_T) a_array(*), b_array(*)
- integer group_count, group_size(*)
- END
- END INTERFACE
- INTERFACE
- subroutine dgemmt ( uplo, transa, transb, n, k, alpha, a, lda, &
- &b, ldb, beta, c, ldc )
- character*1 uplo, transa, transb
- integer n, k, lda, ldb, ldc
- double precision alpha, beta
- double precision a( lda, * ), b( ldb, * ), c( ldc, * )
- END
- END INTERFACE
- INTERFACE
- function dgemm_pack_get_size ( identifier, m, n, k )
- INTEGER dgemm_pack_get_size
- character*1 identifier
- integer m, n, k
- END
- END INTERFACE
- INTERFACE
- subroutine dgemm_compute ( transa, transb, m, n, k, a, lda, &
- &b, ldb, beta, c, ldc )
- character*1 transa, transb
- integer m, n, k, lda, ldb, ldc
- double precision beta
- double precision a( * ), b( * ), c( ldc, * )
- END
- END INTERFACE
- INTERFACE
- subroutine dgemm_pack ( identifier, trans, m, n, k, alpha, src, &
- &ld, dest )
- character*1 identifier, trans
- integer m, n, k, ld
- double precision alpha
- double precision src( ld, * ), dest( * )
- END
- END INTERFACE
- INTERFACE
- subroutine cgemm ( transa, transb, m, n, k, alpha, a, lda, &
- &b, ldb, beta, c, ldc )
- character*1 transa, transb
- integer m, n, k, lda, ldb, ldc
- complex alpha, beta
- complex a( lda, * ), b( ldb, * ), c( ldc, * )
- END
- END INTERFACE
- INTERFACE
- subroutine cgemm_batch_strided ( transa, transb, m, n, k, &
- &alpha, a, lda, stridea, b, ldb, strideb, beta, c, ldc, &
- &stridec, batch_size )
- character*1 transa, transb
- integer m, n, k, lda, ldb, ldc, batch_size
- integer stridea, strideb, stridec
- complex alpha, beta
- complex a( lda, * ), b( ldb, * ), c( ldc, * )
- END
- END INTERFACE
- INTERFACE
- subroutine cgemm_batch ( transa_array, transb_array, m_array, &
- &n_array, k_array, alpha_array, a_array, lda_array, b_array, &
- &ldb_array, beta_array, c_array, ldc_array, group_count, &
- &group_size )
- use, intrinsic :: ISO_C_BINDING
- character*1 transa_array(*), transb_array(*)
- integer m_array(*), n_array(*), k_array(*)
- integer lda_array(*), ldb_array(*), ldc_array(*)
- complex alpha_array(*), beta_array(*)
- integer(KIND=C_INTPTR_T) a_array(*), b_array(*), c_array(*)
- integer group_count, group_size(*)
- END
- END INTERFACE
- INTERFACE
- subroutine cgemm3m_batch ( transa_array, transb_array, m_array, &
- &n_array, k_array, alpha_array, a_array, lda_array, b_array, &
- &ldb_array, beta_array, c_array, ldc_array, group_count, &
- &group_size )
- use, intrinsic :: ISO_C_BINDING
- character*1 transa_array(*), transb_array(*)
- integer m_array(*), n_array(*), k_array(*)
- integer lda_array(*), ldb_array(*), ldc_array(*)
- complex alpha_array(*), beta_array(*)
- integer(KIND=C_INTPTR_T) a_array(*), b_array(*), c_array(*)
- integer group_count, group_size(*)
- END
- END INTERFACE
- INTERFACE
- subroutine scgemm ( transa, transb, m, n, k, alpha, a, lda, &
- &b, ldb, beta, c, ldc )
- character*1 transa, transb
- integer m, n, k, lda, ldb, ldc
- complex alpha, beta
- real a( lda, * )
- complex b( ldb, * ), c( ldc, * )
- END
- END INTERFACE
- INTERFACE
- subroutine cgemm3m ( transa, transb, m, n, k, alpha, a, lda, &
- &b, ldb, beta, c, ldc )
- character*1 transa, transb
- integer m, n, k, lda, ldb, ldc
- complex alpha, beta
- complex a( lda, * ), b( ldb, * ), c( ldc, * )
- END
- END INTERFACE
- INTERFACE
- subroutine csymm ( side, uplo, m, n, alpha, a, lda, b, ldb, &
- &beta, c, ldc )
- character*1 side, uplo
- integer m, n, lda, ldb, ldc
- complex alpha, beta
- complex a( lda, * ), b( ldb, * ), c( ldc, * )
- END
- END INTERFACE
- INTERFACE
- subroutine chemm ( side, uplo, m, n, alpha, a, lda, b, ldb, &
- &beta, c, ldc )
- character*1 side, uplo
- integer m, n, lda, ldb, ldc
- complex alpha, beta
- complex a( lda, * ), b( ldb, * ), c( ldc, * )
- END
- END INTERFACE
- INTERFACE
- subroutine csyrk ( uplo, trans, n, k, alpha, a, lda, &
- &beta, c, ldc )
- character*1 uplo, trans
- integer n, k, lda, ldc
- complex alpha, beta
- complex a( lda, * ), c( ldc, * )
- END
- END INTERFACE
- INTERFACE
- subroutine csyrk_batch_strided ( uplo, trans, n, k, &
- &alpha, a, lda, stridea, beta, c, ldc, &
- &stridec, batch_size )
- character*1 uplo, trans
- integer n, k, lda, ldc, batch_size
- integer stridea, stridec
- complex alpha, beta
- complex a( lda, * ), c( ldc, * )
- END
- END INTERFACE
- INTERFACE
- subroutine csyrk_batch ( uplo_array, trans_array, &
- &n_array, k_array, alpha_array, a_array, lda_array, &
- &beta_array, c_array, ldc_array, group_count, &
- &group_size )
- use, intrinsic :: ISO_C_BINDING
- character*1 uplo_array(*), trans_array(*)
- integer n_array(*), k_array(*)
- integer lda_array(*), ldc_array(*)
- complex alpha_array(*), beta_array(*)
- integer(KIND=C_INTPTR_T) a_array(*), c_array(*)
- integer group_count, group_size(*)
- END
- END INTERFACE
- INTERFACE
- subroutine cherk ( uplo, trans, n, k, alpha, a, lda, &
- &beta, c, ldc )
- character*1 uplo, trans
- integer n, k, lda, ldc
- real alpha, beta
- complex a( lda, * ), c( ldc, * )
- END
- END INTERFACE
- INTERFACE
- subroutine csyr2k( uplo, trans, n, k, alpha, a, lda, b, ldb, &
- &beta, c, ldc )
- character*1 uplo, trans
- integer n, k, lda, ldb, ldc
- complex alpha, beta
- complex a( lda, * ), b( ldb, * ), c( ldc, * )
- END
- END INTERFACE
- INTERFACE
- subroutine cher2k( uplo, trans, n, k, alpha, a, lda, b, ldb, &
- &beta, c, ldc )
- character*1 uplo, trans
- integer n, k, lda, ldb, ldc
- real beta
- complex alpha
- complex a( lda, * ), b( ldb, * ), c( ldc, * )
- END
- END INTERFACE
- INTERFACE
- subroutine ctrmm ( side, uplo, transa, diag, m, n, alpha, a, lda, &
- &b, ldb )
- character*1 side, uplo, transa, diag
- integer m, n, lda, ldb
- complex alpha
- complex a( lda, * ), b( ldb, * )
- END
- END INTERFACE
- INTERFACE
- subroutine ctrsm ( side, uplo, transa, diag, m, n, alpha, a, lda, &
- &b, ldb )
- character*1 side, uplo, transa, diag
- integer m, n, lda, ldb
- complex alpha
- complex a( lda, * ), b( ldb, * )
- END
- END INTERFACE
- INTERFACE
- subroutine ctrsm_batch_strided ( side, uplo, transa, diag, m, n, &
- &alpha, a, lda, stridea, b, ldb, strideb, batch_size )
- character*1 side, uplo, transa, diag
- integer m, n, lda, ldb, batch_size
- integer stridea, strideb
- complex alpha
- complex a( lda, * ), b( ldb, * )
- END
- END INTERFACE
- INTERFACE
- subroutine ctrsm_batch ( side_array, uplo_array, transa_array, &
- &diag_array, m_array, n_array, alpha_array, a_array, lda_array, &
- &b_array, ldb_array, group_count, group_size )
- use, intrinsic :: ISO_C_BINDING
- character*1 side_array(*), uplo_array(*)
- character*1 transa_array(*), diag_array(*)
- integer m_array(*), n_array(*)
- integer lda_array(*), ldb_array(*)
- complex alpha_array(*)
- integer(KIND=C_INTPTR_T) a_array(*), b_array(*)
- integer group_count, group_size(*)
- END
- END INTERFACE
- INTERFACE
- subroutine cgemmt ( uplo, transa, transb, n, k, alpha, a, lda, &
- &b, ldb, beta, c, ldc )
- character*1 uplo, transa, transb
- integer n, k, lda, ldb, ldc
- complex alpha, beta
- complex a( lda, * ), b( ldb, * ), c( ldc, * )
- END
- END INTERFACE
- INTERFACE
- subroutine zgemm ( transa, transb, m, n, k, alpha, a, lda, &
- &b, ldb, beta, c, ldc )
- character*1 transa, transb
- integer m, n, k, lda, ldb, ldc
- complex*16 alpha, beta
- complex*16 a( lda, * ), b( ldb, * ), c( ldc, * )
- END
- END INTERFACE
- INTERFACE
- subroutine zgemm_batch_strided ( transa, transb, m, n, k, &
- &alpha, a, lda, stridea, b, ldb, strideb, beta, c, ldc, &
- &stridec, batch_size )
- character*1 transa, transb
- integer m, n, k, lda, ldb, ldc, batch_size
- integer stridea, strideb, stridec
- complex*16 alpha, beta
- complex*16 a( lda, * ), b( ldb, * ), c( ldc, * )
- END
- END INTERFACE
- INTERFACE
- subroutine zgemm_batch ( transa_array, transb_array, m_array, &
- &n_array, k_array, alpha_array, a_array, lda_array, b_array, &
- &ldb_array, beta_array, c_array, ldc_array, group_count, &
- &group_size )
- use, intrinsic :: ISO_C_BINDING
- character*1 transa_array(*), transb_array(*)
- integer m_array(*), n_array(*), k_array(*)
- integer lda_array(*), ldb_array(*), ldc_array(*)
- complex*16 alpha_array(*), beta_array(*)
- integer(KIND=C_INTPTR_T) a_array(*), b_array(*), c_array(*)
- integer group_count, group_size(*)
- END
- END INTERFACE
- INTERFACE
- subroutine zgemm3m_batch ( transa_array, transb_array, m_array, &
- &n_array, k_array, alpha_array, a_array, lda_array, b_array, &
- &ldb_array, beta_array, c_array, ldc_array, group_count, &
- &group_size )
- use, intrinsic :: ISO_C_BINDING
- character*1 transa_array(*), transb_array(*)
- integer m_array(*), n_array(*), k_array(*)
- integer lda_array(*), ldb_array(*), ldc_array(*)
- complex*16 alpha_array(*), beta_array(*)
- integer(KIND=C_INTPTR_T) a_array(*), b_array(*), c_array(*)
- integer group_count, group_size(*)
- END
- END INTERFACE
- INTERFACE
- subroutine dzgemm ( transa, transb, m, n, k, alpha, a, lda, &
- &b, ldb, beta, c, ldc )
- character*1 transa, transb
- integer m, n, k, lda, ldb, ldc
- complex*16 alpha, beta
- double precision a( lda, * )
- complex*16 b( ldb, * ), c( ldc, * )
- END
- END INTERFACE
- INTERFACE
- subroutine zgemm3m ( transa, transb, m, n, k, alpha, a, lda, &
- &b, ldb, beta, c, ldc )
- character*1 transa, transb
- integer m, n, k, lda, ldb, ldc
- complex*16 alpha, beta
- complex*16 a( lda, * ), b( ldb, * ), c( ldc, * )
- END
- END INTERFACE
- INTERFACE
- subroutine zsymm ( side, uplo, m, n, alpha, a, lda, b, ldb, &
- &beta, c, ldc )
- character*1 side, uplo
- integer m, n, lda, ldb, ldc
- complex*16 alpha, beta
- complex*16 a( lda, * ), b( ldb, * ), c( ldc, * )
- END
- END INTERFACE
- INTERFACE
- subroutine zhemm ( side, uplo, m, n, alpha, a, lda, b, ldb, &
- &beta, c, ldc )
- character*1 side, uplo
- integer m, n, lda, ldb, ldc
- complex*16 alpha, beta
- complex*16 a( lda, * ), b( ldb, * ), c( ldc, * )
- END
- END INTERFACE
- INTERFACE
- subroutine zsyrk ( uplo, trans, n, k, alpha, a, lda, &
- &beta, c, ldc )
- character*1 uplo, trans
- integer n, k, lda, ldc
- complex*16 alpha, beta
- complex*16 a( lda, * ), c( ldc, * )
- END
- END INTERFACE
- INTERFACE
- subroutine zsyrk_batch_strided ( uplo, trans, n, k, &
- &alpha, a, lda, stridea, beta, c, ldc, &
- &stridec, batch_size )
- character*1 uplo, trans
- integer n, k, lda, ldc, batch_size
- integer stridea, stridec
- complex*16 alpha, beta
- complex*16 a( lda, * ), c( ldc, * )
- END
- END INTERFACE
- INTERFACE
- subroutine zsyrk_batch ( uplo_array, trans_array, &
- &n_array, k_array, alpha_array, a_array, lda_array, &
- &beta_array, c_array, ldc_array, group_count, &
- &group_size )
- use, intrinsic :: ISO_C_BINDING
- character*1 uplo_array(*), trans_array(*)
- integer n_array(*), k_array(*)
- integer lda_array(*), ldc_array(*)
- complex*16 alpha_array(*), beta_array(*)
- integer(KIND=C_INTPTR_T) a_array(*), c_array(*)
- integer group_count, group_size(*)
- END
- END INTERFACE
- INTERFACE
- subroutine zherk( uplo, trans, n, k, alpha, a, lda, beta, &
- &c, ldc )
- character trans, uplo
- integer k, lda, ldc, n
- double precision alpha, beta
- complex*16 a( lda, * ), c( ldc, * )
- END
- END INTERFACE
- INTERFACE
- subroutine zsyr2k( uplo, trans, n, k, alpha, a, lda, b, ldb, &
- &beta, c, ldc )
- character*1 uplo, trans
- integer n, k, lda, ldb, ldc
- complex*16 alpha, beta
- complex*16 a( lda, * ), b( ldb, * ), c( ldc, * )
- END
- END INTERFACE
- INTERFACE
- subroutine zher2k( uplo, trans, n, k, alpha, a, lda, b, ldb, &
- &beta, c, ldc )
- character trans, uplo
- integer k, lda, ldb, ldc, n
- double precision beta
- complex*16 alpha
- complex*16 a( lda, * ), b( ldb, * ), c( ldc, * )
- END
- END INTERFACE
- INTERFACE
- subroutine ztrmm ( side, uplo, transa, diag, m, n, alpha, a, lda, &
- &b, ldb )
- character*1 side, uplo, transa, diag
- integer m, n, lda, ldb
- complex*16 alpha
- complex*16 a( lda, * ), b( ldb, * )
- END
- END INTERFACE
- INTERFACE
- subroutine ztrsm ( side, uplo, transa, diag, m, n, alpha, a, lda, &
- &b, ldb )
- character*1 side, uplo, transa, diag
- integer m, n, lda, ldb
- complex*16 alpha
- complex*16 a( lda, * ), b( ldb, * )
- END
- END INTERFACE
- INTERFACE
- subroutine ztrsm_batch_strided ( side, uplo, transa, diag, m, n, &
- &alpha, a, lda, stridea, b, ldb, strideb, batch_size )
- character*1 side, uplo, transa, diag
- integer m, n, lda, ldb, batch_size
- integer stridea, strideb
- complex*16 alpha
- complex*16 a( lda, * ), b( ldb, * )
- END
- END INTERFACE
- INTERFACE
- subroutine ztrsm_batch ( side_array, uplo_array, transa_array, &
- &diag_array, m_array, n_array, alpha_array, a_array, lda_array, &
- &b_array, ldb_array, group_count, group_size )
- use, intrinsic :: ISO_C_BINDING
- character*1 side_array(*), uplo_array(*)
- character*1 transa_array(*), diag_array(*)
- integer m_array(*), n_array(*)
- integer lda_array(*), ldb_array(*)
- complex*16 alpha_array(*)
- integer(KIND=C_INTPTR_T) a_array(*), b_array(*)
- integer group_count, group_size(*)
- END
- END INTERFACE
- INTERFACE
- subroutine zgemmt ( uplo, transa, transb, n, k, alpha, a, lda, &
- &b, ldb, beta, c, ldc )
- character*1 uplo, transa, transb
- integer n, k, lda, ldb, ldc
- complex*16 alpha, beta
- complex*16 a( lda, * ), b( ldb, * ), c( ldc, * )
- END
- END INTERFACE
- INTERFACE
- subroutine gemm_s8u8s32 ( transa, transb, offsetc, m, n, k, &
- &alpha, a, lda, ao, b, ldb, bo, beta, c, ldc, co )
- character*1 transa, transb, offsetc
- integer m, n, k
- real alpha
- integer lda, ldb, ldc
- integer*1 a(lda,*)
- integer*1 ao
- integer*1 b(ldb,*)
- integer*1 bo
- real beta
- integer*4 c(ldc,*)
- integer*4 co(*)
- END
- END INTERFACE
- INTERFACE
- subroutine gemm_s16s16s32 ( transa, transb, offsetc, m, n, k, &
- &alpha, a, lda, ao, b, ldb, bo, beta, c, ldc, co )
- character*1 transa, transb, offsetc
- integer m, n, k
- real alpha
- integer lda, ldb, ldc
- integer*2 a(lda,*)
- integer*2 ao
- integer*2 b(ldb,*)
- integer*2 bo
- real beta
- integer*4 c(ldc,*)
- integer*4 co(*)
- END
- END INTERFACE
- INTERFACE
- function gemm_s8u8s32_pack_get_size ( identifier, m, n, k )
- INTEGER gemm_s8u8s32_pack_get_size
- character*1 identifier
- integer m, n, k
- END
- END INTERFACE
- INTERFACE
- subroutine gemm_s8u8s32_compute ( transa, transb, offsetc, &
- &m, n, k, alpha, a, lda, ao, b, ldb, bo, beta, c, ldc, co )
- character*1 transa, transb, offsetc
- integer m, n, k
- real alpha
- integer lda, ldb, ldc
- integer*1 a(lda,*)
- integer*1 ao
- integer*1 b(ldb,*)
- integer*1 bo
- real beta
- integer*4 c(ldc,*)
- integer*4 co(*)
- END
- END INTERFACE
- INTERFACE
- subroutine gemm_s8u8s32_pack ( identifier, trans, m, n, k, &
- &src, ld, dest )
- character*1 identifier, trans
- integer m, n, k, ld
- integer*1 src( ld, * ), dest( * )
- END
- END INTERFACE
- INTERFACE
- function gemm_s16s16s32_pack_get_size ( identifier, m, n, k )
- INTEGER gemm_s16s16s32_pack_get_size
- character*1 identifier
- integer m, n, k
- END
- END INTERFACE
- INTERFACE
- subroutine gemm_s16s16s32_compute ( transa, transb, offsetc, &
- &m, n, k, alpha, a, lda, ao, b, ldb, bo, beta, c, ldc, co )
- character*1 transa, transb, offsetc
- integer m, n, k
- real alpha
- integer lda, ldb, ldc
- integer*2 a(lda,*)
- integer*2 ao
- integer*2 b(ldb,*)
- integer*2 bo
- real beta
- integer*4 c(ldc,*)
- integer*4 co(*)
- END
- END INTERFACE
- INTERFACE
- subroutine gemm_s16s16s32_pack ( identifier, trans, m, n, k, &
- &src, ld, dest )
- character*1 identifier, trans
- integer m, n, k, ld
- integer*2 src( ld, * ), dest( * )
- END
- END INTERFACE
- INTERFACE
- subroutine sgemv_batch ( trans, m, n, alpha, a, lda, x, incx, &
- &beta, y, incy, group_count, group_size )
- use, intrinsic :: ISO_C_BINDING
- real alpha(*), beta(*)
- integer incx(*), incy(*), lda(*), m(*), n(*)
- integer group_count, group_size(*)
- character*1 trans(*)
- integer(KIND=C_INTPTR_T) a( * ), x( * ), y( * )
- END
- END INTERFACE
- INTERFACE
- subroutine sgemv_batch_strided ( trans, m, n, alpha, &
- &a, lda, stridea, x, incx, stridex, beta, y, incy, stridey, &
- &batch_size )
- real alpha, beta
- integer incx, incy, lda, m, n
- integer stridea, stridex, stridey, batch_size
- character*1 trans
- real a( lda, * ), x( * ), y( * )
- END
- END INTERFACE
- INTERFACE
- subroutine dgemv_batch ( trans, m, n, alpha, a, lda, x, incx, &
- &beta, y, incy, group_count, group_size )
- use, intrinsic :: ISO_C_BINDING
- double precision alpha(*), beta(*)
- integer incx(*), incy(*), lda(*), m(*), n(*)
- integer group_count, group_size(*)
- character*1 trans(*)
- integer(KIND=C_INTPTR_T) a( * ), x( * ), y( * )
- END
- END INTERFACE
- INTERFACE
- subroutine dgemv_batch_strided ( trans, m, n, alpha, &
- &a, lda, stridea, x, incx, stridex, beta, y, incy, stridey, &
- &batch_size )
- double precision alpha, beta
- integer incx, incy, lda, m, n
- integer stridea, stridex, stridey, batch_size
- character*1 trans
- double precision a( lda, * ), x( * ), y( * )
- END
- END INTERFACE
- INTERFACE
- subroutine cgemv_batch ( trans, m, n, alpha, a, lda, x, incx, &
- &beta, y, incy, group_count, group_size )
- use, intrinsic :: ISO_C_BINDING
- complex alpha(*), beta(*)
- integer incx(*), incy(*), lda(*), m(*), n(*)
- integer group_count, group_size(*)
- character*1 trans(*)
- integer(KIND=C_INTPTR_T) a( * ), x( * ), y( * )
- END
- END INTERFACE
- INTERFACE
- subroutine cgemv_batch_strided ( trans, m, n, alpha, &
- &a, lda, stridea, x, incx, stridex, beta, y, incy, stridey, &
- &batch_size )
- complex alpha, beta
- integer incx, incy, lda, m, n
- integer stridea, stridex, stridey, batch_size
- character*1 trans
- complex a( lda, * ), x( * ), y( * )
- END
- END INTERFACE
- INTERFACE
- subroutine zgemv_batch ( trans, m, n, alpha, a, lda, x, incx, &
- &beta, y, incy, group_count, group_size )
- use, intrinsic :: ISO_C_BINDING
- complex*16 alpha(*), beta(*)
- integer incx(*), incy(*), lda(*), m(*), n(*)
- integer group_count, group_size(*)
- character*1 trans(*)
- integer(KIND=C_INTPTR_T) a( * ), x( * ), y( * )
- END
- END INTERFACE
- INTERFACE
- subroutine zgemv_batch_strided ( trans, m, n, alpha, &
- &a, lda, stridea, x, incx, stridex, beta, y, incy, stridey, &
- &batch_size )
- complex*16 alpha, beta
- integer incx, incy, lda, m, n
- integer stridea, stridex, stridey, batch_size
- character*1 trans
- complex*16 a( lda, * ), x( * ), y( * )
- END
- END INTERFACE
- INTERFACE
- subroutine sdgmm_batch ( side, m, n, a, lda, x, incx, &
- &c, ldc, group_count, group_size )
- use, intrinsic :: ISO_C_BINDING
- integer incx(*), ldc(*), lda(*), m(*), n(*)
- integer group_count, group_size(*)
- character*1 side(*)
- integer(KIND=C_INTPTR_T) a( * ), x( * ), c( * )
- END
- END INTERFACE
- INTERFACE
- subroutine sdgmm_batch_strided ( side, m, n, &
- &a, lda, stridea, x, incx, stridex, c, ldc, stridec, &
- &batch_size )
- integer incx, ldc, lda, m, n
- integer stridea, stridex, stridec, batch_size
- character*1 side
- real a( lda, * ), x( * ), c( ldc, * )
- END
- END INTERFACE
- INTERFACE
- subroutine ddgmm_batch ( side, m, n, a, lda, x, incx, &
- &c, ldc, group_count, group_size )
- use, intrinsic :: ISO_C_BINDING
- integer incx(*), ldc(*), lda(*), m(*), n(*)
- integer group_count, group_size(*)
- character*1 side(*)
- integer(KIND=C_INTPTR_T) a( * ), x( * ), c( * )
- END
- END INTERFACE
- INTERFACE
- subroutine ddgmm_batch_strided ( side, m, n, &
- &a, lda, stridea, x, incx, stridex, c, ldc, stridec, &
- &batch_size )
- integer incx, ldc, lda, m, n
- integer stridea, stridex, stridec, batch_size
- character*1 side
- double precision a( lda, * ), x( * ), c( ldc, * )
- END
- END INTERFACE
- INTERFACE
- subroutine cdgmm_batch ( side, m, n, a, lda, x, incx, &
- &c, ldc, group_count, group_size )
- use, intrinsic :: ISO_C_BINDING
- integer incx(*), ldc(*), lda(*), m(*), n(*)
- integer group_count, group_size(*)
- character*1 side(*)
- integer(KIND=C_INTPTR_T) a( * ), x( * ), c( * )
- END
- END INTERFACE
- INTERFACE
- subroutine cdgmm_batch_strided ( side, m, n, &
- &a, lda, stridea, x, incx, stridex, c, ldc, stridec, &
- &batch_size )
- integer incx, ldc, lda, m, n
- integer stridea, stridex, stridec, batch_size
- character*1 side
- complex a( lda, * ), x( * ), c( ldc, * )
- END
- END INTERFACE
- INTERFACE
- subroutine zdgmm_batch ( side, m, n, a, lda, x, incx, &
- &c, ldc, group_count, group_size )
- use, intrinsic :: ISO_C_BINDING
- integer incx(*), ldc(*), lda(*), m(*), n(*)
- integer group_count, group_size(*)
- character*1 side(*)
- integer(KIND=C_INTPTR_T) a( * ), x( * ), c( * )
- END
- END INTERFACE
- INTERFACE
- subroutine zdgmm_batch_strided ( side, m, n, &
- &a, lda, stridea, x, incx, stridex, c, ldc, stridec, &
- &batch_size )
- integer incx, ldc, lda, m, n
- integer stridea, stridex, stridec, batch_size
- character*1 side
- complex*16 a( lda, * ), x( * ), c( ldc, * )
- END
- END INTERFACE
|