File containing the implementation code for the users API of ben_jose. More...
#include <cstdio>#include "ben_jose.h"#include "brain.h"#include "solver.h"#include "file_funcs.h"#include "dbg_prt.h"
 Include dependency graph for ben_jose.cpp:File containing the implementation code for the users API of ben_jose.
| void bj_init_output | ( | bj_output_t * | the_out | ) | 
Init a bj_output_t structure
| the_out | A pointer to the structure to be initialized | 
 Here is the call graph for this function:| bj_solver_t bj_solver_create | ( | const char * | bjs_dir_path | ) | 
Create a solver object to solve one or more CNFs
| bjs_dir_path | A C string that represents the path of the database of CNFs. | 
| void bj_solver_release | ( | bj_solver_t | bjs | ) | 
Release a solver object created with bj_solver_create
| bjs | The solver object to be released. | 
| void bj_set_param_char | ( | bj_solver_t | bjs, | 
| bj_param_t | prm, | ||
| char | val | ||
| ) | 
Set an input parameter in the solver
| bjs | The solver object to be used. | 
| prm | The parameter. | 
| val | The value. For boolen values it is 0 (false) or not 0 (true) | 
| char bj_get_param_char | ( | bj_solver_t | bjs, | 
| bj_param_t | prm | ||
| ) | 
Get the value of a previusly set (with bj_set_param_char) input parameter.
| bjs | The solver object to be used. | 
| prm | The parameter. | 
| const char* bj_get_database_path | ( | bj_solver_t | bjs | ) | 
Get the value of a previusly set database path (with bj_solver_create).
| bjs | The solver object to be used. | 
| bj_satisf_val_t bj_solve_file | ( | bj_solver_t | bjs, | 
| const char * | f_path | ||
| ) | 
Solve a CNF given the DIMACS formated file path of the CNF.
| bjs | The solver object to be used. | 
| f_path | The CNF file path. It must be in DIMACS format. | 
 Here is the call graph for this function:| bj_satisf_val_t bj_solve_data | ( | bj_solver_t | bjs, | 
| long | dat_sz, | ||
| const char * | dat | ||
| ) | 
Solve a CNF given a DIMACS formated C ASCII characters array.
| bjs | The solver object to be used. | 
| dat_sz | The number of ASCII characters in dat. | 
| dat | The DIMACS formated C ASCII characters array. It can be the exact contents read of a valid DIMACS file. | 
 Here is the call graph for this function:| bj_satisf_val_t bj_solve_literals | ( | bj_solver_t | bjs, | 
| long | num_vars, | ||
| long | num_cls, | ||
| long | lits_sz, | ||
| long * | lits | ||
| ) | 
Solve a CNF given the DIMACS values of a CNF.
| bjs | The solver object to be used. | 
| num_vars | The number of variables in used in lits. It is the value as read in a cnf declaration of a DIMACS file. | 
| num_cls | The number of clauses found in lits. It is the value as read in a cnf declaration of a DIMACS file. | 
| lits_sz | The size of the lits parameter. | 
| lits | THe array containing a set of clauses separated by zeros. Ej: [1 2 0 3 4 5 0] representes two clauses: [1 2] and [3 4 5]. | 
 Here is the call graph for this function:| bj_satisf_val_t bj_get_result | ( | bj_solver_t | bjs | ) | 
Get the result of a solving process. A bj_solve_ function must have been previusly called.
| bjs | The solver object to be used. | 
| bj_output_t bj_get_output | ( | bj_solver_t | bjs | ) | 
Get all the output a solving process. A bj_solve_ function must have been previusly called.
| bjs | The solver object to be used. | 
 Here is the call graph for this function:| const char* bj_get_solve_file_path | ( | bj_solver_t | bjs | ) | 
Returns the value passed to bj_solve_file. A bj_solve_ function must have been previusly called.
| bjs | The solver object to be used. | 
| const long* bj_get_assig | ( | bj_solver_t | bjs | ) | 
Get the assignation to variables that satisfies the CNF. A bj_solve_ function must have been previusly called.
| bjs | The solver object to be used. | 
'assig' always ends with a 0.
No memory after that 0 should be accessed.
Let vv = assig[ii]. Then:
Example: [-20 4 -12 6 9 0]
Means:
And that assignation satisfies the whole CNF (it might have more than 20 variables).
| const char* bj_get_last_proof_path | ( | bj_solver_t | bjs | ) | 
Returns the last written proof path. A bj_solve_ function must have been previusly called.
| bjs | The solver object to be used. | 
NULL is returned if the parameter bjp_write_proofs was not used before calling a bj_solve_ function.
| const char* bj_get_error_stack_str | ( | bj_solver_t | bjs | ) | 
Get the stack when the error ocurred. A bj_solve_ function must have been previusly called.
| bjs | The solver object to be used. | 
Funtion for debugging purposes. Only returns a valid value if an error has ocurred during solving.
| const char* bj_get_error_assert_str | ( | bj_solver_t | bjs | ) | 
Get the assert that failed. A bj_solve_ function must have been previusly called.
| bjs | The solver object to be used. | 
Funtion for debugging purposes. Only returns a valid value if an assert has failed.
| void bj_restart | ( | bj_solver_t | bjs | ) | 
Resets all internal values in the solver.
| bjs | The solver object to be used. | 
| void bj_print_paths | ( | bj_solver_t | bjs | ) | 
Prints all paths used by the solver.
| bjs | The solver object to be used. | 
| const char* bj_error_str | ( | bj_error_t | bje | ) | 
Gets a string representing the error. A bj_solve_ function must have been previusly called.
| bjs | The solver object to be used. | 
| const char* bj_get_result_titles_string | ( | bj_solver_t | bjs | ) | 
Get a string with the titles of a result string fields.
| bjs | The solver object to be used. | 
Funtion for testing purposes.
| const char* bj_get_result_string | ( | bj_solver_t | bjs | ) | 
Get a string with the result string. A bj_solve_ function must have been previusly called.
| bjs | The solver object to be used. | 
Funtion for testing purposes. It contains a concatenation of the string representation of some fields obtained otherwise with the bj_get_output funtion.
| void bj_parse_result_string | ( | bj_solver_t | bjs, | 
| const char * | rslt_str | ||
| ) | 
Sets internal values in the solver with a result string previusly returned by bj_get_result_string.
| bjs | The solver object to be used. | 
| rslt_str | A string with the result string. | 
Funtion for testing purposes. It sets internal values in the solver so that a call to bj_get_output will return the parsed values.
 1.8.11