Xmipp  v3.23.11-Nereus
Functions
primitive_FST.cpp File Reference
#include <cmath>
Include dependency graph for primitive_FST.cpp:

Go to the source code of this file.

Functions

int seanindex (int m, int l, int bw)
 
void seanindex2 (int m, int l, int bw, int *loc)
 
void transpose (double *array, int size)
 

Function Documentation

◆ seanindex()

int seanindex ( int  m,
int  l,
int  bw 
)

Definition at line 65 of file primitive_FST.cpp.

68 {
69  int bigL;
70 
71  bigL = bw - 1;
72 
73  if( m >= 0 )
74  return( m * ( bigL + 1 ) - ( ( m * (m - 1) ) /2 ) + ( l - m ) );
75  else
76  return( ( ( bigL * ( bigL + 3 ) ) /2 ) + 1 +
77  ( ( bigL + m ) * ( bigL + m + 1 ) / 2 ) + ( l - std::abs( m ) ) );
78 }
void abs(Image< double > &op)
int m

◆ seanindex2()

void seanindex2 ( int  m,
int  l,
int  bw,
int *  loc 
)

Definition at line 93 of file primitive_FST.cpp.

97 {
98  int bigL;
99 
100  bigL = bw - 1;
101 
102  /* first index for (l,m) */
103  loc[0] = m * ( bigL + 1 ) - ( ( m * (m - 1) ) /2 ) + ( l - m );
104 
105  /* second index for (l,-m) */
106  loc[1] = ( ( bigL * ( bigL + 3 ) ) /2 ) + 1 +
107  ( ( bigL - m ) * ( bigL - m + 1 ) / 2 ) + ( l - m ) ;
108 
109 }
int m

◆ transpose()

void transpose ( double *  array,
int  size 
)

Definition at line 121 of file primitive_FST.cpp.

123 {
124  int i, j;
125  double t1, t2, t3, t4;
126 
127  for(i = 0; i < size; i += 2)
128  {
129  t1 = array[(i * size) + i + 1];
130  array[(i * size) + i + 1] = array[((i + 1) * size) + i];
131  array[((i + 1) * size) + i] = t1;
132  for(j = (i + 2); j < size; j += 2)
133  {
134  t1 = array[(i*size)+j]; t2 = array[(i*size)+j+1];
135  t3 = array[((i+1)*size)+j]; t4 = array[((i+1)*size)+j+1];
136  array[(i*size)+j] = array[(j*size)+i];
137  array[(i*size)+j+1] = array[((j+1)*size)+i];
138  array[((i+1)*size)+j] = array[(j*size)+i+1];
139  array[((i+1)*size)+j+1] = array[((j+1)*size)+i+1];
140  array[(j*size)+i] = t1;
141  array[((j+1)*size)+i] = t2;
142  array[(j*size)+i+1] = t3;
143  array[((j+1)*size)+i+1] = t4;
144  }
145  }
146 }
#define i
#define j