|
EpetraExt Development
|
00001 /* 00002 //@HEADER 00003 // *********************************************************************** 00004 // 00005 // EpetraExt: Epetra Extended - Linear Algebra Services Package 00006 // Copyright (2011) Sandia Corporation 00007 // 00008 // Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, 00009 // the U.S. Government retains certain rights in this software. 00010 // 00011 // Redistribution and use in source and binary forms, with or without 00012 // modification, are permitted provided that the following conditions are 00013 // met: 00014 // 00015 // 1. Redistributions of source code must retain the above copyright 00016 // notice, this list of conditions and the following disclaimer. 00017 // 00018 // 2. Redistributions in binary form must reproduce the above copyright 00019 // notice, this list of conditions and the following disclaimer in the 00020 // documentation and/or other materials provided with the distribution. 00021 // 00022 // 3. Neither the name of the Corporation nor the names of the 00023 // contributors may be used to endorse or promote products derived from 00024 // this software without specific prior written permission. 00025 // 00026 // THIS SOFTWARE IS PROVIDED BY SANDIA CORPORATION "AS IS" AND ANY 00027 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 00028 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 00029 // PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SANDIA CORPORATION OR THE 00030 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 00031 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 00032 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 00033 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 00034 // LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 00035 // NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 00036 // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 00037 // 00038 // Questions? Contact Michael A. Heroux (maherou@sandia.gov) 00039 // 00040 // *********************************************************************** 00041 //@HEADER 00042 */ 00043 00044 //------------------------------------------------------------------------- 00045 // Filename : $Zoltan_QueryObject.C$ 00046 // 00047 // Purpose : Base Class for dynamic versions of query 00048 // functions to be used by Zoltan. The application 00049 // requires a class derived from this base to 00050 // be instantiated and registered with the 00051 // Zoltan_LoadBalance object. 00052 // 00053 // Special Notes : 00054 // 00055 // Creator : Robert J. Hoekstra 00056 // 00057 // Creation Date : 08/04/2000 00058 // 00059 // Revision Information: 00060 // --------------------- 00061 // 00062 // Revision Number: $Revision$ 00063 // 00064 // Revision Date : $Date$ 00065 // 00066 // Current Owner : $Author$ 00067 //------------------------------------------------------------------------- 00068 00069 #include <Zoltan_QueryObject.h> 00070 00071 //General Functions 00072 EPETRAEXT_DEPRECATED 00073 int Zoltan::QueryObject::Number_Objects ( void * data, 00074 int * ierr ) 00075 { 00076 std::cout << "Error: Zoltan::QueryObject::Number_Objects( void *, " 00077 << "int * ) must be implemented." << std::endl; 00078 00079 *ierr = ZOLTAN_FATAL; 00080 00081 return 0; 00082 } 00083 00084 EPETRAEXT_DEPRECATED 00085 void Zoltan::QueryObject::Object_List ( void * data, 00086 int num_gid_entries, 00087 int num_lid_entries, 00088 ZOLTAN_ID_PTR global_ids, 00089 ZOLTAN_ID_PTR local_ids, 00090 int weight_dim, 00091 float * object_weights, 00092 int * ierr ) 00093 { 00094 std::cout << "Error: Zoltan::QueryObject::Object_List( void *, int, int, " 00095 << "ZOLTAN_ID_PTR, ZOLTAN_ID_PTR, int, float *, int * ) must be implemented." 00096 << std::endl; 00097 00098 *ierr = ZOLTAN_FATAL; 00099 } 00100 00101 EPETRAEXT_DEPRECATED 00102 int Zoltan::QueryObject::First_Object ( void * data, 00103 int num_gid_entries, 00104 int num_lid_entries, 00105 ZOLTAN_ID_PTR first_global_id, 00106 ZOLTAN_ID_PTR first_local_id, 00107 int weight_dim, 00108 float * first_weight, 00109 int * ierr ) 00110 { 00111 std::cout << "Error: Zoltan::QueryObject::First_Object( void *, int, int, " 00112 << "ZOLTAN_ID_PTR, ZOLTAN_ID_PTR, int, float *, int * ) must be implemented." 00113 << std::endl; 00114 00115 *ierr = ZOLTAN_FATAL; 00116 00117 return 0; 00118 } 00119 00120 EPETRAEXT_DEPRECATED 00121 int Zoltan::QueryObject::Next_Object ( void * data, 00122 int num_gid_entries, 00123 int num_lid_entries, 00124 ZOLTAN_ID_PTR global_id, 00125 ZOLTAN_ID_PTR local_id, 00126 ZOLTAN_ID_PTR next_global_id, 00127 ZOLTAN_ID_PTR next_local_id, 00128 int weight_dim, 00129 float * next_weight, 00130 int * ierr ) 00131 { 00132 std::cout << "Error: Zoltan::QueryObject::Next_Object( void *, int, int, " 00133 << "ZOLTAN_ID_PTR, ZOLTAN_ID_PTR, ZOLTAN_ID_PTR, ZOLTAN_ID_PTR, int, float *, int * ) " 00134 << "must be implemented." 00135 << std::endl; 00136 00137 *ierr = ZOLTAN_FATAL; 00138 00139 return 0; 00140 } 00141 00142 EPETRAEXT_DEPRECATED 00143 int Zoltan::QueryObject::Number_Border_Objects ( void * data, 00144 int number_neighbor_procs, 00145 int * ierr ) 00146 { 00147 std::cout << "Error: Zoltan::QueryObject::Number_Border_Objects( void *, " 00148 << "int, int * ) must be implemented." 00149 << std::endl; 00150 00151 *ierr = ZOLTAN_FATAL; 00152 00153 return 0; 00154 } 00155 00156 EPETRAEXT_DEPRECATED 00157 void Zoltan::QueryObject::Border_Object_List ( void * data, 00158 int num_gid_entities, 00159 int num_lid_entities, 00160 int number_neighbor_procs, 00161 ZOLTAN_ID_PTR global_ids, 00162 ZOLTAN_ID_PTR local_ids, 00163 int weight_dim, 00164 float * object_weights, 00165 int * ierr ) 00166 { 00167 std::cout << "Error: Zoltan::QueryObject::Border_Object_List( void *, int, " 00168 << "int, int, ZOLTAN_ID_PTR, ZOLTAN_ID_PTR, int, float *, int * ) must be " 00169 << "implemented." << std::endl; 00170 00171 *ierr = ZOLTAN_FATAL; 00172 } 00173 00174 EPETRAEXT_DEPRECATED 00175 int Zoltan::QueryObject::First_Border_Object ( void * data, 00176 int num_gid_entities, 00177 int num_lid_entities, 00178 int number_neighbor_procs, 00179 ZOLTAN_ID_PTR first_global_id, 00180 ZOLTAN_ID_PTR first_local_id, 00181 int weight_dim, 00182 float * first_weight, 00183 int * ierr ) 00184 { 00185 std::cout << "Error: Zoltan::QueryObject::First_Border_Object( void *, " 00186 << "int, int, int, ZOLTAN_ID_PTR, ZOLTAN_ID_PTR, int, float *, int * ) must be " 00187 << "implemented." << std::endl; 00188 00189 *ierr = ZOLTAN_FATAL; 00190 00191 return 0; 00192 } 00193 00194 EPETRAEXT_DEPRECATED 00195 int Zoltan::QueryObject::Next_Border_Object ( void * data, 00196 int num_gid_entities, 00197 int num_lid_entities, 00198 ZOLTAN_ID_PTR global_id, 00199 ZOLTAN_ID_PTR local_id, 00200 int number_neighbor_procs, 00201 ZOLTAN_ID_PTR next_global_id, 00202 ZOLTAN_ID_PTR next_local_id, 00203 int weight_dim, 00204 float * next_weight, 00205 int * ierr ) 00206 { 00207 std::cout << "Error: Zoltan::QueryObject::Next_Border_Object( void *, " 00208 << "int, int, ZOLTAN_ID_PTR, ZOLTAN_ID_PTR, int, ZOLTAN_GID *, ZOLTAN_LID *, int, " 00209 << "float *, int * ) must be " 00210 << "implemented." << std::endl; 00211 00212 *ierr = ZOLTAN_FATAL; 00213 00214 return 0; 00215 } 00216 00217 //Geometry Based Functions 00218 EPETRAEXT_DEPRECATED 00219 int Zoltan::QueryObject::Number_Geometry_Objects ( void * data, 00220 int * ierr ) 00221 { 00222 std::cout << "Error: Zoltan::QueryObject::Number_Geometry_Objects( void *, " 00223 << "int * ) must be implemented." << std::endl; 00224 00225 *ierr = ZOLTAN_FATAL; 00226 00227 return 0; 00228 } 00229 00230 EPETRAEXT_DEPRECATED 00231 void Zoltan::QueryObject::Geometry_Values ( void * data, 00232 int num_gid_entities, 00233 int num_lid_entities, 00234 ZOLTAN_ID_PTR global_id, 00235 ZOLTAN_ID_PTR local_id, 00236 double * geometry_vector, 00237 int * ierr ) 00238 { 00239 std::cout << "Error: Zoltan::QueryObject::Geometry_Values( void *, int, int, " 00240 << "ZOLTAN_ID_PTR, ZOLTAN_ID_PTR, double *, int * ) must be implemented." 00241 << std::endl; 00242 00243 *ierr = ZOLTAN_FATAL; 00244 } 00245 00246 //Graph Based Functions 00247 EPETRAEXT_DEPRECATED 00248 int Zoltan::QueryObject::Number_Edges ( void * data, 00249 int num_gid_entities, 00250 int num_lid_entities, 00251 ZOLTAN_ID_PTR global_id, 00252 ZOLTAN_ID_PTR local_id, 00253 int * ierr ) 00254 { 00255 std::cout << "Error: Zoltan::QueryObject::Number_Edges( void *, int, int, " 00256 << "ZOLTAN_ID_PTR, ZOLTAN_ID_PTR, int * ) must be implemented." 00257 << std::endl; 00258 00259 *ierr = ZOLTAN_FATAL; 00260 00261 return 0; 00262 } 00263 00264 EPETRAEXT_DEPRECATED 00265 void Zoltan::QueryObject::Edge_List ( void * data, 00266 int num_gid_entities, 00267 int num_lid_entities, 00268 ZOLTAN_ID_PTR global_id, 00269 ZOLTAN_ID_PTR local_id, 00270 ZOLTAN_ID_PTR neighbor_global_ids, 00271 int * neighbor_procs, 00272 int weight_dim, 00273 float * edge_weights, 00274 int * ierr ) 00275 { 00276 std::cout << "Error: Zoltan::QueryObject::Edge_List( void *, int, int, " 00277 << "ZOLTAN_ID_PTR, ZOLTAN_ID_PTR, ZOLTAN_ID_PTR, int, float *, int * ) " 00278 << "must be implemented." 00279 << std::endl; 00280 00281 *ierr = ZOLTAN_FATAL; 00282 } 00283 00284 //Tree Based Functions 00285 EPETRAEXT_DEPRECATED 00286 int Zoltan::QueryObject::Number_Coarse_Objects ( void * data, 00287 int * ierr ) 00288 { 00289 std::cout << "Error: Zoltan::QueryObject::Number_Coarse_Objects( void *, " 00290 << "int * ) must be implemented." << std::endl; 00291 00292 *ierr = ZOLTAN_FATAL; 00293 00294 return 0; 00295 } 00296 00297 EPETRAEXT_DEPRECATED 00298 void Zoltan::QueryObject::Coarse_Object_List ( void * data, 00299 int num_gid_entities, 00300 int num_lid_entities, 00301 ZOLTAN_ID_PTR global_ids, 00302 ZOLTAN_ID_PTR local_ids, 00303 int * assigned, 00304 int * number_vertices, 00305 ZOLTAN_ID_PTR vertices, 00306 int * in_order, 00307 ZOLTAN_ID_PTR in_vertex, 00308 ZOLTAN_ID_PTR out_vertex, 00309 int * ierr ) 00310 { 00311 std::cout << "Error: Zoltan::QueryObject::Coarse_Object_List( void *, " 00312 << "int, int, ZOLTAN_ID_PTR, ZOLTAN_ID_PTR, int *, int *, int *, int *, " 00313 << "int *, int * ) " 00314 << "must be implemented." << std::endl; 00315 00316 *ierr = ZOLTAN_FATAL; 00317 } 00318 00319 EPETRAEXT_DEPRECATED 00320 int Zoltan::QueryObject::First_Coarse_Object ( void * data, 00321 int num_gid_entities, 00322 int num_lid_entities, 00323 ZOLTAN_ID_PTR first_global_id, 00324 ZOLTAN_ID_PTR first_local_id, 00325 int * assigned, 00326 int * number_vertices, 00327 ZOLTAN_ID_PTR vertices, 00328 int * in_order, 00329 ZOLTAN_ID_PTR in_vertex, 00330 ZOLTAN_ID_PTR out_vertex, 00331 int * ierr ) 00332 { 00333 std::cout << "Error: Zoltan::QueryObject::First_Coarse_Object( void *, " 00334 << "int, int, ZOLTAN_ID_PTR, ZOLTAN_ID_PTR, int *, int *, int *, int *, " 00335 << "int *, int * ) " 00336 << "must be implemented." << std::endl; 00337 00338 *ierr = ZOLTAN_FATAL; 00339 00340 return 0; 00341 } 00342 00343 EPETRAEXT_DEPRECATED 00344 int Zoltan::QueryObject::Next_Coarse_Object ( void * data, 00345 int num_gid_entities, 00346 int num_lid_entities, 00347 ZOLTAN_ID_PTR global_id, 00348 ZOLTAN_ID_PTR local_id, 00349 ZOLTAN_ID_PTR next_global_id, 00350 ZOLTAN_ID_PTR next_local_id, 00351 int * assigned, 00352 int * number_vertices, 00353 ZOLTAN_ID_PTR vertices, 00354 ZOLTAN_ID_PTR in_vertex, 00355 ZOLTAN_ID_PTR out_vertex, 00356 int * ierr ) 00357 { 00358 std::cout << "Error: Zoltan::QueryObject::Next_Coarse_Object( void *, " 00359 << "int, int, ZOLTAN_ID_PTR, ZOLTAN_ID_PTR, ZOLTAN_ID_PTR, ZOLTAN_ID_PTR, int *, " 00360 << "int *, int *, int *, int * ) " 00361 << "must be implemented." << std::endl; 00362 00363 *ierr = ZOLTAN_FATAL; 00364 00365 return 0; 00366 } 00367 00368 EPETRAEXT_DEPRECATED 00369 int Zoltan::QueryObject::Number_Children ( void * data, 00370 int num_gid_entities, 00371 int num_lid_entities, 00372 ZOLTAN_ID_PTR global_id, 00373 ZOLTAN_ID_PTR local_id, 00374 int * ierr ) 00375 { 00376 std::cout << "Error: Zoltan::QueryObject::Number_Children( void *, int, int, " 00377 << "ZOLTAN_ID_PTR, ZOLTAN_ID_PTR, int * ) " 00378 << "must be implemented." << std::endl; 00379 00380 *ierr = ZOLTAN_FATAL; 00381 00382 return 0; 00383 } 00384 00385 EPETRAEXT_DEPRECATED 00386 void Zoltan::QueryObject::Child_List ( void * data, 00387 int num_gid_entities, 00388 int num_lid_entities, 00389 ZOLTAN_ID_PTR parent_global_id, 00390 ZOLTAN_ID_PTR parent_local_id, 00391 ZOLTAN_ID_PTR child_global_ids, 00392 ZOLTAN_ID_PTR child_local_ids, 00393 int * assigned, 00394 int * number_vertices, 00395 ZOLTAN_ID_PTR vertices, 00396 ZOLTAN_REF_TYPE * reference_type, 00397 ZOLTAN_ID_PTR in_vertex, 00398 ZOLTAN_ID_PTR out_vertex, 00399 int * ierr ) 00400 { 00401 std::cout << "Error: Zoltan::QueryObject::Child_List( void *, int, int, " 00402 << "ZOLTAN_ID_PTR, ZOLTAN_ID_PTR, ZOLTAN_ID_PTR, ZOLTAN_ID_PTR, int *, int *, int *, " 00403 << "ZOLTAN_REF_TYPE *, int *, int *, int * ) must be implemented." 00404 << std::endl; 00405 00406 *ierr = ZOLTAN_FATAL; 00407 } 00408 00409 EPETRAEXT_DEPRECATED 00410 void Zoltan::QueryObject::Child_Weight ( void * data, 00411 int num_gid_entities, 00412 int num_lid_entities, 00413 ZOLTAN_ID_PTR global_id, 00414 ZOLTAN_ID_PTR local_id, 00415 int weight_dim, 00416 float * object_weight, 00417 int * ierr ) 00418 { 00419 std::cout << "Error: Zoltan::QueryObject::Child_Weight( void *, int, int, " 00420 << "ZOLTAN_ID_PTR, ZOLTAN_ID_PTR, int, float *, int * ) must be implemented." 00421 << std::endl; 00422 00423 *ierr = ZOLTAN_FATAL; 00424 }
1.7.4