4 # 1 "/usr/include/stdc-predef.h" 1 3 4
39 # 52 "/usr/include/stdc-predef.h" 3 4
45 # 1 "<command-line>" 2
53 # 1 "./include/amino/la.h" 1
109 # 1 "./include/amino/la_impl.h" 1
153 # 1 "./include/amino/def.h" 1
154 # 42 "./include/amino/def.h"
155 # 1 "./include/amino/mangle.h" 1
156 # 43 "./include/amino/def.h" 2
157 # 45 "./include/amino/la_impl.h" 2
169 (
size_t m,
size_t n,
170 const double *A,
size_t lda,
171 double *B,
size_t ldb );
182 AA_API double aa_la_d_ssd (
size_t n,
const double *x,
size_t incx,
const double *y,
size_t incy );
198 (
size_t n,
double u,
199 const double *v1,
size_t inc1,
200 const double *v2,
size_t inc2,
201 double *vu,
size_t incu );
207 (
size_t n,
double tf,
208 const double *x1,
size_t incx1,
209 const double *dx1,
size_t incdx1,
210 const double *x2,
size_t inc2,
211 const double *dx2,
size_t incdx2,
212 double *a2,
double *a3 );
216 (
size_t n,
double tf,
217 const double *x1,
size_t incx1,
218 const double *dx1,
size_t incdx1,
219 const double *a2,
const double *a3,
220 double *x,
size_t incx,
221 double *dx,
size_t incdx,
222 double *ddx,
size_t incddx );
226 (
size_t n,
double tf,
227 const double *x1,
size_t incx1,
228 const double *dx1,
size_t incdx1,
229 const double *ddx1,
size_t incddx1,
230 const double *x2,
size_t inc2,
231 const double *dx2,
size_t incdx2,
232 const double *ddx2,
size_t incddx2,
233 double *a3,
double *a4,
double *a5 );
237 (
size_t n,
double tf,
238 const double *x1,
size_t incx1,
239 const double *dx1,
size_t incdx1,
240 const double *ddx1,
size_t incddx1,
241 const double *a3,
const double *a4,
const double *a5,
242 double *x,
size_t incx,
243 double *dx,
size_t incdx,
244 double *ddx,
size_t incddx );
301 AA_API void aa_la_d_colcov (
size_t m,
size_t n,
const double *A,
size_t lda,
const double *x,
double *E,
size_t lde );
421 (
size_t n,
double *x,
size_t incx ) {
424 for(
size_t i = 1; i < n; i ++ ) {
425 if( x[i*incx] < xmin ) {
435 (
size_t m,
size_t n,
double *A,
size_t lda,
436 size_t *pi,
size_t *pj ) {
440 for(
size_t i = 0; i < m; i++) {
441 for(
size_t j = 0; j < n; j++) {
457 (
size_t n,
double *x,
size_t incx ) {
460 for(
size_t i = 1; i < n; i ++ ) {
461 if( x[i*incx] > xmax ) {
479 AA_API double aa_la_d_angle (
size_t n,
const double *x,
size_t incx,
const double *y,
size_t incy );
499 (
size_t m,
size_t n,
size_t p,
500 const double *A,
size_t lda,
501 const double *b,
size_t ldb,
502 double *x,
size_t ldx );
522 (
size_t m,
size_t n,
const double *A,
size_t lda,
523 double *U,
size_t ldu,
525 double *Vt,
size_t ldvt );
535 (
size_t n,
const double *x,
size_t incx );
546 (
size_t n,
double *x );
552 (
size_t n,
double *x )
567 (
size_t n,
const double u,
const double *x,
size_t incx );
579 (
size_t m,
size_t n,
const double *u,
const double *A,
size_t lda );
583 (
size_t n,
const double *A,
size_t lda,
586 double *Vl,
size_t ldvl,
587 double *Vr,
size_t ldvr );
607 int aa_la_d_compar(
const void *a,
const void *b );
616 (
const double *sigma,
const double *theta,
double *cm);
619 # 1 "./include/amino/undef.h" 1
620 # 506 "./include/amino/la_impl.h" 2
621 # 57 "./include/amino/la.h" 2
626 # 1 "./include/amino/la_impl.h" 1
670 # 1 "./include/amino/def.h" 1
671 # 45 "./include/amino/la_impl.h" 2
683 (
size_t m,
size_t n,
684 const float *A,
size_t lda,
685 float *B,
size_t ldb );
696 AA_API float aa_la_s_ssd (
size_t n,
const float *x,
size_t incx,
const float *y,
size_t incy );
713 const float *v1,
size_t inc1,
714 const float *v2,
size_t inc2,
715 float *vu,
size_t incu );
721 (
size_t n,
float tf,
722 const float *x1,
size_t incx1,
723 const float *dx1,
size_t incdx1,
724 const float *x2,
size_t inc2,
725 const float *dx2,
size_t incdx2,
726 float *a2,
float *a3 );
730 (
size_t n,
float tf,
731 const float *x1,
size_t incx1,
732 const float *dx1,
size_t incdx1,
733 const float *a2,
const float *a3,
734 float *x,
size_t incx,
735 float *dx,
size_t incdx,
736 float *ddx,
size_t incddx );
740 (
size_t n,
float tf,
741 const float *x1,
size_t incx1,
742 const float *dx1,
size_t incdx1,
743 const float *ddx1,
size_t incddx1,
744 const float *x2,
size_t inc2,
745 const float *dx2,
size_t incdx2,
746 const float *ddx2,
size_t incddx2,
747 float *a3,
float *a4,
float *a5 );
751 (
size_t n,
float tf,
752 const float *x1,
size_t incx1,
753 const float *dx1,
size_t incdx1,
754 const float *ddx1,
size_t incddx1,
755 const float *a3,
const float *a4,
const float *a5,
756 float *x,
size_t incx,
757 float *dx,
size_t incdx,
758 float *ddx,
size_t incddx );
815 AA_API void aa_la_s_colcov (
size_t m,
size_t n,
const float *A,
size_t lda,
const float *x,
float *E,
size_t lde );
935 (
size_t n,
float *x,
size_t incx ) {
938 for(
size_t i = 1; i < n; i ++ ) {
939 if( x[i*incx] < xmin ) {
949 (
size_t m,
size_t n,
float *A,
size_t lda,
950 size_t *pi,
size_t *pj ) {
954 for(
size_t i = 0; i < m; i++) {
955 for(
size_t j = 0; j < n; j++) {
971 (
size_t n,
float *x,
size_t incx ) {
974 for(
size_t i = 1; i < n; i ++ ) {
975 if( x[i*incx] > xmax ) {
993 AA_API float aa_la_s_angle (
size_t n,
const float *x,
size_t incx,
const float *y,
size_t incy );
1013 (
size_t m,
size_t n,
size_t p,
1014 const float *A,
size_t lda,
1015 const float *b,
size_t ldb,
1016 float *x,
size_t ldx );
1036 (
size_t m,
size_t n,
const float *A,
size_t lda,
1037 float *U,
size_t ldu,
1039 float *Vt,
size_t ldvt );
1049 (
size_t n,
const float *x,
size_t incx );
1060 (
size_t n,
float *x );
1066 (
size_t n,
float *x )
1081 (
size_t n,
const float u,
const float *x,
size_t incx );
1093 (
size_t m,
size_t n,
const float *u,
const float *A,
size_t lda );
1097 (
size_t n,
const float *A,
size_t lda,
1100 float *Vl,
size_t ldvl,
1101 float *Vr,
size_t ldvr );
1121 int aa_la_s_compar(
const void *a,
const void *b );
1130 (
const double *sigma,
const double *theta,
double *cm);
1133 # 1 "./include/amino/undef.h" 1
1134 # 506 "./include/amino/la_impl.h" 2
1135 # 62 "./include/amino/la.h" 2
1136 # 7 "doc/la_doc.c" 2
AA_API void aa_la_s_colcov(size_t m, size_t n, const float *A, size_t lda, const float *x, float *E, size_t lde)
Covariance of columns of A.
AA_API int aa_la_d_svd(size_t m, size_t n, const double *A, size_t lda, double *U, size_t ldu, double *S, double *Vt, size_t ldvt)
Singular Value Decomposition of A.
static float aa_la_s_mat_max(size_t m, size_t n, float *A, size_t lda, size_t *pi, size_t *pj)
Minimum location of vector x.
AA_API int aa_la_s_eev(size_t n, const float *A, size_t lda, float *wr, float *wi, float *Vl, size_t ldvl, float *Vr, size_t ldvr)
Compute eigen values and vectors.
AA_API float aa_la_s_vecstd(size_t n, const float *x, size_t incx, float mu)
Standard deviation of vector.
AA_API double aa_la_d_ssd(size_t n, const double *x, size_t incx, const double *y, size_t incy)
Sum-square differences of x and y.
AA_API float aa_la_s_median(size_t n, const float *x, size_t incx)
Cmpute median.
AA_API void aa_la_d_3spline(size_t n, double tf, const double *x1, size_t incx1, const double *dx1, size_t incdx1, const double *a2, const double *a3, double *x, size_t incx, double *dx, size_t incdx, double *ddx, size_t incddx)
Compute cubic spline value.
AA_API void aa_la_d_5spline(size_t n, double tf, const double *x1, size_t incx1, const double *dx1, size_t incdx1, const double *ddx1, size_t incddx1, const double *a3, const double *a4, const double *a5, double *x, size_t incx, double *dx, size_t incdx, double *ddx, size_t incddx)
Compute quintic spline value.
#define AA_MATREF(A, lda, row, col)
Reference an element in a column-major matrix.
AA_API int aa_la_s_lls(size_t m, size_t n, size_t p, const float *A, size_t lda, const float *b, size_t ldb, float *x, size_t ldx)
Linear Least Squares.
AA_API void aa_la_s_5spline_param(size_t n, float tf, const float *x1, size_t incx1, const float *dx1, size_t incdx1, const float *ddx1, size_t incddx1, const float *x2, size_t inc2, const float *dx2, size_t incdx2, const float *ddx2, size_t incddx2, float *a3, float *a4, float *a5)
Compute quintic spline parameters.
AA_API void aa_la_d_transpose(size_t m, size_t n, const double *A, size_t lda, double *B, size_t ldb)
type for operations
static size_t aa_la_d_maxloc(size_t n, double *x, size_t incx)
Maximum location of vector x.
AA_API void aa_la_d_assign_hungarian(size_t m, size_t n, const double *A, size_t lda, ssize_t *row_assign, ssize_t *col_assign)
Hungarian algorithm to solve min assignment problem.
AA_API float aa_la_s_ssd(size_t n, const float *x, size_t incx, const float *y, size_t incy)
Sum-square differences of x and y.
AA_API void aa_la_s_3spline_param(size_t n, float tf, const float *x1, size_t incx1, const float *dx1, size_t incdx1, const float *x2, size_t inc2, const float *dx2, size_t incdx2, float *a2, float *a3)
Compute cubic spline parameters.
AA_API int aa_la_d_eev(size_t n, const double *A, size_t lda, double *wr, double *wi, double *Vl, size_t ldvl, double *Vr, size_t ldvr)
Compute eigen values and vectors.
AA_API void aa_la_d_colfit(size_t m, size_t n, const double *A, size_t lda, double *x)
Fit a least-squares hyperplane to columns of A.
AA_API float aa_la_s_nmedian(size_t n, float *x)
Destructive median computation.
double aa_la_d_mad(size_t n, const double u, const double *x, size_t incx)
Median Absolute Deviation.
float aa_la_s_mad(size_t n, const float u, const float *x, size_t incx)
Median Absolute Deviation.
AA_API void aa_mem_region_local_pop(void *ptr)
Pop ptr from thread-local memory region.
AA_API void aa_la_s_colmean(size_t m, size_t n, const float *A, size_t lda, float *x)
Mean of columns of A.
static size_t aa_la_s_maxloc(size_t n, float *x, size_t incx)
Maximum location of vector x.
AA_API void aa_la_s_assign_hungarian(size_t m, size_t n, const float *A, size_t lda, ssize_t *row_assign, ssize_t *col_assign)
Hungarian algorithm to solve min assignment problem.
AA_API int aa_la_s_svd(size_t m, size_t n, const float *A, size_t lda, float *U, size_t ldu, float *S, float *Vt, size_t ldvt)
Singular Value Decomposition of A.
AA_API void aa_la_d_lerp(size_t n, double u, const double *v1, size_t inc1, const double *v2, size_t inc2, double *vu, size_t incu)
Linear interpolation of vectors.
AA_API float aa_la_s_angle(size_t n, const float *x, size_t incx, const float *y, size_t incy)
Angle between vectors.
AA_API void aa_la_s_rowmean(size_t m, size_t n, const float *A, size_t lda, float *x)
Mean of rows of A.
int aa_la_d_ls_duqu_cmat(const double *sigma, const double *theta, double *cm)
Create a companion matrix for the lambda polynomial in se3 least-squares.
AA_API void aa_la_d_3spline_param(size_t n, double tf, const double *x1, size_t incx1, const double *dx1, size_t incdx1, const double *x2, size_t inc2, const double *dx2, size_t incdx2, double *a2, double *a3)
Compute cubic spline parameters.
AA_API void aa_la_s_assign_hungarian_max2min(size_t m, size_t n, float *A, size_t lda)
Converts max assignment to min assignment for Hungarian algorithm.
AA_API void aa_la_d_colcov(size_t m, size_t n, const double *A, size_t lda, const double *x, double *E, size_t lde)
Covariance of columns of A.
AA_API double aa_la_d_angle(size_t n, const double *x, size_t incx, const double *y, size_t incy)
Angle between vectors.
AA_API int aa_la_d_lls(size_t m, size_t n, size_t p, const double *A, size_t lda, const double *b, size_t ldb, double *x, size_t ldx)
Linear Least Squares.
AA_API void aa_la_d_assign_hungarian_max2min(size_t m, size_t n, double *A, size_t lda)
Converts max assignment to min assignment for Hungarian algorithm.
#define AA_API
calling and name mangling convention for functions
static double aa_la_d_mat_max(size_t m, size_t n, double *A, size_t lda, size_t *pi, size_t *pj)
Minimum location of vector x.
static float aa_la_s_nmedian_pop(size_t n, float *x)
Compute median and pop array from local memory region.
static double aa_la_d_nmedian_pop(size_t n, double *x)
Compute median and pop array from local memory region.
AA_API void aa_la_d_5spline_param(size_t n, double tf, const double *x1, size_t incx1, const double *dx1, size_t incdx1, const double *ddx1, size_t incddx1, const double *x2, size_t inc2, const double *dx2, size_t incdx2, const double *ddx2, size_t incddx2, double *a3, double *a4, double *a5)
Compute quintic spline parameters.
AA_API void aa_la_s_lerp(size_t n, float u, const float *v1, size_t inc1, const float *v2, size_t inc2, float *vu, size_t incu)
Linear interpolation of vectors.
AA_API double aa_la_d_vecstd(size_t n, const double *x, size_t incx, double mu)
Standard deviation of vector.
AA_API void aa_la_s_5spline(size_t n, float tf, const float *x1, size_t incx1, const float *dx1, size_t incdx1, const float *ddx1, size_t incddx1, const float *a3, const float *a4, const float *a5, float *x, size_t incx, float *dx, size_t incdx, float *ddx, size_t incddx)
Compute quintic spline value.
AA_API double aa_la_d_nmedian(size_t n, double *x)
Destructive median computation.
static size_t aa_la_d_minloc(size_t n, double *x, size_t incx)
Minimum location of vector x.
static size_t aa_la_s_minloc(size_t n, float *x, size_t incx)
Minimum location of vector x.
AA_API void aa_la_d_rowmean(size_t m, size_t n, const double *A, size_t lda, double *x)
Mean of rows of A.
AA_API double aa_la_d_median(size_t n, const double *x, size_t incx)
Cmpute median.
AA_API void aa_la_s_transpose(size_t m, size_t n, const float *A, size_t lda, float *B, size_t ldb)
type for operations
AA_API void aa_la_s_colfit(size_t m, size_t n, const float *A, size_t lda, float *x)
Fit a least-squares hyperplane to columns of A.
int aa_la_s_ls_duqu_cmat(const double *sigma, const double *theta, double *cm)
Create a companion matrix for the lambda polynomial in se3 least-squares.
AA_API void aa_la_s_3spline(size_t n, float tf, const float *x1, size_t incx1, const float *dx1, size_t incdx1, const float *a2, const float *a3, float *x, size_t incx, float *dx, size_t incdx, float *ddx, size_t incddx)
Compute cubic spline value.
AA_API void aa_la_d_colmean(size_t m, size_t n, const double *A, size_t lda, double *x)
Mean of columns of A.
float aa_la_s_mad2(size_t m, size_t n, const float *u, const float *A, size_t lda)
Median Absolute Deviation with Euclidean distance.
double aa_la_d_mad2(size_t m, size_t n, const double *u, const double *A, size_t lda)
Median Absolute Deviation with Euclidean distance.