Make bitonic work for non powers of 2 #24
@ -34,7 +34,11 @@ int power_of_two(int n) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
#include <stdio.h>
|
||||
/**
|
||||
* Buscar un valor que es de potencia de 2 pero menor que n
|
||||
* @param n El valor de n
|
||||
* @return Un potencia de 2 que es menor que n
|
||||
*/
|
||||
int greatest_power_of_two_less_than(int n) {
|
||||
int k = 1;
|
||||
while (k > 0 && k < n) {
|
||||
@ -42,7 +46,6 @@ int greatest_power_of_two_less_than(int n) {
|
||||
}
|
||||
k = (int) ((unsigned int) k >> 1);
|
||||
return (int) k;
|
||||
//return k>>>1;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -80,7 +83,7 @@ void bitonicmerge(int low, int n, int dir, int *array) {
|
||||
}
|
||||
|
||||
/**
|
||||
* Unir la secuencia
|
||||
* Unir la secuencia cuando n no es de potencia 2
|
||||
* @param low El parte inferior
|
||||
* @param c El parte superior n
|
||||
* @param dir La dirección a ordenar, 1 para ascendentemente o 0 por descendentamente
|
||||
@ -119,7 +122,7 @@ void recbitonic(int low, int n, int dir, int *array) {
|
||||
}
|
||||
|
||||
/**
|
||||
* Generar la secuencia bitonica en forma de piramide
|
||||
* Generar la secuencia bitonica en forma de piramide cuando n no es de potencia 2
|
||||
* @param low El parte inferior
|
||||
* @param c El parte superior n
|
||||
* @param dir La dirección a ordenar, 1 para ascendentemente o 0 por descendentamente
|
||||
|
Loading…
Reference in New Issue
Block a user