Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <pthread.h>
- #include <stdlib.h>
- #include <unistd.h>
- #include <math.h>
- typedef struct argument{
- double n;
- double k;
- }arg;
- double newton(double n, double k) {
- if(k == 0 || k == n)
- return 1;
- else
- return newton(n-1, k-1) + newton(n-1, k);
- }
- void* newton_use(void* _arg) {
- arg *input = (arg*) _arg;
- double *output = malloc(sizeof(double));
- *output = newton(input->n,input->k);
- pthread_exit((void*) output);
- }
- int main(int argc, char* argv[]) {
- arg input;
- double *result;
- input.n=atoi(argv[1]);
- input.k=atoi(argv[2]);
- pthread_t newton_thread;
- pthread_create(&newton_thread,NULL,newton_use, &input);
- while(pthread_join(newton_thread, (void**) &result) == 0 ) {
- usleep(300);
- printf("c\n");
- }
- printf("%d", *result);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement