📄 test.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 + -