-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathClLinearEquation.java
121 lines (102 loc) · 2.79 KB
/
ClLinearEquation.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
// $Id$
//
// Cassowary Incremental Constraint Solver
// Original Smalltalk Implementation by Alan Borning
// This Java Implementation by Greg J. Badros, <[email protected]>
// http://www.cs.washington.edu/homes/gjb
// (C) 1998, 1999 Greg J. Badros and Alan Borning
// See ../LICENSE for legal details regarding this software
//
// ClLinearEquation
//
package EDU.Washington.grad.gjb.cassowary;
public class ClLinearEquation extends ClLinearConstraint
{
public ClLinearEquation(ClLinearExpression cle,
ClStrength strength,
double weight)
{ super(cle, strength, weight); }
public ClLinearEquation(ClLinearExpression cle,
ClStrength strength)
{ super(cle, strength); }
public ClLinearEquation(ClLinearExpression cle)
{ super(cle); }
public ClLinearEquation(ClAbstractVariable clv,
ClLinearExpression cle,
ClStrength strength,
double weight)
{
super(cle, strength, weight);
_expression.addVariable(clv,-1.0);
}
public ClLinearEquation(ClAbstractVariable clv,
ClLinearExpression cle,
ClStrength strength)
{
this(clv,cle,strength,1.0);
}
public ClLinearEquation(ClAbstractVariable clv,
ClLinearExpression cle)
{
this(clv,cle,ClStrength.required,1.0);
}
public ClLinearEquation(ClAbstractVariable clv,
double val,
ClStrength strength,
double weight)
{
super(new ClLinearExpression(val), strength, weight);
_expression.addVariable(clv,-1.0);
}
public ClLinearEquation(ClAbstractVariable clv,
double val,
ClStrength strength)
{
this(clv,val,strength,1.0);
}
public ClLinearEquation(ClAbstractVariable clv,
double val)
{
this(clv,val,ClStrength.required,1.0);
}
public ClLinearEquation(ClLinearExpression cle,
ClAbstractVariable clv,
ClStrength strength,
double weight)
{
super(((ClLinearExpression) cle.clone()), strength, weight);
_expression.addVariable(clv,-1.0);
}
public ClLinearEquation(ClLinearExpression cle,
ClAbstractVariable clv,
ClStrength strength)
{
this(cle,clv,strength,1.0);
}
public ClLinearEquation(ClLinearExpression cle,
ClAbstractVariable clv)
{
this(cle,clv,ClStrength.required,1.0);
}
public ClLinearEquation(ClLinearExpression cle1,
ClLinearExpression cle2,
ClStrength strength,
double weight)
{
super(((ClLinearExpression) cle1.clone()), strength, weight);
_expression.addExpression(cle2,-1.0);
}
public ClLinearEquation(ClLinearExpression cle1,
ClLinearExpression cle2,
ClStrength strength)
{
this(cle1,cle2,strength,1.0);
}
public ClLinearEquation(ClLinearExpression cle1,
ClLinearExpression cle2)
{
this(cle1,cle2,ClStrength.required,1.0);
}
public String toString()
{ return super.toString() + " = 0 )"; }
}