Mathematics in c++(repost)
$30-100 USD
Teslim sırasında ödenir
The development of a sophisticated c++ library is needed, providing the user with the ability to enter arbitrary mathematical expressions, functions and operations, including but not limited to addition, multiplication, division and subtraction, exponents, logarithms, powers, trigonometric and hyperbolic functions as well as ANY other function included in the c++ <math> library and also support for complex numbers similar to the one of c++ 's <complex>. Furthermore the addition of a custom mathematical function should be as easy as including the name of this function in the c++ class(es) provided ( by the coder ). However as one may understand, the above functionality seems to be already included in c++. So here is the difficult part: variables should be custom objects ( called "variable" ) and functions ( or mathematical expressions ) should be objects called "function" without being an actual c++ function. The value of each variable should be set AFTER the definition of the math expression ( or function ) which is what makes this project difficult to implement taking into consideration the fact that the math expression must be defined in an inline fashion and that c++ is a procedural programming language.?
## Deliverables
The development of a sophisticated c++ library is needed, providing the user with the ability to enter arbitrary mathematical expressions, functions and operations, including but not limited to addition, multiplication, division and subtraction, exponents, logarithms, powers, trigonometric and hyperbolic functions as well as ANY other function included in the c++ <math> library and also support for complex numbers similar to the one of c++ 's <complex>. Furthermore the addition of a custom mathematical function should be as easy as including the name of this function in the c++ class(es) provided ( by the coder ). However as one may understand, the above functionality seems to be already included in c++. So here is the difficult part: variables should be custom objects ( called "variable" ) and functions ( or mathematical expressions ) should be objects called "function" without being an actual c++ function. The value of each variable should be set AFTER the definition of the math expression ( or function ) which is what makes this project difficult to implement taking into consideration that the math expression must be defined in an inline fashion. That is, the math function should first be declared inside another function ( i.e. main() ) and then be assigned the mathematical expression on the right hand side. To clarify, the following example input could be of further assistance:
. . .
#include "library.h"
. . .?
// declare the math expression
function f;
// declare the variables
variable x( "x" );
variable y( "y" );
// declare a constant
double c = 18.888;
// assign the function an expression of variables and constants
f = (c * x^18)*( y^(-6) - x + Cos ( (x*y)^3 ) + Log ( x ) - CustomFunction( y ) );
// evaluate the function at a certain point
[url removed, login to view]( -90.1, 24.3889 );
// pass f as an argument to another function
myFunction( f );
. . .?
In addition the number of variables used should not be limited in any way and no runtime libraries or applications should be used, since we do not wish the expressions to be calculated in runtime. Also, your implementation of the library should not exceed 400 lines in total.
UPDATE:
Our programming team was able to develop a large part of the library including the overloading of the addition, subtraction and multiplication operators. Furthermore, we were able to do this in an object oriented manner, by creating two classes named variable and function respectively. However we find it somewhat more difficult to implement the division operator. So we would like to ask you to built upon our current implementation of the library, implementing the remaining features. Please give us your opinion and bid on that and we will proceed by providing you with our ( partial ) implementation of the program.
Proje NO: #2918546