6 #ifndef MYRAMATH_MULTIFRONTAL_OPTIONS_H 7 #define MYRAMATH_MULTIFRONTAL_OPTIONS_H 14 #include <myramath/utility/detail/LIBPUBLIC.h> 17 #include <myramath/jobgraph/Options.h> 21 namespace multifrontal {
50 nthreads = maxthreads();
62 { threading_layer = jobgraph::Options::sanitize(in_threading_layer);
return *
this; }
64 Options& set_nthreads(
int in_nthreads)
65 { nthreads = in_nthreads;
return *
this; }
68 { progress = in_progress;
return *
this; }
70 Options& set_blocksize(
int in_blocksize)
71 { blocksize = in_blocksize;
return *
this; }
73 Options& set_globsize(
int in_globsize)
74 { globsize = in_globsize;
return *
this; }
76 Options& set_check(
bool in_check)
77 { check = in_check;
return *
this; }
80 operator ::myra::jobgraph::Options()
const 81 { return ::myra::jobgraph::Options::create().
set_threading_layer(threading_layer).set_nthreads(nthreads).set_progress(progress); }
Options & set_threading_layer(int in_threading_layer)
Named constructor idiom, setters.
Definition: Options.h:61
Options pack for routines in /multifrontal.
Definition: Options.h:24
int blocksize
Desired blocksize.
Definition: Options.h:38
Options()
Constructs default Options.
Definition: Options.h:47
bool check
Enables various checks.
Definition: Options.h:44
static Options create()
Named constructor idiom, creates default options.
Definition: Options.h:57
int globsize
Desired globsize.
Definition: Options.h:41
Interface for measuring progress via callbacks. Wraps an underlying polymorphic ProgressMeterBase.
Definition: ProgressMeter.h:55
Returns maximum number of threads, by probing the environment for MYRAMATH_NUM_THREADS.
static int default_threading_layer()
Returns one of the THREADING_LAYER constants named below.
Definition: Options.cpp:32
ProgressMeter progress
Enable progress meter?
Definition: Options.h:35
int threading_layer
Which threading_layer to use? (See JOBGRAPH::Options)
Definition: Options.h:29
int nthreads
How many threads to use?
Definition: Options.h:32