Make bitonic work for non powers of 2 #24

Merged
cromer merged 2 commits from bitonicpow into master 2018-11-17 15:12:24 -03:00
Showing only changes of commit a1198ed00c - Show all commits

View File

@ -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