Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <lapacke.h>
- #include <vector>
- #include <assert.h>
- #include <iostream>
- #include <random>
- int main()
- {
- lapack_int vers_major,
- vers_minor,
- vers_patch;
- LAPACK_ilaver(
- &vers_major,
- &vers_minor,
- &vers_patch
- );
- std::cout << "LAPACKE_VERSION: " << vers_major << "." << vers_minor << "." << vers_patch << std::endl;
- constexpr ptrdiff_t N = 40;
- std::vector<double> B;
- std::mt19937 rng(1337);
- std::uniform_real_distribution<double> randFloat(-1,+1);
- for( ptrdiff_t i=N*N; i-- > 0; )
- B.push_back( randFloat(rng) );
- std::vector<double> U = B,
- V = B,
- S(N, 0);
- std::cout << "running..." << std::flush;
- lapack_int info = LAPACKE_dgesdd(
- LAPACK_COL_MAJOR, 'A', N,N,
- &B[0], N, &S[0],
- &U[0], N,
- &V[0], N
- );
- assert( 0 == info );
- std::cout << " done!" << std::endl;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement