|
AbstractLinAlgPack: C++ Interfaces For Vectors, Matrices And Related Linear Algebra Objects
Version of the Day
|
00001 // @HEADER 00002 // *********************************************************************** 00003 // 00004 // Moocho: Multi-functional Object-Oriented arCHitecture for Optimization 00005 // Copyright (2003) Sandia Corporation 00006 // 00007 // Under terms of Contract DE-AC04-94AL85000, there is a non-exclusive 00008 // license for use of this work by or on behalf of the U.S. Government. 00009 // 00010 // Redistribution and use in source and binary forms, with or without 00011 // modification, are permitted provided that the following conditions are 00012 // met: 00013 // 00014 // 1. Redistributions of source code must retain the above copyright 00015 // notice, this list of conditions and the following disclaimer. 00016 // 00017 // 2. Redistributions in binary form must reproduce the above copyright 00018 // notice, this list of conditions and the following disclaimer in the 00019 // documentation and/or other materials provided with the distribution. 00020 // 00021 // 3. Neither the name of the Corporation nor the names of the 00022 // contributors may be used to endorse or promote products derived from 00023 // this software without specific prior written permission. 00024 // 00025 // THIS SOFTWARE IS PROVIDED BY SANDIA CORPORATION "AS IS" AND ANY 00026 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 00027 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 00028 // PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SANDIA CORPORATION OR THE 00029 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 00030 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 00031 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 00032 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 00033 // LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 00034 // NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 00035 // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 00036 // 00037 // Questions? Contact Roscoe A. Bartlett (rabartl@sandia.gov) 00038 // 00039 // *********************************************************************** 00040 // @HEADER 00041 00042 #include "Moocho_ConfigDefs.hpp" 00043 00044 00045 #ifdef HAVE_MOOCHO_MA28 00046 00047 00048 #include "AbstractLinAlgPack_MA28CommonBlockEncap.hpp" 00049 00050 using std::cout; 00051 using std::endl; 00052 00053 // ///////////////////////////////////////////////////////////////////////////// 00054 // MA28CommonBlockReferences 00055 00056 MA28_Cpp::MA28CommonBlockReferences& MA28_Cpp::MA28CommonBlockReferences::operator=( 00057 const MA28CommonBlockStorage& ma28cb) 00058 { 00059 ma28ed_ = ma28cb.ma28ed_; 00060 ma28fd_ = ma28cb.ma28fd_; 00061 ma28gd_ = ma28cb.ma28gd_; 00062 ma28hd_ = ma28cb.ma28hd_; 00063 ma30ed_ = ma28cb.ma30ed_; 00064 ma30fd_ = ma28cb.ma30fd_; 00065 ma30gd_ = ma28cb.ma30gd_; 00066 ma30hd_ = ma28cb.ma30hd_; 00067 ma30id_ = ma28cb.ma30id_; 00068 mc23bd_ = ma28cb.mc23bd_; 00069 return *this; 00070 } 00071 00072 00073 void MA28_Cpp::MA28CommonBlockReferences::dump_values(std::ostream& o) { 00074 o << "ma28ed.lp = " << ma28ed_.lp << endl 00075 << "ma28ed.mp = " << ma28ed_.mp << endl 00076 << "ma28ed.lblock = " << ma28ed_.lblock << endl 00077 << "ma28ed.grow = " << ma28ed_.grow << endl 00078 << "ma28fd.eps = " << ma28fd_.eps << endl 00079 << "ma28fd.rmin = " << ma28fd_.rmin << endl 00080 << "ma28fd.resid = " << ma28fd_.resid << endl 00081 << "ma28fd.irncp = " << ma28fd_.irncp << endl 00082 << "ma28fd.icncp = " << ma28fd_.icncp << endl 00083 << "ma28fd.minirn = " << ma28fd_.minirn << endl 00084 << "ma28fd.minicn = " << ma28fd_.minicn << endl 00085 << "ma28fd.abort1 = " << ma28fd_.abort1 << endl 00086 << "ma28fd.abort2 = " << ma28fd_.abort2 << endl 00087 << "ma28gd.idisp[0] = " << ma28gd_.idisp[0] << endl 00088 << "ma28gd.idisp[1] = " << ma28gd_.idisp[1] << endl 00089 << "ma28hd.tol = " << ma28hd_.tol << endl 00090 << "ma28hd.themax = " << ma28hd_.themax << endl 00091 << "ma28hd.big = " << ma28hd_.big << endl 00092 << "ma28hd.dxmax = " << ma28hd_.dxmax << endl 00093 << "ma28hd.errmax = " << ma28hd_.errmax << endl 00094 << "ma28hd.dres = " << ma28hd_.dres << endl 00095 << "ma28hd.cgce = " << ma28hd_.cgce << endl 00096 << "ma28hd.ndrop = " << ma28hd_.ndrop << endl 00097 << "ma28hd.maxit = " << ma28hd_.maxit << endl 00098 << "ma28hd.noiter = " << ma28hd_.noiter << endl 00099 << "ma28hd.nsrch = " << ma28hd_.nsrch << endl 00100 << "ma28hd.istart = " << ma28hd_.istart << endl 00101 << "ma28hd.lbig = " << ma28hd_.lbig << endl 00102 << "ma30ed.lp = " << ma30ed_.lp << endl 00103 << "ma30ed.abort1 = " << ma30ed_.abort1 << endl 00104 << "ma30ed.abort2 = " << ma30ed_.abort2 << endl 00105 << "ma30ed.abort3 = " << ma30ed_.abort3 << endl 00106 << "ma30fd.irncp = " << ma30fd_.irncp << endl 00107 << "ma30fd.icncp = " << ma30fd_.icncp << endl 00108 << "ma30fd.irank = " << ma30fd_.irank << endl 00109 << "ma30fd.minirn = " << ma30fd_.minirn << endl 00110 << "ma30fd.minicn = " << ma30fd_.minicn << endl 00111 << "ma30gd.eps = " << ma30gd_.eps << endl 00112 << "ma30gd.rmin = " << ma30gd_.rmin << endl 00113 << "ma30hd.resid = " << ma30hd_.resid << endl 00114 << "ma30id.tol = " << ma30id_.tol << endl 00115 << "ma30id.big = " << ma30id_.big << endl 00116 << "ma30id.ndrop = " << ma30id_.ndrop << endl 00117 << "ma30id.nsrch = " << ma30id_.nsrch << endl 00118 << "ma30id.lbig = " << ma30id_.lbig << endl; 00119 } 00120 00121 // ///////////////////////////////////////////////////////////////////////////// 00122 // MA28CommonBlockStorage 00123 00124 MA28_Cpp::MA28CommonBlockStorage& MA28_Cpp::MA28CommonBlockStorage::operator=( 00125 const MA28CommonBlockReferences& ma28cb) 00126 { 00127 ma28ed_ = ma28cb.ma28ed_; 00128 ma28fd_ = ma28cb.ma28fd_; 00129 ma28gd_ = ma28cb.ma28gd_; 00130 ma28hd_ = ma28cb.ma28hd_; 00131 ma30ed_ = ma28cb.ma30ed_; 00132 ma30fd_ = ma28cb.ma30fd_; 00133 ma30gd_ = ma28cb.ma30gd_; 00134 ma30hd_ = ma28cb.ma30hd_; 00135 ma30id_ = ma28cb.ma30id_; 00136 mc23bd_ = ma28cb.mc23bd_; 00137 return *this; 00138 } 00139 00140 void MA28_Cpp::MA28CommonBlockStorage::dump_values(std::ostream& o) { 00141 o << "ma28ed.lp = " << ma28ed_.lp << endl 00142 << "ma28ed.mp = " << ma28ed_.mp << endl 00143 << "ma28ed.lblock = " << ma28ed_.lblock << endl 00144 << "ma28ed.grow = " << ma28ed_.grow << endl 00145 << "ma28fd.eps = " << ma28fd_.eps << endl 00146 << "ma28fd.rmin = " << ma28fd_.rmin << endl 00147 << "ma28fd.resid = " << ma28fd_.resid << endl 00148 << "ma28fd.irncp = " << ma28fd_.irncp << endl 00149 << "ma28fd.icncp = " << ma28fd_.icncp << endl 00150 << "ma28fd.minirn = " << ma28fd_.minirn << endl 00151 << "ma28fd.minicn = " << ma28fd_.minicn << endl 00152 << "ma28fd.abort1 = " << ma28fd_.abort1 << endl 00153 << "ma28fd.abort2 = " << ma28fd_.abort2 << endl 00154 << "ma28gd.idisp[0] = " << ma28gd_.idisp[0] << endl 00155 << "ma28gd.idisp[1] = " << ma28gd_.idisp[1] << endl 00156 << "ma28hd.tol = " << ma28hd_.tol << endl 00157 << "ma28hd.themax = " << ma28hd_.themax << endl 00158 << "ma28hd.big = " << ma28hd_.big << endl 00159 << "ma28hd.dxmax = " << ma28hd_.dxmax << endl 00160 << "ma28hd.errmax = " << ma28hd_.errmax << endl 00161 << "ma28hd.dres = " << ma28hd_.dres << endl 00162 << "ma28hd.cgce = " << ma28hd_.cgce << endl 00163 << "ma28hd.ndrop = " << ma28hd_.ndrop << endl 00164 << "ma28hd.maxit = " << ma28hd_.maxit << endl 00165 << "ma28hd.noiter = " << ma28hd_.noiter << endl 00166 << "ma28hd.nsrch = " << ma28hd_.nsrch << endl 00167 << "ma28hd.istart = " << ma28hd_.istart << endl 00168 << "ma28hd.lbig = " << ma28hd_.lbig << endl 00169 << "ma30ed.lp = " << ma30ed_.lp << endl 00170 << "ma30ed.abort1 = " << ma30ed_.abort1 << endl 00171 << "ma30ed.abort2 = " << ma30ed_.abort2 << endl 00172 << "ma30ed.abort3 = " << ma30ed_.abort3 << endl 00173 << "ma30fd.irncp = " << ma30fd_.irncp << endl 00174 << "ma30fd.icncp = " << ma30fd_.icncp << endl 00175 << "ma30fd.irank = " << ma30fd_.irank << endl 00176 << "ma30fd.minirn = " << ma30fd_.minirn << endl 00177 << "ma30fd.minicn = " << ma30fd_.minicn << endl 00178 << "ma30gd.eps = " << ma30gd_.eps << endl 00179 << "ma30gd.rmin = " << ma30gd_.rmin << endl 00180 << "ma30hd.resid = " << ma30hd_.resid << endl 00181 << "ma30id.tol = " << ma30id_.tol << endl 00182 << "ma30id.big = " << ma30id_.big << endl 00183 << "ma30id.ndrop = " << ma30id_.ndrop << endl 00184 << "ma30id.nsrch = " << ma30id_.nsrch << endl 00185 << "ma30id.lbig = " << ma30id_.lbig << endl; 00186 } 00187 00188 00189 #endif // HAVE_MOOCHO_MA28
1.7.6.1