PLASMA 2.3.1

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

00001 
00021 #ifndef SGECFI2_H
00022 #define SGECFI2_H
00023 
00024 #define ipt_call( name, m1, n1, mb, nb ) \
00025   ipt_s##name(plasma, (m1),     (n1),     (A+A11), (mb),     (nb),     sequence, request); \
00026   ipt_s##name(plasma, (m1),     (n-(n1)), (A+A12), (mb),     (n-(n1)), sequence, request); \
00027   ipt_s##name(plasma, (m-(m1)), (n1),     (A+A21), (m-(m1)), (nb),     sequence, request); \
00028   ipt_s##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_s##name(plasma, PlasmaIPT_NoDep, PlasmaIPT_NoDep, (m1),     (n1),     (A+A11), (mb),     (nb),     sequence, request); \
00032   ipt_s##name(plasma, PlasmaIPT_NoDep, PlasmaIPT_NoDep, (m1),     (n-(n1)), (A+A12), (mb),     (n-(n1)), sequence, request); \
00033   ipt_s##name(plasma, PlasmaIPT_NoDep, PlasmaIPT_NoDep, (m-(m1)), (n1),     (A+A21), (m-(m1)), (nb),     sequence, request); \
00034   ipt_s##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_srm2rrrb(  plasma, m, n, A, mb, nb, seq, req) ipt_scm2ccrb(  (plasma), (n), (m), (A), (nb), (mb), (seq), (req));
00038 #define ipt_srrrb2rm(  plasma, m, n, A, mb, nb, seq, req) ipt_sccrb2cm(  (plasma), (n), (m), (A), (nb), (mb), (seq), (req));
00039 int ipt_scm2ccrb  (plasma_context_t *plasma, int m, int n, float *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req);
00040 int ipt_sccrb2cm  (plasma_context_t *plasma, int m, int n, float *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req);
00041 
00042 int ipt_sccrb2crrb(plasma_context_t *plasma, PLASMA_enum idep, PLASMA_enum odep, int m, int n, float *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req);
00043 int ipt_scrrb2ccrb(plasma_context_t *plasma, PLASMA_enum idep, PLASMA_enum odep, int m, int n, float *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req);
00044 int ipt_srcrb2rrrb(plasma_context_t *plasma, PLASMA_enum idep, PLASMA_enum odep, int m, int n, float *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req);
00045 int ipt_srrrb2rcrb(plasma_context_t *plasma, PLASMA_enum idep, PLASMA_enum odep, int m, int n, float *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req);
00046 
00047 #define ipt_scrrb2rrrb(plasma, m, n, A, mb, nb, seq, req) ipt_sccrb2rcrb((plasma), (m), (n), (A), (mb), (nb), (seq), (req));
00048 #define ipt_srcrb2ccrb(plasma, m, n, A, mb, nb, seq, req) ipt_sccrb2rcrb((plasma), (n), (m), (A), (nb), (mb), (seq), (req));
00049 #define ipt_srrrb2crrb(plasma, m, n, A, mb, nb, seq, req) ipt_sccrb2rcrb((plasma), (n), (m), (A), (nb), (mb), (seq), (req));
00050 int ipt_sccrb2rcrb(plasma_context_t *plasma, int m, int n, float *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req);
00051 
00052 /* 2 transformations */
00053 #define ipt_srm2crrb(  plasma, m, n, A, mb, nb, seq, req) ipt_scm2rcrb(  (plasma), (n), (m), (A), (nb), (mb), (seq), (req));
00054 #define ipt_scrrb2rm(  plasma, m, n, A, mb, nb, seq, req) ipt_srcrb2cm(  (plasma), (n), (m), (A), (nb), (mb), (seq), (req));
00055 int ipt_scm2rcrb  (plasma_context_t *plasma, int m, int n, float *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req);
00056 int ipt_srcrb2cm  (plasma_context_t *plasma, int m, int n, float *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req);
00057 
00058 int ipt_sccrb2rrrb(plasma_context_t *plasma, int m, int n, float *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req);
00059 int ipt_srrrb2ccrb(plasma_context_t *plasma, int m, int n, float *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req);
00060 int ipt_scrrb2rcrb(plasma_context_t *plasma, int m, int n, float *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req);
00061 int ipt_srcrb2crrb(plasma_context_t *plasma, int m, int n, float *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req);
00062 
00063 int ipt_scm2crrb  (plasma_context_t *plasma, int m, int n, float *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req);
00064 int ipt_scrrb2cm  (plasma_context_t *plasma, int m, int n, float *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req);
00065 int ipt_srcrb2rm  (plasma_context_t *plasma, int m, int n, float *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req);
00066 int ipt_srm2rcrb  (plasma_context_t *plasma, int m, int n, float *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req);
00067 
00068 /* 3 transformations */
00069 int ipt_scm2rrrb  (plasma_context_t *plasma, int m, int n, float *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req);
00070 int ipt_srrrb2cm  (plasma_context_t *plasma, int m, int n, float *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req);
00071 int ipt_sccrb2rm  (plasma_context_t *plasma, int m, int n, float *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req);
00072 int ipt_srm2ccrb  (plasma_context_t *plasma, int m, int n, float *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req);
00073 
00074 /* 4 transformations */
00075 int ipt_scm2rm    (plasma_context_t *plasma, int m, int n, float *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req);
00076 int ipt_srm2cm    (plasma_context_t *plasma, int m, int n, float *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req);
00077 
00078 
00079 int ipt_spanel2all(plasma_context_t *plasma, int m, int n, float *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req); 
00080 int ipt_sall2panel(plasma_context_t *plasma, int m, int n, float *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req); 
00081 int ipt_spanel2tile(plasma_context_t *plasma, int m, int n, float *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req); 
00082 int ipt_stile2panel(plasma_context_t *plasma, int m, int n, float *A, int mb, int nb, PLASMA_sequence *seq, PLASMA_request *req); 
00083 #endif /* SGECFI2_H */
 All Data Structures