コード例 #1
0
ファイル: blas_complex_single.cpp プロジェクト: Sable/VeloCty
VrArrayPtrCF32 BlasComplexSingle::mat_ldiv(int matrix_order, VrArrayPtrCF32 A, VrArrayPtrCF32 B) {
VrArrayPtrCF32 C = vec_copy(VR_GET_NDIMS_CF32(B),B);
   VrArrayPtrCF32 D = vec_copy(VR_GET_NDIMS_CF32(A),A);
   float complex * data= VR_GET_DATA_CF32(D);
   float complex * out_data=VR_GET_DATA_CF32(C);
   long int lda=(long int)VR_GET_DIMS_CF32(D)[0];
   long int ldb= (long int)VR_GET_DIMS_CF32(C)[0];
   long int n=(long int )VR_GET_DIMS_CF32(D)[1];
   long int nrhs= (long int )VR_GET_DIMS_CF32(C)[1];
  int  *IPIV=(int*)VR_MALLOC(sizeof(int)*n);
  long int info=0;
  

    info= LAPACKE_cgesv(LAPACK_COL_MAJOR,n,nrhs,data,lda,IPIV,out_data,ldb);
    
    
  
 return C;
  
}
コード例 #2
0
ファイル: lapacke.hpp プロジェクト: quinsmpang/Lux
template <> inline
int gesvd(const char order, const int N, const int M, complex<float> *A, const int LDA, int *IPIV, complex<float> *B, const int LDB)
{
	return LAPACKE_cgesv(order, N, M, A, LDA, IPIV, B, LDB);
}