-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathTranspose.h
26 lines (22 loc) · 901 Bytes
/
Transpose.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// This code supplements the white paper
// "Multithreaded Transposition of Square Matrices
// with Common Code for
// Intel Xeon Processors and Intel Xeon Phi Coprocessors"
// available at the following URL:
// http://research.colfaxinternational.com/post/2013/08/12/Trans-7110.aspx
// You are free to use, modify and distribute this code as long as you acknowledge
// the above mentioned publication.
// (c) Colfax International, 2013
#ifndef __INCLUDED_TRANSPOSE_H__
#define __INCLUDED_TRANSPOSE_H__
// Allow compile with single or double precision
// by specifying the compiler flag -DSINGLE or -DDOUBLE
#ifdef SINGLE
#define FTYPE float
#elif defined DOUBLE
#define FTYPE double
#endif
void Transpose(FTYPE* const A, const int n, const int* const plan);
void CreateTranspositionPlan(const int iPlan, int* & plan, const int n);
void DestroyTranspositionPlan(int* plan);
#endif