PLASMA 2.3.1

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

00001 
00021 #ifndef CGECFI2_H
00022 #define CGECFI2_H
00023 
00024 #define ipt_call( name, m1, n1, mb, nb ) \
00025   ipt_c##name(plasma, (m1),     (n1),     (A+A11), (mb),     (nb),     sequence, request); \
00026   ipt_c##name(plasma, (m1),     (n-(n1)), (A+A12), (mb),     (n-(n1)), sequence, request); \
00027   ipt_c##name(plasma, (m-(m1)), (n1),     (A+A21), (m-(m1)), (nb),     sequence, request); \
00028   ipt_c##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_c##name(plasma, PlasmaIPT_NoDep, PlasmaIPT_NoDep, (m1),     (n1),     (A+A11), (mb),     (nb),     sequence, request); \
00032   ipt_c##name(plasma, PlasmaIPT_NoDep, PlasmaIPT_NoDep, (m1),     (n-(n1)), (A+A12), (mb),     (n-(n1)), sequence, request); \
00033   ipt_c##name(plasma, PlasmaIPT_NoDep, PlasmaIPT_NoDep, (m-(m1)), (n1),     (A+A21), (m-(m1)), (nb),     sequence, request); \
00034   ipt_c##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_crm2rrrb(  plasma, m, n, A, mb, nb, seq, req) ipt_ccm2ccrb(  (plasma), (n), (m), (A), (nb), (mb), (seq), (req));
00038 #define ipt_crrrb2rm(  plasma, m, n, A, mb, nb, seq, req) ipt_cccrb2cm(  (plasma), (n), (m), (A), (nb), (mb), (seq), (req));
00039 int ipt_ccm2ccrb  (plasma_context_t *plasma, int m, int n, PLASMA_Complex32_t *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req);
00040 int ipt_cccrb2cm  (plasma_context_t *plasma, int m, int n, PLASMA_Complex32_t *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req);
00041 
00042 int ipt_cccrb2crrb(plasma_context_t *plasma, PLASMA_enum idep, PLASMA_enum odep, int m, int n, PLASMA_Complex32_t *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req);
00043 int ipt_ccrrb2ccrb(plasma_context_t *plasma, PLASMA_enum idep, PLASMA_enum odep, int m, int n, PLASMA_Complex32_t *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req);
00044 int ipt_crcrb2rrrb(plasma_context_t *plasma, PLASMA_enum idep, PLASMA_enum odep, int m, int n, PLASMA_Complex32_t *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req);
00045 int ipt_crrrb2rcrb(plasma_context_t *plasma, PLASMA_enum idep, PLASMA_enum odep, int m, int n, PLASMA_Complex32_t *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req);
00046 
00047 #define ipt_ccrrb2rrrb(plasma, m, n, A, mb, nb, seq, req) ipt_cccrb2rcrb((plasma), (m), (n), (A), (mb), (nb), (seq), (req));
00048 #define ipt_crcrb2ccrb(plasma, m, n, A, mb, nb, seq, req) ipt_cccrb2rcrb((plasma), (n), (m), (A), (nb), (mb), (seq), (req));
00049 #define ipt_crrrb2crrb(plasma, m, n, A, mb, nb, seq, req) ipt_cccrb2rcrb((plasma), (n), (m), (A), (nb), (mb), (seq), (req));
00050 int ipt_cccrb2rcrb(plasma_context_t *plasma, int m, int n, PLASMA_Complex32_t *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req);
00051 
00052 /* 2 transformations */
00053 #define ipt_crm2crrb(  plasma, m, n, A, mb, nb, seq, req) ipt_ccm2rcrb(  (plasma), (n), (m), (A), (nb), (mb), (seq), (req));
00054 #define ipt_ccrrb2rm(  plasma, m, n, A, mb, nb, seq, req) ipt_crcrb2cm(  (plasma), (n), (m), (A), (nb), (mb), (seq), (req));
00055 int ipt_ccm2rcrb  (plasma_context_t *plasma, int m, int n, PLASMA_Complex32_t *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req);
00056 int ipt_crcrb2cm  (plasma_context_t *plasma, int m, int n, PLASMA_Complex32_t *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req);
00057 
00058 int ipt_cccrb2rrrb(plasma_context_t *plasma, int m, int n, PLASMA_Complex32_t *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req);
00059 int ipt_crrrb2ccrb(plasma_context_t *plasma, int m, int n, PLASMA_Complex32_t *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req);
00060 int ipt_ccrrb2rcrb(plasma_context_t *plasma, int m, int n, PLASMA_Complex32_t *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req);
00061 int ipt_crcrb2crrb(plasma_context_t *plasma, int m, int n, PLASMA_Complex32_t *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req);
00062 
00063 int ipt_ccm2crrb  (plasma_context_t *plasma, int m, int n, PLASMA_Complex32_t *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req);
00064 int ipt_ccrrb2cm  (plasma_context_t *plasma, int m, int n, PLASMA_Complex32_t *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req);
00065 int ipt_crcrb2rm  (plasma_context_t *plasma, int m, int n, PLASMA_Complex32_t *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req);
00066 int ipt_crm2rcrb  (plasma_context_t *plasma, int m, int n, PLASMA_Complex32_t *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req);
00067 
00068 /* 3 transformations */
00069 int ipt_ccm2rrrb  (plasma_context_t *plasma, int m, int n, PLASMA_Complex32_t *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req);
00070 int ipt_crrrb2cm  (plasma_context_t *plasma, int m, int n, PLASMA_Complex32_t *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req);
00071 int ipt_cccrb2rm  (plasma_context_t *plasma, int m, int n, PLASMA_Complex32_t *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req);
00072 int ipt_crm2ccrb  (plasma_context_t *plasma, int m, int n, PLASMA_Complex32_t *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req);
00073 
00074 /* 4 transformations */
00075 int ipt_ccm2rm    (plasma_context_t *plasma, int m, int n, PLASMA_Complex32_t *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req);
00076 int ipt_crm2cm    (plasma_context_t *plasma, int m, int n, PLASMA_Complex32_t *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req);
00077 
00078 
00079 int ipt_cpanel2all(plasma_context_t *plasma, int m, int n, PLASMA_Complex32_t *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req); 
00080 int ipt_call2panel(plasma_context_t *plasma, int m, int n, PLASMA_Complex32_t *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req); 
00081 int ipt_cpanel2tile(plasma_context_t *plasma, int m, int n, PLASMA_Complex32_t *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req); 
00082 int ipt_ctile2panel(plasma_context_t *plasma, int m, int n, PLASMA_Complex32_t *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req); 
00083 #endif /* CGECFI2_H */
 All Data Structures