| libqalculate-5.6.0
    | 
#include <vector>#include <string>#include <stack>#include <list>#include <errno.h>#include <stddef.h>#include <math.h>#include <float.h>#include <stdarg.h>#include <stdlib.h>#include <stdio.h>#include <string.h>#include <iostream>#include <unistd.h>#include <stdint.h>| Classes | |
| struct | SortOptions | 
| Options for ordering the parts of a mathematical expression/result before display.  More... | |
| struct | PrintOptions | 
| Options for formatting and display of mathematical structures/results.  More... | |
| struct | InternalPrintStruct | 
| struct | ParseOptions | 
| Options for parsing expressions.  More... | |
| struct | EvaluationOptions | 
| Options for calculation.  More... | |
| Macros | |
| #define | QALCULATE_MAJOR_VERSION (5) | 
| #define | QALCULATE_MINOR_VERSION (6) | 
| #define | QALCULATE_MICRO_VERSION (0) | 
| #define | COMPARISON_MIGHT_BE_LESS_OR_GREATER(i) | 
| #define | COMPARISON_NOT_FULLY_KNOWN(i) | 
| #define | COMPARISON_IS_EQUAL_OR_GREATER(i) | 
| #define | COMPARISON_IS_EQUAL_OR_LESS(i) | 
| #define | COMPARISON_IS_NOT_EQUAL(i) | 
| #define | COMPARISON_MIGHT_BE_EQUAL(i) | 
| #define | COMPARISON_MIGHT_BE_NOT_EQUAL(i) | 
| #define | NR_OF_PRIMES 600 | 
| #define | SQP_LT_1000 11 | 
| #define | SQP_LT_2000 17 | 
| #define | SQP_LT_10000 28 | 
| #define | SQP_LT_25000 40 | 
| #define | SQP_LT_100000 68 | 
| #define | NR_OF_SQUARE_PRIMES 170 | 
| #define | LARGEST_RAISED_PRIME_EXPONENT 10 | 
| #define | BASE_ROMAN_NUMERALS -1 | 
| Special values for PrintOptions::base and ParseOptions::base. | |
| #define | BASE_TIME -2 | 
| #define | BASE_BINARY 2 | 
| #define | BASE_OCTAL 8 | 
| #define | BASE_DECIMAL 10 | 
| #define | BASE_DUODECIMAL 12 | 
| #define | BASE_HEXADECIMAL 16 | 
| #define | BASE_SEXAGESIMAL 60 | 
| #define | BASE_SEXAGESIMAL_2 62 | 
| #define | BASE_SEXAGESIMAL_3 63 | 
| #define | BASE_LATITUDE 70 | 
| #define | BASE_LATITUDE_2 71 | 
| #define | BASE_LONGITUDE 72 | 
| #define | BASE_LONGITUDE_2 73 | 
| #define | BASE_CUSTOM -3 | 
| Use Calculate::setCustomOutputBase() or Calculate::setCustomInputBase() to specify a number base which greater than 36, negative, or a non-integer. | |
| #define | BASE_UNICODE -4 | 
| #define | BASE_GOLDEN_RATIO -5 | 
| #define | BASE_SUPER_GOLDEN_RATIO -6 | 
| #define | BASE_PI -7 | 
| #define | BASE_E -8 | 
| #define | BASE_SQRT2 -9 | 
| #define | BASE_BINARY_DECIMAL -20 | 
| #define | BASE_BIJECTIVE_26 -26 | 
| #define | BASE_FP16 -30 | 
| #define | BASE_FP32 -31 | 
| #define | BASE_FP64 -32 | 
| #define | BASE_FP128 -33 | 
| #define | BASE_FP80 -34 | 
| #define | BASE_IS_SEXAGESIMAL(x) | 
| #define | EXP_BASE_3 -3 | 
| Primary values for PrintOptions::min_exp. | |
| #define | EXP_PRECISION -1 | 
| #define | EXP_NONE 0 | 
| #define | EXP_PURE 1 | 
| #define | EXP_SCIENTIFIC 3 | 
| #define | TZ_TRUNCATE -21586 | 
| #define | TZ_DOZENAL -53172 | 
| #define | STRUCTURING_SIMPLIFY STRUCTURING_EXPAND | 
| #define | POST_CONVERSION_BEST POST_CONVERSION_OPTIMAL_SI | 
| #define | PARSE_PERCENT_AS_ORDINARY_CONSTANT 0x10 | 
| #define | CALCULATOR calculator | 
| #define | DEFAULT_PRECISION 8 | 
| #define | PRECISION (CALCULATOR ? CALCULATOR->getPrecision() : DEFAULT_PRECISION) | 
| #define | SIGN_DEGREE "°" | 
| #define | SIGN_POWER_0 "⁰" | 
| #define | SIGN_POWER_1 "¹" | 
| #define | SIGN_POWER_2 "²" | 
| #define | SIGN_POWER_3 "³" | 
| #define | SIGN_POWER_4 "⁴" | 
| #define | SIGN_POWER_5 "⁵" | 
| #define | SIGN_POWER_6 "⁶" | 
| #define | SIGN_POWER_7 "⁷" | 
| #define | SIGN_POWER_8 "⁸" | 
| #define | SIGN_POWER_9 "⁹" | 
| #define | SIGN_EURO "€" | 
| #define | SIGN_POUND "£" | 
| #define | SIGN_CENT "¢" | 
| #define | SIGN_YEN "¥" | 
| #define | SIGN_MICRO "µ" | 
| #define | SIGN_PI "π" | 
| #define | SIGN_MULTIPLICATION "×" | 
| #define | SIGN_MULTIDOT "⋅" | 
| #define | SIGN_MIDDLEDOT "·" | 
| #define | SIGN_MULTIBULLET "∙" | 
| #define | SIGN_SMALLCIRCLE "•" | 
| #define | SIGN_DIVISION_SLASH "∕" | 
| #define | SIGN_DIVISION "÷" | 
| #define | SIGN_MINUS "−" | 
| #define | SIGN_PLUS "+" | 
| #define | SIGN_SQRT "√" | 
| #define | SIGN_ALMOST_EQUAL "≈" | 
| #define | SIGN_APPROXIMATELY_EQUAL "≅" | 
| #define | SIGN_ZETA "ζ" | 
| #define | SIGN_GAMMA "γ" | 
| #define | SIGN_PHI "φ" | 
| #define | SIGN_LESS_OR_EQUAL "≤" | 
| #define | SIGN_GREATER_OR_EQUAL "≥" | 
| #define | SIGN_NOT_EQUAL "≠" | 
| #define | SIGN_CAPITAL_SIGMA "Σ" | 
| #define | SIGN_CAPITAL_PI "Π" | 
| #define | SIGN_CAPITAL_OMEGA "Ω" | 
| #define | SIGN_CAPITAL_GAMMA "Γ" | 
| #define | SIGN_CAPITAL_BETA "Β" | 
| #define | SIGN_INFINITY "∞" | 
| #define | SIGN_PLUSMINUS "±" | 
| #define | THIN_SPACE " " | 
| #define | NNBSP " " | 
| #define | NBSP " " | 
| #define | ID_WRAP_LEFT_CH '{' | 
| #define | ID_WRAP_RIGHT_CH '}' | 
| #define | DOT_CH '.' | 
| #define | ZERO_CH '0' | 
| #define | ONE_CH '1' | 
| #define | TWO_CH '2' | 
| #define | THREE_CH '3' | 
| #define | FOUR_CH '4' | 
| #define | FIVE_CH '5' | 
| #define | SIX_CH '6' | 
| #define | SEVEN_CH '7' | 
| #define | EIGHT_CH '8' | 
| #define | NINE_CH '9' | 
| #define | PLUS_CH '+' | 
| #define | MINUS_CH '-' | 
| #define | MULTIPLICATION_CH '*' | 
| #define | MULTIPLICATION_2_CH ' ' | 
| #define | DIVISION_CH '/' | 
| #define | EXP_CH 'E' | 
| #define | EXP2_CH 'e' | 
| #define | POWER_CH '^' | 
| #define | SPACE_CH ' ' | 
| #define | LEFT_PARENTHESIS_CH '(' | 
| #define | RIGHT_PARENTHESIS_CH ')' | 
| #define | LEFT_VECTOR_WRAP_CH '[' | 
| #define | RIGHT_VECTOR_WRAP_CH ']' | 
| #define | FUNCTION_VAR_PRE_CH '\\' | 
| #define | COMMA_CH ',' | 
| #define | NAME_NUMBER_PRE_CH '_' | 
| #define | UNIT_DIVISION_CH '/' | 
| #define | AND_CH '&' | 
| #define | OR_CH '|' | 
| #define | LESS_CH '<' | 
| #define | GREATER_CH '>' | 
| #define | BITWISE_NOT_CH '~' | 
| #define | LOGICAL_NOT_CH '!' | 
| #define | NOT_CH '!' | 
| #define | EQUALS_CH '=' | 
| #define | ID_WRAP_LEFT "{" | 
| #define | ID_WRAP_RIGHT "}" | 
| #define | ID_WRAPS "{}" | 
| #define | DOT "." | 
| #define | SEXADOT ":" | 
| #define | COMMA "," | 
| #define | COMMAS ",;" | 
| #define | NUMBERS "0123456789" | 
| #define | NUMBER_ELEMENTS "0123456789.:" | 
| #define | SIGNS "+-*/^" | 
| #define | OPERATORS "~+-*/^&|!<>=" | 
| #define | PARENTHESISS "()" | 
| #define | LEFT_PARENTHESIS "(" | 
| #define | RIGHT_PARENTHESIS ")" | 
| #define | VECTOR_WRAPS "[]" | 
| #define | LEFT_VECTOR_WRAP "[" | 
| #define | RIGHT_VECTOR_WRAP "]" | 
| #define | SPACES " \t\n" | 
| #define | SPACE " " | 
| #define | RESERVED "\'@\\{}?\"" | 
| #define | PLUS "+" | 
| #define | MINUS "-" | 
| #define | MULTIPLICATION "*" | 
| #define | MULTIPLICATION_2 " " | 
| #define | DIVISION "/" | 
| #define | EXP "E" | 
| #define | EXPS "Ee" | 
| #define | POWER "^" | 
| #define | LOGICAL_AND "&&" | 
| #define | LOGICAL_OR "||" | 
| #define | LOGICAL_NOT "!" | 
| #define | BITWISE_AND "&" | 
| #define | BITWISE_OR "|" | 
| #define | BITWISE_NOT "~" | 
| #define | SHIFT_RIGHT ">>" | 
| #define | SHIFT_LEFT "<<" | 
| #define | LESS "<" | 
| #define | GREATER ">" | 
| #define | NOT "!" | 
| #define | EQUALS "=" | 
| #define | SINF "INF" | 
| #define | UNDERSCORE "_" | 
| #define | NOT_IN_NAMES RESERVED OPERATORS SPACES SEXADOT DOT VECTOR_WRAPS PARENTHESISS COMMAS | 
| Enumerations | |
| enum | ExpressionItemType { TYPE_VARIABLE , TYPE_FUNCTION , TYPE_UNIT } | 
| Type of ExpressionItem.  More... | |
| enum | ComparisonResult { COMPARISON_RESULT_EQUAL , COMPARISON_RESULT_GREATER , COMPARISON_RESULT_LESS , COMPARISON_RESULT_EQUAL_OR_GREATER , COMPARISON_RESULT_EQUAL_OR_LESS , COMPARISON_RESULT_NOT_EQUAL , COMPARISON_RESULT_UNKNOWN , COMPARISON_RESULT_EQUAL_LIMITS , COMPARISON_RESULT_CONTAINS , COMPARISON_RESULT_CONTAINED , COMPARISON_RESULT_OVERLAPPING_LESS , COMPARISON_RESULT_OVERLAPPING_GREATER } | 
| The result of a comparison of two values. | |
| enum | PlotLegendPlacement { PLOT_LEGEND_NONE , PLOT_LEGEND_TOP_LEFT , PLOT_LEGEND_TOP_RIGHT , PLOT_LEGEND_BOTTOM_LEFT , PLOT_LEGEND_BOTTOM_RIGHT , PLOT_LEGEND_BELOW , PLOT_LEGEND_OUTSIDE } | 
| Placement of legend. | |
| enum | PlotStyle { PLOT_STYLE_LINES , PLOT_STYLE_POINTS , PLOT_STYLE_POINTS_LINES , PLOT_STYLE_BOXES , PLOT_STYLE_HISTOGRAM , PLOT_STYLE_STEPS , PLOT_STYLE_CANDLESTICKS , PLOT_STYLE_DOTS , PLOT_STYLE_POLAR } | 
| Plot type/style. | |
| enum | PlotSmoothing { PLOT_SMOOTHING_NONE , PLOT_SMOOTHING_UNIQUE , PLOT_SMOOTHING_CSPLINES , PLOT_SMOOTHING_BEZIER , PLOT_SMOOTHING_SBEZIER } | 
| Smoothing a plotted lines. | |
| enum | PlotFileType { PLOT_FILETYPE_AUTO , PLOT_FILETYPE_PNG , PLOT_FILETYPE_PS , PLOT_FILETYPE_EPS , PLOT_FILETYPE_LATEX , PLOT_FILETYPE_SVG , PLOT_FILETYPE_FIG , PLOT_FILETYPE_PDF } | 
| File type for saving plot to image. | |
| enum | MathOperation { OPERATION_MULTIPLY , OPERATION_DIVIDE , OPERATION_ADD , OPERATION_SUBTRACT , OPERATION_RAISE , OPERATION_EXP10 , OPERATION_LOGICAL_AND , OPERATION_LOGICAL_OR , OPERATION_LOGICAL_XOR , OPERATION_BITWISE_AND , OPERATION_BITWISE_OR , OPERATION_BITWISE_XOR , OPERATION_LESS , OPERATION_GREATER , OPERATION_EQUALS_LESS , OPERATION_EQUALS_GREATER , OPERATION_EQUALS , OPERATION_NOT_EQUALS } | 
| Mathematical operations. | |
| enum | ComparisonType { COMPARISON_LESS , COMPARISON_GREATER , COMPARISON_EQUALS_LESS , COMPARISON_EQUALS_GREATER , COMPARISON_EQUALS , COMPARISON_NOT_EQUALS } | 
| Comparison signs for comparison structures. | |
| enum | SortFlags { SORT_DEFAULT = 1 << 0 , SORT_SCIENTIFIC = 1 << 1 } | 
| enum | NumberFractionFormat { FRACTION_DECIMAL , FRACTION_DECIMAL_EXACT , FRACTION_FRACTIONAL , FRACTION_COMBINED , FRACTION_FRACTIONAL_FIXED_DENOMINATOR , FRACTION_COMBINED_FIXED_DENOMINATOR , FRACTION_PERCENT , FRACTION_PERMILLE , FRACTION_PERMYRIAD } | 
| enum | MultiplicationSign { MULTIPLICATION_SIGN_ASTERISK , MULTIPLICATION_SIGN_DOT , MULTIPLICATION_SIGN_X , MULTIPLICATION_SIGN_ALTDOT } | 
| enum | DivisionSign { DIVISION_SIGN_SLASH , DIVISION_SIGN_DIVISION_SLASH , DIVISION_SIGN_DIVISION } | 
| enum | BaseDisplay { BASE_DISPLAY_NONE , BASE_DISPLAY_NORMAL , BASE_DISPLAY_ALTERNATIVE , BASE_DISPLAY_SUFFIX } | 
| enum | IntervalDisplay { INTERVAL_DISPLAY_SIGNIFICANT_DIGITS , INTERVAL_DISPLAY_INTERVAL , INTERVAL_DISPLAY_PLUSMINUS , INTERVAL_DISPLAY_MIDPOINT , INTERVAL_DISPLAY_LOWER , INTERVAL_DISPLAY_UPPER , INTERVAL_DISPLAY_CONCISE , INTERVAL_DISPLAY_RELATIVE } | 
| enum | DigitGrouping { DIGIT_GROUPING_NONE , DIGIT_GROUPING_STANDARD , DIGIT_GROUPING_LOCALE } | 
| enum | DateTimeFormat { DATE_TIME_FORMAT_ISO , DATE_TIME_FORMAT_LOCALE } | 
| enum | TimeZone { TIME_ZONE_UTC , TIME_ZONE_LOCAL , TIME_ZONE_CUSTOM } | 
| enum | ExpDisplay { EXP_DEFAULT , EXP_UPPERCASE_E , EXP_LOWERCASE_E , EXP_POWER_OF_10 } | 
| enum | RoundingMode { ROUNDING_HALF_AWAY_FROM_ZERO , ROUNDING_HALF_TO_EVEN , ROUNDING_HALF_TO_ODD , ROUNDING_HALF_TOWARD_ZERO , ROUNDING_HALF_UP , ROUNDING_HALF_DOWN , ROUNDING_HALF_RANDOM , ROUNDING_TOWARD_ZERO , ROUNDING_AWAY_FROM_ZERO , ROUNDING_UP , ROUNDING_DOWN } | 
| enum | { UNICODE_SIGNS_OFF , UNICODE_SIGNS_ON , UNICODE_SIGNS_ONLY_UNIT_EXPONENTS , UNICODE_SIGNS_WITHOUT_EXPONENTS } | 
| enum | { REPEATING_DECIMALS_OFF , REPEATING_DECIMALS_ELLIPSIS , REPEATING_DECIMALS_OVERLINE } | 
| enum | ApproximationMode { APPROXIMATION_EXACT , APPROXIMATION_TRY_EXACT , APPROXIMATION_APPROXIMATE , APPROXIMATION_EXACT_VARIABLES } | 
| enum | StructuringMode { STRUCTURING_NONE , STRUCTURING_EXPAND , STRUCTURING_FACTORIZE , STRUCTURING_HYBRID } | 
| enum | AutoPostConversion { POST_CONVERSION_NONE , POST_CONVERSION_OPTIMAL_SI , POST_CONVERSION_BASE , POST_CONVERSION_OPTIMAL } | 
| enum | MixedUnitsConversion { MIXED_UNITS_CONVERSION_NONE , MIXED_UNITS_CONVERSION_DOWNWARDS_KEEP , MIXED_UNITS_CONVERSION_DOWNWARDS , MIXED_UNITS_CONVERSION_DEFAULT , MIXED_UNITS_CONVERSION_FORCE_INTEGER , MIXED_UNITS_CONVERSION_FORCE_ALL } | 
| enum | ReadPrecisionMode { DONT_READ_PRECISION , ALWAYS_READ_PRECISION , READ_PRECISION_WHEN_DECIMALS } | 
| enum | AngleUnit { ANGLE_UNIT_NONE , ANGLE_UNIT_RADIANS , ANGLE_UNIT_DEGREES , ANGLE_UNIT_GRADIANS , ANGLE_UNIT_CUSTOM } | 
| enum | ComplexNumberForm { COMPLEX_NUMBER_FORM_RECTANGULAR , COMPLEX_NUMBER_FORM_EXPONENTIAL , COMPLEX_NUMBER_FORM_POLAR , COMPLEX_NUMBER_FORM_CIS } | 
| enum | ParsingMode { PARSING_MODE_ADAPTIVE , PARSING_MODE_IMPLICIT_MULTIPLICATION_FIRST , PARSING_MODE_CONVENTIONAL , PARSING_MODE_CHAIN , PARSING_MODE_RPN } | 
| enum | IntervalCalculation { INTERVAL_CALCULATION_NONE , INTERVAL_CALCULATION_VARIANCE_FORMULA , INTERVAL_CALCULATION_INTERVAL_ARITHMETIC , INTERVAL_CALCULATION_SIMPLE_INTERVAL_ARITHMETIC } | 
| Variables | |
| static std::string | empty_string | 
| static const long int | PRIMES [] | 
| static const long int | SQUARE_PRIMES [] | 
| static const long int | RAISED_PRIMES [][49] | 
| static const SortOptions | default_sort_options | 
| static const PrintOptions | default_print_options | 
| static const InternalPrintStruct | top_ips | 
| static const ParseOptions | default_parse_options | 
| static const EvaluationOptions | default_evaluation_options | 
| static EvaluationOptions | default_user_evaluation_options | 
| MathStructure | m_undefined | 
| MathStructure | m_empty_vector | 
| MathStructure | m_empty_matrix | 
| MathStructure | m_zero | 
| MathStructure | m_one | 
| MathStructure | m_minus_one | 
| MathStructure | m_one_i | 
| Number | nr_zero | 
| Number | nr_one | 
| Number | nr_two | 
| Number | nr_three | 
| Number | nr_minus_one | 
| Number | nr_one_i | 
| Number | nr_minus_i | 
| Number | nr_half | 
| Number | nr_minus_half | 
| Number | nr_plus_inf | 
| Number | nr_minus_inf | 
| EvaluationOptions | no_evaluation | 
| ExpressionName | empty_expression_name | 
| Calculator * | calculator | 
| #define BASE_IS_SEXAGESIMAL | ( | x | ) | 
| #define COMPARISON_IS_EQUAL_OR_GREATER | ( | i | ) | 
| #define COMPARISON_IS_EQUAL_OR_LESS | ( | i | ) | 
| #define COMPARISON_IS_NOT_EQUAL | ( | i | ) | 
| #define COMPARISON_MIGHT_BE_EQUAL | ( | i | ) | 
| #define COMPARISON_MIGHT_BE_LESS_OR_GREATER | ( | i | ) | 
| #define COMPARISON_MIGHT_BE_NOT_EQUAL | ( | i | ) | 
| #define COMPARISON_NOT_FULLY_KNOWN | ( | i | ) | 
| enum ApproximationMode | 
| enum AutoPostConversion | 
| enum ExpressionItemType | 
Type of ExpressionItem.
| Enumerator | |
|---|---|
| TYPE_VARIABLE | class Variable | 
| TYPE_FUNCTION | class MathFunction | 
| TYPE_UNIT | class Unit | 
| enum IntervalCalculation | 
| enum NumberFractionFormat | 
| enum ParsingMode | 
| enum StructuringMode | 
| 
 | static | 
| 
 | static |