Changeset 14237
- Timestamp:
- 01/11/13 14:16:09 (12 years ago)
- Location:
- issm/trunk-jpl/src/c/modules/Krigingx
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/modules/Krigingx/Krigingx.cpp
r14226 r14237 59 59 } 60 60 else if(strcmp(output,"distance")==0){ 61 observations->Distances(predictions,x_interp,y_interp,n_interp,radius); 61 /*initialize thread parameters: */ 62 gate.n_interp = n_interp; 63 gate.x_interp = x_interp; 64 gate.y_interp = y_interp; 65 gate.radius = radius; 66 gate.mindata = mindata; 67 gate.maxdata = maxdata; 68 gate.variogram = variogram; 69 gate.observations = observations; 70 gate.predictions = predictions; 71 gate.error = error; 72 gate.numdone = xNewZeroInit<int>(num); 73 74 /*launch the thread manager with Krigingxt as a core: */ 75 LaunchThread(Distancest,(void*)&gate,num); 76 xDelete<int>(gate.numdone); 62 77 } 63 78 else if(strcmp(output,"delaunay")==0){ … … 363 378 return NULL; 364 379 }/*}}}*/ 380 /*FUNCTION Distancest{{{*/ 381 void* Distancest(void* vpthread_handle){ 382 383 /*gate variables :*/ 384 KrigingxThreadStruct *gate = NULL; 385 pthread_handle *handle = NULL; 386 int my_thread; 387 int num_threads; 388 int i0,i1; 389 390 /*recover handle and gate: */ 391 handle = (pthread_handle*)vpthread_handle; 392 gate = (KrigingxThreadStruct*)handle->gate; 393 my_thread = handle->id; 394 num_threads = handle->num; 395 396 /*recover parameters :*/ 397 int n_interp = gate->n_interp; 398 double *x_interp = gate->x_interp; 399 double *y_interp = gate->y_interp; 400 double radius = gate->radius; 401 int mindata = gate->mindata; 402 int maxdata = gate->maxdata; 403 Variogram *variogram = gate->variogram; 404 Observations *observations = gate->observations; 405 double *predictions = gate->predictions; 406 double *error = gate->error; 407 int *numdone = gate->numdone; 408 409 /*partition loop across threads: */ 410 PartitionRange(&i0,&i1,n_interp,num_threads,my_thread); 411 observations->Distances(&predictions[i0],&x_interp[i0],&y_interp[i0],i1-i0,radius); 412 return NULL; 413 }/*}}}*/ 365 414 366 415 void ProcessVariogram(Variogram **pvariogram,Options* options){/*{{{*/ -
issm/trunk-jpl/src/c/modules/Krigingx/Krigingx.h
r14051 r14237 36 36 void* idwt(void*); 37 37 void* v4t(void*); 38 void* Distancest(void*); 38 39 #endif /* _KRIGINGX_H */
Note:
See TracChangeset
for help on using the changeset viewer.