OscatsAlgorithm

OscatsAlgorithm — Abstract CAT Algorithm Class

Synopsis

struct              OscatsAlgorithm;
struct              OscatsAlgorithmClass;
OscatsAlgorithm *   oscats_algorithm_register           (OscatsAlgorithm *alg_data,
                                                         OscatsTest *test);
void                oscats_algorithm_closure_finalize   (gpointer alg_data,
                                                         GClosure *closure);
#define             oscats_err_ret_if_fail              (expr,
                                                         err,
                                                         msg)
#define             oscats_err_ret_val_if_fail          (expr,
                                                         val,
                                                         err,
                                                         msg)

Object Hierarchy

  GObject
   +----GInitiallyUnowned
         +----OscatsAlgorithm
               +----OscatsAlgAstrat
               +----OscatsAlgClassRates
               +----OscatsAlgClosestDiff
               +----OscatsAlgEstimate
               +----OscatsAlgExposureCounter
               +----OscatsAlgFixedLength
               +----OscatsAlgMaxFisher
               +----OscatsAlgMaxKl
               +----OscatsAlgPickRand
               +----OscatsAlgSimulate

Description

Details

struct OscatsAlgorithm

struct OscatsAlgorithm;


struct OscatsAlgorithmClass

struct OscatsAlgorithmClass {
  GInitiallyUnownedClass parent_class;
  void (*reg) (OscatsAlgorithm *alg_data, OscatsTest *test);
};


oscats_algorithm_register ()

OscatsAlgorithm *   oscats_algorithm_register           (OscatsAlgorithm *alg_data,
                                                         OscatsTest *test);

Registers the algorithm alg_data for use in test. This will sink the floating reference to alg_data. (Callers who want to keep a pointer to alg_data should call g_object_ref_sink() themselves.) In general, an algorithm object is registered to only one test.

alg_data :

the OscatsAlgorithm descendant to register. [transfer full]

test :

the OscatsTest on which to register the algorithm

Returns :

alg_data. [transfer none]

oscats_algorithm_closure_finalize ()

void                oscats_algorithm_closure_finalize   (gpointer alg_data,
                                                         GClosure *closure);

Calls g_object_unref(alg_data). Should not be invoked directly, but is supplied as the destroy_notifier at signal connection.

alg_data :

data to free

closure :

signal handler

oscats_err_ret_if_fail()

#define oscats_err_ret_if_fail(expr, err, msg) G_STMT_START{ (void)0; }G_STMT_END


oscats_err_ret_val_if_fail()

#define oscats_err_ret_val_if_fail(expr, val, err, msg) G_STMT_START{ (void)0; }G_STMT_END