freebsd-ports/editors/MathPlanner/files/patch-Math_functions.cpp
Kirill Ponomarev 89e9beac74 Fix build on 4-stable
Fix pkg-plist

PR:		ports/71875
Submitted by:	Ports Fury
2004-10-12 09:51:53 +00:00

215 lines
8.4 KiB
C++

--- src/Math_functions.cpp.orig Sun Dec 8 05:04:06 2002
+++ src/Math_functions.cpp Sun Sep 12 01:04:56 2004
@@ -15,9 +15,9 @@
math_node mpl_neg(math_node a)
{
- if (a.type==MN_REAL) a.R=-a.R;
- if (a.type==MN_COMPLEX) a.R=-a.R, a.I=-a.I;
- if (a.type==MN_VECTOR) a.I=-a.I, a.J=-a.J, a.K=-a.K;
+ if (a.type==MN_REAL) a.mpl.m.R=-a.mpl.m.R;
+ if (a.type==MN_COMPLEX) a.mpl.m.R=-a.mpl.m.R, a.mpl.m.I=-a.mpl.m.I;
+ if (a.type==MN_VECTOR) a.mpl.m.I=-a.mpl.m.I, a.mpl.m.J=-a.mpl.m.J, a.mpl.m.K=-a.mpl.m.K;
return(a);
}
@@ -28,17 +28,17 @@
ans.type=MN_NULL;
if (a.type==MN_REAL) {
- if (b.type==MN_REAL) ans.R=a.R+b.R, ans.type=MN_REAL;
- else if (b.type==MN_COMPLEX) ans.R=a.R+b.R, ans.I=b.I, ans.type=MN_COMPLEX;
+ if (b.type==MN_REAL) ans.mpl.m.R=a.mpl.m.R+b.mpl.m.R, ans.type=MN_REAL;
+ else if (b.type==MN_COMPLEX) ans.mpl.m.R=a.mpl.m.R+b.mpl.m.R, ans.mpl.m.I=b.mpl.m.I, ans.type=MN_COMPLEX;
}
else
if (a.type==MN_COMPLEX) {
- if (b.type==MN_REAL) ans.R=a.R+b.R, ans.I=a.I, ans.type=MN_COMPLEX;
- else if (b.type==MN_COMPLEX) ans.R=a.R+b.R, ans.I=a.I+b.I, ans.type=MN_COMPLEX;
+ if (b.type==MN_REAL) ans.mpl.m.R=a.mpl.m.R+b.mpl.m.R, ans.mpl.m.I=a.mpl.m.I, ans.type=MN_COMPLEX;
+ else if (b.type==MN_COMPLEX) ans.mpl.m.R=a.mpl.m.R+b.mpl.m.R, ans.mpl.m.I=a.mpl.m.I+b.mpl.m.I, ans.type=MN_COMPLEX;
}
else
if (a.type==MN_VECTOR) {
- if (b.type==MN_VECTOR) ans.I=a.I+b.I, ans.J=a.J+b.J, ans.K=a.K+b.K, ans.type=MN_VECTOR;
+ if (b.type==MN_VECTOR) ans.mpl.m.I=a.mpl.m.I+b.mpl.m.I, ans.mpl.m.J=a.mpl.m.J+b.mpl.m.J, ans.mpl.m.K=a.mpl.m.K+b.mpl.m.K, ans.type=MN_VECTOR;
}
return(ans);
@@ -51,17 +51,17 @@
ans.type=MN_NULL;
if (a.type==MN_REAL) {
- if (b.type==MN_REAL) ans.R=a.R-b.R, ans.type=MN_REAL;
- else if (b.type==MN_COMPLEX) ans.R=a.R-b.R, ans.I=0-b.I, ans.type=MN_COMPLEX;
+ if (b.type==MN_REAL) ans.mpl.m.R=a.mpl.m.R-b.mpl.m.R, ans.type=MN_REAL;
+ else if (b.type==MN_COMPLEX) ans.mpl.m.R=a.mpl.m.R-b.mpl.m.R, ans.mpl.m.I=0-b.mpl.m.I, ans.type=MN_COMPLEX;
}
else
if (a.type==MN_COMPLEX) {
- if (b.type==MN_REAL) ans.R=a.R-b.R, ans.I=a.I, ans.type=MN_COMPLEX;
- else if (b.type==MN_COMPLEX) ans.R=a.R-b.R, ans.I=a.I-b.I, ans.type=MN_COMPLEX;
+ if (b.type==MN_REAL) ans.mpl.m.R=a.mpl.m.R-b.mpl.m.R, ans.mpl.m.I=a.mpl.m.I, ans.type=MN_COMPLEX;
+ else if (b.type==MN_COMPLEX) ans.mpl.m.R=a.mpl.m.R-b.mpl.m.R, ans.mpl.m.I=a.mpl.m.I-b.mpl.m.I, ans.type=MN_COMPLEX;
}
else
if (a.type==MN_VECTOR) {
- if (b.type==MN_VECTOR) ans.I=a.I-b.I, ans.J=a.J-b.J, ans.K=a.K-b.K, ans.type=MN_VECTOR;
+ if (b.type==MN_VECTOR) ans.mpl.m.I=a.mpl.m.I-b.mpl.m.I, ans.mpl.m.J=a.mpl.m.J-b.mpl.m.J, ans.mpl.m.K=a.mpl.m.K-b.mpl.m.K, ans.type=MN_VECTOR;
}
return(ans);
@@ -73,19 +73,19 @@
ans.type=MN_NULL;
if (a.type==MN_REAL) {
- if (b.type==MN_REAL) ans.R=a.R*b.R, ans.type=MN_REAL;
- else if (b.type==MN_COMPLEX) ans.R=a.R*b.R, ans.I=a.R*b.I, ans.type=MN_COMPLEX;
- else if (b.type==MN_VECTOR) ans.I=a.R*b.I, ans.J=a.R*b.J, ans.K=a.R*b.K, ans.type=MN_VECTOR;
+ if (b.type==MN_REAL) ans.mpl.m.R=a.mpl.m.R*b.mpl.m.R, ans.type=MN_REAL;
+ else if (b.type==MN_COMPLEX) ans.mpl.m.R=a.mpl.m.R*b.mpl.m.R, ans.mpl.m.I=a.mpl.m.R*b.mpl.m.I, ans.type=MN_COMPLEX;
+ else if (b.type==MN_VECTOR) ans.mpl.m.I=a.mpl.m.R*b.mpl.m.I, ans.mpl.m.J=a.mpl.m.R*b.mpl.m.J, ans.mpl.m.K=a.mpl.m.R*b.mpl.m.K, ans.type=MN_VECTOR;
}
else
if (a.type==MN_COMPLEX) {
- if (b.type==MN_REAL) ans.R=a.R*b.R, ans.I=a.I*b.R, ans.type=MN_COMPLEX;
- else if (b.type==MN_COMPLEX) ans.R=a.R*b.R-a.I*b.I, ans.I=a.R*b.I+a.I*b.R, ans.type=MN_COMPLEX;
+ if (b.type==MN_REAL) ans.mpl.m.R=a.mpl.m.R*b.mpl.m.R, ans.mpl.m.I=a.mpl.m.I*b.mpl.m.R, ans.type=MN_COMPLEX;
+ else if (b.type==MN_COMPLEX) ans.mpl.m.R=a.mpl.m.R*b.mpl.m.R-a.mpl.m.I*b.mpl.m.I, ans.mpl.m.I=a.mpl.m.R*b.mpl.m.I+a.mpl.m.I*b.mpl.m.R, ans.type=MN_COMPLEX;
}
else
if (a.type==MN_VECTOR) { // Dot product
- if (b.type==MN_VECTOR) ans.R=a.I*b.I+a.J*b.J+a.K*b.K, ans.type=MN_REAL;
- else if (b.type==MN_REAL) ans.I=a.I*b.R, ans.J=a.J*b.R, ans.K=a.K*b.R, ans.type=MN_VECTOR;
+ if (b.type==MN_VECTOR) ans.mpl.m.R=a.mpl.m.I*b.mpl.m.I+a.mpl.m.J*b.mpl.m.J+a.mpl.m.K*b.mpl.m.K, ans.type=MN_REAL;
+ else if (b.type==MN_REAL) ans.mpl.m.I=a.mpl.m.I*b.mpl.m.R, ans.mpl.m.J=a.mpl.m.J*b.mpl.m.R, ans.mpl.m.K=a.mpl.m.K*b.mpl.m.R, ans.type=MN_VECTOR;
}
return(ans);
@@ -99,19 +99,19 @@
ans.type=MN_NULL;
if (a.type==MN_REAL) {
- if (b.type==MN_REAL) ans.R=a.R/b.R, ans.type=MN_REAL; // ok
- else if (b.type==MN_COMPLEX) { opz=mpl_opz(b.Complex()); ans.R=a.R*opz.R, ans.I=a.R*opz.I, ans.type=MN_COMPLEX; }
- else if (b.type==MN_VECTOR) ans.I=a.R/b.I, ans.J=a.R/b.J, ans.K=a.R/b.K, ans.type=MN_VECTOR;
+ if (b.type==MN_REAL) ans.mpl.m.R=a.mpl.m.R/b.mpl.m.R, ans.type=MN_REAL; // ok
+ else if (b.type==MN_COMPLEX) { opz=mpl_opz(b.Complex()); ans.mpl.m.R=a.mpl.m.R*opz.mpl.m.R, ans.mpl.m.I=a.mpl.m.R*opz.mpl.m.I, ans.type=MN_COMPLEX; }
+ else if (b.type==MN_VECTOR) ans.mpl.m.I=a.mpl.m.R/b.mpl.m.I, ans.mpl.m.J=a.mpl.m.R/b.mpl.m.J, ans.mpl.m.K=a.mpl.m.R/b.mpl.m.K, ans.type=MN_VECTOR;
}
else
if (a.type==MN_COMPLEX) {
- if (b.type==MN_REAL) ans.R=a.R*(1/b.R), ans.I=a.I*(1/b.R), ans.type=MN_COMPLEX;
- else if (b.type==MN_COMPLEX) { opz=mpl_opz(b.Complex()); ans.R=a.R*opz.R-a.I*opz.I, ans.I=a.R*opz.I+a.I*opz.R, ans.type=MN_COMPLEX; }
+ if (b.type==MN_REAL) ans.mpl.m.R=a.mpl.m.R*(1/b.mpl.m.R), ans.mpl.m.I=a.mpl.m.I*(1/b.mpl.m.R), ans.type=MN_COMPLEX;
+ else if (b.type==MN_COMPLEX) { opz=mpl_opz(b.Complex()); ans.mpl.m.R=a.mpl.m.R*opz.mpl.m.R-a.mpl.m.I*opz.mpl.m.I, ans.mpl.m.I=a.mpl.m.R*opz.mpl.m.I+a.mpl.m.I*opz.mpl.m.R, ans.type=MN_COMPLEX; }
}
else
if (a.type==MN_VECTOR) {
- if (b.type==MN_VECTOR) ans.I=a.I/b.I, ans.J=a.J/b.J, ans.K=a.K/b.K, ans.type=MN_VECTOR;
- else if (b.type==MN_REAL) ans.I=a.I/b.R, ans.J=a.J/b.R, ans.K=a.K/b.R, ans.type=MN_VECTOR;
+ if (b.type==MN_VECTOR) ans.mpl.m.I=a.mpl.m.I/b.mpl.m.I, ans.mpl.m.J=a.mpl.m.J/b.mpl.m.J, ans.mpl.m.K=a.mpl.m.K/b.mpl.m.K, ans.type=MN_VECTOR;
+ else if (b.type==MN_REAL) ans.mpl.m.I=a.mpl.m.I/b.mpl.m.R, ans.mpl.m.J=a.mpl.m.J/b.mpl.m.R, ans.mpl.m.K=a.mpl.m.K/b.mpl.m.R, ans.type=MN_VECTOR;
}
return(ans);
@@ -135,28 +135,28 @@
math_node::math_node(mpl_real r)
{
-real=r;
+mpl.real=r;
type=MN_REAL;
}
math_node::math_node(mpl_complex z)
{
-complex=z;
+mpl.complex=z;
type=MN_COMPLEX;
}
math_node::math_node(mpl_rational r)
{
-rational=r;
+mpl.rational=r;
type=MN_RATIONAL;
}
math_node::math_node(mpl_vector v)
{
-vector=v;
+mpl.vector=v;
type=MN_VECTOR;
}
@@ -166,7 +166,7 @@
void math_node::Clear()
{
-R=I=K=J=0.0;
+mpl.m.R=mpl.m.I=mpl.m.K=mpl.m.J=0.0;
type=MN_REAL;
}
@@ -180,48 +180,48 @@
void math_node::SetReal(mpl_real x)
{
-real=x;
+mpl.real=x;
type=MN_REAL;
}
void math_node::SetComplex(mpl_complex z)
{
-complex=z;
+mpl.complex=z;
type=MN_COMPLEX;
}
void math_node::SetRational(mpl_rational r)
{
-rational=r;
+mpl.rational=r;
type=MN_RATIONAL;
}
mpl_real math_node::Real()
{
- if (type==MN_RATIONAL) return(R/I);
- return(real);
+ if (type==MN_RATIONAL) return(mpl.m.R/mpl.m.I);
+ return(mpl.real);
}
mpl_complex math_node::Complex()
{
- if (type==MN_REAL) complex.i=0;
- return(complex);
+ if (type==MN_REAL) mpl.complex.i=0;
+ return(mpl.complex);
}
mpl_rational math_node::Rational()
{
- return(rational);
+ return(mpl.rational);
}
mpl_vector math_node::Vector()
{
- return(vector);
+ return(mpl.vector);
}