Documentation of CSL
Data Structures | Namespaces | Functions
abstract.h File Reference

Base classes for all exprs in the program. More...

#include <iostream>
#include <string>
#include <sstream>
#include <cassert>
#include <memory>
#include <functional>
#include <optional>
#include <vector>
#include <initializer_list>
#include <map>
#include <set>
#include <thread>
#include <mutex>
#include "allocator.h"
#include "support.h"
#include "error.h"
#include "typedef.h"
#include "enum.h"
#include "evaluation.h"
#include "std_shared_ptr_inheritance.h"
Include dependency graph for abstract.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

class  csl::Abstract
 Root class of the inheritance tree of abstracts. More...
 
class  csl::Expr
 Expression type/. More...
 

Namespaces

 csl
 Namespace for csl library.
 

Functions

Expr csl::sum_s (const Expr &leftOperand, const Expr &rightOperand, bool explicitSum=false)
 
Expr csl::sum_s (const csl::vector_expr &operands, bool explicitSum=false)
 
Expr csl::minus_ (const Expr &leftOperand, const Expr &rightOperand)
 Returns the sum of the two operands (with a minus sign), applying basic simplifications. More...
 
Expr csl::prod_s (const Expr &leftOperand, const Expr &rightOperand, bool explicitProd=0)
 Returns the product of the two operands, applying basic simplifications. More...
 
Expr csl::prod_s (const csl::vector_expr &operands, bool explicitProd=false)
 
Expr csl::fraction_s (const Expr &leftOperand, const Expr &rightOperand)
 Returns the fraction of the two operands, applying basic simplifications. More...
 
Expr csl::pow_s (const Expr &leftOperand, const Expr &rightOperand)
 Returns the exponentiation of the two operands, applying basic simplifications. More...
 
Expr csl::pow_s (const Expr &leftOperand, int value)
 
Expr csl::sqrt_s (const Expr &operand)
 
Expr csl::sqrt_s (int number)
 
Expr csl::derivative_s (const Expr &leftOperand, const Expr &rightOperand, int order=1)
 Returns the derivative of leftOperand wrt rightOperand, applying basic simplifications. More...
 
Expr csl::derivative_s (const Expr &leftOperand, const Expr &rightOperand, int order, bool empty)
 
Expr csl::derivative_s (const Expr &variable, int order=1)
 
Expr csl::integral_s (const Expr &leftOperand, const Expr &rightOperand)
 
Expr csl::integral_s (const Expr &leftOperand, const Expr &rightOperand, bool empty)
 
Expr csl::integral_s (const Expr &leftOperand, const Expr &rightOperand, bool empty, const Expr &t_inf, const Expr &t_sup)
 
Expr csl::integral_s (const Expr &variable)
 
Expr csl::polynomial_s (const Expr &expr, const Expr &t_variable)
 
Expr csl::polynomial_s (const csl::vector_expr &operands, const Expr &t_variable)
 
Expr csl::operator+ (const Expr &a, const Expr &b)
 Shortcut function that allows to use arithmetic operator + with Expr (== shared_ptr<Abstract>). More...
 
Expr csl::operator- (const Expr &a)
 
Expr csl::operator- (const Expr &a, const Expr &b)
 Shortcut function that allows to use arithmetic operator - with Expr (== shared_ptr<Abstract>). More...
 
Expr csl::operator* (const Expr &a, const Expr &b)
 Shortcut function that allows to use arithmetic operator * with Expr (== shared_ptr<Abstract>). More...
 
Expr csl::operator/ (const Expr &a, const Expr &b)
 Shortcut function that allows to use arithmetic operator / with Expr (== shared_ptr<Abstract>). More...
 
std::ostream & csl::operator<< (std::ostream &fout, const Expr &obj)
 
bool csl::operator== (const Expr &a, const Expr &b)
 see Abstract::operator==()
 
bool csl::operator!= (const Expr &a, const Expr &b)
 see Abstract::operator!=()
 
bool csl::operator>= (const Expr &a, const Expr &b)
 see Abstract::operator>=()
 
bool csl::operator<= (const Expr &a, const Expr &b)
 see Abstract::operator<=()
 
bool csl::operator> (const Expr &a, const Expr &b)
 see Abstract::operator>()
 
bool csl::operator< (const Expr &a, const Expr &b)
 see Abstract::operator<()
 
bool csl::operator|= (const Expr &a, const Expr &b)
 see Abstract::operator|=()
 
bool csl::operator &= (const Expr &a, const Expr &b)
 see Abstract::operator&=()
 

Detailed Description

Base classes for all exprs in the program.

Author
Grégoire Uhlrich
Version
1.3