Add Collatz Conjecture tester
This commit is contained in:
parent
f64882f5c3
commit
f544a08146
3 changed files with 127 additions and 0 deletions
21
collatz-kernel.cl
Normal file
21
collatz-kernel.cl
Normal file
|
@ -0,0 +1,21 @@
|
|||
#pragma OPENCL EXTENSION cl_khr_byte_addressable_store : enable
|
||||
|
||||
__kernel void collatz(__global unsigned int* inputNums,
|
||||
__global unsigned int* triesArr) {
|
||||
int N = get_global_id(1) * get_global_size(0) + get_global_id(0);
|
||||
int val = N + 1;
|
||||
int tries = 0;
|
||||
|
||||
inputNums[N] = val;
|
||||
|
||||
while(val != 1) {
|
||||
if(val % 2 == 0) {
|
||||
val = val / 2;
|
||||
} else {
|
||||
val = 3 * val + 1;
|
||||
}
|
||||
tries++;
|
||||
}
|
||||
|
||||
triesArr[N] = tries;
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue