Library Configuration

Library Configuration — Library configuration and helper functions

Synopsis

void                ncm_cfg_init                        (void);
void                ncm_cfg_enable_gsl_err_handler      (void);
void                ncm_cfg_register_obj                (GType obj);
gchar *             ncm_cfg_get_fullpath                (const gchar *filename,
                                                         ...);
void                ncm_cfg_keyfile_to_arg              (GKeyFile *kfile,
                                                         gchar *group_name,
                                                         GOptionEntry *entries,
                                                         gchar **argv,
                                                         gint *argc);
void                ncm_cfg_entries_to_keyfile          (GKeyFile *kfile,
                                                         gchar *group_name,
                                                         GOptionEntry *entries);
gchar *             ncm_cfg_string_to_comment           (const gchar *str);
const GEnumValue *  ncm_cfg_get_enum_by_id_name_nick    (GType enum_type,
                                                         const gchar *id_name_nick);
void                ncm_cfg_enum_print_all              (GType enum_type,
                                                         gchar *header);
gboolean            ncm_cfg_load_fftw_wisdom            (gchar *filename,
                                                         ...);
gboolean            ncm_cfg_save_fftw_wisdom            (gchar *filename,
                                                         ...);
gboolean            ncm_cfg_exists                      (gchar *filename,
                                                         ...);
void                ncm_cfg_set_logfile                 (gchar *filename);
void                ncm_cfg_logfile                     (gboolean on);
void                ncm_cfg_logfile_flush               (gboolean on);
void                ncm_message                         (gchar *msg,
                                                         ...);
gchar *             ncm_string_ww                       (const gchar *msg,
                                                         const gchar *first,
                                                         const gchar *rest,
                                                         guint ncols);
void                ncm_message_ww                      (const gchar *msg,
                                                         const gchar *first,
                                                         const gchar *rest,
                                                         guint ncols);
void                ncm_cfg_msg_sepa                    (void);
gsl_rng *           ncm_cfg_rng_get                     (void);
gchar *             ncm_cfg_rng_get_state               (void);
void                ncm_cfg_rng_set_state               (gchar *state);
gboolean            ncm_cfg_is_named_instance           (gpointer obj);
gboolean            ncm_cfg_exist_named_instance        (gchar *name);
guint               ncm_cfg_count_named_instance        (void);
gpointer            ncm_cfg_get_named_instance          (gchar *name);
gchar *             ncm_cfg_named_instance_peek_name    (gpointer obj);
void                ncm_cfg_set_named_instance          (gpointer obj,
                                                         gchar *name,
                                                         gboolean overwrite);
void                ncm_cfg_free_named_instances        (void);
gboolean            ncm_cfg_object_is_named             (const gchar *serobj,
                                                         gchar **name);
FILE *              ncm_cfg_fopen                       (gchar *filename,
                                                         gchar *mode,
                                                         ...);
FILE *              ncm_cfg_vfopen                      (gchar *filename,
                                                         gchar *mode,
                                                         va_list ap);
gboolean            ncm_cfg_load_spline                 (gchar *filename,
                                                         const gsl_interp_type *stype,
                                                         NcmSpline **s,
                                                         ...);
gboolean            ncm_cfg_save_spline                 (gchar *filename,
                                                         NcmSpline *s,
                                                         ...);
gboolean            ncm_cfg_load_vector                 (gchar *filename,
                                                         gsl_vector *v,
                                                         ...);
gboolean            ncm_cfg_save_vector                 (gchar *filename,
                                                         gsl_vector *v,
                                                         ...);
gboolean            ncm_cfg_load_matrix                 (gchar *filename,
                                                         gsl_matrix *M,
                                                         ...);
gboolean            ncm_cfg_save_matrix                 (gchar *filename,
                                                         gsl_matrix *M,
                                                         ...);
#define             LOAD_SAVE_VECTOR_MATRIX_DEF         (typen)
sqlite3 *           ncm_cfg_get_default_sqlite3         (void);
gchar *             ncm_cfg_command_line                (gchar *argv[],
                                                         gint argc);
void                ncm_cfg_object_set_property         (GObject *obj,
                                                         const gchar *prop_str);
GObject *           ncm_cfg_create_from_name_params     (const gchar *obj_name,
                                                         GVariant *params);
GObject *           ncm_cfg_create_from_string          (const gchar *obj_ser);
GVariant *          ncm_cfg_gvalue_to_gvariant          (GValue *val);
GVariant *          ncm_cfg_serialize_to_variant        (GObject *obj);
gchar *             ncm_cfg_serialize_to_string         (GObject *obj,
                                                         gboolean valid_variant);
#define             NCM_RETURN_IF_INF                   (a)
#define             NCM_FLOOR_TRUNC                     (a,
                                                         b)
#define             NCM_CEIL_TRUNC                      (a,
                                                         b)
#define             NCM_ROUND_TRUNC                     (a,
                                                         b)
#define             NCM_TEST_GSL_RESULT                 (func,
                                                         ret)
#define             NCM_ZERO_LIMIT
#define             NCM_DEFAULT_PRECISION
#define             NCM_THREAD_POOL_MAX
#define             NCM_MAP_ALM_SIZE                    (lmax)
#define             NCM_MAP_N_IND_PLM                   (lmax)
#define             NCM_MAP_MAX_RING_SIZE               (nside)
#define             NCM_MAP_N_DIFFERENT_SIZED_RINGS     (nside)
#define             NCM_MAP_RING_PLAN_INDEX             (nside,
                                                         ring_n)
#define             NCM_MAP_RING_SIZE                   (nside,
                                                         ring_n)
#define             NCM_MAP_N_RINGS                     (nside)
#define             NCM_MAP_ALM_M_START                 (lmax,
                                                         m)
#define             NCM_MAP_ALM_INDEX                   (lmax,
                                                         l,
                                                         m)
#define             mpz_inits
#define             mpz_clears
#define             NCM_COMPLEX_INC_MUL_REAL_TEST       (a,
                                                         b,
                                                         c)
#define             NCM_COMPLEX_INC_MUL_REAL            (a,
                                                         b,
                                                         c)
#define             NCM_COMPLEX_INC_MUL                 (a,
                                                         b,
                                                         c)
#define             NCM_COMPLEX_INC_MUL_MUL_REAL        (a,
                                                         b,
                                                         c,
                                                         d)
#define             NCM_COMPLEX_MUL_REAL                (a,
                                                         b,
                                                         c)
#define             NCM_COMPLEX_MUL                     (a,
                                                         b)
#define             NCM_COMPLEX_ADD                     (a,
                                                         b)
#define             NCM_COMPLEX_MUL_CONJUGATE           (a,
                                                         b)
#define             NCM_CFG_DEFAULT_SQLITE3_FILENAME
#define             NCM_WRITE_INT32                     (_ff,
                                                         _ii)
#define             NCM_WRITE_UINT32                    (_ff,
                                                         _ii)
#define             NCM_WRITE_INT64                     (_ff,
                                                         _ii)
#define             NCM_WRITE_UINT64                    (_ff,
                                                         _ii)
#define             NCM_WRITE_DOUBLE                    (_ff,
                                                         _ii)
#define             NCM_READ_INT32                      (_ff,
                                                         _ii)
#define             NCM_READ_UINT32                     (_ff,
                                                         _ii)
#define             NCM_READ_INT64                      (_ff,
                                                         _ii)
#define             NCM_READ_UINT64                     (_ff,
                                                         _ii)
#define             NCM_READ_DOUBLE                     (_ff,
                                                         _ii)
#define             g_clear_object                      (obj)

Description

FIXME

Details

ncm_cfg_init ()

void                ncm_cfg_init                        (void);

FIXME


ncm_cfg_enable_gsl_err_handler ()

void                ncm_cfg_enable_gsl_err_handler      (void);

FIXME


ncm_cfg_register_obj ()

void                ncm_cfg_register_obj                (GType obj);

FIXME

obj :

FIXME

ncm_cfg_get_fullpath ()

gchar *             ncm_cfg_get_fullpath                (const gchar *filename,
                                                         ...);

FIXME

filename :

FIXME

... :

FIXME

Returns :

FIXME

ncm_cfg_keyfile_to_arg ()

void                ncm_cfg_keyfile_to_arg              (GKeyFile *kfile,
                                                         gchar *group_name,
                                                         GOptionEntry *entries,
                                                         gchar **argv,
                                                         gint *argc);

FIXME

kfile :

FIXME

group_name :

FIXME

entries :

FIXME

argv :

FIXME

argc :

FIXME

Returns :

FIXME

ncm_cfg_entries_to_keyfile ()

void                ncm_cfg_entries_to_keyfile          (GKeyFile *kfile,
                                                         gchar *group_name,
                                                         GOptionEntry *entries);

FIXME

kfile :

FIXME

group_name :

FIXME

entries :

FIXME

ncm_cfg_string_to_comment ()

gchar *             ncm_cfg_string_to_comment           (const gchar *str);

FIXME

str :

FIXME

Returns :

FIXME. [transfer full]

ncm_cfg_get_enum_by_id_name_nick ()

const GEnumValue *  ncm_cfg_get_enum_by_id_name_nick    (GType enum_type,
                                                         const gchar *id_name_nick);

FIXME

enum_type :

FIXME

id_name_nick :

FIXME

Returns :

FIXME

ncm_cfg_enum_print_all ()

void                ncm_cfg_enum_print_all              (GType enum_type,
                                                         gchar *header);

FIXME

enum_type :

FIXME

header :

FIXME

ncm_cfg_load_fftw_wisdom ()

gboolean            ncm_cfg_load_fftw_wisdom            (gchar *filename,
                                                         ...);

FIXME

filename :

FIXME

... :

FIXME

Returns :

FIXME

ncm_cfg_save_fftw_wisdom ()

gboolean            ncm_cfg_save_fftw_wisdom            (gchar *filename,
                                                         ...);

FIXME

filename :

FIXME

... :

FIXME

Returns :

FIXME

ncm_cfg_exists ()

gboolean            ncm_cfg_exists                      (gchar *filename,
                                                         ...);

FIXME

filename :

FIXME

... :

FIXME

Returns :

FIXME

ncm_cfg_set_logfile ()

void                ncm_cfg_set_logfile                 (gchar *filename);

FIXME

filename :

FIXME

ncm_cfg_logfile ()

void                ncm_cfg_logfile                     (gboolean on);

FIXME

on :

FIXME

ncm_cfg_logfile_flush ()

void                ncm_cfg_logfile_flush               (gboolean on);

FIXME

on :

FIXME

ncm_message ()

void                ncm_message                         (gchar *msg,
                                                         ...);

ncm_string_ww ()

gchar *             ncm_string_ww                       (const gchar *msg,
                                                         const gchar *first,
                                                         const gchar *rest,
                                                         guint ncols);

FIXME

msg :

FIXME

first :

FIXME

rest :

FIXME

ncols :

FIXME

Returns :

word wraped string msg. [transfer full]

ncm_message_ww ()

void                ncm_message_ww                      (const gchar *msg,
                                                         const gchar *first,
                                                         const gchar *rest,
                                                         guint ncols);

FIXME

msg :

FIXME

first :

FIXME

rest :

FIXME

ncols :

FIXME

ncm_cfg_msg_sepa ()

void                ncm_cfg_msg_sepa                    (void);

Log a message separator.


ncm_cfg_rng_get ()

gsl_rng *           ncm_cfg_rng_get                     (void);

FIXME

Returns :

FIXME

ncm_cfg_rng_get_state ()

gchar *             ncm_cfg_rng_get_state               (void);

FIXME

Returns :

FIXME. [transfer full]

ncm_cfg_rng_set_state ()

void                ncm_cfg_rng_set_state               (gchar *state);

FIXME

state :

FIXME

ncm_cfg_is_named_instance ()

gboolean            ncm_cfg_is_named_instance           (gpointer obj);

FIXME

obj :

FIXME. [type GObject]

Returns :

FIXME

ncm_cfg_exist_named_instance ()

gboolean            ncm_cfg_exist_named_instance        (gchar *name);

FIXME

name :

FIXME

Returns :

FIXME

ncm_cfg_count_named_instance ()

guint               ncm_cfg_count_named_instance        (void);

ncm_cfg_get_named_instance ()

gpointer            ncm_cfg_get_named_instance          (gchar *name);

FIXME

name :

FIXME

Returns :

FIXME. [transfer full][type GObject]

ncm_cfg_named_instance_peek_name ()

gchar *             ncm_cfg_named_instance_peek_name    (gpointer obj);

FIXME

obj :

FIXME. [type GObject]

Returns :

FIXME. [transfer none]

ncm_cfg_set_named_instance ()

void                ncm_cfg_set_named_instance          (gpointer obj,
                                                         gchar *name,
                                                         gboolean overwrite);

FIXME

obj :

FIXME. [type GObject]

name :

FIXME

overwrite :

FIXME

ncm_cfg_free_named_instances ()

void                ncm_cfg_free_named_instances        (void);

FIXME


ncm_cfg_object_is_named ()

gboolean            ncm_cfg_object_is_named             (const gchar *serobj,
                                                         gchar **name);

FIXME

serobj :

FIXME

name :

FIXME. [out][transfer full]

Returns :

FIXME

ncm_cfg_fopen ()

FILE *              ncm_cfg_fopen                       (gchar *filename,
                                                         gchar *mode,
                                                         ...);

FIXME

filename :

FIXME

mode :

FIXME

... :

FIXME

Returns :

FIXME

ncm_cfg_vfopen ()

FILE *              ncm_cfg_vfopen                      (gchar *filename,
                                                         gchar *mode,
                                                         va_list ap);

FIXME

filename :

FIXME

mode :

FIXME

ap :

FIXME

Returns :

FIXME

ncm_cfg_load_spline ()

gboolean            ncm_cfg_load_spline                 (gchar *filename,
                                                         const gsl_interp_type *stype,
                                                         NcmSpline **s,
                                                         ...);

FIXME

filename :

FIXME

stype :

FIXME

s :

FIXME

... :

FIXME

Returns :

FIXME

ncm_cfg_save_spline ()

gboolean            ncm_cfg_save_spline                 (gchar *filename,
                                                         NcmSpline *s,
                                                         ...);

FIXME

filename :

FIXME

s :

FIXME

... :

FIXME

Returns :

FIXME

ncm_cfg_load_vector ()

gboolean            ncm_cfg_load_vector                 (gchar *filename,
                                                         gsl_vector *v,
                                                         ...);

FIXME

filename :

FIXME

v :

FIXME

... :

FIXME

Returns :

FIXME

ncm_cfg_save_vector ()

gboolean            ncm_cfg_save_vector                 (gchar *filename,
                                                         gsl_vector *v,
                                                         ...);

FIXME

filename :

FIXME

v :

FIXME

... :

FIXME

Returns :

FIXME

ncm_cfg_load_matrix ()

gboolean            ncm_cfg_load_matrix                 (gchar *filename,
                                                         gsl_matrix *M,
                                                         ...);

FIXME

filename :

FIXME

M :

FIXME

... :

FIXME

Returns :

FIXME

ncm_cfg_save_matrix ()

gboolean            ncm_cfg_save_matrix                 (gchar *filename,
                                                         gsl_matrix *M,
                                                         ...);

FIXME

filename :

FIXME

M :

FIXME

... :

FIXME

Returns :

FIXME

LOAD_SAVE_VECTOR_MATRIX_DEF()

#define             LOAD_SAVE_VECTOR_MATRIX_DEF(typen)

ncm_cfg_get_default_sqlite3 ()

sqlite3 *           ncm_cfg_get_default_sqlite3         (void);

FIXME

Returns :

FIXME

ncm_cfg_command_line ()

gchar *             ncm_cfg_command_line                (gchar *argv[],
                                                         gint argc);

FIXME

argv :

FIXME

argc :

FIXME

Returns :

FIXME

ncm_cfg_object_set_property ()

void                ncm_cfg_object_set_property         (GObject *obj,
                                                         const gchar *prop_str);

ncm_cfg_create_from_name_params ()

GObject *           ncm_cfg_create_from_name_params     (const gchar *obj_name,
                                                         GVariant *params);

FIXME

obj_name :

string containing the object name.

params :

a GVariant containing the object parameters.

Returns :

A new GObject. [transfer full]

ncm_cfg_create_from_string ()

GObject *           ncm_cfg_create_from_string          (const gchar *obj_ser);

Parses the serialized and returns the newly created object.

obj_ser :

String containing the serialized version of the object.

Returns :

A new GObject. [transfer full]

ncm_cfg_gvalue_to_gvariant ()

GVariant *          ncm_cfg_gvalue_to_gvariant          (GValue *val);

FIXME

val :

a GValue.

Returns :

A GVariant convertion of val. [transfer full]

ncm_cfg_serialize_to_variant ()

GVariant *          ncm_cfg_serialize_to_variant        (GObject *obj);

FIXME

obj :

a GObject.

Returns :

A GVariant dictionary describing the obj. [transfer full]

ncm_cfg_serialize_to_string ()

gchar *             ncm_cfg_serialize_to_string         (GObject *obj,
                                                         gboolean valid_variant);

FIXME

obj :

a GObject.

valid_variant :

FIXME.

Returns :

A string containing the serialized version of obj. [transfer full]

NCM_RETURN_IF_INF()

#define NCM_RETURN_IF_INF(a) if (gsl_isinf(a)) return a

NCM_FLOOR_TRUNC()

#define NCM_FLOOR_TRUNC(a,b) (floor ((b) * (a)) / (b))

NCM_CEIL_TRUNC()

#define NCM_CEIL_TRUNC(a,b) (ceil ((b) * (a)) / (b))

NCM_ROUND_TRUNC()

#define NCM_ROUND_TRUNC(a,b) (round ((b) * (a)) / (b))

NCM_TEST_GSL_RESULT()

#define NCM_TEST_GSL_RESULT(func,ret) if (ret != GSL_SUCCESS) g_error ("%s: %s", func, gsl_strerror (ret))

NCM_ZERO_LIMIT

#define NCM_ZERO_LIMIT 1e-13

NCM_DEFAULT_PRECISION

#define NCM_DEFAULT_PRECISION 1e-7

NCM_THREAD_POOL_MAX

#define NCM_THREAD_POOL_MAX 5

NCM_MAP_ALM_SIZE()

#define NCM_MAP_ALM_SIZE(lmax) (((lmax)*(lmax) + 3*(lmax) + 2)/2)

NCM_MAP_N_IND_PLM()

#define NCM_MAP_N_IND_PLM(lmax) (((lmax)*(lmax) + 3*(lmax) + 2)/2)

NCM_MAP_MAX_RING_SIZE()

#define NCM_MAP_MAX_RING_SIZE(nside) (4*(nside))

NCM_MAP_N_DIFFERENT_SIZED_RINGS()

#define NCM_MAP_N_DIFFERENT_SIZED_RINGS(nside) (nside)

NCM_MAP_RING_PLAN_INDEX()

#define NCM_MAP_RING_PLAN_INDEX(nside,ring_n) (((ring_n) < (nside)) ? (ring_n) : ((ring_n)>=(3*(nside)) ? (4*(nside)-(ring_n)-2) : ((nside)-1)))

NCM_MAP_RING_SIZE()

#define NCM_MAP_RING_SIZE(nside,ring_n) (4*(NCM_MAP_RING_PLAN_INDEX(nside,ring_n)+1))

NCM_MAP_N_RINGS()

#define NCM_MAP_N_RINGS(nside) (4*(nside)-1)

NCM_MAP_ALM_M_START()

#define NCM_MAP_ALM_M_START(lmax,m) ((2*(lmax)*(m)-(m)*(m)+3*(m))/2)

NCM_MAP_ALM_INDEX()

#define NCM_MAP_ALM_INDEX(lmax,l,m) (((l) >= (m)) ? (NCM_MAP_ALM_M_START(lmax,m) + (l) - (m)) : (-1))

mpz_inits

#define mpz_inits ncm_mpz_inits

mpz_clears

#define mpz_clears ncm_mpz_clears

NCM_COMPLEX_INC_MUL_REAL_TEST()

#define             NCM_COMPLEX_INC_MUL_REAL_TEST(a,b,c)

NCM_COMPLEX_INC_MUL_REAL()

#define             NCM_COMPLEX_INC_MUL_REAL(a,b,c)

NCM_COMPLEX_INC_MUL()

#define             NCM_COMPLEX_INC_MUL(a,b,c)

NCM_COMPLEX_INC_MUL_MUL_REAL()

#define             NCM_COMPLEX_INC_MUL_MUL_REAL(a,b,c,d)

NCM_COMPLEX_MUL_REAL()

#define             NCM_COMPLEX_MUL_REAL(a,b,c)

NCM_COMPLEX_MUL()

#define             NCM_COMPLEX_MUL(a,b)

NCM_COMPLEX_ADD()

#define             NCM_COMPLEX_ADD(a,b)

NCM_COMPLEX_MUL_CONJUGATE()

#define             NCM_COMPLEX_MUL_CONJUGATE(a,b)

NCM_CFG_DEFAULT_SQLITE3_FILENAME

#define NCM_CFG_DEFAULT_SQLITE3_FILENAME "data_observation.sqlite3"

NCM_WRITE_INT32()

#define NCM_WRITE_INT32(_ff,_ii) do { gint32 _temp_i = GINT32_TO_BE ((_ii)); if (fwrite (&_temp_i, sizeof(gint32), (1), _ff) != 1) g_error ("NCM_WRITE_INT32: io error"); } while (FALSE)

NCM_WRITE_UINT32()

#define NCM_WRITE_UINT32(_ff,_ii) do { guint32 _temp_i = GUINT32_TO_BE ((_ii)); if (fwrite (&_temp_i, sizeof(guint32), (1), _ff) != 1) g_error ("NCM_WRITE_UINT32: io error"); } while (FALSE)

NCM_WRITE_INT64()

#define NCM_WRITE_INT64(_ff,_ii) do { gint64 _temp_i = GINT64_TO_BE ((_ii)); if (fwrite (&_temp_i, sizeof(gint64), (1), _ff) != 1) g_error ("NCM_WRITE_INT64: io error"); } while (FALSE)

NCM_WRITE_UINT64()

#define NCM_WRITE_UINT64(_ff,_ii) do { guint64 _temp_i = GUINT64_TO_BE ((_ii)); if (fwrite (&_temp_i, sizeof(guint64), (1), _ff) != 1) g_error ("NCM_WRITE_INT64: io error"); } while (FALSE)

NCM_WRITE_DOUBLE()

#define NCM_WRITE_DOUBLE(_ff,_ii) do { NcmDoubleInt64 _iii; _iii.x = _ii; _iii.i = GINT64_TO_BE ((_iii.i)); if (fwrite (&_iii.i, sizeof(gint64), (1), _ff) != 1) g_error ("NCM_WRITE_DOUBLE: io error"); } while (FALSE)

NCM_READ_INT32()

#define NCM_READ_INT32(_ff,_ii) do { gint32 _temp_i; if (fread (&_temp_i, sizeof(gint32), (1), _ff) != 1) g_error ("NCM_READ_INT32: io error"); _ii = GINT32_FROM_BE (_temp_i); } while (FALSE)

NCM_READ_UINT32()

#define NCM_READ_UINT32(_ff,_ii) do { guint32 _temp_i; if (fread (&_temp_i, sizeof(guint32), (1), _ff) != 1) g_error ("NCM_READ_UINT32: io error"); _ii = GUINT32_FROM_BE (_temp_i); } while (FALSE)

NCM_READ_INT64()

#define NCM_READ_INT64(_ff,_ii) do { gint64 _temp_i; if (fread (&_temp_i, sizeof(gint64), (1), _ff) != 1) g_error ("NCM_READ_INT64: io error"); _ii = GINT64_FROM_BE (_temp_i); } while (FALSE)

NCM_READ_UINT64()

#define NCM_READ_UINT64(_ff,_ii) do { guint64 _temp_i; if (fread (&_temp_i, sizeof(guint64), (1), _ff) != 1) g_error ("NCM_READ_UINT64: io error"); _ii = GUINT64_FROM_BE (_temp_i); } while (FALSE)

NCM_READ_DOUBLE()

#define NCM_READ_DOUBLE(_ff,_ii) do { NcmDoubleInt64 _iii; if (fread (&_iii.i, sizeof(gint64), (1), _ff) != 1) g_error ("NCM_READ_DOUBLE: io error"); _iii.i = GINT64_FROM_BE (_iii.i); _ii = _iii.x; } while (FALSE)

g_clear_object()

#define             g_clear_object(obj)