⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 smartcounter.cpp

📁 此程序实现了表达式求值
💻 CPP
字号:
// SmartCounter.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include "tstack.h"
#include "gisExpression.h"
#include <math.h>

int main(int argc, char* argv[])
{
	CGisExpression exp;

	double ret;
	double a = 5, b = 3.2, c = 3.3, aa=4.6, x;
	long begin = GetTickCount();
	for(int i = 0; i < 1000; i++)
	{
		x = a+b*c +log10(aa)*sin(aa+b*a) + log(123);
		a += 0.01;
		//printf("rrr = %f\n",  a+b*c +log10(aa)*sin(aa+b*a) + log(123)  );
	}
	printf("C++ use %d Tick, %f\n", GetTickCount() - begin, x);

	begin = GetTickCount();
	exp.SetExpression("a+b*c +log10(aa)*sin(aa+b*a) + ln(123) ");
	//exp.SetExpression("cos(a)");
	exp.AddVar(CVarType("aa", VAR_FLOAT, 0, 4.6));
	exp.AddVar(CVarType("a", VAR_FLOAT, 0, 5));
	exp.AddVar(CVarType("b", VAR_FLOAT, 0, 3.2));
	exp.AddVar(CVarType("c", VAR_FLOAT, 0, 3.3));
	exp.MidToPostfix();
	exp.ShowExpression(SE_POSTFIX);
	exp.GetVarValue("a", &a);
	ret = 0.0;
	for(i = 0; i < 1000; i++)
	{
		exp.Calculate(&ret);
		//a += 0.01;
		//exp.SetVarValue("a", a);
	}
	printf("My program use %d Tick, %f\n", GetTickCount() - begin, ret);

	return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -