Changeset 225b1548 in OpenModelica
- Timestamp:
- 2015-02-21T11:16:36+01:00 (9 years ago)
- Branches:
- Added-citation-metadata, maintenance/v1.14, maintenance/v1.15, maintenance/v1.16, maintenance/v1.17, maintenance/v1.18, maintenance/v1.19, maintenance/v1.20, maintenance/v1.21, maintenance/v1.22, maintenance/v1.23, master, omlib-staging
- Children:
- b366981
- Parents:
- c843f04
- Location:
- Compiler
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
Compiler/FrontEnd/CevalFunction.mo
rfa33eb3 r225b1548 701 701 702 702 case("dgelsx", {arg_M, arg_N, arg_NRHS, arg_A, arg_LDA, arg_B, arg_LDB, 703 arg_JPVT, arg_RCOND, arg_RANK, arg_WORK, arg_ LWORK, arg_INFO},703 arg_JPVT, arg_RCOND, arg_RANK, arg_WORK, arg_INFO}, 704 704 cache, env, st) 705 705 equation … … 714 714 (RCOND, cache, st) = evaluateExtRealArg(arg_RCOND, cache, env, st); 715 715 (WORK, cache, st) = evaluateExtRealArrayArg(arg_WORK, cache, env, st); 716 (LWORK, cache, st) = evaluateExtIntArg(arg_LWORK, cache, env, st);717 716 (A, B, JPVT, RANK, INFO) = 718 Lapack.dgelsx(M, N, NRHS, A, LDA, B, LDB, JPVT, RCOND, WORK , LWORK);717 Lapack.dgelsx(M, N, NRHS, A, LDA, B, LDB, JPVT, RCOND, WORK); 719 718 val_A = ValuesUtil.makeRealMatrix(A); 720 719 val_B = ValuesUtil.makeRealMatrix(B); -
Compiler/Util/Lapack.mo
rf99931e r225b1548 120 120 input Real inRCOND; 121 121 input list<Real> inWORK; 122 input Integer inLWORK;123 122 output list<list<Real>> outA; 124 123 output list<list<Real>> outB; … … 127 126 output Integer outINFO; 128 127 external "C" LapackImpl__dgelsx(inM, inN, inNRHS, inA, inLDA, inB, inLDB, 129 inJPVT, inRCOND, inWORK, inLWORK,outA, outB, outJPVT, outRANK, outINFO)128 inJPVT, inRCOND, inWORK, outA, outB, outJPVT, outRANK, outINFO) 130 129 annotation(Library = {"omcruntime", "Lapack"}); 131 130 end dgelsx; -
Compiler/runtime/lapackimpl.c
r4f13e70 r225b1548 415 415 416 416 void LapackImpl__dgelsx(int M, int N, int NRHS, void *inA, int LDA, 417 void *inB, int LDB, void *inJPVT, double rcond, void *WORK, int LWORK,417 void *inB, int LDB, void *inJPVT, double rcond, void *WORK, 418 418 void **outA, void **outB, void **outJPVT, int *RANK, int *INFO) 419 419 { … … 427 427 lda = LDA; 428 428 ldb = LDB; 429 lwork = LWORK;429 lwork = max(min(M, N) + 3*N, 2*min(M, N) + nrhs); 430 430 431 431 a = alloc_real_matrix(lda, n, inA);
Note: See TracChangeset
for help on using the changeset viewer.