libqalculate-0.9.8
|
The almighty calculator class. More...
#include <Calculator.h>
Public Member Functions | |
Unit * | findMatchingUnit (const MathStructure &mstruct) |
Constructor | |
Calculator () | |
virtual | ~Calculator () |
Functions for calculating expressions. | |
bool | calculate (MathStructure *mstruct, string str, int msecs, const EvaluationOptions &eo=default_evaluation_options, MathStructure *parsed_struct=NULL, MathStructure *to_struct=NULL, bool make_to_division=true) |
MathStructure | calculate (string str, const EvaluationOptions &eo=default_evaluation_options, MathStructure *parsed_struct=NULL, MathStructure *to_struct=NULL, bool make_to_division=true) |
int | testCondition (string expression) |
Functions for printing expressions with the option to set a timeout or abort. | |
string | printMathStructureTimeOut (const MathStructure &mstruct, int msecs=100000, const PrintOptions &op=default_print_options) |
void | startPrintControl (int milli_timeout=0) |
void | abortPrint (void) |
void | stopPrintControl (void) |
bool | printingAborted (void) |
bool | printingControlled (void) |
string | printingAbortedMessage (void) const |
string | timedOutString (void) const |
Functions for handling of threaded calculations | |
void | abort () |
void | abort_this () |
bool | busy () |
void | saveState () |
void | restoreState () |
void | clearBuffers () |
void | terminateThreads () |
Functions for manipulation of the RPN stack. | |
bool | calculateRPNRegister (size_t index, int msecs, const EvaluationOptions &eo=default_evaluation_options) |
bool | calculateRPN (MathOperation op, int msecs, const EvaluationOptions &eo=default_evaluation_options, MathStructure *parsed_struct=NULL) |
bool | calculateRPN (MathFunction *f, int msecs, const EvaluationOptions &eo=default_evaluation_options, MathStructure *parsed_struct=NULL) |
bool | calculateRPNBitwiseNot (int msecs, const EvaluationOptions &eo=default_evaluation_options, MathStructure *parsed_struct=NULL) |
bool | calculateRPNLogicalNot (int msecs, const EvaluationOptions &eo=default_evaluation_options, MathStructure *parsed_struct=NULL) |
MathStructure * | calculateRPN (MathOperation op, const EvaluationOptions &eo=default_evaluation_options, MathStructure *parsed_struct=NULL) |
MathStructure * | calculateRPN (MathFunction *f, const EvaluationOptions &eo=default_evaluation_options, MathStructure *parsed_struct=NULL) |
MathStructure * | calculateRPNBitwiseNot (const EvaluationOptions &eo=default_evaluation_options, MathStructure *parsed_struct=NULL) |
MathStructure * | calculateRPNLogicalNot (const EvaluationOptions &eo=default_evaluation_options, MathStructure *parsed_struct=NULL) |
bool | RPNStackEnter (MathStructure *mstruct, int msecs, const EvaluationOptions &eo=default_evaluation_options) |
bool | RPNStackEnter (string str, int msecs, const EvaluationOptions &eo=default_evaluation_options, MathStructure *parsed_struct=NULL, MathStructure *to_struct=NULL, bool make_to_division=true) |
void | RPNStackEnter (MathStructure *mstruct, bool eval=false, const EvaluationOptions &eo=default_evaluation_options) |
void | RPNStackEnter (string str, const EvaluationOptions &eo=default_evaluation_options, MathStructure *parsed_struct=NULL, MathStructure *to_struct=NULL, bool make_to_division=true) |
bool | setRPNRegister (size_t index, MathStructure *mstruct, int msecs, const EvaluationOptions &eo=default_evaluation_options) |
bool | setRPNRegister (size_t index, string str, int msecs, const EvaluationOptions &eo=default_evaluation_options, MathStructure *parsed_struct=NULL, MathStructure *to_struct=NULL, bool make_to_division=true) |
void | setRPNRegister (size_t index, MathStructure *mstruct, bool eval=false, const EvaluationOptions &eo=default_evaluation_options) |
void | setRPNRegister (size_t index, string str, const EvaluationOptions &eo=default_evaluation_options, MathStructure *parsed_struct=NULL, MathStructure *to_struct=NULL, bool make_to_division=true) |
void | deleteRPNRegister (size_t index) |
MathStructure * | getRPNRegister (size_t index=1) const |
size_t | RPNStackSize () const |
void | clearRPNStack () |
void | moveRPNRegister (size_t old_index, size_t new_index) |
void | moveRPNRegisterUp (size_t index) |
void | moveRPNRegisterDown (size_t index) |
Functions for expression parsing. | |
string | localizeExpression (string str) const |
string | unlocalizeExpression (string str, const ParseOptions &po=default_parse_options) const |
bool | separateToExpression (string &str, string &to_str, const EvaluationOptions &eo, bool keep_modifiers=false) const |
bool | hasToExpression (const string &str) const |
void | parseSigns (string &str) const |
MathStructure | parse (string str, const ParseOptions &po=default_parse_options) |
void | parse (MathStructure *mstruct, string str, const ParseOptions &po=default_parse_options) |
bool | parseNumber (MathStructure *mstruct, string str, const ParseOptions &po=default_parse_options) |
bool | parseOperators (MathStructure *mstruct, string str, const ParseOptions &po=default_parse_options) |
bool | parseAdd (string &str, MathStructure *mstruct, const ParseOptions &po, MathOperation s) |
bool | parseAdd (string &str, MathStructure *mstruct, const ParseOptions &po) |
Functions converting epxressions between units. | |
MathStructure | convert (const MathStructure &mstruct, string composite_, const EvaluationOptions &eo=default_evaluation_options) |
MathStructure | convert (const MathStructure &mstruct, Unit *to_unit, const EvaluationOptions &eo=default_evaluation_options, bool always_convert=true) |
MathStructure | convert (double value, Unit *from_unit, Unit *to_unit, const EvaluationOptions &eo=default_evaluation_options) |
MathStructure | convertTimeOut (string str, Unit *from_unit, Unit *to_unit, int msecs, const EvaluationOptions &eo=default_evaluation_options) |
MathStructure | convert (string str, Unit *from_unit, Unit *to_unit, const EvaluationOptions &eo=default_evaluation_options) |
MathStructure | convertToBaseUnits (const MathStructure &mstruct, const EvaluationOptions &eo=default_evaluation_options) |
Unit * | getBestUnit (Unit *u, bool allow_only_div=false) |
MathStructure | convertToBestUnit (const MathStructure &mstruct, const EvaluationOptions &eo=default_evaluation_options) |
MathStructure | convertToCompositeUnit (const MathStructure &mstruct, CompositeUnit *cu, const EvaluationOptions &eo=default_evaluation_options, bool always_convert=true) |
Functions for default assumptions for unknown variables and symbols | |
void | setDefaultAssumptions (Assumptions *ass) |
Assumptions * | defaultAssumptions () |
Functions for retrieval of angle units | |
Unit * | getGraUnit () |
Unit * | getRadUnit () |
Unit * | getDegUnit () |
Functions for finding a suitable prefix. | |
DecimalPrefix * | getExactDecimalPrefix (int exp10, int exp=1) const |
BinaryPrefix * | getExactBinaryPrefix (int exp2, int exp=1) const |
Prefix * | getExactPrefix (const Number &o, int exp=1) const |
DecimalPrefix * | getNearestDecimalPrefix (int exp10, int exp=1) const |
DecimalPrefix * | getBestDecimalPrefix (int exp10, int exp=1, bool all_prefixes=true) const |
DecimalPrefix * | getBestDecimalPrefix (const Number &exp10, const Number &exp, bool all_prefixes=true) const |
BinaryPrefix * | getNearestBinaryPrefix (int exp2, int exp=1) const |
BinaryPrefix * | getBestBinaryPrefix (int exp2, int exp=1) const |
BinaryPrefix * | getBestBinaryPrefix (const Number &exp2, const Number &exp) const |
Prefix * | addPrefix (Prefix *p) |
void | prefixNameChanged (Prefix *p, bool new_item=false) |
Functions for managing functions, variables, units, prefixes and data sets. | |
void | expressionItemActivated (ExpressionItem *item) |
void | expressionItemDeactivated (ExpressionItem *item) |
void | expressionItemDeleted (ExpressionItem *item) |
void | nameChanged (ExpressionItem *item, bool new_item=false) |
void | deleteName (string name_, ExpressionItem *object=NULL) |
void | deleteUnitName (string name_, Unit *object=NULL) |
Unit * | addUnit (Unit *u, bool force=true, bool check_names=true) |
void | delPrefixUFV (Prefix *object) |
void | delUFV (ExpressionItem *object) |
bool | hasVariable (Variable *v) |
bool | hasUnit (Unit *u) |
bool | hasFunction (MathFunction *f) |
bool | stillHasVariable (Variable *v) |
bool | stillHasUnit (Unit *u) |
bool | stillHasFunction (MathFunction *f) |
void | saveFunctionCalled () |
bool | checkSaveFunctionCalled () |
ExpressionItem * | getActiveExpressionItem (string name, ExpressionItem *item=NULL) |
ExpressionItem * | getInactiveExpressionItem (string name, ExpressionItem *item=NULL) |
ExpressionItem * | getActiveExpressionItem (ExpressionItem *item) |
ExpressionItem * | getExpressionItem (string name, ExpressionItem *item=NULL) |
Unit * | getUnit (string name_) |
Unit * | getActiveUnit (string name_) |
Unit * | getCompositeUnit (string internal_name_) |
Prefix * | getPrefix (size_t index) const |
Prefix * | getPrefix (string name_) const |
Variable * | addVariable (Variable *v, bool force=true, bool check_names=true) |
void | variableNameChanged (Variable *v, bool new_item=false) |
void | functionNameChanged (MathFunction *f, bool new_item=false) |
void | unitNameChanged (Unit *u, bool new_item=false) |
Variable * | getVariable (string name_) |
Variable * | getActiveVariable (string name_) |
ExpressionItem * | addExpressionItem (ExpressionItem *item, bool force=true) |
MathFunction * | addFunction (MathFunction *f, bool force=true, bool check_names=true) |
DataSet * | addDataSet (DataSet *dc, bool force=true, bool check_names=true) |
DataSet * | getDataSet (size_t index) |
DataSet * | getDataSet (string name) |
MathFunction * | getFunction (string name_) |
MathFunction * | getActiveFunction (string name_) |
Variable * | getVariable (size_t index) const |
Unit * | getUnit (size_t index) const |
MathFunction * | getFunction (size_t index) const |
bool | unitIsUsedByOtherUnits (const Unit *u) const |
Functions for handling of builtin expression items | |
void | resetVariables () |
void | resetFunctions () |
void | resetUnits () |
void | reset () |
void | addBuiltinVariables () |
void | addBuiltinFunctions () |
void | addBuiltinUnits () |
Functions for testing validity of functions, variable and unit names. | |
bool | variableNameIsValid (const string &name_) |
bool | variableNameIsValid (const char *name_) |
bool | variableNameIsValid (const char *name_, int version_numbers[3], bool is_user_defs) |
bool | variableNameIsValid (const string &name_, int version_numbers[3], bool is_user_defs) |
string | convertToValidVariableName (string name_) |
bool | functionNameIsValid (const string &name_) |
bool | functionNameIsValid (const char *name_) |
bool | functionNameIsValid (const char *name_, int version_numbers[3], bool is_user_defs) |
bool | functionNameIsValid (const string &name_, int version_numbers[3], bool is_user_defs) |
string | convertToValidFunctionName (string name_) |
bool | unitNameIsValid (const string &name_) |
bool | unitNameIsValid (const char *name_) |
bool | unitNameIsValid (const char *name_, int version_numbers[3], bool is_user_defs) |
bool | unitNameIsValid (const string &name_, int version_numbers[3], bool is_user_defs) |
bool | utf8_pos_is_valid_in_name (char *pos) |
string | convertToValidUnitName (string name_) |
bool | nameTaken (string name, ExpressionItem *object=NULL) |
bool | variableNameTaken (string name, Variable *object=NULL) |
bool | unitNameTaken (string name, Unit *object=NULL) |
bool | functionNameTaken (string name, MathFunction *object=NULL) |
string | getName (string name="", ExpressionItem *object=NULL, bool force=false, bool always_append=false) |
Functions for message handling. | |
void | error (bool critical, const char *TEMPLATE,...) |
void | message (MessageType mtype, const char *TEMPLATE,...) |
CalculatorMessage * | message () |
CalculatorMessage * | nextMessage () |
bool | showArgumentErrors () const |
void | beginTemporaryStopMessages () |
int | endTemporaryStopMessages (int *message_count=NULL, int *warning_count=NULL) |
Functions for loading and saving definitions (variables, functions, units, etc.). | |
bool | loadGlobalDefinitions () |
bool | loadGlobalDefinitions (string filename) |
bool | loadGlobalPrefixes () |
bool | loadGlobalCurrencies () |
bool | loadGlobalUnits () |
bool | loadGlobalVariables () |
bool | loadGlobalFunctions () |
bool | loadGlobalDataSets () |
bool | loadLocalDefinitions () |
int | loadDefinitions (const char *file_name, bool is_user_defs=true) |
bool | saveDefinitions () |
int | saveDataObjects () |
int | savePrefixes (const char *file_name, bool save_global=false) |
string | temporaryCategory (void) const |
int | saveVariables (const char *file_name, bool save_global=false) |
int | saveUnits (const char *file_name, bool save_global=false) |
int | saveFunctions (const char *file_name, bool save_global=false) |
int | saveDataSets (const char *file_name, bool save_global=false) |
Functions for CSV file import/export. | |
bool | importCSV (MathStructure &mstruct, const char *file_name, int first_row=1, string delimiter=",", vector< string > *headers=NULL) |
bool | importCSV (const char *file_name, int first_row=1, bool headers=true, string delimiter=",", bool to_matrix=false, string name="", string title="", string category="") |
bool | exportCSV (const MathStructure &mstruct, const char *file_name, string delimiter=",") |
Functions for exchange rates. | |
bool | canFetch () |
bool | hasGVFS () |
bool | hasGnomeVFS () |
bool | loadExchangeRates () |
string | getExchangeRatesFileName () |
string | getExchangeRatesUrl () |
bool | fetchExchangeRates (int timeout, string wget_args) |
bool | fetchExchangeRates (int timeout=15) |
bool | checkExchangeRatesDate () |
Functions for plotting | |
bool | canPlot () |
MathStructure | expressionToPlotVector (string expression, const MathStructure &min, const MathStructure &max, int steps, MathStructure *x_vector=NULL, string x_var="\\x", const ParseOptions &po=default_parse_options) |
MathStructure | expressionToPlotVector (string expression, float min, float max, int steps, MathStructure *x_vector=NULL, string x_var="\\x", const ParseOptions &po=default_parse_options) |
MathStructure | expressionToPlotVector (string expression, const MathStructure &min, const MathStructure &max, const MathStructure &step, MathStructure *x_vector=NULL, string x_var="\\x", const ParseOptions &po=default_parse_options) |
MathStructure | expressionToPlotVector (string expression, float min, float max, float step, MathStructure *x_vector=NULL, string x_var="\\x", const ParseOptions &po=default_parse_options) |
MathStructure | expressionToPlotVector (string expression, const MathStructure &x_vector, string x_var="\\x", const ParseOptions &po=default_parse_options) |
bool | plotVectors (PlotParameters *param, const vector< MathStructure > &y_vectors, const vector< MathStructure > &x_vectors, vector< PlotDataParameters * > &pdps, bool persistent=false) |
bool | invokeGnuplot (string commands, string commandline_extra="", bool persistent=false) |
bool | closeGnuplot () |
bool | gnuplotOpen () |
Functions for global precision | |
void | setPrecision (int precision=DEFAULT_PRECISION) |
int | getPrecision () const |
Functions for localization | |
const string & | getDecimalPoint () const |
const string & | getComma () const |
void | setLocale () |
void | useDecimalComma () |
void | useDecimalPoint (bool comma_as_separator=false) |
void | unsetLocale () |
string | localToString () const |
Functions adding alternative symbols for operators and such | |
void | addStringAlternative (string replacement, string standard) |
bool | delStringAlternative (string replacement, string standard) |
void | addDefaultStringAlternative (string replacement, string standard) |
bool | delDefaultStringAlternative (string replacement, string standard) |
Functions for storing values with associated identifiers | |
size_t | addId (MathStructure *mstruct, bool persistent=false) |
size_t | parseAddId (MathFunction *f, const string &str, const ParseOptions &po, bool persistent=false) |
size_t | parseAddIdAppend (MathFunction *f, const MathStructure &append_mstruct, const string &str, const ParseOptions &po, bool persistent=false) |
size_t | parseAddVectorId (const string &str, const ParseOptions &po, bool persistent=false) |
MathStructure * | getId (size_t id) |
void | delId (size_t id) |
Public Attributes | |
KnownVariable * | v_pi |
KnownVariable * | v_e |
KnownVariable * | v_i |
KnownVariable * | v_inf |
KnownVariable * | v_pinf |
KnownVariable * | v_minf |
KnownVariable * | v_undef |
UnknownVariable * | v_x |
UnknownVariable * | v_y |
UnknownVariable * | v_z |
MathFunction * | f_vector |
MathFunction * | f_sort |
MathFunction * | f_rank |
MathFunction * | f_limits |
MathFunction * | f_component |
MathFunction * | f_dimension |
MathFunction * | f_merge_vectors |
MathFunction * | f_matrix |
MathFunction * | f_matrix_to_vector |
MathFunction * | f_area |
MathFunction * | f_rows |
MathFunction * | f_columns |
MathFunction * | f_row |
MathFunction * | f_column |
MathFunction * | f_elements |
MathFunction * | f_element |
MathFunction * | f_transpose |
MathFunction * | f_identity |
MathFunction * | f_determinant |
MathFunction * | f_permanent |
MathFunction * | f_adjoint |
MathFunction * | f_cofactor |
MathFunction * | f_inverse |
MathFunction * | f_factorial |
MathFunction * | f_factorial2 |
MathFunction * | f_multifactorial |
MathFunction * | f_binomial |
MathFunction * | f_xor |
MathFunction * | f_bitxor |
MathFunction * | f_even |
MathFunction * | f_odd |
MathFunction * | f_shift |
MathFunction * | f_abs |
MathFunction * | f_gcd |
MathFunction * | f_lcm |
MathFunction * | f_signum |
MathFunction * | f_round |
MathFunction * | f_floor |
MathFunction * | f_ceil |
MathFunction * | f_trunc |
MathFunction * | f_int |
MathFunction * | f_frac |
MathFunction * | f_rem |
MathFunction * | f_mod |
MathFunction * | f_polynomial_unit |
MathFunction * | f_polynomial_primpart |
MathFunction * | f_polynomial_content |
MathFunction * | f_coeff |
MathFunction * | f_lcoeff |
MathFunction * | f_tcoeff |
MathFunction * | f_degree |
MathFunction * | f_ldegree |
MathFunction * | f_re |
MathFunction * | f_im |
MathFunction * | f_arg |
MathFunction * | f_numerator |
MathFunction * | f_denominator |
MathFunction * | f_sqrt |
MathFunction * | f_sq |
MathFunction * | f_exp |
MathFunction * | f_ln |
MathFunction * | f_logn |
MathFunction * | f_lambert_w |
MathFunction * | f_sin |
MathFunction * | f_cos |
MathFunction * | f_tan |
MathFunction * | f_asin |
MathFunction * | f_acos |
MathFunction * | f_atan |
MathFunction * | f_sinh |
MathFunction * | f_cosh |
MathFunction * | f_tanh |
MathFunction * | f_asinh |
MathFunction * | f_acosh |
MathFunction * | f_atanh |
MathFunction * | f_radians_to_default_angle_unit |
MathFunction * | f_zeta |
MathFunction * | f_gamma |
MathFunction * | f_beta |
MathFunction * | f_total |
MathFunction * | f_percentile |
MathFunction * | f_min |
MathFunction * | f_max |
MathFunction * | f_mode |
MathFunction * | f_rand |
MathFunction * | f_isodate |
MathFunction * | f_localdate |
MathFunction * | f_timestamp |
MathFunction * | f_stamptodate |
MathFunction * | f_days |
MathFunction * | f_yearfrac |
MathFunction * | f_week |
MathFunction * | f_weekday |
MathFunction * | f_month |
MathFunction * | f_day |
MathFunction * | f_year |
MathFunction * | f_yearday |
MathFunction * | f_time |
MathFunction * | f_add_days |
MathFunction * | f_add_months |
MathFunction * | f_add_years |
MathFunction * | f_bin |
MathFunction * | f_oct |
MathFunction * | f_hex |
MathFunction * | f_base |
MathFunction * | f_roman |
MathFunction * | f_ascii |
MathFunction * | f_char |
MathFunction * | f_length |
MathFunction * | f_concatenate |
MathFunction * | f_replace |
MathFunction * | f_stripunits |
MathFunction * | f_genvector |
MathFunction * | f_for |
MathFunction * | f_sum |
MathFunction * | f_product |
MathFunction * | f_process |
MathFunction * | f_process_matrix |
MathFunction * | f_csum |
MathFunction * | f_if |
MathFunction * | f_is_number |
MathFunction * | f_is_real |
MathFunction * | f_is_rational |
MathFunction * | f_is_integer |
MathFunction * | f_represents_number |
MathFunction * | f_represents_real |
MathFunction * | f_represents_rational |
MathFunction * | f_represents_integer |
MathFunction * | f_function |
MathFunction * | f_select |
MathFunction * | f_diff |
MathFunction * | f_integrate |
MathFunction * | f_solve |
MathFunction * | f_multisolve |
MathFunction * | f_error |
MathFunction * | f_warning |
MathFunction * | f_message |
MathFunction * | f_save |
MathFunction * | f_load |
MathFunction * | f_export |
MathFunction * | f_title |
MathFunction * | f_register |
MathFunction * | f_stack |
MathFunction * | f_uncertainty |
Unit * | u_rad |
Unit * | u_gra |
Unit * | u_deg |
Unit * | u_euro |
Unit * | u_kelvin |
Unit * | u_celsius |
Unit * | u_fahrenheit |
DecimalPrefix * | decimal_null_prefix |
BinaryPrefix * | binary_null_prefix |
bool | place_currency_code_before |
bool | place_currency_sign_before |
bool | place_currency_code_before_negative |
bool | place_currency_sign_before_negative |
bool | default_dot_as_separator |
bool | b_busy |
bool | calculate_thread_stopped |
string | expression_to_calculate |
EvaluationOptions | tmp_evaluationoptions |
MathStructure * | tmp_parsedstruct |
MathStructure * | tmp_tostruct |
MathStructure * | tmp_rpn_mstruct |
bool | tmp_maketodivision |
int | tmp_proc_command |
size_t | tmp_rpnindex |
PrintOptions | save_printoptions |
vector< Variable * > | variables |
vector< MathFunction * > | functions |
vector< Unit * > | units |
vector< Prefix * > | prefixes |
vector< DecimalPrefix * > | decimal_prefixes |
vector< BinaryPrefix * > | binary_prefixes |
Protected Member Functions | |
bool | calculateRPN (MathStructure *mstruct, int command, size_t index, int msecs, const EvaluationOptions &eo) |
bool | calculateRPN (string str, int command, size_t index, int msecs, const EvaluationOptions &eo, MathStructure *parsed_struct, MathStructure *to_struct, bool make_to_division) |
Protected Attributes | |
vector< CalculatorMessage > | messages |
int | ianglemode |
int | i_precision |
char | vbuffer [200] |
vector< void * > | ufvl |
vector< char > | ufvl_t |
vector< size_t > | ufvl_i |
vector< void * > | ufv [4][UFV_LENGTHS] |
vector< size_t > | ufv_i [4][UFV_LENGTHS] |
vector< DataSet * > | data_sets |
unordered_map< size_t, MathStructure * > | id_structs |
unordered_map< size_t, bool > | ids_p |
vector< size_t > | freed_ids |
size_t | ids_i |
vector< string > | signs |
vector< string > | real_signs |
vector< string > | default_signs |
vector< string > | default_real_signs |
char * | saved_locale |
int | disable_errors_ref |
vector< int > | stopped_errors_count |
vector< int > | stopped_warnings_count |
vector< int > | stopped_messages_count |
pthread_t | calculate_thread |
pthread_attr_t | calculate_thread_attr |
bool | b_functions_was |
bool | b_variables_was |
bool | b_units_was |
bool | b_unknown_was |
bool | b_calcvars_was |
bool | b_rpn_was |
string | NAME_NUMBER_PRE_S |
string | NAME_NUMBER_PRE_STR |
string | DOT_STR |
string | DOT_S |
string | COMMA_S |
string | COMMA_STR |
string | ILLEGAL_IN_NAMES |
string | ILLEGAL_IN_UNITNAMES |
string | ILLEGAL_IN_NAMES_MINUS_SPACE_STR |
bool | b_argument_errors |
bool | exchange_rates_warning_issued |
int | has_gvfs |
bool | b_gnuplot_open |
string | gnuplot_cmdline |
FILE * | gnuplot_pipe |
FILE * | calculate_pipe_r |
FILE * | calculate_pipe_w |
bool | local_to |
Assumptions * | default_assumptions |
vector< Variable * > | deleted_variables |
vector< MathFunction * > | deleted_functions |
vector< Unit * > | deleted_units |
bool | b_save_called |
int | i_print_timeout |
struct timeval | t_print_end |
int | i_printing_aborted |
bool | b_printing_controlled |
string | per_str |
string | times_str |
string | plus_str |
string | minus_str |
string | and_str |
string | AND_str |
string | or_str |
string | OR_str |
string | XOR_str |
size_t | per_str_len |
size_t | times_str_len |
size_t | plus_str_len |
size_t | minus_str_len |
size_t | and_str_len |
size_t | AND_str_len |
size_t | or_str_len |
size_t | OR_str_len |
size_t | XOR_str_len |
vector< MathStructure * > | rpn_stack |
The almighty calculator class.
The calculator class is responsible for loading functions, variables and units, and keeping track of them, as well as parsing expressions and much more. A calculator object must be created before any other Qalculate! class is used. There should never be more than one calculator object, accessed with CALCULATOR.
A simple application using libqalculate need only create a calculator object, perhaps load definitions (functions, variables, units, etc.) and use the calculate function as follows:
void Calculator::abort | ( | ) |
Aborts the current calculation.
void Calculator::abort_this | ( | ) |
Aborts the current calculation. Used from within the calculation thread.
void Calculator::abortPrint | ( | void | ) |
Abort formatting and printing (after startPrintControl() has been called). This function will normally be called from a thread that checks for used input or other conditions.
void Calculator::addBuiltinFunctions | ( | ) |
Adds builtin functions. Called automatically when the calculator is created.
void Calculator::addBuiltinUnits | ( | ) |
Adds builtin units. Called automatically when the calculator is created.
void Calculator::addBuiltinVariables | ( | ) |
Adds builtin variables. Called automatically when the calculator is created.
size_t Calculator::addId | ( | MathStructure * | mstruct, |
bool | persistent = false |
||
) |
Stores a value with an associated id. Mainly for internal use.
mstruct | The value to store. |
persistent | If false the values will be removed from storage when retrieved with getId(). |
bool Calculator::busy | ( | ) |
Returns true if the calculate or print thread is busy.
bool Calculator::calculate | ( | MathStructure * | mstruct, |
string | str, | ||
int | msecs, | ||
const EvaluationOptions & | eo = default_evaluation_options , |
||
MathStructure * | parsed_struct = NULL , |
||
MathStructure * | to_struct = NULL , |
||
bool | make_to_division = true |
||
) |
Calculates an expression. The expression should be unlocalized first with unlocalizeExpression(). This function starts the calculation in a separate thread and will return when the calculation has started unless a maximum time has been specified. The calculation can then be stopped with abort().
[out] | mstruct | Math structure to fill with the result. |
str | Expression. | |
msecs | The maximum time for the calculation in milliseconds. If msecs <= 0 the time will be unlimited. | |
eo | Options for the evaluation and parsing of the expression. | |
[out] | parsed_struct | NULL or a math structure to fill with the result of the parsing of the expression. |
[out] | to_struct | NULL or a math structure to fill with unit expression parsed after "to". If expression does not contain a "to" string, and to_struct is a unit or a symbol (a unit expression string), to_struct will be used instead. |
make_to_division | If true, the expression after "to" will be interpreted as a unit epxression to convert the result to. |
MathStructure Calculator::calculate | ( | string | str, |
const EvaluationOptions & | eo = default_evaluation_options , |
||
MathStructure * | parsed_struct = NULL , |
||
MathStructure * | to_struct = NULL , |
||
bool | make_to_division = true |
||
) |
Calculates an expression. The expression should be unlocalized first with unlocalizeExpression().
str | Expression. | |
eo | Options for the evaluation and parsing of the expression. | |
[out] | parsed_struct | NULL or a math structure to fill with the result of the parsing of the expression. |
[out] | to_struct | NULL or a math structure to fill with unit expression parsed after "to". If expression does not contain a "to" string, and to_struct is a unit or a symbol (a unit expression string), to_struct will be used instead. |
make_to_division | If true, the expression after "to" will be interpreted as a unit epxression to convert the result to. |
bool Calculator::calculateRPN | ( | MathOperation | op, |
int | msecs, | ||
const EvaluationOptions & | eo = default_evaluation_options , |
||
MathStructure * | parsed_struct = NULL |
||
) |
Applies a mathematical operation to the first and second value on the RPN stack. The the second value is changed with input from the first value. For example, with OPERATION_SUBTRACT the first value is subtracted from the second. The first value on the stack is removed. If not enough registers is available, then zeros are added. This function starts the calculation in a separate thread and will return when the calculation has started unless a maximum time has been specified. The calculation can then be stopped with abort().
op | Operation. | |
msecs | The maximum time for the calculation in milliseconds. If msecs <= 0 the time will be unlimited. | |
eo | Options for the evaluation and parsing of the expression. | |
[out] | parsed_struct | NULL or a math structure to fill with the unevaluated result. |
bool Calculator::calculateRPN | ( | MathFunction * | f, |
int | msecs, | ||
const EvaluationOptions & | eo = default_evaluation_options , |
||
MathStructure * | parsed_struct = NULL |
||
) |
Applies a mathematical operation to the first value on the RPN stack. The value is set as the first argument of the function. If no register is available, then zero is added. This function starts the calculation in a separate thread and will return when the calculation has started unless a maximum time has been specified. The calculation can then be stopped with abort().
f | Mathematical function. | |
msecs | The maximum time for the calculation in milliseconds. If msecs <= 0 the time will be unlimited. | |
eo | Options for the evaluation and parsing of the expression. | |
[out] | parsed_struct | NULL or a math structure to fill with the unevaluated result. |
MathStructure* Calculator::calculateRPN | ( | MathOperation | op, |
const EvaluationOptions & | eo = default_evaluation_options , |
||
MathStructure * | parsed_struct = NULL |
||
) |
Applies a mathematical operation to the first and second value on the RPN stack. The the second value is changed with input from the first value. For example, with OPERATION_SUBTRACT the first value is subtracted from the second. The first value on the stack is removed. If not enough registers is available, then zeros are added.
op | Operation. | |
eo | Options for the evaluation and parsing of the expression. | |
[out] | parsed_struct | NULL or a math structure to fill with the unevaluated result. |
MathStructure* Calculator::calculateRPN | ( | MathFunction * | f, |
const EvaluationOptions & | eo = default_evaluation_options , |
||
MathStructure * | parsed_struct = NULL |
||
) |
Applies a mathematical operation to the first value on the RPN stack. The value is set as the first argument of the function. If no register is available, then zero is added.
f | Mathematical function. | |
eo | Options for the evaluation and parsing of the expression. | |
[out] | parsed_struct | NULL or a math structure to fill with the unevaluated result. |
bool Calculator::calculateRPNBitwiseNot | ( | int | msecs, |
const EvaluationOptions & | eo = default_evaluation_options , |
||
MathStructure * | parsed_struct = NULL |
||
) |
Applies bitwise not to the first value on the RPN stack. If no register is available, then zero is added. This function starts the calculation in a separate thread and will return when the calculation has started unless a maximum time has been specified. The calculation can then be stopped with abort().
msecs | The maximum time for the calculation in milliseconds. If msecs <= 0 the time will be unlimited. | |
eo | Options for the evaluation and parsing of the expression. | |
[out] | parsed_struct | NULL or a math structure to fill with the unevaluated result. |
MathStructure* Calculator::calculateRPNBitwiseNot | ( | const EvaluationOptions & | eo = default_evaluation_options , |
MathStructure * | parsed_struct = NULL |
||
) |
Applies bitwise not to the first value on the RPN stack. If no register is available, then zero is added.
eo | Options for the evaluation and parsing of the expression. | |
[out] | parsed_struct | NULL or a math structure to fill with the unevaluated result. |
bool Calculator::calculateRPNLogicalNot | ( | int | msecs, |
const EvaluationOptions & | eo = default_evaluation_options , |
||
MathStructure * | parsed_struct = NULL |
||
) |
Applies logical not to the first value on the RPN stack. If no register is available, then zero is added. This function starts the calculation in a separate thread and will return when the calculation has started unless a maximum time has been specified. The calculation can then be stopped with abort().
msecs | The maximum time for the calculation in milliseconds. If msecs <= 0 the time will be unlimited. | |
eo | Options for the evaluation and parsing of the expression. | |
[out] | parsed_struct | NULL or a math structure to fill with the unevaluated result. |
MathStructure* Calculator::calculateRPNLogicalNot | ( | const EvaluationOptions & | eo = default_evaluation_options , |
MathStructure * | parsed_struct = NULL |
||
) |
Applies logical not to the first value on the RPN stack. If no register is available, then zero is added.
eo | Options for the evaluation and parsing of the expression. | |
[out] | parsed_struct | NULL or a math structure to fill with the unevaluated result. |
bool Calculator::calculateRPNRegister | ( | size_t | index, |
int | msecs, | ||
const EvaluationOptions & | eo = default_evaluation_options |
||
) |
Evaluates a value on the RPN stack. This function starts the calculation in a separate thread and will return when the calculation has started unless a maximum time has been specified. The calculation can then be stopped with abort().
index | Index, starting at 1, on the RPN stack. |
msecs | The maximum time for the calculation in milliseconds. If msecs <= 0 the time will be unlimited. |
eo | Options for the evaluation and parsing of the expression. |
bool Calculator::canFetch | ( | ) |
Checks if gvfs-copy or wget is available for downloading exchange rates from the Internet.
bool Calculator::canPlot | ( | ) |
Checks if gnuplot is available.
bool Calculator::checkExchangeRatesDate | ( | ) |
Returns true if the exchange rates on local disc is older than one week.
void Calculator::clearBuffers | ( | ) |
Clears all stored values. Used internally after aborted calculation.
MathStructure Calculator::convert | ( | const MathStructure & | mstruct, |
string | composite_, | ||
const EvaluationOptions & | eo = default_evaluation_options |
||
) |
Converts to a unit expression. The converted value is evaluated.
mstruct | The value to convert. |
composite_ | Unit expression. |
eo | Evaluation options. |
MathStructure Calculator::convert | ( | const MathStructure & | mstruct, |
Unit * | to_unit, | ||
const EvaluationOptions & | eo = default_evaluation_options , |
||
bool | always_convert = true |
||
) |
Converts to a unit. The converted value is evaluated.
mstruct | The value to convert. |
composite_ | Unit to convert to. |
eo | Evaluation options. |
always_convert | ... |
Assumptions* Calculator::defaultAssumptions | ( | ) |
Returns the default assumptions for objects without own assumptions (unknown variables and symbols).
void Calculator::delId | ( | size_t | id | ) |
Removes and unreferences (value->unref() will be called) a value from storage. Mainly for internal use.
id | Storage id. |
bool Calculator::fetchExchangeRates | ( | int | timeout, |
string | wget_args | ||
) |
Download current exchange rates from the Internet to local disc.
timeout | Timeout for donwload try (only used by wget) |
wget_args | Extra arguments to pass to wget. |
bool Calculator::fetchExchangeRates | ( | int | timeout = 15 | ) |
Download current exchange rates from the Internet to local disc with default wget arguments.
timeout | Timeout for donwload try (only used by wget) |
Unit* Calculator::findMatchingUnit | ( | const MathStructure & | mstruct | ) |
Used by the UI to find unit category for a mathematical expression.
BinaryPrefix* Calculator::getBestBinaryPrefix | ( | int | exp2, |
int | exp = 1 |
||
) | const |
Returns the best suited binary prefix for a value.
exp10 | Base-2 exponent of the value. |
exp | The exponent of the unit. |
BinaryPrefix* Calculator::getBestBinaryPrefix | ( | const Number & | exp2, |
const Number & | exp | ||
) | const |
Returns the best suited binary prefix for a value.
exp10 | Base-2 exponent of the value. |
exp | The exponent of the unit. |
DecimalPrefix* Calculator::getBestDecimalPrefix | ( | int | exp10, |
int | exp = 1 , |
||
bool | all_prefixes = true |
||
) | const |
Returns the best suited decimal prefix for a value.
exp10 | Base-10 exponent of the value. |
exp | The exponent of the unit. |
all_prefixes | If false, prefixes which is not a multiple of thousand (centi, deci, deka, hekto) will be skipped. |
DecimalPrefix* Calculator::getBestDecimalPrefix | ( | const Number & | exp10, |
const Number & | exp, | ||
bool | all_prefixes = true |
||
) | const |
Returns the best suited decimal prefix for a value.
exp10 | Base-10 exponent of the value. |
exp | The exponent of the unit. |
all_prefixes | If false, prefixes which is not a multiple of thousand (centi, deci, deka, hekto) will be skipped. |
const string& Calculator::getComma | ( | ) | const |
Returns the preferred comma character for separating arguments.
const string& Calculator::getDecimalPoint | ( | ) | const |
Returns the preferred decimal point character.
Unit* Calculator::getDegUnit | ( | ) |
Returns the degrees unit.
BinaryPrefix* Calculator::getExactBinaryPrefix | ( | int | exp2, |
int | exp = 1 |
||
) | const |
Returns a binary prefix with exactly the provided value, that fulfils the condition prefix->exponent(exp) == exp2.
exp2 | Base-2 exponent of the requested prefix. |
exp | The exponent of the unit. |
DecimalPrefix* Calculator::getExactDecimalPrefix | ( | int | exp10, |
int | exp = 1 |
||
) | const |
Returns a decimal prefix with exactly the provided value, that fulfils the condition prefix->exponent(exp) == exp10.
exp10 | Base-10 exponent of the requested prefix. |
exp | The exponent of the unit. |
Returns a prefix with exactly the provided value, that fulfils the condition prefix->value(exp) == o.
o | Value of the requested prefix. |
exp | The exponent of the unit. |
string Calculator::getExchangeRatesFileName | ( | ) |
Name of the exchange rates file on local disc.
string Calculator::getExchangeRatesUrl | ( | ) |
Url of the exchange rates file on the Internet.
MathFunction* Calculator::getFunction | ( | size_t | index | ) | const |
Returns function for an index (starting at zero). All functions can be traversed by starting at index zero and increasing the index until NULL is returned.
index | Index of function. |
Unit* Calculator::getGraUnit | ( | ) |
Returns the gradians unit.
MathStructure* Calculator::getId | ( | size_t | id | ) |
Returns a stored value. Mainly for internal use.
id | Storage id. |
BinaryPrefix* Calculator::getNearestBinaryPrefix | ( | int | exp2, |
int | exp = 1 |
||
) | const |
Returns the nearest binary prefix for a value.
exp10 | Base-2 exponent of the value. |
exp | The exponent of the unit. |
DecimalPrefix* Calculator::getNearestDecimalPrefix | ( | int | exp10, |
int | exp = 1 |
||
) | const |
Returns the nearest decimal prefix for a value.
exp10 | Base-10 exponent of the value. |
exp | The exponent of the unit. |
int Calculator::getPrecision | ( | ) | const |
Returns default precision for approximate calculations.
Prefix* Calculator::getPrefix | ( | size_t | index | ) | const |
Returns prefix for an index (starting at zero). All prefixes can be traversed by starting at index zero and increasing the index until NULL is returned.
index | Index of prefix. |
Prefix* Calculator::getPrefix | ( | string | name_ | ) | const |
Returns prefix with provided name.
name_ | Name of prefix to retrieve. |
Unit* Calculator::getRadUnit | ( | ) |
Returns the radians unit.
Unit* Calculator::getUnit | ( | size_t | index | ) | const |
Returns unit for an index (starting at zero). All units can be traversed by starting at index zero and increasing the index until NULL is returned.
index | Index of unit. |
Variable* Calculator::getVariable | ( | size_t | index | ) | const |
Returns variable for an index (starting at zero). All variables can be traversed by starting at index zero and increasing the index until NULL is returned.
index | Index of variable. |
bool Calculator::hasFunction | ( | MathFunction * | f | ) |
Checks if a function exists/is registered in the calculator.
bool Calculator::hasGnomeVFS | ( | ) |
Checks if gvfs-copy available. Deprecated: use hasGVFS() or canFetch() instead.
bool Calculator::hasGVFS | ( | ) |
Checks if gvfs-copy available.
bool Calculator::hasUnit | ( | Unit * | u | ) |
Checks if a unit exists/is registered in the calculator.
bool Calculator::hasVariable | ( | Variable * | v | ) |
Checks if a variable exists/is registered in the calculator.
int Calculator::loadDefinitions | ( | const char * | file_name, |
bool | is_user_defs = true |
||
) |
Load definitions from a file.
file_name | The path to the file to load. |
is_user_defs | true if the definitions are local, false if they are global. |
bool Calculator::loadExchangeRates | ( | ) |
Load saved (local) currency units and exchange rates.
bool Calculator::loadGlobalCurrencies | ( | ) |
Load currencies.
bool Calculator::loadGlobalDataSets | ( | ) |
Load data sets.
bool Calculator::loadGlobalDefinitions | ( | ) |
Load all standard global (system wide) definitions from the global data directory ($PREFIX/share/qalculate).
bool Calculator::loadGlobalDefinitions | ( | string | filename | ) |
Load global (system wide) definitions from a file in the global data directory ($PREFIX/share/qalculate).
filename | Name of the file in the global data directory. |
bool Calculator::loadGlobalFunctions | ( | ) |
Load functions.
bool Calculator::loadGlobalPrefixes | ( | ) |
Load prefixes.
bool Calculator::loadGlobalUnits | ( | ) |
Load units.
bool Calculator::loadGlobalVariables | ( | ) |
Load variables.
bool Calculator::loadLocalDefinitions | ( | ) |
Load local, user specific, definitions from the local definitions directory (~/.qalculate/definitions). All files in the directory and in the datasets subdirectory are loaded.
string Calculator::localizeExpression | ( | string | str | ) | const |
Returns a localized expressions. Affects decimal signs and argument separators.
str | The expression to localize. |
string Calculator::localToString | ( | ) | const |
Returns the translated text string used in expressions for converting to a specific unit expression (ex "5 meters to feet.
void Calculator::message | ( | MessageType | mtype, |
const char * | TEMPLATE, | ||
... | |||
) |
Put a message in the message queue.
CalculatorMessage* Calculator::message | ( | ) |
Returns the first message in queue.
bool Calculator::nameTaken | ( | string | name, |
ExpressionItem * | object = NULL |
||
) |
Checks if a name is used by another object which is not allowed to have the same name.
name | Name. |
object | Object to exclude from check. |
CalculatorMessage* Calculator::nextMessage | ( | ) |
Removes the first message in queue and returns the next.
MathStructure Calculator::parse | ( | string | str, |
const ParseOptions & | po = default_parse_options |
||
) |
Parse an expression and place in a MathStructure object.
str | Expression |
po | Parse options. |
size_t Calculator::parseAddId | ( | MathFunction * | f, |
const string & | str, | ||
const ParseOptions & | po, | ||
bool | persistent = false |
||
) |
Stores a function value with arguments parsed from a text string using Function::parse(), with an associated id. Mainly for internal use.
f | Mathematical function. |
str | Arguments. |
po | Parse options. |
persistent | If false the values will be removed from storage when retrieved with getId(). |
void Calculator::prefixNameChanged | ( | Prefix * | p, |
bool | new_item = false |
||
) |
Used internally.
string Calculator::printMathStructureTimeOut | ( | const MathStructure & | mstruct, |
int | msecs = 100000 , |
||
const PrintOptions & | op = default_print_options |
||
) |
Calls MathStructure::format(po) and MathStructure::print(po). The process is aborted after msecs milliseconds.
void Calculator::reset | ( | ) |
Unloads all non-builtin variables, functions and units.
void Calculator::resetFunctions | ( | ) |
Unloads all non-builtin functions.
void Calculator::resetUnits | ( | ) |
Unloads all non-builtin units.
void Calculator::resetVariables | ( | ) |
Unloads all non-builtin variables.
void Calculator::restoreState | ( | ) |
Restores the saved state of the calculator. Used internally to restore the state after aborted calculation.
bool Calculator::RPNStackEnter | ( | MathStructure * | mstruct, |
int | msecs, | ||
const EvaluationOptions & | eo = default_evaluation_options |
||
) |
Evaluates a value and adds the result first on the RPN stack. This function starts the calculation in a separate thread and will return when the calculation has started unless a maximum time has been specified. The calculation can then be stopped with abort().
mstruct | Value. |
msecs | The maximum time for the calculation in milliseconds. If msecs <= 0 the time will be unlimited. |
eo | Options for the evaluation of the expression. |
bool Calculator::RPNStackEnter | ( | string | str, |
int | msecs, | ||
const EvaluationOptions & | eo = default_evaluation_options , |
||
MathStructure * | parsed_struct = NULL , |
||
MathStructure * | to_struct = NULL , |
||
bool | make_to_division = true |
||
) |
Calculates an expression and adds the result first on the RPN stack. The expression should be unlocalized first with unlocalizeExpression(). This function starts the calculation in a separate thread and will return when the calculation has started unless a maximum time has been specified. The calculation can then be stopped with abort().
str | Expression. | |
msecs | The maximum time for the calculation in milliseconds. If msecs <= 0 the time will be unlimited. | |
eo | Options for the evaluation and parsing of the expression. | |
[out] | parsed_struct | NULL or a math structure to fill with the result of the parsing of the expression. |
[out] | to_struct | NULL or a math structure to fill with unit expression parsed after "to". |
make_to_division | If true, the expression after "to" will be interpreted as a unit epxression to convert the result to. |
void Calculator::RPNStackEnter | ( | MathStructure * | mstruct, |
bool | eval = false , |
||
const EvaluationOptions & | eo = default_evaluation_options |
||
) |
Adds a value first on the RPN stack.
mstruct | Value. |
eval | If true, the the mathematical structure will be evaluated first. |
void Calculator::RPNStackEnter | ( | string | str, |
const EvaluationOptions & | eo = default_evaluation_options , |
||
MathStructure * | parsed_struct = NULL , |
||
MathStructure * | to_struct = NULL , |
||
bool | make_to_division = true |
||
) |
Calculates an expression adds the result first on the RPN stack. The expression should be unlocalized first with unlocalizeExpression().
str | Expression. | |
eo | Options for the evaluation and parsing of the expression. | |
[out] | parsed_struct | NULL or a math structure to fill with the result of the parsing of the expression. |
[out] | to_struct | NULL or a math structure to fill with unit expression parsed after "to". |
make_to_division | If true, the expression after "to" will be interpreted as a unit epxression to convert the result to. |
bool Calculator::saveDefinitions | ( | ) |
Save local definitions to ~/.qalculate/definitions/
void Calculator::saveState | ( | ) |
Saves the state of the calculator. Used internally to be able to restore the state after aborted calculation.
bool Calculator::separateToExpression | ( | string & | str, |
string & | to_str, | ||
const EvaluationOptions & | eo, | ||
bool | keep_modifiers = false |
||
) | const |
Split an expression string after and before " to ".
[out] | str | The expression. Will be set to the string before " to ". |
[out] | to_str | Will be set to the string after " to ". |
eo | Options for the evaluation and parsing of the expression (nothing will be done if units are not enabled). |
void Calculator::setDefaultAssumptions | ( | Assumptions * | ass | ) |
Set assumptions for objects without own assumptions (unknown variables and symbols).
void Calculator::setLocale | ( | ) |
Sets argument separator and decimal sign from the current locale. Mainly for internal use.
void Calculator::setPrecision | ( | int | precision = DEFAULT_PRECISION | ) |
Set default precision for approximate calculations.
precision | Precision. |
void Calculator::startPrintControl | ( | int | milli_timeout = 0 | ) |
Called before formatting and printing a MathStructure (using MathStructure::format() and MathStructure::print()) or a Number (using Number::print) to be able to abort the process. Always use Calculator::abortPrint() after finishing.
msecs | The maximum time for formatting printing in milliseconds. If msecs <= 0 the time will be unlimited. |
bool Calculator::stillHasFunction | ( | MathFunction * | f | ) |
Checks if a pointer points to a mathematical function that still exists in the calculator. As opposed to hasFunction(), this function only checks if the mathematical function has been deleted.
bool Calculator::stillHasUnit | ( | Unit * | u | ) |
Checks if a pointer points to a unit that still exists in the calculator. As opposed to hasUnit(), this function only checks if the unit has been deleted.
bool Calculator::stillHasVariable | ( | Variable * | v | ) |
Checks if a pointer points to a variable that still exists in the calculator. As opposed to hasFunction(), this function only checks if the mathematical function has been deleted.
void Calculator::stopPrintControl | ( | void | ) |
Always call this function after Calculator::startPrintControl() after formatting and printing has finished.
void Calculator::terminateThreads | ( | ) |
Terminate calculation and print threads if started. Do not use to terminate calculation.
string Calculator::unlocalizeExpression | ( | string | str, |
const ParseOptions & | po = default_parse_options |
||
) | const |
Returns an unlocalized expressions. Affects decimal signs and argument separators.
str | The expression to unlocalize. |
void Calculator::unsetLocale | ( | ) |
Resets argument separator and decimal sign. Mainly for internal use.
void Calculator::useDecimalPoint | ( | bool | comma_as_separator = false | ) |
Use point as decimal separator. To use comma as an ignored separator in numbers, must be invoked with comma_as_separator = true, before using ParseOptions::comma_as_separator.
bool Calculator::variableNameIsValid | ( | const string & | name_ | ) |
Tests if a name is valid for a variable.
name_ | Variable name. |
bool Calculator::variableNameIsValid | ( | const char * | name_ | ) |
Tests if a name is valid for a variable.
name_ | Variable name. |