PLASMA 2.3.1

/home/mathieu/ICL/Plasma/svn/trunk/tools/plasma_2.4.0/compute/dgecfi2.h

00001 
00021 #ifndef DGECFI2_H
00022 #define DGECFI2_H
00023 
00024 #define ipt_call( name, m1, n1, mb, nb ) \
00025   ipt_d##name(plasma, (m1),     (n1),     (A+A11), (mb),     (nb),     sequence, request); \
00026   ipt_d##name(plasma, (m1),     (n-(n1)), (A+A12), (mb),     (n-(n1)), sequence, request); \
00027   ipt_d##name(plasma, (m-(m1)), (n1),     (A+A21), (m-(m1)), (nb),     sequence, request); \
00028   ipt_d##name(plasma, (m-(m1)), (n-(n1)), (A+A22), (m-(m1)), (n-(n1)), sequence, request);
00029 
00030 #define ipt_cal2( name, m1, n1, mb, nb ) \
00031   ipt_d##name(plasma, PlasmaIPT_NoDep, PlasmaIPT_NoDep, (m1),     (n1),     (A+A11), (mb),     (nb),     sequence, request); \
00032   ipt_d##name(plasma, PlasmaIPT_NoDep, PlasmaIPT_NoDep, (m1),     (n-(n1)), (A+A12), (mb),     (n-(n1)), sequence, request); \
00033   ipt_d##name(plasma, PlasmaIPT_NoDep, PlasmaIPT_NoDep, (m-(m1)), (n1),     (A+A21), (m-(m1)), (nb),     sequence, request); \
00034   ipt_d##name(plasma, PlasmaIPT_NoDep, PlasmaIPT_NoDep, (m-(m1)), (n-(n1)), (A+A22), (m-(m1)), (n-(n1)), sequence, request);
00035 
00036 /* one transformation */
00037 #define ipt_drm2rrrb(  plasma, m, n, A, mb, nb, seq, req) ipt_dcm2ccrb(  (plasma), (n), (m), (A), (nb), (mb), (seq), (req));
00038 #define ipt_drrrb2rm(  plasma, m, n, A, mb, nb, seq, req) ipt_dccrb2cm(  (plasma), (n), (m), (A), (nb), (mb), (seq), (req));
00039 int ipt_dcm2ccrb  (plasma_context_t *plasma, int m, int n, double *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req);
00040 int ipt_dccrb2cm  (plasma_context_t *plasma, int m, int n, double *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req);
00041 
00042 int ipt_dccrb2crrb(plasma_context_t *plasma, PLASMA_enum idep, PLASMA_enum odep, int m, int n, double *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req);
00043 int ipt_dcrrb2ccrb(plasma_context_t *plasma, PLASMA_enum idep, PLASMA_enum odep, int m, int n, double *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req);
00044 int ipt_drcrb2rrrb(plasma_context_t *plasma, PLASMA_enum idep, PLASMA_enum odep, int m, int n, double *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req);
00045 int ipt_drrrb2rcrb(plasma_context_t *plasma, PLASMA_enum idep, PLASMA_enum odep, int m, int n, double *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req);
00046 
00047 #define ipt_dcrrb2rrrb(plasma, m, n, A, mb, nb, seq, req) ipt_dccrb2rcrb((plasma), (m), (n), (A), (mb), (nb), (seq), (req));
00048 #define ipt_drcrb2ccrb(plasma, m, n, A, mb, nb, seq, req) ipt_dccrb2rcrb((plasma), (n), (m), (A), (nb), (mb), (seq), (req));
00049 #define ipt_drrrb2crrb(plasma, m, n, A, mb, nb, seq, req) ipt_dccrb2rcrb((plasma), (n), (m), (A), (nb), (mb), (seq), (req));
00050 int ipt_dccrb2rcrb(plasma_context_t *plasma, int m, int n, double *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req);
00051 
00052 /* 2 transformations */
00053 #define ipt_drm2crrb(  plasma, m, n, A, mb, nb, seq, req) ipt_dcm2rcrb(  (plasma), (n), (m), (A), (nb), (mb), (seq), (req));
00054 #define ipt_dcrrb2rm(  plasma, m, n, A, mb, nb, seq, req) ipt_drcrb2cm(  (plasma), (n), (m), (A), (nb), (mb), (seq), (req));
00055 int ipt_dcm2rcrb  (plasma_context_t *plasma, int m, int n, double *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req);
00056 int ipt_drcrb2cm  (plasma_context_t *plasma, int m, int n, double *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req);
00057 
00058 int ipt_dccrb2rrrb(plasma_context_t *plasma, int m, int n, double *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req);
00059 int ipt_drrrb2ccrb(plasma_context_t *plasma, int m, int n, double *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req);
00060 int ipt_dcrrb2rcrb(plasma_context_t *plasma, int m, int n, double *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req);
00061 int ipt_drcrb2crrb(plasma_context_t *plasma, int m, int n, double *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req);
00062 
00063 int ipt_dcm2crrb  (plasma_context_t *plasma, int m, int n, double *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req);
00064 int ipt_dcrrb2cm  (plasma_context_t *plasma, int m, int n, double *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req);
00065 int ipt_drcrb2rm  (plasma_context_t *plasma, int m, int n, double *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req);
00066 int ipt_drm2rcrb  (plasma_context_t *plasma, int m, int n, double *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req);
00067 
00068 /* 3 transformations */
00069 int ipt_dcm2rrrb  (plasma_context_t *plasma, int m, int n, double *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req);
00070 int ipt_drrrb2cm  (plasma_context_t *plasma, int m, int n, double *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req);
00071 int ipt_dccrb2rm  (plasma_context_t *plasma, int m, int n, double *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req);
00072 int ipt_drm2ccrb  (plasma_context_t *plasma, int m, int n, double *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req);
00073 
00074 /* 4 transformations */
00075 int ipt_dcm2rm    (plasma_context_t *plasma, int m, int n, double *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req);
00076 int ipt_drm2cm    (plasma_context_t *plasma, int m, int n, double *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req);
00077 
00078 
00079 int ipt_dpanel2all(plasma_context_t *plasma, int m, int n, double *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req); 
00080 int ipt_dall2panel(plasma_context_t *plasma, int m, int n, double *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req); 
00081 int ipt_dpanel2tile(plasma_context_t *plasma, int m, int n, double *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req); 
00082 int ipt_dtile2panel(plasma_context_t *plasma, int m, int n, double *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req); 
00083 #endif /* DGECFI2_H */
 All Data Structures