Main Page | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members

plComputableObject Class Reference

A {computable object} on {Omega} is defined as an abstract object provided with a probability measure function {compute(Omega)}. More...

#include <plComputableObject.h>

Inheritance diagram for plComputableObject:

Inheritance graph
[legend]
Collaboration diagram for plComputableObject:

Collaboration graph
[legend]
List of all members.

Public Member Functions

void set_variables (const list< kplVariable * > search_vars, const list< kplVariable * > known_vars)
 Sets the head, search and known variables.
void set_variables (const list< kplVariable * > search_vars)
 Sets the head, search and known variables.
bool is (const plComputableObjectType &type) const
 Returns {true} if the plComputableObject is of type {type}.
bool is_some_on_signature (const plSignature &prototype_signature) const
 Returns {true} if the plComputableObjectType is at least one of the types described by {prototype_signature}.
plVariablesConjunction get_head_plvariables () const
 Returns the all the variables(left and right) of the computable object.
plVariablesConjunction get_search_plvariables () const
 Returns the search (left) variables of the computable object.
plVariablesConjunction get_known_plvariables () const
 Returns the known (right) variables of the computable object.
 plComputableObject ()
 Default constructor.
virtual ~plComputableObject ()
 Destroys the function.
virtual plProbValue compute (const plValues &parameter) const
 Computes the value of the function, by ussing values parameters.
virtual plProbValue compute (int *parameter) const
 Computes the value of the function, by using an integer array parameters.
virtual plProbValue compute (unsigned int *parameter) const
 Computes the value of the function, by using an unsigned integer array parameters.
virtual plProbValue compute (long int *parameter) const
 Computes the value of the function, by using a long integer array parameters.
virtual plProbValue compute (float *parameter) const
 Computes the value of the function, by using a float array parameters.
virtual plProbValue compute (double *parameter) const
 Computes the value of the function, by using a double array parameters.
virtual plProbValue compute (long double *parameter) const
 Computes the value of the function, by using a long double array parameters.
virtual plProbValue compute (int parameter) const
 Computes the value of the function, by using a single integer parameter.
virtual plProbValue compute (long int parameter) const
 Computes the value of the function, by using a single long integer parameter.
virtual plProbValue compute (float parameter) const
 Computes the value of the function, by using a single float parameter .
virtual plProbValue compute (double parameter) const
 Computes the value of the function, by using a single double parameter .
virtual plProbValue compute (long double parameter) const
 Computes the value of the function, by using a single long double parameter .
virtual plProbValue compute (const vector< int > &parameter) const
 Computes the value of the function, by using an integer STL vector parameters.
virtual plProbValue compute (const vector< unsigned int > &parameter) const
 Computes the value of the function, by using an unsigned integer STL vector parameters.
virtual plProbValue compute (const vector< long int > &parameter) const
 Computes the value of the function, by using a long integer STL vector parameters.
virtual plProbValue compute (const vector< float > &parameter) const
 Computes the value of the function, by using a float STL vector parameters.
virtual plProbValue compute (const vector< double > &parameter) const
 Computes the value of the function, by using a double STL vector parameters.
virtual plProbValue compute (const vector< long double > &parameter) const
 Computes the value of the function, by using a long double STL vector parameters.
virtual kplComputableObject * get_root_kernel () const =0
 Returns the pointer to itself if the kerel is not a {built in kernel (function)} other wise it returns a pointer to the kernel at kernel level.
const list< kplVariable * > get_head_variables () const
 Returns the list of variables needed for a "compute" i.e.
bool rename (const plVariablesConjunction &new_variables)
 Renames the head variables of a function.
virtual ostream & write_head (ostream &out) const =0
 Writes the the kernel head at the output stream {out}.
virtual ostream & write_body (ostream &out) const =0
 Writes the kernel body at the output stream {out}.
virtual void replace (const plVariablesConjunction &left_vars, const plVariablesConjunction &right_vars, plCndKernel &new_cnd_kernel)=0
 Replace the conditional distribution P(left_vars | right_vars) by an other conditional ditribution "new_cnd_kernel".
virtual void replace (const plVariablesConjunction &left_vars, plKernel &new_kernel)=0
 Replace the distribution P(left_vars ) by an other ditribution "new_kernel".

Protected Member Functions

virtual plProbValue kernel_compute (const plDataValues &params) const =0
 Computes the value of the function, according to a list of parameters at kernel level.
virtual void kernel_rename (const map< kplVariable *, kplVariable * > &rename_map)=0
 Renames the variables of a function at kernel level.
virtual void Output (ostream &out) const
 Writes the object at the output given by "out".

Protected Attributes

list< kplVariable * > head_variables
 Function variables.
unsigned int variables_size
 Variable size, we stock it just for not using "variable.size()" other wise we expend time in calling this method.
list< kplVariable * > search_variables
 Variable of the search parameters.
list< kplVariable * > known_variables
 Variable of the known parameters.
plDataValues head_variables_data_values
 Values used for operations with native types of C (e.g.
plDataValues known_variables_data_values
 Values used for operations with native types of C (e.g.

Detailed Description

A {computable object} on {Omega} is defined as an abstract object provided with a probability measure function {compute(Omega)}.

*

Definition at line 94 of file plComputableObject.h.


Member Function Documentation

const list<kplVariable*> plComputableObject::get_head_variables  )  const
 

Returns the list of variables needed for a "compute" i.e.

the "head variables"

plVariablesConjunction plComputableObject::get_known_plvariables  )  const
 

Returns the known (right) variables of the computable object.

Empty for a kernel.

virtual void plComputableObject::replace const plVariablesConjunction left_vars,
plKernel new_kernel
[pure virtual]
 

Replace the distribution P(left_vars ) by an other ditribution "new_kernel".

new_kernel must have the same left variables.

Implemented in plCndKernel, plKernel, and plProduct.

virtual void plComputableObject::replace const plVariablesConjunction left_vars,
const plVariablesConjunction right_vars,
plCndKernel new_cnd_kernel
[pure virtual]
 

Replace the conditional distribution P(left_vars | right_vars) by an other conditional ditribution "new_cnd_kernel".

new_cnd_kernel must have the same left and right variables.

Implemented in plCndKernel, plKernel, and plProduct.

void plComputableObject::set_variables const list< kplVariable * >  search_vars  ) 
 

Sets the head, search and known variables.

In this case the known variables are an empty list


Member Data Documentation

plDataValues plComputableObject::head_variables_data_values [mutable, protected]
 

Values used for operations with native types of C (e.g.

compute(float &array[]). See the implementation of compute method for more details

Definition at line 118 of file plComputableObject.h.

plDataValues plComputableObject::known_variables_data_values [mutable, protected]
 

Values used for operations with native types of C (e.g.

instantiate(..., float &array[]). See the implementation of compute method for more details

Definition at line 123 of file plComputableObject.h.


The documentation for this class was generated from the following file:
Generated on Fri Apr 1 10:58:41 2005 for ProBT by  doxygen 1.4.1