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

📄 test.cpp

📁 支持简单的公式推导
💻 CPP
字号:
#include "stdafx.h"

#include "test.h"

void TestCluster()
{
   
   
   Node pi(2);
   Node y("zero");
   Node x("xray");
   Cluster c1(45);
     
   c1.Mul(y);
   c1.Mul(x);
   c1.Mul(x);
   c1.Mul(x);
   c1.Mul(x);
   c1.Div(y);
   c1.Mul(1);
  // cout<<c1.expression_<<endl;
   cout<<c1.node_map_.size()<<"size"<<endl;
//   cout<<c1.GetFactor();
   
}


#define _b(k) (Block)(k)
 
void TestBlock()
{
   
   
   Block b;
   b =_b(4) + _b(6);
   Block c = _b(4) - _b(6);
   b = b * c * _b("xor") ; 
   cout<<b.GetExpression();
 
   
}
/*#define _DefineBPoint_(A) BPoint A(_b(#A"x") * _b(#A"z"),\
		     _b(#A"y") * _b(#A"z"),\
			 _b(#A"z"))*/
//#define _P(A) #A
void TestBPoint()
{
	BPoint A(_b("Ax") * _b("Az"),
		     _b("Ay") * _b("Az"),
			 _b("Az"));
	BPoint B(_b("Bx") * _b("Bz"),
		     _b("By") * _b("Bz"),
			 _b("Bz"));
	Block Az_Bz_E0        = SquDistance(A,B) - _b("dis_AB") * _b("dis_AB");//==0
	vector<Block> Az_Sort = AssignFactor(Az_Bz_E0,_b("Az"));
	for (int i = 0;i < Az_Sort.size(); ++i)
	   cout<<i<<":  "<<Az_Sort[i].GetExpression()<<endl;
	
	//Block newton = _b(0) - vb[2] * _b("Az") * _b("Az") - vb[0];
	//cout<<"Az = "<<newton.GetExpression()<<endl;
	Block Bz_Fix_Del = Delta(Az_Sort);
	cout<<Bz_Fix_Del.GetExpression()<<endl;
	vector<Block> Bz_Fix_Sort = AssignFactor(Bz_Fix_Del,_b("Bz"));
	for (int j = 0;j < Bz_Fix_Sort.size(); ++j)
	   cout<<j<<":  "<<Bz_Fix_Sort[j].GetExpression()<<endl;
}
void TestAssignFactor()
{  
   Block b("x");
   b.Mul(string("y"));
   b  = b + _b("z");
   b.ReplaceByConst("y",5);
   b.ReplaceByConst("x",0);
   b.ReplaceByConst("z",56);

   //cout<<b.GetResult()<<endl;
   
   //cout<<b.IsConst()<<endl;
   cout<<b.GetExpression()<<endl;
   cout<<b.GetSingleValue()<<endl;
   cout<<b.IsConst()<<endl;
}
void TestPower()
{
/*
	Cluster c(5);
    Cluster d("y");
	d.Mul(5);
	d.PowerBy(-2);
	cout<<d.GetExpression()<<endl;
	Block x;
	x.Add(d);
    cout<<d.GetExpression()<<endl;
*/
/*    Cluster c("x");
	c.Mul(0.5);
	cout<<c.GetExpression();
	Block b(c);
	//b.Add(c);
	cout<<b.GetExpression();*/
    Block b("x");
	b = b + 1;
	b.PowerBy(0.5);
	b.Add(9);
	b.PowerBy(0.5);
	b.PowerBy(2);
	b.Sub(9);
    b.PowerBy(2);
	b = b - 1;
	cout<<b.GetExpression()<<endl;
	

}
typedef pair<Block,Block> Root;
void TestRoot2()
{
	//Block euq;
	vector<Block> e;
	e.resize(3);
	
    e[0] = _b(3);
    e[1] = _b(4);
	e[2] = _b(1);
	//cout<<pow(-4,0.5);
	Block del = Delta(e);
	Root r = Root_2(e);
	cout<<"x1 = "<<r.first.GetExpression()<<endl;
	cout<<"x2 = "<<r.second.GetExpression()<<endl;
}

⌨️ 快捷键说明

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