Robotran C Documentation
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Macros | Typedefs | Functions
mbs_lapack.h File Reference

This file define/declare required function type to use LAPACK in MBsysC. More...

#include <stdlib.h>
#include "mbs_message.h"

Go to the source code of this file.

Macros

#define LPK_ERR   ">> LAPACK>> "
 
#define LPK_PRE   " >> "
 
#define lapack_int   int
 
#define lapack_logical   int
 
#define LAPACKE_malloc(size)   malloc( size )
 
#define LAPACKE_free(p)   free( p )
 

Typedefs

typedef lapack_logical(* LAPACK_D_SELECT2) (const double *, const double *)
 

Functions

static void LAPACK_dgees (char *jobvs, char *sort, LAPACK_D_SELECT2 select, lapack_int *n, double *a, lapack_int *lda, lapack_int *sdim, double *wr, double *wi, double *vs, lapack_int *ldvs, double *work, lapack_int *lwork, lapack_logical *bwork, lapack_int *info)
 
static void LAPACK_dgeev (char *jobvl, char *jobvr, lapack_int *n, double *a, lapack_int *lda, double *wr, double *wi, double *vl, lapack_int *ldvl, double *vr, lapack_int *ldvr, double *work, lapack_int *lwork, lapack_int *info)
 
static void LAPACK_dgelss (lapack_int *m, lapack_int *n, lapack_int *nrhs, double *a, lapack_int *lda, double *b, lapack_int *ldb, double *s, double *rcond, lapack_int *rank, double *work, lapack_int *lwork, lapack_int *info)
 
static void LAPACK_dgesvd (char *jobu, char *jobvt, lapack_int *m, lapack_int *n, double *a, lapack_int *lda, double *s, double *u, lapack_int *ldu, double *vt, lapack_int *ldvt, double *work, lapack_int *lwork, lapack_int *info)
 
static void LAPACK_dgetrf (lapack_int *m, lapack_int *n, double *a, lapack_int *lda, lapack_int *ipiv, lapack_int *info)
 
static void LAPACK_dgetri (lapack_int *n, double *a, lapack_int *lda, const lapack_int *ipiv, double *work, lapack_int *lwork, lapack_int *info)
 
static void LAPACK_dpotrf (char *uplo, lapack_int *n, double *a, lapack_int *lda, lapack_int *info)
 
static void LAPACK_dpotrs (char *uplo, lapack_int *n, lapack_int *nrhs, const double *a, lapack_int *lda, double *b, lapack_int *ldb, lapack_int *info)
 
static void LAPACK_dtrsen (char *job, char *compq, const lapack_logical *select, lapack_int *n, double *t, lapack_int *ldt, double *q, lapack_int *ldq, double *wr, double *wi, lapack_int *m, double *s, double *sep, double *work, lapack_int *lwork, lapack_int *iwork, lapack_int *liwork, lapack_int *info)
 

Detailed Description

This file define/declare required function type to use LAPACK in MBsysC.

It also implements required elements to build MBsysC without LAPACK. The code execution will generate an error if a LAPACK function is called. This error is catched by MBsysC.

Author
Quandyga Engineering, Robotran Team

Macro Definition Documentation

◆ lapack_int

#define lapack_int   int

◆ lapack_logical

#define lapack_logical   int

◆ LAPACKE_free

#define LAPACKE_free (   p)    free( p )

◆ LAPACKE_malloc

#define LAPACKE_malloc (   size)    malloc( size )

◆ LPK_ERR

#define LPK_ERR   ">> LAPACK>> "

◆ LPK_PRE

#define LPK_PRE   " >> "

Typedef Documentation

◆ LAPACK_D_SELECT2

typedef lapack_logical(* LAPACK_D_SELECT2) (const double *, const double *)

Function Documentation

◆ LAPACK_dgees()

static void LAPACK_dgees ( char *  jobvs,
char *  sort,
LAPACK_D_SELECT2  select,
lapack_int n,
double *  a,
lapack_int lda,
lapack_int sdim,
double *  wr,
double *  wi,
double *  vs,
lapack_int ldvs,
double *  work,
lapack_int lwork,
lapack_logical bwork,
lapack_int info 
)
inlinestatic

◆ LAPACK_dgeev()

static void LAPACK_dgeev ( char *  jobvl,
char *  jobvr,
lapack_int n,
double *  a,
lapack_int lda,
double *  wr,
double *  wi,
double *  vl,
lapack_int ldvl,
double *  vr,
lapack_int ldvr,
double *  work,
lapack_int lwork,
lapack_int info 
)
inlinestatic

◆ LAPACK_dgelss()

static void LAPACK_dgelss ( lapack_int m,
lapack_int n,
lapack_int nrhs,
double *  a,
lapack_int lda,
double *  b,
lapack_int ldb,
double *  s,
double *  rcond,
lapack_int rank,
double *  work,
lapack_int lwork,
lapack_int info 
)
inlinestatic

◆ LAPACK_dgesvd()

static void LAPACK_dgesvd ( char *  jobu,
char *  jobvt,
lapack_int m,
lapack_int n,
double *  a,
lapack_int lda,
double *  s,
double *  u,
lapack_int ldu,
double *  vt,
lapack_int ldvt,
double *  work,
lapack_int lwork,
lapack_int info 
)
inlinestatic

◆ LAPACK_dgetrf()

static void LAPACK_dgetrf ( lapack_int m,
lapack_int n,
double *  a,
lapack_int lda,
lapack_int ipiv,
lapack_int info 
)
inlinestatic

◆ LAPACK_dgetri()

static void LAPACK_dgetri ( lapack_int n,
double *  a,
lapack_int lda,
const lapack_int ipiv,
double *  work,
lapack_int lwork,
lapack_int info 
)
inlinestatic

◆ LAPACK_dpotrf()

static void LAPACK_dpotrf ( char *  uplo,
lapack_int n,
double *  a,
lapack_int lda,
lapack_int info 
)
inlinestatic

◆ LAPACK_dpotrs()

static void LAPACK_dpotrs ( char *  uplo,
lapack_int n,
lapack_int nrhs,
const double *  a,
lapack_int lda,
double *  b,
lapack_int ldb,
lapack_int info 
)
inlinestatic

◆ LAPACK_dtrsen()

static void LAPACK_dtrsen ( char *  job,
char *  compq,
const lapack_logical select,
lapack_int n,
double *  t,
lapack_int ldt,
double *  q,
lapack_int ldq,
double *  wr,
double *  wi,
lapack_int m,
double *  s,
double *  sep,
double *  work,
lapack_int lwork,
lapack_int iwork,
lapack_int liwork,
lapack_int info 
)
inlinestatic