#include <Calculator.h>
Public Member Functions | |
Constructor | |
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) |
| string | printMathStructureTimeOut (const MathStructure &mstruct, int msecs=100000, const PrintOptions &op=default_print_options) |
| int | testCondition (string expression) |
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) 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 | 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) |
| 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 | 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 () |
| 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_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_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_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 |
| Unit * | u_rad |
| Unit * | u_gra |
| Unit * | u_deg |
| Unit * | u_euro |
| 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 |
| bool | print_thread_stopped |
| string | expression_to_calculate |
| string | tmp_print_result |
| PrintOptions | tmp_printoptions |
| 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 & |