C++ Mathematical Expression Toolkit (ExprTk) release
Loading...
Searching...
No Matches
Classes | Functions
exprtk_degree_trigonometry_example.cpp File Reference
#include <cstdio>
#include <string>
#include "exprtk.hpp"
Include dependency graph for exprtk_degree_trigonometry_example.cpp:

Go to the source code of this file.

Classes

struct  sine_deg< T >
 
struct  cosine_deg< T >
 

Functions

template<typename T >
void exprtk_degree_trigonometry_example ()
 
int main ()
 

Function Documentation

◆ exprtk_degree_trigonometry_example()

template<typename T >
void exprtk_degree_trigonometry_example ( )

Definition at line 53 of file exprtk_degree_trigonometry_example.cpp.

54{
55 typedef exprtk::symbol_table<T> symbol_table_t;
56 typedef exprtk::expression<T> expression_t;
57 typedef exprtk::parser<T> parser_t;
58 typedef typename parser_t::settings_store settings_t;
59
60 sine_deg <T> sine;
61 cosine_deg<T> cosine;
62
64
65 symbol_table_t symbol_table;
66
67 symbol_table.add_package (io_package );
68 symbol_table.add_reserved_function("sin", sine );
69 symbol_table.add_reserved_function("cos", cosine);
70
71 typedef typename parser_t::settings_store settings_t;
72
73 parser_t parser;
74
75 // Disable the ExprTk internal sine/cosine functions
76 parser.settings()
77 .disable_base_function(settings_t::e_bf_sin)
78 .disable_base_function(settings_t::e_bf_cos);
79
80 const std::string trigonometry_program =
81 " println('sin(30) = ', sin(30)); "
82 " println('cos(30) = ', cos(30)); "
83 " println('sin(45) = ', sin(45)); "
84 " println('cos(45) = ', cos(45)); "
85 " println('sin(60) = ', sin(60)); "
86 " println('cos(60) = ', cos(60)); ";
87
88 expression_t expression;
89 expression.register_symbol_table(symbol_table);
90
91 parser.compile(trigonometry_program,expression);
92
93 expression.value();
94}

◆ main()

int main ( )

Definition at line 96 of file exprtk_degree_trigonometry_example.cpp.

97{
98 exprtk_degree_trigonometry_example<double>();
99 return 0;
100}