/usr/lib/petscdir/3.7.7/x86_64-linux-gnu-real-debug/include/petsc/private/kernels/blocktranspose.h is in libpetsc3.7.7-dbg 3.7.7+dfsg1-2build5.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
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 27 28 29 30 31 32 33 34 35 36 37 | #if !defined(_BLOCKTRANSPOSE_H)
#define _BLOCKTRANSPOSE_H
#include <petscsys.h>
#include <petscblaslapack.h>
#define PetscKernel_A_gets_transpose_A_BODY(a,N) \
int i,j; \
for (i=0; i<N; i++) { \
for (j=i+1; j<N; j++) { \
MatScalar t = a[i*N+j]; \
a[i*N+j] = a[j*N+i]; \
a[j*N+i] = t; \
} \
} \
return 0
PETSC_STATIC_INLINE PetscErrorCode PetscKernel_A_gets_transpose_A_N(MatScalar *a,PetscInt N)
{
PetscKernel_A_gets_transpose_A_BODY(a,N);
}
#define PetscKernel_A_gets_transpose_A_DECLARE(N) \
PETSC_STATIC_INLINE PetscErrorCode PetscKernel_A_gets_transpose_A_ ## N (MatScalar *a) \
{ \
PetscKernel_A_gets_transpose_A_BODY(a,N); \
}
PetscKernel_A_gets_transpose_A_DECLARE(2)
PetscKernel_A_gets_transpose_A_DECLARE(3)
PetscKernel_A_gets_transpose_A_DECLARE(4)
PetscKernel_A_gets_transpose_A_DECLARE(5)
PetscKernel_A_gets_transpose_A_DECLARE(6)
PetscKernel_A_gets_transpose_A_DECLARE(7)
PetscKernel_A_gets_transpose_A_DECLARE(8)
PetscKernel_A_gets_transpose_A_DECLARE(9)
#endif
|