1- function change_form (:: Type{LPForm{T, AT}} , lp:: LPForm ) where {T, AT}
2- return LPForm {T, AT} (
1+ function change_form (:: Type{LPForm{T, AT, VT }} , lp:: LPForm ) where {T, AT, VT }
2+ return LPForm {T, AT, VT } (
33 lp. direction,
44 lp. c,
55 lp. A,
@@ -10,8 +10,8 @@ function change_form(::Type{LPForm{T, AT}}, lp::LPForm) where {T, AT}
1010 )
1111end
1212
13- function change_form (:: Type{LPForm{T, AT}} , lp:: LPStandardForm{T} ) where {T, AT}
14- return LPForm {T, AT} (
13+ function change_form (:: Type{LPForm{T, AT, VT }} , lp:: LPStandardForm{T} ) where {T, AT, VT }
14+ return LPForm {T, AT, VT } (
1515 lp. direction,
1616 lp. c,
1717 lp. A,
@@ -21,8 +21,8 @@ function change_form(::Type{LPForm{T, AT}}, lp::LPStandardForm{T}) where {T, AT}
2121 fill (typemax (T), length (lp. c)),
2222 )
2323end
24- function change_form (:: Type{LPForm{T, AT}} , lp:: LPGeometricForm{T} ) where {T, AT}
25- return LPForm {T, AT} (
24+ function change_form (:: Type{LPForm{T, AT, VT }} , lp:: LPGeometricForm{T} ) where {T, AT, VT }
25+ return LPForm {T, AT, VT } (
2626 lp. direction,
2727 lp. c,
2828 lp. A,
@@ -32,7 +32,7 @@ function change_form(::Type{LPForm{T, AT}}, lp::LPGeometricForm{T}) where {T, AT
3232 fill (typemax (T), length (lp. c)),
3333 )
3434end
35- function change_form (:: Type{LPForm{T, AT}} , lp:: LPSolverForm{T} ) where {T, AT}
35+ function change_form (:: Type{LPForm{T, AT, VT }} , lp:: LPSolverForm{T} ) where {T, AT, VT }
3636 c_lb = fill (typemin (T), length (lp. b))
3737 c_ub = fill (typemax (T), length (lp. b))
3838 for i in eachindex (lp. b)
@@ -47,7 +47,7 @@ function change_form(::Type{LPForm{T, AT}}, lp::LPSolverForm{T}) where {T, AT}
4747 error (" invalid sign $(lp. senses[i]) " )
4848 end
4949 end
50- return LPForm {T, AT} (
50+ return LPForm {T, AT, VT } (
5151 lp. direction,
5252 lp. c,
5353 lp. A,
@@ -58,15 +58,15 @@ function change_form(::Type{LPForm{T, AT}}, lp::LPSolverForm{T}) where {T, AT}
5858 )
5959end
6060
61- function change_form (:: Type{LPGeometricForm{T, AT}} , lp:: LPGeometricForm ) where {T, AT}
62- return LPGeometricForm {T, AT} (
61+ function change_form (:: Type{LPGeometricForm{T, AT, VT }} , lp:: LPGeometricForm ) where {T, AT, VT }
62+ return LPGeometricForm {T, AT, VT } (
6363 lp. direction,
6464 lp. c,
6565 lp. A,
6666 lp. b
6767 )
6868end
69- function change_form (:: Type{LPGeometricForm{T, AT}} , lp:: LPForm{T} ) where {T, AT}
69+ function change_form (:: Type{LPGeometricForm{T, AT, VT }} , lp:: LPForm{T} ) where {T, AT, VT }
7070 has_c_upper = Int[]
7171 has_c_lower = Int[]
7272 sizehint! (has_c_upper, length (lp. c_ub))
@@ -104,27 +104,27 @@ function change_form(::Type{LPGeometricForm{T, AT}}, lp::LPForm{T}) where {T, AT
104104 lp. v_ub[has_v_upper],
105105 - lp. v_lb[has_v_lower],
106106 )
107- return LPGeometricForm {T, AT} (
107+ return LPGeometricForm {T, AT, VT } (
108108 lp. direction,
109109 lp. c,
110110 new_A,
111111 new_b
112112 )
113113end
114- function change_form (:: Type{LPGeometricForm{T, AT}} , lp:: F ) where {T, AT, F <: AbstractLPForm{T} }
115- temp_lp = change_form (LPForm{T, AT}, lp)
116- return change_form (LPGeometricForm{T, AT}, temp_lp)
114+ function change_form (:: Type{LPGeometricForm{T, AT, VT }} , lp:: F ) where {T, AT, VT , F <: AbstractLPForm{T} }
115+ temp_lp = change_form (LPForm{T, AT, VT }, lp)
116+ return change_form (LPGeometricForm{T, AT, VT }, temp_lp)
117117end
118118
119- function change_form (:: Type{LPStandardForm{T, AT}} , lp:: LPStandardForm ) where {T, AT}
119+ function change_form (:: Type{LPStandardForm{T, AT, VT }} , lp:: LPStandardForm ) where {T, AT, VT }
120120 return LPStandardForm (
121121 lp. direction,
122122 lp. c,
123123 lp. A,
124124 lp. b
125125 )
126126end
127- function change_form (:: Type{LPStandardForm{T, AT}} , lp:: LPGeometricForm{T} ) where {T, AT}
127+ function change_form (:: Type{LPStandardForm{T, AT, VT }} , lp:: LPGeometricForm{T} ) where {T, AT, VT }
128128 new_A = hcat (
129129 lp. A,
130130 - lp. A,
@@ -135,21 +135,21 @@ function change_form(::Type{LPStandardForm{T, AT}}, lp::LPGeometricForm{T}) wher
135135 - lp. c,
136136 fill (0.0 , length (lp. b))
137137 )
138- return LPStandardForm {T, AT} (
138+ return LPStandardForm {T, AT, VT } (
139139 lp. direction,
140140 new_c,
141141 new_A,
142142 copy (lp. b)
143143 )
144144end
145- function change_form (:: Type{LPStandardForm{T, AT}} , lp:: F ) where {T, AT, F <: AbstractLPForm{T} }
146- temp_lp = change_form (LPForm{T, AT}, lp)
147- new_lp = change_form (LPGeometricForm{T, AT}, temp_lp)
148- change_form (LPStandardForm{T, AT}, new_lp)
145+ function change_form (:: Type{LPStandardForm{T, AT, VT }} , lp:: F ) where {T, AT, VT , F <: AbstractLPForm{T} }
146+ temp_lp = change_form (LPForm{T, AT, VT }, lp)
147+ new_lp = change_form (LPGeometricForm{T, AT, VT }, temp_lp)
148+ change_form (LPStandardForm{T, AT, VT }, new_lp)
149149end
150150
151- function change_form (:: Type{LPSolverForm{T, AT}} , lp:: LPSolverForm ) where {T, AT}
152- return LPSolverForm {T, AT} (
151+ function change_form (:: Type{LPSolverForm{T, AT, VT }} , lp:: LPSolverForm ) where {T, AT, VT }
152+ return LPSolverForm {T, AT, VT } (
153153 lp. direction,
154154 lp. c,
155155 lp. A,
@@ -159,7 +159,7 @@ function change_form(::Type{LPSolverForm{T, AT}}, lp::LPSolverForm) where {T, AT
159159 lp. v_ub
160160 )
161161end
162- function change_form (:: Type{LPSolverForm{T, AT}} , lp:: LPForm{T} ) where {T, AT}
162+ function change_form (:: Type{LPSolverForm{T, AT, VT }} , lp:: LPForm{T} ) where {T, AT, VT }
163163 new_A = copy (lp. A)
164164 senses = fill (LESS_THAN, length (lp. c_lb))
165165 new_b = fill (NaN , length (lp. c_lb))
@@ -181,7 +181,7 @@ function change_form(::Type{LPSolverForm{T, AT}}, lp::LPForm{T}) where {T, AT}
181181 new_b[i] = lp. c_ub[i]
182182 end
183183 end
184- return LPSolverForm {T, AT} (
184+ return LPSolverForm {T, AT, VT } (
185185 lp. direction,
186186 lp. c,
187187 new_A,
@@ -191,7 +191,7 @@ function change_form(::Type{LPSolverForm{T, AT}}, lp::LPForm{T}) where {T, AT}
191191 lp. v_ub,
192192 )
193193end
194- function change_form (:: Type{LPSolverForm{T, AT}} , lp:: F ) where {T, AT, F <: AbstractLPForm{T} }
195- temp_lp = change_form (LPForm{T, AT}, lp)
196- change_form (LPSolverForm{T, AT}, temp_lp)
194+ function change_form (:: Type{LPSolverForm{T, AT, VT }} , lp:: F ) where {T, AT, VT , F <: AbstractLPForm{T} }
195+ temp_lp = change_form (LPForm{T, AT, VT }, lp)
196+ change_form (LPSolverForm{T, AT, VT }, temp_lp)
197197end
0 commit comments