MPSolve 3.2.1
Loading...
Searching...
No Matches
mps_thread_worker_data Struct Reference

Data packed to be passed to a new thread that will perform floating point, dpe or multiprecision iterations. More...

#include <threading.h>

Public Attributes

volatile int * nzeros
 Pointer to the integer that holds the number of zeros computed until now.
 
int required_zeros
 The number of well approximated roots required to stop iteration packet.
 
volatile int * it
 Pointer to the integer that holds the number of iterations performed until now.
 
mps_contexts
 The pointer to the mps_context struct.
 
int thread
 The index of this thread.
 
int n_threads
 The total number of threads.
 
volatile mps_boolean * excep
 Pointer to the boolean excep value. Setting this to true cause the iteration to enter exception state. More...
 
pthread_mutex_t * aberth_mutex
 Array of n mutexes where n = s->n, i.e. is the total number of roots of the polynomial. More...
 
pthread_mutex_t * global_aberth_mutex
 Global aberth mutex used to coordinate all aberth computations.
 
pthread_mutex_t * roots_mutex
 Array of n mutexes that gets locked when a thread start to iterate over a root. This is done to ensure that only a thread at a time is iterating over a root.
 
pthread_mutex_t * gs_mutex
 Global state mute used to synchronize some (hopefully not so many) global operation.
 
mps_thread_job_queuequeue
 Pointer to the mps_thread_job_queue that the thread may query for other work.
 

Detailed Description

Data packed to be passed to a new thread that will perform floating point, dpe or multiprecision iterations.

Member Data Documentation

◆ aberth_mutex

pthread_mutex_t* mps_thread_worker_data::aberth_mutex

Array of n mutexes where n = s->n, i.e. is the total number of roots of the polynomial.

The mutex in position i gets locked when a thread needs to read and/or write from/to the i-th root.

◆ excep

volatile mps_boolean* mps_thread_worker_data::excep

Pointer to the boolean excep value. Setting this to true cause the iteration to enter exception state.

If this state is reached all threads returns because no more iteration are needed / useful.


The documentation for this struct was generated from the following file: