diff --git a/packages/seacas/Jamfile b/packages/seacas/Jamfile index 01377a737ff5..b9010fe49d7b 100644 --- a/packages/seacas/Jamfile +++ b/packages/seacas/Jamfile @@ -1,5 +1,5 @@ #--------------------------------------------------------------- -# Copyright(C) 1999-2020 National Technology & Engineering Solutions +# Copyright(C) 1999-2020, 2024 National Technology & Engineering Solutions # of Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with # NTESS, the U.S. Government retains certain rights in this software. # @@ -1385,7 +1385,6 @@ lib aprepro_lib /tpl/netcdf-c//netcdf /tpl/fmt//fmt : EXODUS_SUPPORT - FMT_SUPPORT [ ifdevbuild # Any parameters within this 'ifdevbuild' block apply to development # builds only and will not be present for user builds. @@ -1398,7 +1397,6 @@ lib aprepro_lib ] : : EXODUS_SUPPORT - FMT_SUPPORT [ ifdevbuild # Any parameters within this 'ifdevbuild' block apply to development # builds only and will not be present for user builds. @@ -1866,7 +1864,7 @@ exe Utst_database_io [ glob $(seacas-root)/libraries/ioss/src/utest/Utst_IofxDatabaseIO.C ] ioinit /tpl/netcdf-c//netcdf - /tpl/gtest//gtest + /tpl/googletest//gtest : @utility-exec-tag ; @@ -1876,7 +1874,7 @@ exe Utst_textmesh ioinit iotm /tpl/netcdf-c//netcdf - /tpl/gtest//gtest + /tpl/googletest//gtest /mpi//mpi : @sierra-exec-tag ; diff --git a/packages/seacas/applications/ejoin/EJ_index_sort.C b/packages/seacas/applications/ejoin/EJ_index_sort.C index 8128e6898357..e953f8778bc4 100644 --- a/packages/seacas/applications/ejoin/EJ_index_sort.C +++ b/packages/seacas/applications/ejoin/EJ_index_sort.C @@ -89,7 +89,7 @@ namespace { size_t ndx = 0; - using TT = typename std::remove_cv::type; + using TT = typename std::remove_cv_t; TT small = v[iv[0]]; for (size_t i = 1; i < N; i++) { if (v[iv[i]] < small) { diff --git a/packages/seacas/applications/epu/EP_ExodusFile.C b/packages/seacas/applications/epu/EP_ExodusFile.C index d8921804dc50..5cf8f3e742b2 100644 --- a/packages/seacas/applications/epu/EP_ExodusFile.C +++ b/packages/seacas/applications/epu/EP_ExodusFile.C @@ -1,5 +1,5 @@ /* - * Copyright(C) 1999-2021, 2023 National Technology & Engineering Solutions + * Copyright(C) 1999-2021, 2023, 2024 National Technology & Engineering Solutions * of Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with * NTESS, the U.S. Government retains certain rights in this software. * @@ -129,12 +129,23 @@ void Excn::ExodusFile::close_all() } } -void Excn::ExodusFile::unlink_temporary_files() +void Excn::ExodusFile::unlink_input_files() +{ + fmt::print("\n\tUnlinking {}\n\t ...", filenames_[0]); + for (int p = 0; p < partCount_; p++) { + unlink(filenames_[p].c_str()); + } + fmt::print("\n\tUnlinking {}\n\n", filenames_[partCount_ - 1]); +} + +void Excn::ExodusFile::handle_temporary_files(bool delete_them) { for (int p = 0; p < partCount_; p++) { if (fileids_[p] >= 0) { ex_close(fileids_[p]); - unlink(filenames_[p].c_str()); + if (delete_them) { + unlink(filenames_[p].c_str()); + } fileids_[p] = -1; } } diff --git a/packages/seacas/applications/epu/EP_ExodusFile.h b/packages/seacas/applications/epu/EP_ExodusFile.h index 55f545d60eed..79464fa838d7 100644 --- a/packages/seacas/applications/epu/EP_ExodusFile.h +++ b/packages/seacas/applications/epu/EP_ExodusFile.h @@ -1,5 +1,5 @@ /* - * Copyright(C) 1999-2023 National Technology & Engineering Solutions + * Copyright(C) 1999-, 20242024 National Technology & Engineering Solutions * of Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with * NTESS, the U.S. Government retains certain rights in this software. * @@ -30,7 +30,8 @@ namespace Excn { static int io_word_size() { return ioWordSize_; } operator int() const; static int max_name_length() { return maximumNameLength_; } - static void unlink_temporary_files(); + static void handle_temporary_files(bool delete_them); + static void unlink_input_files(); private: int myProcessor_; diff --git a/packages/seacas/applications/epu/EP_SystemInterface.C b/packages/seacas/applications/epu/EP_SystemInterface.C index f0e1835539ac..21ff8d183e3c 100644 --- a/packages/seacas/applications/epu/EP_SystemInterface.C +++ b/packages/seacas/applications/epu/EP_SystemInterface.C @@ -50,6 +50,23 @@ namespace { Excn::SystemInterface::SystemInterface(int rank) : myRank_(rank) { enroll_options(); } +bool Excn::SystemInterface::remove_file_per_rank_files() const +{ + if (removeFilePerRankFiles_) { + if (partCount_ <= 0 && startPart_ == 0 && subcycle_ == -1 && cycle_ == -1) { + return true; + } + else { + fmt::print("\nNot removing the file-per-rank input files due to presence of " + "start/part/subcycle options.\n\n"); + return false; + } + } + else { + return false; + } +} + void Excn::SystemInterface::enroll_options() { options_.usage("[options] basename"); @@ -105,6 +122,10 @@ void Excn::SystemInterface::enroll_options() "\t\tthey are automatically deleted unless -keep_temporary is specified.", nullptr); + options_.enroll("remove_file_per_rank_files", GetLongOption::NoValue, + "Remove the input file-per-rank files after they have successfully been joined.", + nullptr); + options_.enroll( "verify_valid_file", GetLongOption::NoValue, "Reopen the output file right after closing it to verify that the file is valid.\n" @@ -374,11 +395,12 @@ bool Excn::SystemInterface::parse_options(int argc, char **argv) sumSharedNodes_ = options_.retrieve("sum_shared_nodes") != nullptr; append_ = options_.retrieve("append") != nullptr; - subcycle_ = options_.get_option_value("subcycle", subcycle_); - cycle_ = options_.get_option_value("cycle", cycle_); - subcycleJoin_ = options_.retrieve("join_subcycles") != nullptr; - keepTemporary_ = options_.retrieve("keep_temporary") != nullptr; - verifyValidFile_ = options_.retrieve("verify_valid_file") != nullptr; + subcycle_ = options_.get_option_value("subcycle", subcycle_); + cycle_ = options_.get_option_value("cycle", cycle_); + subcycleJoin_ = options_.retrieve("join_subcycles") != nullptr; + keepTemporary_ = options_.retrieve("keep_temporary") != nullptr; + removeFilePerRankFiles_ = options_.retrieve("remove_file_per_rank_files") != nullptr; + verifyValidFile_ = options_.retrieve("verify_valid_file") != nullptr; if (options_.retrieve("map") != nullptr) { mapIds_ = true; diff --git a/packages/seacas/applications/epu/EP_SystemInterface.h b/packages/seacas/applications/epu/EP_SystemInterface.h index ca892562b20f..f5b4c4159e64 100644 --- a/packages/seacas/applications/epu/EP_SystemInterface.h +++ b/packages/seacas/applications/epu/EP_SystemInterface.h @@ -77,6 +77,7 @@ namespace Excn { bool output_shared_nodes() const { return outputSharedNodes_; } bool is_auto() const { return auto_; } bool keep_temporary() const { return keepTemporary_; } + bool remove_file_per_rank_files() const; bool verify_valid_file() const { return verifyValidFile_; } int max_open_files() const { @@ -158,6 +159,7 @@ namespace Excn { bool outputSharedNodes_{false}; bool auto_{false}; bool keepTemporary_{false}; + bool removeFilePerRankFiles_{false}; bool verifyValidFile_{false}; bool addNodalCommunicationMap_{false}; diff --git a/packages/seacas/applications/epu/EP_Version.h b/packages/seacas/applications/epu/EP_Version.h index 4d982a5453c7..aca0e9ff6557 100644 --- a/packages/seacas/applications/epu/EP_Version.h +++ b/packages/seacas/applications/epu/EP_Version.h @@ -1,5 +1,5 @@ /* - * Copyright(C) 1999-2023 National Technology & Engineering Solutions + * Copyright(C) 1999-2024 National Technology & Engineering Solutions * of Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with * NTESS, the U.S. Government retains certain rights in this software. * @@ -11,6 +11,6 @@ static const std::array qainfo{ "epu -- E Pluribus Unum", - "6.08", - "2024/03/07", + "6.09", + "2024/04/18", }; diff --git a/packages/seacas/applications/epu/epu.C b/packages/seacas/applications/epu/epu.C index 9c2bf8340c5c..89fcb8cf97c9 100644 --- a/packages/seacas/applications/epu/epu.C +++ b/packages/seacas/applications/epu/epu.C @@ -529,7 +529,7 @@ int main(int argc, char *argv[]) ExodusFile::close_all(); #if ENABLE_PARALLEL_EPU - MPI_Barrier(MPI_COMM_WORLD); // CHECK: ALLOW MPI_COMM_WORLD + MPI_Barrier(MPI_COMM_WORLD); // CHECK: ALLOW MPI_COMM_WORLD #endif } else { @@ -664,9 +664,12 @@ int main(int argc, char *argv[]) } } - if (error == 0 && !interFace.keep_temporary()) { - ExodusFile::unlink_temporary_files(); - } + bool delete_temp = error == 0 && !interFace.keep_temporary(); + ExodusFile::handle_temporary_files(delete_temp); + } + + if (error == 0 && interFace.remove_file_per_rank_files()) { + ExodusFile::unlink_input_files(); } time_t end_time = std::time(nullptr); diff --git a/packages/seacas/applications/explore/exp_comand.f b/packages/seacas/applications/explore/exp_comand.f index 5d9733db8475..73479c3b0872 100644 --- a/packages/seacas/applications/explore/exp_comand.f +++ b/packages/seacas/applications/explore/exp_comand.f @@ -1,4 +1,4 @@ -C Copyright(C) 1999-2020, 2023 National Technology & Engineering Solutions +C Copyright(C) 1999-2020, 2023, 2024 National Technology & Engineering Solutions C of Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with C NTESS, the U.S. Government retains certain rights in this software. C @@ -149,7 +149,7 @@ SUBROUTINE COMAND (A, IA, EXODUS, DBNAME, QAREC, INFO, CHARACTER*80 DUMLIN character*2048 OUTPUT, LCOUTPUT - CHARACTER*(MXSTLN) CMDTBL(15), SELTBL(15), LISTBL(38) + CHARACTER*(MXSTLN) CMDTBL(15), SELTBL(15), LISTBL(41) SAVE CMDTBL, SELTBL, LISTBL, KINVC, KINVS C --CMDTBL - the valid commands table C --SELTBL - the valid SELECT options table @@ -170,7 +170,7 @@ SUBROUTINE COMAND (A, IA, EXODUS, DBNAME, QAREC, INFO, 4 'GVARS ', 'NVARS ', 'EVARS ', 'NSVARS ', 'SSVARS ', 5 ' ' / DATA LISTBL / - 1 'TITLE ', 'VARS ', + 1 'TITLE ', 'VARS ', 'QAINFO ', 'QA', 'INFORMATION', 2 'COORDINA', 'MAP ', 'NMAP ', 'NODEMAP ', 3 'BLOCKS ', 'MATERIAL', 'LINK ', 'CONNECTI', 'ATTRIBUT', 4 'NSETS ', 'NNODES ', 'NFACTORS', 'INVCON ', @@ -791,8 +791,16 @@ SUBROUTINE COMAND (A, IA, EXODUS, DBNAME, QAREC, INFO, ELSE IF (LISTYP .EQ. 'QA') THEN + CALL PRQA ('Q', NOUT, NQAREC, QAREC, NINFO, INFO) + + ELSE IF (LISTYP .EQ. 'QAINFO') THEN + CALL PRQA ('*', NOUT, NQAREC, QAREC, NINFO, INFO) + ELSE IF (LISTYP .EQ. 'INFORMATION') THEN + + CALL PRQA ('I', NOUT, NQAREC, QAREC, NINFO, INFO) + C *** EXODUS Print Commands *** ELSE IF (LISTYP .EQ. 'NAMES') THEN diff --git a/packages/seacas/applications/explore/exp_qainfo.blk b/packages/seacas/applications/explore/exp_qainfo.blk index 93678952c917..df09d169cd6a 100644 --- a/packages/seacas/applications/explore/exp_qainfo.blk +++ b/packages/seacas/applications/explore/exp_qainfo.blk @@ -8,8 +8,8 @@ C See packages/seacas/LICENSE for details QAINFO(2) = ' ' QAINFO(3) = ' ' - QAINFO(2)(:8) = '20240304' - QAINFO(3)(:8) = ' 4.01' + QAINFO(2)(:8) = '20240418' + QAINFO(3)(:8) = ' 4.02' c..Dynamic dimensioning of block names+other changes c..compress output of distribution factors diff --git a/packages/seacas/applications/grepos/gp_inimap.f b/packages/seacas/applications/grepos/gp_inimap.f new file mode 100644 index 000000000000..8fbbd1eaa11f --- /dev/null +++ b/packages/seacas/applications/grepos/gp_inimap.f @@ -0,0 +1,7 @@ + SUBROUTINE INIMAP(LEN, MAP) + INTEGER MAP(*) + DO I=1, LEN + MAP(I) = I + end do + end + diff --git a/packages/seacas/applications/grepos/gp_mapvar.f b/packages/seacas/applications/grepos/gp_mapvar.f index 4f35ceda77a8..d55dd4d39152 100644 --- a/packages/seacas/applications/grepos/gp_mapvar.f +++ b/packages/seacas/applications/grepos/gp_mapvar.f @@ -1,4 +1,4 @@ -C Copyright(C) 1999-2020 National Technology & Engineering Solutions +C Copyright(C) 1999-2020, 2024 National Technology & Engineering Solutions C of Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with C NTESS, the U.S. Government retains certain rights in this software. C @@ -26,14 +26,27 @@ subroutine mapvar(nold, nnew, nvar, map, vars, scr) real vars(*) c real vars(nold, nvar) real scr(*) + logical isseq C ... VARS should really be a doubly-dimensioned array (NOLD, NVAR), C The dimensions need to be in this order so we can read them -C in using exgev and exgnv. But, this order doesn't work very +C in using exgnv. But, this order doesn't work very C well when trying to reduce the size of NOLD -C ... TODO: Need to use the truth table to make sure variables -C exist for each element. + isseq = .false. + if (nold .eq. nnew) then + isseq = .true. + do i=1, nnew + if (map(i) .ne. i) then + isseq = .false. + end if + end do + end if + + if (isseq) then + return + end if + do 30 ivar = 1, nvar do 10 i = 1, nnew scr(i) = vars(map(i) + nold * (ivar-1) ) diff --git a/packages/seacas/applications/grepos/gp_qainfo.blk b/packages/seacas/applications/grepos/gp_qainfo.blk index 6e56467ebcc8..ba9dae1036e5 100644 --- a/packages/seacas/applications/grepos/gp_qainfo.blk +++ b/packages/seacas/applications/grepos/gp_qainfo.blk @@ -6,5 +6,5 @@ C See packages/seacas/LICENSE for details C -*- Mode: fortran -*- QAINFO(1) = 'Grepos ' - QAINFO(2) = '2024/03/19 ' - QAINFO(3) = ' 1.94 ' + QAINFO(2) = '2024/04/09 ' + QAINFO(3) = ' 1.95 ' diff --git a/packages/seacas/applications/grepos/grepos.f b/packages/seacas/applications/grepos/grepos.f index 76befa093263..d3b4a3f330fa 100644 --- a/packages/seacas/applications/grepos/grepos.f +++ b/packages/seacas/applications/grepos/grepos.f @@ -1292,12 +1292,6 @@ PROGRAM GREPOS $ /,9x,'if you need this capability.') END - SUBROUTINE INIMAP(LEN, MAP) - INTEGER MAP(*) - DO 10 I=1, LEN - MAP(I) = I - 10 CONTINUE - END subroutine exgqaw(ndb, qarec, ierr) include 'gp_params.blk' character*(mxstln) qarec(4, *) diff --git a/packages/seacas/applications/nem_slice/elb.h b/packages/seacas/applications/nem_slice/elb.h index ae740693c248..df37f03f0877 100644 --- a/packages/seacas/applications/nem_slice/elb.h +++ b/packages/seacas/applications/nem_slice/elb.h @@ -215,46 +215,40 @@ template struct Graph_Description }; /* Various constants */ -#define NODAL 0 -#define ELEMENTAL 1 +enum DecompType { NODAL, ELEMENTAL }; #define UTIL_NAME "nem_slice" /* Load balance types */ -#define MULTIKL 0 -#define SPECTRAL 1 -#define INERTIAL 2 -#define LINEAR 3 -#define RANDOM 4 -#define SCATTERED 5 -#define INFILE 6 -#define KL_REFINE 7 -#define NO_REFINE 8 -#define NUM_SECTS 9 -#define CNCT_DOM 10 -#define OUTFILE 11 -#define ZPINCH 12 -#define BRICK 13 -#define ZOLTAN_RCB 14 -#define ZOLTAN_RIB 15 -#define ZOLTAN_HSFC 16 -#define IGNORE_Z 17 +enum Balance { + MULTIKL, + SPECTRAL, + INERTIAL, + LINEAR, + RANDOM, + SCATTERED, + INFILE, + KL_REFINE, + NO_REFINE, + NUM_SECTS, + CNCT_DOM, + OUTFILE, + ZPINCH, + BRICK, + ZOLTAN_RCB, + ZOLTAN_RIB, + ZOLTAN_HSFC, + IGNORE_Z +}; /* Machine types */ -#define MESH 0 -#define HCUBE 1 -#define HYPERCUBE 2 -#define CLUSTER 3 +enum MachineType { MESH, HCUBE, HYPERCUBE, CLUSTER }; /* Solver options */ -#define TOLER 0 -#define USE_RQI 1 -#define VMAX 2 +enum SolverOptions { TOLER, USE_RQI, VMAX }; /* ISSUES options */ - -#define LOCAL_ISSUES 0 -#define GLOBAL_ISSUES 1 +enum Issues { LOCAL_ISSUES, GLOBAL_ISSUES }; /* Weighting options */ /* @@ -265,10 +259,4 @@ template struct Graph_Description * currently used in the type, but are needed since they appear * on the command line. */ -#define NO_WEIGHT 0 -#define READ_EXO 1 -#define EL_BLK 2 -#define VAR_INDX 3 -#define EDGE_WGT 4 -#define TIME_INDX 5 -#define VAR_NAME 6 +enum WeightingOptions { NO_WEIGHT, READ_EXO, EL_BLK, VAR_INDX, EDGE_WGT, TIME_INDX, VAR_NAME }; diff --git a/packages/seacas/applications/nem_slice/elb_elem.h b/packages/seacas/applications/nem_slice/elb_elem.h index e0d10a0c48a5..5c7a5c5045e0 100644 --- a/packages/seacas/applications/nem_slice/elb_elem.h +++ b/packages/seacas/applications/nem_slice/elb_elem.h @@ -1,5 +1,5 @@ /* - * Copyright(C) 1999-2020, 2022, 2023 National Technology & Engineering Solutions + * Copyright(C) 1999-2020, 2022, 2023, 2024 National Technology & Engineering Solutions * of Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with * NTESS, the U.S. Government retains certain rights in this software. * @@ -55,37 +55,37 @@ enum E_Type { extern const char *elem_name_from_enum(E_Type elem_type); extern E_Type get_elem_type(const char *elem_name, /* ExodusII element name */ - const int num_nodes, /* Number of nodes in the element */ - const int num_dim /* Number of dimensions of the mesh */ + int num_nodes, /* Number of nodes in the element */ + int num_dim /* Number of dimensions of the mesh */ ); -extern int get_elem_info(const int info, /* The requested information */ - const E_Type elem_type /* The element type */ +extern int get_elem_info(int info, /* The requested information */ + E_Type elem_type /* The element type */ ); template -int get_side_id(const E_Type etype, const INT *connect, const int nsnodes, INT side_nodes[], - const int skip_check, const int partial_adj); +int get_side_id(E_Type etype, const INT *connect, int nsnodes, INT side_nodes[], int skip_check, + int partial_adj); template -int get_side_id_hex_tet(const E_Type etype, /* The element type */ - const INT *conn, /* The element connectivity */ - const int nsnodes, /* The number of side nodes */ - const INT side_nodes[] /* The list of side node IDs */ +int get_side_id_hex_tet(E_Type etype, /* The element type */ + const INT *conn, /* The element connectivity */ + int nsnodes, /* The number of side nodes */ + const INT side_nodes[] /* The list of side node IDs */ ); template -int ss_to_node_list(const E_Type etype, /* The element type */ - const INT *connect, /* The element connectivity */ - int side_num, /* The element side number */ - INT ss_node_list[] /* The list of side node IDs */ +int ss_to_node_list(E_Type etype, /* The element type */ + const INT *connect, /* The element connectivity */ + int side_num, /* The element side number */ + INT ss_node_list[] /* The list of side node IDs */ ); template -int get_ss_mirror(const E_Type etype, /* The element type */ - const INT *ss_node_list, /* The list of side node IDs */ - int side_num, /* The element side number */ - INT mirror_node_list[] /* The list of the mirror side node IDs */ +int get_ss_mirror(E_Type etype, /* The element type */ + const INT *ss_node_list, /* The list of side node IDs */ + int side_num, /* The element side number */ + INT mirror_node_list[] /* The list of the mirror side node IDs */ ); /* Define element info requests */ diff --git a/packages/seacas/applications/nem_slice/elb_time.C b/packages/seacas/applications/nem_slice/elb_time.C index 0da5d4d055db..426b0f0fe979 100644 --- a/packages/seacas/applications/nem_slice/elb_time.C +++ b/packages/seacas/applications/nem_slice/elb_time.C @@ -1,5 +1,5 @@ /* - * Copyright(C) 1999-2020 National Technology & Engineering Solutions + * Copyright(C) 1999-2020, 2024 National Technology & Engineering Solutions * of Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with * NTESS, the U.S. Government retains certain rights in this software. * @@ -7,7 +7,6 @@ */ #include // for duration, etc -#include // for ratio double get_time() { static auto start = std::chrono::steady_clock::now(); diff --git a/packages/seacas/applications/nem_slice/elb_util.C b/packages/seacas/applications/nem_slice/elb_util.C index fe26cb38281f..81676e2714a7 100644 --- a/packages/seacas/applications/nem_slice/elb_util.C +++ b/packages/seacas/applications/nem_slice/elb_util.C @@ -1,5 +1,5 @@ /* - * Copyright(C) 1999-2023 National Technology & Engineering Solutions + * Copyright(C) 1999-2024 National Technology & Engineering Solutions * of Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with * NTESS, the U.S. Government retains certain rights in this software. * @@ -73,18 +73,12 @@ int token_compare(char *token, const char *key) /*****************************************************************************/ void strip_string(char inp_str[], const char *tokens) { - int i; - int j; - int itok; - int ntokes; - int bval; - - i = 0; - ntokes = strlen(tokens); + int i = 0; + int ntokes = strlen(tokens); while (inp_str[i] != '\0') { - bval = 0; - for (itok = 0; itok < ntokes; itok++) { + int bval = 0; + for (int itok = 0; itok < ntokes; itok++) { if (inp_str[i] == tokens[itok]) { i++; bval = 1; @@ -97,7 +91,7 @@ void strip_string(char inp_str[], const char *tokens) } /* Move real part of string to the front */ - j = 0; + int j = 0; while (inp_str[j + i] != '\0') { inp_str[j] = inp_str[j + i]; j++; @@ -107,8 +101,8 @@ void strip_string(char inp_str[], const char *tokens) /* Remove trailing tokens */ while (j != -1) { - bval = 0; - for (itok = 0; itok < ntokes; itok++) { + int bval = 0; + for (int itok = 0; itok < ntokes; itok++) { if (inp_str[j] == tokens[itok]) { bval = 1; j--; @@ -128,11 +122,8 @@ void strip_string(char inp_str[], const char *tokens) /*****************************************************************************/ void string_to_lower(char in_string[], char cval) { - int len; - int cnt; - - len = strlen(in_string); - for (cnt = 0; cnt < len; cnt++) { + int len = strlen(in_string); + for (int cnt = 0; cnt < len; cnt++) { if (in_string[cnt] == cval) { return; } @@ -148,26 +139,19 @@ void string_to_lower(char in_string[], char cval) /*****************************************************************************/ void clean_string(char inp_str[], const char *tokens) { - int i; - int j; - int itok; - int ntokes; - int bval; - int inplen; - - ntokes = strlen(tokens); - inplen = strlen(inp_str); - - i = 0; - bval = 0; + int ntokes = strlen(tokens); + int inplen = strlen(inp_str); + + int i = 0; + int bval = 0; while (inp_str[i] != '\0') { - for (itok = 0; itok < ntokes; itok++) { + for (int itok = 0; itok < ntokes; itok++) { if (i < 0) { i = 0; } if (inp_str[i] == tokens[itok]) { /* Find out if the next character is also a token */ - for (j = 0; j < ntokes; j++) { + for (int j = 0; j < ntokes; j++) { if (inp_str[i + 1] == tokens[j]) { bval = 1; break; @@ -175,7 +159,7 @@ void clean_string(char inp_str[], const char *tokens) } if (bval == 1) { - for (j = i + 1; j < inplen; j++) { + for (int j = i + 1; j < inplen; j++) { inp_str[j] = inp_str[j + 1]; } diff --git a/packages/seacas/applications/nem_spread/el_elm.h b/packages/seacas/applications/nem_spread/el_elm.h index 9d31124e1e9b..d6795f4bfcf4 100644 --- a/packages/seacas/applications/nem_spread/el_elm.h +++ b/packages/seacas/applications/nem_spread/el_elm.h @@ -1,5 +1,5 @@ /* - * Copyright(C) 1999-2020, 2022 National Technology & Engineering Solutions + * Copyright(C) 1999-2020, 2022, 2024 National Technology & Engineering Solutions * of Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with * NTESS, the U.S. Government retains certain rights in this software. * @@ -12,57 +12,55 @@ */ /* 1-d elements */ -#define BAR2 0 -#define BAR3 1 -#define SHELL2 2 -#define SHELL3 3 +enum Elements { + BAR2, + BAR3, + SHELL2, + SHELL3, -/* 2-d elements */ -#define QUAD4 14 -#define QUAD8 18 -#define QUAD9 19 -#define TRI3 23 -#define TRI4 24 -#define TRI6 26 -#define TRI7 27 - -/* 3-d elements */ -#define HEX8 108 -#define HEX16 116 -#define HEX20 120 -#define HEX27 127 -#define TET4 204 -#define TET10 210 -#define TET8 208 -#define TET14 214 -#define TET15 215 -#define SHELL4 304 -#define SHELL8 308 -#define SHELL9 309 -#define SPHERE 401 -#define WEDGE6 506 -#define WEDGE12 512 -#define WEDGE15 515 -#define WEDGE16 516 -#define WEDGE20 520 -#define WEDGE21 521 -#define HEXSHELL 608 -#define TSHELL3 703 -#define TSHELL4 704 -#define TSHELL6 706 -#define TSHELL7 707 -#define PYRAMID5 805 -#define PYRAMID13 813 -#define PYRAMID14 814 -#define PYRAMID18 818 -#define PYRAMID19 819 + /* 2-d elements */ + QUAD4, + QUAD8, + QUAD9, + TRI3, + TRI4, + TRI6, + TRI7, + /* 3-d elements */ + HEX8, + HEX16, + HEX20, + HEX27, + TET4, + TET10, + TET8, + TET14, + TET15, + SHELL4, + SHELL8, + SHELL9, + SPHERE, + WEDGE6, + WEDGE12, + WEDGE15, + WEDGE16, + WEDGE20, + WEDGE21, + HEXSHELL, + TSHELL3, + TSHELL4, + TSHELL6, + TSHELL7, + PYRAMID5, + PYRAMID13, + PYRAMID14, + PYRAMID18, + PYRAMID19 +}; /* define element data "request for information" types */ -#define NNODES 1 -#define NDIM 3 -#define NINTERP 5 -#define NN_SIDE 6 +enum ElementRequest { NNODES = 1, NDIM = 3, NINTERP = 5, NN_SIDE = 6 }; /******************************* PROTOTYPES FOR el_elm_info.c ****************/ diff --git a/packages/seacas/applications/nem_spread/md_timer_getrusage.C b/packages/seacas/applications/nem_spread/md_timer_getrusage.C index 134b4ca40a5f..a49628c86e8c 100644 --- a/packages/seacas/applications/nem_spread/md_timer_getrusage.C +++ b/packages/seacas/applications/nem_spread/md_timer_getrusage.C @@ -1,5 +1,5 @@ /* - * Copyright(C) 1999-2020, 2023 National Technology & Engineering Solutions + * Copyright(C) 1999-2020, 2023, 2024 National Technology & Engineering Solutions * of Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with * NTESS, the U.S. Government retains certain rights in this software. * @@ -7,7 +7,6 @@ */ #include // for duration, etc -#include // for ratio double second() { static auto start = std::chrono::steady_clock::now(); diff --git a/packages/seacas/applications/nem_spread/pe_load_lb_info.C b/packages/seacas/applications/nem_spread/pe_load_lb_info.C index 8ba4aec8d2e3..4cff9d78cbb5 100644 --- a/packages/seacas/applications/nem_spread/pe_load_lb_info.C +++ b/packages/seacas/applications/nem_spread/pe_load_lb_info.C @@ -16,6 +16,7 @@ #include "rf_util.h" // for print_line #include "sort_utils.h" // for gds_qsort #include "vector_data.h" +#include #include #include // for size_t #include // for stderr, etc diff --git a/packages/seacas/applications/nem_spread/rf_util.C b/packages/seacas/applications/nem_spread/rf_util.C index 5a0709b6249e..c9d83ddbaddf 100644 --- a/packages/seacas/applications/nem_spread/rf_util.C +++ b/packages/seacas/applications/nem_spread/rf_util.C @@ -1,5 +1,5 @@ /* - * Copyright(C) 1999-2020 National Technology & Engineering Solutions + * Copyright(C) 1999-2020, 2024 National Technology & Engineering Solutions * of Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with * NTESS, the U.S. Government retains certain rights in this software. * @@ -30,8 +30,7 @@ void check_exodus_error(int error, const char *function_name) void print_line(const char *charstr, int ntimes) { - int i; - for (i = 0; i < ntimes; i++) { + for (int i = 0; i < ntimes; i++) { fmt::print("{}", *charstr); } fmt::print("\n"); diff --git a/packages/seacas/applications/slice/SL_Decompose.C b/packages/seacas/applications/slice/SL_Decompose.C index f84fc1693ac9..f7c872a5bd84 100644 --- a/packages/seacas/applications/slice/SL_Decompose.C +++ b/packages/seacas/applications/slice/SL_Decompose.C @@ -1,4 +1,4 @@ -// Copyright(C) 1999-2023 National Technology & Engineering Solutions +// Copyright(C) 1999-2024 National Technology & Engineering Solutions // of Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with // NTESS, the U.S. Government retains certain rights in this software. // @@ -559,14 +559,14 @@ namespace { template std::vector decompose_elements(const Ioss::Region ®ion, SystemInterface &interFace, const std::vector &weights, - int dummy); + IOSS_MAYBE_UNUSED int dummy); template std::vector decompose_elements(const Ioss::Region ®ion, SystemInterface &interFace, const std::vector &weights, - int64_t dummy); + IOSS_MAYBE_UNUSED int64_t dummy); template std::vector decompose_elements(const Ioss::Region ®ion, SystemInterface &interFace, - const std::vector &weights, INT dummy) + const std::vector &weights, IOSS_MAYBE_UNUSED INT dummy) { progress(__func__); // Populate the 'elem_to_proc' vector with a mapping from element to processor. @@ -807,6 +807,20 @@ std::vector decompose_elements(const Ioss::Region ®ion, SystemInterface return elem_to_proc; } +template +std::map> string_chains(const Ioss::chain_t &element_chains) +{ + std::map> chains; + + for (size_t i = 0; i < element_chains.size(); i++) { + auto &chain_entry = element_chains[i]; + if (chain_entry.link >= 0) { + chains[chain_entry.element].push_back(i + 1); + } + } + return chains; +} + template std::vector line_decomp_weights(const Ioss::chain_t &element_chains, size_t element_count); template std::vector line_decomp_weights(const Ioss::chain_t &element_chains, @@ -815,28 +829,23 @@ template std::vector line_decomp_weights(const Ioss::chain_t &elem template std::vector line_decomp_weights(const Ioss::chain_t &element_chains, size_t element_count) { - std::map> chains; + auto chains = string_chains(element_chains); - for (size_t i = 0; i < element_chains.size(); i++) { - auto &chain_entry = element_chains[i]; - if (chain_entry.link >= 0) { - chains[chain_entry.element].push_back(i + 1); + if ((debug_level & 16) != 0) { + for (const auto &[chain_root, chain_elements] : chains) { + fmt::print("Chain Root: {} contains: {}\n", chain_root, fmt::join(chain_elements, ", ")); } } std::vector weights(element_count, 1); // Now, for each chain... - for (auto &chain : chains) { - if ((debug_level & 16) != 0) { - fmt::print("Chain Root: {} contains: {}\n", chain.first, fmt::join(chain.second, ", ")); - } + for (const auto &[chain_root, chain_elements] : chains) { // * Set the weights of all elements in the chain... // * non-root = 0, root = length of chain. - const auto &chain_elements = chain.second; for (const auto &element : chain_elements) { weights[element - 1] = 0; } - weights[chain.first - 1] = static_cast(chain_elements.size()); + weights[chain_root - 1] = static_cast(chain_elements.size()); } return weights; } @@ -851,30 +860,18 @@ void line_decomp_modify(const Ioss::chain_t &element_chains, std::vector> chains; - - for (size_t i = 0; i < element_chains.size(); i++) { - auto &chain_entry = element_chains[i]; - if (chain_entry.link >= 0) { - chains[chain_entry.element].push_back(i + 1); - if ((debug_level & 16) != 0) { - fmt::print("[{}]: element {}, link {}, processor {}\n", i + 1, chain_entry.element, - chain_entry.link, elem_to_proc[i]); - } - } - } + auto chains = string_chains(element_chains); // Delta: elements added/removed from each processor... std::vector delta(proc_count); // Now, for each chain... - for (auto &chain : chains) { + for (const auto &[chain_root, chain_elements] : chains) { if ((debug_level & 16) != 0) { - fmt::print("Chain Root: {} contains: {}\n", chain.first, fmt::join(chain.second, ", ")); + fmt::print("Chain Root: {} contains: {}\n", chain_root, fmt::join(chain_elements, ", ")); } std::vector chain_proc_count(proc_count); - const auto &chain_elements = chain.second; // * get processors used by elements in the chain... for (const auto &element : chain_elements) { @@ -889,7 +886,7 @@ void line_decomp_modify(const Ioss::chain_t &element_chains, std::vector qainfo{ "slice", - "2024/03/27", - "2.2.00", + "2024/04/03", + "2.2.01", }; diff --git a/packages/seacas/applications/zellij/ZE_SystemInterface.C b/packages/seacas/applications/zellij/ZE_SystemInterface.C index 4201d77e7837..1ef40f7341bf 100644 --- a/packages/seacas/applications/zellij/ZE_SystemInterface.C +++ b/packages/seacas/applications/zellij/ZE_SystemInterface.C @@ -7,13 +7,13 @@ #include "ZE_SystemInterface.h" #include "ZE_Version.h" // for qainfo +#include #include +#include #include -#include // for size_t #include // for exit, strtod, strtoul, abs, etc #include #include -#include // for ostream #include //! \file diff --git a/packages/seacas/libraries/aprepro_lib/CMakeLists.txt b/packages/seacas/libraries/aprepro_lib/CMakeLists.txt index 4814df36e1c6..587f5b7ddf17 100644 --- a/packages/seacas/libraries/aprepro_lib/CMakeLists.txt +++ b/packages/seacas/libraries/aprepro_lib/CMakeLists.txt @@ -15,9 +15,7 @@ IF (${CMAKE_PROJECT_NAME}_ENABLE_SEACASExodus) ADD_DEFINITIONS(-DEXODUS_SUPPORT) ENDIF() -#IF (${TPL_ENABLE_fmt}) - ADD_DEFINITIONS(-DFMT_SUPPORT) -#ENDIF() +ADD_DEFINITIONS(-DFMT_SUPPORT) TRIBITS_INCLUDE_DIRECTORIES( ${CMAKE_CURRENT_SOURCE_DIR} diff --git a/packages/seacas/libraries/aprepro_lib/apr_aprepro.cc b/packages/seacas/libraries/aprepro_lib/apr_aprepro.cc index a20117a8e589..57007b9edff5 100644 --- a/packages/seacas/libraries/aprepro_lib/apr_aprepro.cc +++ b/packages/seacas/libraries/aprepro_lib/apr_aprepro.cc @@ -1,4 +1,4 @@ -// Copyright(C) 1999-2023 National Technology & Engineering Solutions +// Copyright(C) 1999-2024 National Technology & Engineering Solutions // of Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with // NTESS, the U.S. Government retains certain rights in this software. // @@ -8,13 +8,12 @@ #include "apr_util.h" #include "aprepro.h" // for Aprepro, symrec, file_rec, etc #include "aprepro_parser.h" // for Parser, Parser::token, etc -#include "terminal_color.h" -#if defined(FMT_SUPPORT) -#include -#endif #include -#include // for exit, EXIT_SUCCESS, etc -#include // for strcmp +#include // for exit, EXIT_SUCCESS, etc +#include // for strcmp +#include +#include +#include #include // for operator<<, basic_ostream, etc #include // for operator<<, setw, etc #include // for left, cerr, cout, streampos @@ -34,8 +33,8 @@ #endif namespace { - const std::string version_short{"6.25"}; - const std::string version_date{"(2023/10/12)"}; + const std::string version_short{"6.29"}; + const std::string version_date{"(2024/04/23)"}; const std::string version_string = version_short + " " + version_date; void output_copyright(); @@ -223,27 +222,19 @@ namespace SEAMS { void Aprepro::error(const std::string &msg, bool line_info, bool prefix) const { - bool colorize = (errorStream == &std::cerr) && isatty(fileno(stderr)); - std::stringstream ss; - if (prefix) { - if (colorize) { - (*errorStream) << trmclr::red; - } - (*errorStream) << "Aprepro-" << short_version() << ": ERROR: "; - } + bool colorize = (errorStream == &std::cerr) && isatty(fileno(stderr)); + std::string message = prefix ? fmt::format("Aprepro-{}: ERROR: {}", short_version(), msg) + : fmt::format("{}", msg); + std::string lines = line_info ? fmt::format(" ({}, line {})", ap_file_list.top().name, + ap_file_list.top().lineno) + : ""; - ss << msg; - if (prefix && colorize) { - ss << trmclr::normal; + if (colorize) { + fmt::print(*errorStream, "{}{}\n", fmt::styled(message, fmt::fg(fmt::color::red)), lines); } - - if (line_info) { - ss << " (" << ap_file_list.top().name << ", line " << ap_file_list.top().lineno << ")"; + else { + fmt::print(*errorStream, "{}{}\n", message, lines); } - ss << "\n"; - - // Send it to the user defined stream - (*errorStream) << ss.str(); parseErrorCount++; } @@ -253,28 +244,20 @@ namespace SEAMS { return; } - bool colorize = (warningStream == &std::cerr) && isatty(fileno(stderr)); - std::stringstream ss; - if (prefix) { - if (colorize) { - (*warningStream) << trmclr::yellow; - } - (*warningStream) << "Aprepro: WARNING: "; - } + bool colorize = (warningStream == &std::cerr) && isatty(fileno(stderr)); + std::string message = + prefix ? fmt::format("Aprepro: WARNING: {}", msg) : fmt::format("{}", msg); + std::string lines = line_info ? fmt::format(" ({}, line {})", ap_file_list.top().name, + ap_file_list.top().lineno) + : ""; - ss << msg; - - if (prefix && colorize) { - ss << trmclr::normal; + if (colorize) { + fmt::print(*warningStream, "{}{}\n", fmt::styled(message, fmt::fg(fmt::color::yellow)), + lines); } - - if (line_info) { - ss << " (" << ap_file_list.top().name << ", line " << ap_file_list.top().lineno << ")"; + else { + fmt::print(*warningStream, "{}{}\n", message, lines); } - ss << "\n"; - - // Send it to the user defined stream - (*warningStream) << ss.str(); parseWarningCount++; } @@ -284,27 +267,18 @@ namespace SEAMS { return; } - bool colorize = (infoStream == &std::cout) && isatty(fileno(stdout)); - std::stringstream ss; - if (prefix) { - if (colorize) { - (*infoStream) << trmclr::blue; - } - (*infoStream) << "Aprepro: INFO: "; - } - ss << msg; + bool colorize = (infoStream == &std::cout) && isatty(fileno(stdout)); + std::string message = prefix ? fmt::format("Aprepro: INFO: {}", msg) : fmt::format("{}", msg); + std::string lines = line_info ? fmt::format(" ({}, line {})", ap_file_list.top().name, + ap_file_list.top().lineno) + : ""; - if (prefix && colorize) { - ss << trmclr::normal; + if (colorize) { + fmt::print(*infoStream, "{}{}\n", fmt::styled(message, fmt::fg(fmt::color::blue)), lines); } - - if (line_info) { - ss << " (" << ap_file_list.top().name << ", line " << ap_file_list.top().lineno << ")"; + else { + fmt::print(*infoStream, "{}{}\n", message, lines); } - ss << "\n"; - - // Send it to the user defined stream - (*infoStream) << ss.str(); } void Aprepro::set_error_streams(std::ostream *c_error, std::ostream *c_warning, @@ -635,12 +609,7 @@ namespace SEAMS { << " --info=file: Output INFO messages (e.g. DUMP() output) to file.\n" << " --nowarning or -W: Do not print WARN messages \n" << " --comment=char or -c=char: Change comment character to 'char' \n" -#if defined(FMT_SUPPORT) << " --full_precision -p: Floating point output uses as many digits as needed.\n" -#else - << " --full_precision -p: (Not supported in this build) Floating point output uses as " - "many digits as needed.\n" -#endif << " --copyright or -C: Print copyright message \n" << " --keep_history or -k: Keep a history of aprepro substitutions.\n" << " (not for general interactive use) \n" @@ -813,13 +782,8 @@ namespace SEAMS { for (const auto &ptr : get_sorted_sym_table()) { if (!ptr->isInternal) { if (ptr->type == Parser::token::VAR || ptr->type == Parser::token::IMMVAR) { -#if defined(FMT_SUPPORT) fmt::print((*infoStream), "{}{}\": {}", (first ? "\"" : ",\n\""), ptr->name, ptr->value.var); -#else - (*infoStream) << (first ? "\"" : ",\n\"") << ptr->name << "\": " << std::setprecision(10) - << ptr->value.var; -#endif first = false; } else if (ptr->type == Parser::token::UNDVAR) { @@ -853,23 +817,12 @@ namespace SEAMS { if (spre.empty() || ptr->name.find(spre) != std::string::npos) { if (doInternal == ptr->isInternal) { if (ptr->type == Parser::token::VAR) { -#if defined(FMT_SUPPORT) fmt::print((*infoStream), "{} {{{:<{}}\t= {}}}\n", comment, ptr->name, width, ptr->value.var); -#else - (*infoStream) << comment << " {" << std::left << std::setw(width) << ptr->name - << "\t= " << std::setprecision(10) << ptr->value.var << "}" << '\n'; -#endif } else if (ptr->type == Parser::token::IMMVAR) { -#if defined(FMT_SUPPORT) fmt::print((*infoStream), "{} {{{:<{}}\t= {}}} (immutable)\n", comment, ptr->name, width, ptr->value.var); -#else - (*infoStream) << comment << " {" << std::left << std::setw(width) << ptr->name - << "\t= " << std::setprecision(10) << ptr->value.var << "} (immutable)" - << '\n'; -#endif } else if (ptr->type == Parser::token::SVAR) { if (strchr(ptr->value.svar.c_str(), '\n') != nullptr || @@ -906,33 +859,35 @@ namespace SEAMS { else if (type == Parser::token::FNCT || type == Parser::token::SFNCT || type == Parser::token::AFNCT) { int fwidth = 20; // controls spacing/padding for the function names - (*infoStream) << trmclr::blue << "\nFunctions returning double:" << trmclr::normal << '\n'; + fmt::print(*infoStream, "{}", + fmt::styled("\nFunctions returning double:\n", fmt::fg(fmt::color::cyan))); for (const auto &ptr : get_sorted_sym_table()) { if (spre.empty() || ptr->name.find(spre) != std::string::npos) { if (ptr->type == Parser::token::FNCT) { - (*infoStream) << std::left << trmclr::green << std::setw(fwidth) << ptr->syntax - << trmclr::normal << ": " << ptr->info << '\n'; + fmt::print(*infoStream, "{:<{}}: {}\n", + fmt::styled(ptr->syntax, fmt::fg(fmt::color::lime)), fwidth, ptr->info); } } } - (*infoStream) << trmclr::blue << trmclr::blue - << "\nFunctions returning string:" << trmclr::normal << '\n'; + fmt::print(*infoStream, "{}", + fmt::styled("\nFunctions returning string:\n", fmt::fg(fmt::color::cyan))); for (const auto &ptr : get_sorted_sym_table()) { if (spre.empty() || ptr->name.find(spre) != std::string::npos) { if (ptr->type == Parser::token::SFNCT) { - (*infoStream) << std::left << trmclr::green << std::setw(fwidth) << ptr->syntax - << trmclr::normal << ": " << ptr->info << '\n'; + fmt::print(*infoStream, "{:<{}}: {}\n", + fmt::styled(ptr->syntax, fmt::fg(fmt::color::lime)), fwidth, ptr->info); } } } - (*infoStream) << trmclr::blue << "\nFunctions returning array:" << trmclr::normal << '\n'; + fmt::print(*infoStream, "{}", + fmt::styled("\nFunctions returning array:\n", fmt::fg(fmt::color::cyan))); for (const auto &ptr : get_sorted_sym_table()) { if (spre.empty() || ptr->name.find(spre) != std::string::npos) { if (ptr->type == Parser::token::AFNCT) { - (*infoStream) << std::left << trmclr::green << std::setw(fwidth) << ptr->syntax - << trmclr::normal << ": " << ptr->info << '\n'; + fmt::print(*infoStream, "{:<{}}: {}\n", + fmt::styled(ptr->syntax, fmt::fg(fmt::color::lime)), fwidth, ptr->info); } } } diff --git a/packages/seacas/libraries/aprepro_lib/apr_builtin.cc b/packages/seacas/libraries/aprepro_lib/apr_builtin.cc index 60dc8ccec600..a6af6761c18f 100644 --- a/packages/seacas/libraries/aprepro_lib/apr_builtin.cc +++ b/packages/seacas/libraries/aprepro_lib/apr_builtin.cc @@ -24,10 +24,8 @@ #include #include -#if defined FMT_SUPPORT #include #include -#endif #if defined(WIN32) || defined(__WIN32__) || defined(_WIN32) || defined(_MSC_VER) || \ defined(__MINGW32__) || defined(_WIN64) || defined(__MINGW64__) @@ -374,7 +372,15 @@ namespace SEAMS { { reset_error(); double temp = exp(x); - SEAMS::math_error("exp"); + // `exp` will report ERANGE error on both overflow and underflow + // We want no error on underflow, so see if `temp == 0` and if so, + // don't check math_error. + if (temp != 0.0) { + SEAMS::math_error("exp"); + } + else { + reset_error(); + } return (temp); } @@ -592,18 +598,24 @@ namespace SEAMS { const char *do_tostring(double x) { - char *tmp; - static char tmpstr[128]; + char *tmp; if (x == 0.0) { new_string("0", &tmp); return (tmp); } - SEAMS::symrec *format; - format = aprepro->getsym("_FORMAT"); - snprintf(tmpstr, 128, format->value.svar.c_str(), x); - new_string(tmpstr, &tmp); - return (tmp); + const SEAMS::symrec *format = aprepro->getsym("_FORMAT"); + if (format->value.svar.empty()) { + std::ostringstream lines; + fmt::print(lines, "{}", x); + new_string(lines.str(), &tmp); + return tmp; + } + else { + auto tmpstr = fmt::sprintf(format->value.svar, x); + new_string(tmpstr.c_str(), &tmp); + return tmp; + } } const char *do_output(char *filename) @@ -954,7 +966,6 @@ namespace SEAMS { } lines << "\t"; for (int ic = 0; ic < cols; ic++) { -#if defined FMT_SUPPORT const SEAMS::symrec *format = aprepro->getsym("_FORMAT"); if (format->value.svar.empty()) { fmt::print(lines, "{}", my_array_data->data[idx++]); @@ -963,9 +974,6 @@ namespace SEAMS { auto tmpstr = fmt::sprintf(format->value.svar, my_array_data->data[idx++]); lines << tmpstr; } -#else - lines << my_array_data->data[idx++]; -#endif if (ic < cols - 1) { lines << "\t"; } diff --git a/packages/seacas/libraries/aprepro_lib/apr_parser.cc b/packages/seacas/libraries/aprepro_lib/apr_parser.cc index 2e9defa48ed1..4d13f03a956a 100644 --- a/packages/seacas/libraries/aprepro_lib/apr_parser.cc +++ b/packages/seacas/libraries/aprepro_lib/apr_parser.cc @@ -2,7 +2,7 @@ // Skeleton implementation for Bison LALR(1) parsers in C++ -// Copyright (C) 2002-2015, 2018-2021, 2023 Free Software Foundation, Inc. +// Copyright (C) 2002-2015, 2018-2021 Free Software Foundation, Inc. // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by @@ -44,16 +44,14 @@ #include "apr_util.h" #include "aprepro.h" -#if defined FMT_SUPPORT -#include -#include -#endif #include #include #include #include #include #include +#include +#include #include namespace { @@ -79,12 +77,12 @@ namespace SEAMS { extern bool echo; } -#line 82 "apr_parser.cc" +#line 84 "apr_parser.cc" #include "aprepro_parser.h" // Second part of user prologue. -#line 110 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" +#line 112 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" #include "apr_scanner.h" #include "aprepro.h" @@ -95,7 +93,7 @@ namespace SEAMS { #undef yylex #define yylex aprepro.lexer->lex -#line 101 "apr_parser.cc" +#line 103 "apr_parser.cc" #ifndef YY_ #if defined YYENABLE_NLS && YYENABLE_NLS @@ -167,7 +165,7 @@ namespace SEAMS { #define YYRECOVERING() (!!yyerrstatus_) namespace SEAMS { -#line 175 "apr_parser.cc" +#line 177 "apr_parser.cc" /// Build a parser object. Parser::Parser(class Aprepro &aprepro_yyarg) @@ -180,7 +178,7 @@ namespace SEAMS { { } - Parser::~Parser() = default; + Parser::~Parser() {} Parser::syntax_error::~syntax_error() YY_NOEXCEPT YY_NOTHROW {} @@ -520,375 +518,660 @@ namespace SEAMS { { switch (yyn) { case 4: // line: '\n' -#line 129 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" +#line 131 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { if (echo) aprepro.lexer->LexerOutput("\n", 1); } -#line 632 "apr_parser.cc" +#line 634 "apr_parser.cc" break; case 5: // line: LBRACE exp RBRACE -#line 130 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" +#line 132 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { if (echo) { SEAMS::symrec *format = aprepro.getsym("_FORMAT"); if (format->value.svar.empty()) { -#if defined FMT_SUPPORT auto tmpstr = fmt::format("{}", (yystack_[1].value.val)); aprepro.lexer->LexerOutput(tmpstr.c_str(), tmpstr.size()); -#else - yyerror(aprepro, "Empty _FORMAT string -- no output will be printed. Optional " - "Lib::FMT dependency is not enabled."); -#endif } else { - auto tmpstr = fmt::sprintf(format->value.svar, (yystack_[1].value.val)); - aprepro.lexer->LexerOutput(tmpstr.c_str(), tmpstr.size()); + static char tmpstr[512]; + int len = + snprintf(tmpstr, 512, format->value.svar.c_str(), (yystack_[1].value.val)); + aprepro.lexer->LexerOutput(tmpstr, len); } } } -#line 644 "apr_parser.cc" +#line 652 "apr_parser.cc" break; case 6: // line: LBRACE sexp RBRACE -#line 137 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" +#line 145 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { - if (echo && (yystack_[1].value.string) != nullptr) { + if (echo && (yystack_[1].value.string) != NULL) { aprepro.lexer->LexerOutput((yystack_[1].value.string), strlen((yystack_[1].value.string))); } } -#line 653 "apr_parser.cc" +#line 661 "apr_parser.cc" break; case 7: // line: LBRACE aexp RBRACE -#line 141 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" +#line 149 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { } -#line 659 "apr_parser.cc" +#line 667 "apr_parser.cc" break; case 8: // line: LBRACE RBRACE -#line 142 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" +#line 150 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { } -#line 665 "apr_parser.cc" +#line 673 "apr_parser.cc" break; case 9: // line: error RBRACE -#line 143 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" +#line 151 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { yyerrok; } -#line 671 "apr_parser.cc" +#line 679 "apr_parser.cc" break; case 10: // bool: exp LT exp -#line 146 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" +#line 154 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { (yylhs.value.val) = (yystack_[2].value.val) < (yystack_[0].value.val); } -#line 677 "apr_parser.cc" +#line 685 "apr_parser.cc" break; case 11: // bool: exp GT exp -#line 147 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" +#line 155 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { (yylhs.value.val) = (yystack_[2].value.val) > (yystack_[0].value.val); } -#line 683 "apr_parser.cc" +#line 691 "apr_parser.cc" break; case 12: // bool: NOT exp -#line 148 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" +#line 156 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { (yylhs.value.val) = !((yystack_[0].value.val)); } -#line 689 "apr_parser.cc" +#line 697 "apr_parser.cc" break; case 13: // bool: exp LE exp -#line 149 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" +#line 157 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { (yylhs.value.val) = (yystack_[2].value.val) <= (yystack_[0].value.val); } -#line 695 "apr_parser.cc" +#line 703 "apr_parser.cc" break; case 14: // bool: exp GE exp -#line 150 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" +#line 158 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { (yylhs.value.val) = (yystack_[2].value.val) >= (yystack_[0].value.val); } -#line 701 "apr_parser.cc" +#line 709 "apr_parser.cc" break; case 15: // bool: exp EQ exp -#line 151 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" +#line 159 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { (yylhs.value.val) = (yystack_[2].value.val) == (yystack_[0].value.val); } -#line 707 "apr_parser.cc" +#line 715 "apr_parser.cc" break; case 16: // bool: exp NE exp -#line 152 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" +#line 160 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { (yylhs.value.val) = (yystack_[2].value.val) != (yystack_[0].value.val); } -#line 713 "apr_parser.cc" +#line 721 "apr_parser.cc" break; case 17: // bool: exp LOR exp -#line 153 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" +#line 161 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { (yylhs.value.val) = (yystack_[2].value.val) || (yystack_[0].value.val); } -#line 719 "apr_parser.cc" +#line 727 "apr_parser.cc" break; case 18: // bool: exp LAND exp -#line 154 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" +#line 162 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { (yylhs.value.val) = (yystack_[2].value.val) && (yystack_[0].value.val); } -#line 725 "apr_parser.cc" +#line 733 "apr_parser.cc" break; case 19: // bool: bool LOR bool -#line 155 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" +#line 163 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { (yylhs.value.val) = (yystack_[2].value.val) || (yystack_[0].value.val); } -#line 731 "apr_parser.cc" +#line 739 "apr_parser.cc" break; case 20: // bool: bool LAND bool -#line 156 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" +#line 164 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { (yylhs.value.val) = (yystack_[2].value.val) && (yystack_[0].value.val); } -#line 737 "apr_parser.cc" +#line 745 "apr_parser.cc" break; case 21: // bool: bool LOR exp -#line 157 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" +#line 165 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { (yylhs.value.val) = (yystack_[2].value.val) || (yystack_[0].value.val); } -#line 743 "apr_parser.cc" +#line 751 "apr_parser.cc" break; case 22: // bool: bool LAND exp -#line 158 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" +#line 166 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { (yylhs.value.val) = (yystack_[2].value.val) && (yystack_[0].value.val); } -#line 749 "apr_parser.cc" +#line 757 "apr_parser.cc" break; case 23: // bool: exp LOR bool -#line 159 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" +#line 167 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { (yylhs.value.val) = (yystack_[2].value.val) || (yystack_[0].value.val); } -#line 755 "apr_parser.cc" +#line 763 "apr_parser.cc" break; case 24: // bool: exp LAND bool -#line 160 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" +#line 168 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { (yylhs.value.val) = (yystack_[2].value.val) && (yystack_[0].value.val); } -#line 761 "apr_parser.cc" +#line 769 "apr_parser.cc" break; case 25: // bool: LPAR bool RPAR -#line 161 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" +#line 169 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { (yylhs.value.val) = (yystack_[1].value.val); } -#line 767 "apr_parser.cc" +#line 775 "apr_parser.cc" break; - case 26: // bool: sexp LT sexp -#line 164 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 26: // bool: UNDVAR LOR exp +#line 171 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + { + (yylhs.value.val) = 0 || (yystack_[0].value.val); + undefined_error(aprepro, (yystack_[2].value.tptr)->name); + } +#line 781 "apr_parser.cc" + break; + + case 27: // bool: UNDVAR LAND exp +#line 172 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + { + (yylhs.value.val) = 0 && (yystack_[0].value.val); + undefined_error(aprepro, (yystack_[2].value.tptr)->name); + } +#line 787 "apr_parser.cc" + break; + + case 28: // bool: exp LOR UNDVAR +#line 173 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + { + (yylhs.value.val) = (yystack_[2].value.val) || 0; + undefined_error(aprepro, (yystack_[0].value.tptr)->name); + } +#line 793 "apr_parser.cc" + break; + + case 29: // bool: exp LAND UNDVAR +#line 174 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + { + (yylhs.value.val) = (yystack_[2].value.val) && 0; + undefined_error(aprepro, (yystack_[0].value.tptr)->name); + } +#line 799 "apr_parser.cc" + break; + + case 30: // bool: bool LOR UNDVAR +#line 175 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + { + (yylhs.value.val) = (yystack_[2].value.val) || 0; + undefined_error(aprepro, (yystack_[0].value.tptr)->name); + } +#line 805 "apr_parser.cc" + break; + + case 31: // bool: bool LAND UNDVAR +#line 176 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + { + (yylhs.value.val) = (yystack_[2].value.val) && 0; + undefined_error(aprepro, (yystack_[0].value.tptr)->name); + } +#line 811 "apr_parser.cc" + break; + + case 32: // bool: UNDVAR LOR bool +#line 177 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + { + (yylhs.value.val) = 0 || (yystack_[0].value.val); + undefined_error(aprepro, (yystack_[2].value.tptr)->name); + } +#line 817 "apr_parser.cc" + break; + + case 33: // bool: UNDVAR LAND bool +#line 178 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + { + (yylhs.value.val) = 0 && (yystack_[0].value.val); + undefined_error(aprepro, (yystack_[2].value.tptr)->name); + } +#line 823 "apr_parser.cc" + break; + + case 34: // bool: sexp LT sexp +#line 181 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { (yylhs.value.val) = (strcmp((yystack_[2].value.string), (yystack_[0].value.string)) < 0 ? 1 : 0); } -#line 773 "apr_parser.cc" +#line 829 "apr_parser.cc" break; - case 27: // bool: sexp GT sexp -#line 165 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 35: // bool: sexp GT sexp +#line 182 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { (yylhs.value.val) = (strcmp((yystack_[2].value.string), (yystack_[0].value.string)) > 0 ? 1 : 0); } -#line 779 "apr_parser.cc" +#line 835 "apr_parser.cc" break; - case 28: // bool: sexp LE sexp -#line 166 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 36: // bool: sexp LE sexp +#line 183 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { (yylhs.value.val) = (strcmp((yystack_[2].value.string), (yystack_[0].value.string)) <= 0 ? 1 : 0); } -#line 785 "apr_parser.cc" +#line 841 "apr_parser.cc" break; - case 29: // bool: sexp GE sexp -#line 167 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 37: // bool: sexp GE sexp +#line 184 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { (yylhs.value.val) = (strcmp((yystack_[2].value.string), (yystack_[0].value.string)) >= 0 ? 1 : 0); } -#line 791 "apr_parser.cc" +#line 847 "apr_parser.cc" break; - case 30: // bool: sexp EQ sexp -#line 168 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 38: // bool: sexp EQ sexp +#line 185 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { (yylhs.value.val) = (strcmp((yystack_[2].value.string), (yystack_[0].value.string)) == 0 ? 1 : 0); } -#line 797 "apr_parser.cc" +#line 853 "apr_parser.cc" break; - case 31: // bool: sexp NE sexp -#line 169 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 39: // bool: sexp NE sexp +#line 186 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { (yylhs.value.val) = (strcmp((yystack_[2].value.string), (yystack_[0].value.string)) != 0 ? 1 : 0); } -#line 803 "apr_parser.cc" +#line 859 "apr_parser.cc" break; - case 32: // aexp: AVAR -#line 171 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 40: // bool: UNDVAR LT sexp +#line 188 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + { + (yylhs.value.val) = (strcmp("", (yystack_[0].value.string)) < 0 ? 1 : 0); + undefined_error(aprepro, (yystack_[2].value.tptr)->name); + } +#line 865 "apr_parser.cc" + break; + + case 41: // bool: UNDVAR GT sexp +#line 189 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + { + (yylhs.value.val) = (strcmp("", (yystack_[0].value.string)) > 0 ? 1 : 0); + undefined_error(aprepro, (yystack_[2].value.tptr)->name); + } +#line 871 "apr_parser.cc" + break; + + case 42: // bool: UNDVAR LE sexp +#line 190 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + { + (yylhs.value.val) = (strcmp("", (yystack_[0].value.string)) <= 0 ? 1 : 0); + undefined_error(aprepro, (yystack_[2].value.tptr)->name); + } +#line 877 "apr_parser.cc" + break; + + case 43: // bool: UNDVAR GE sexp +#line 191 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + { + (yylhs.value.val) = (strcmp("", (yystack_[0].value.string)) >= 0 ? 1 : 0); + undefined_error(aprepro, (yystack_[2].value.tptr)->name); + } +#line 883 "apr_parser.cc" + break; + + case 44: // bool: UNDVAR EQ sexp +#line 192 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + { + (yylhs.value.val) = (strcmp("", (yystack_[0].value.string)) == 0 ? 1 : 0); + undefined_error(aprepro, (yystack_[2].value.tptr)->name); + } +#line 889 "apr_parser.cc" + break; + + case 45: // bool: UNDVAR NE sexp +#line 193 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + { + (yylhs.value.val) = (strcmp("", (yystack_[0].value.string)) != 0 ? 1 : 0); + undefined_error(aprepro, (yystack_[2].value.tptr)->name); + } +#line 895 "apr_parser.cc" + break; + + case 46: // bool: sexp LT UNDVAR +#line 195 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + { + (yylhs.value.val) = (strcmp((yystack_[2].value.string), "") < 0 ? 1 : 0); + undefined_error(aprepro, (yystack_[0].value.tptr)->name); + } +#line 901 "apr_parser.cc" + break; + + case 47: // bool: sexp GT UNDVAR +#line 196 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + { + (yylhs.value.val) = (strcmp((yystack_[2].value.string), "") > 0 ? 1 : 0); + undefined_error(aprepro, (yystack_[0].value.tptr)->name); + } +#line 907 "apr_parser.cc" + break; + + case 48: // bool: sexp LE UNDVAR +#line 197 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + { + (yylhs.value.val) = (strcmp((yystack_[2].value.string), "") <= 0 ? 1 : 0); + undefined_error(aprepro, (yystack_[0].value.tptr)->name); + } +#line 913 "apr_parser.cc" + break; + + case 49: // bool: sexp GE UNDVAR +#line 198 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + { + (yylhs.value.val) = (strcmp((yystack_[2].value.string), "") >= 0 ? 1 : 0); + undefined_error(aprepro, (yystack_[0].value.tptr)->name); + } +#line 919 "apr_parser.cc" + break; + + case 50: // bool: sexp EQ UNDVAR +#line 199 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + { + (yylhs.value.val) = (strcmp((yystack_[2].value.string), "") == 0 ? 1 : 0); + undefined_error(aprepro, (yystack_[0].value.tptr)->name); + } +#line 925 "apr_parser.cc" + break; + + case 51: // bool: sexp NE UNDVAR +#line 200 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + { + (yylhs.value.val) = (strcmp((yystack_[2].value.string), "") != 0 ? 1 : 0); + undefined_error(aprepro, (yystack_[0].value.tptr)->name); + } +#line 931 "apr_parser.cc" + break; + + case 52: // bool: UNDVAR LT exp +#line 202 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + { + (yylhs.value.val) = 0 < (yystack_[0].value.val); + undefined_error(aprepro, (yystack_[2].value.tptr)->name); + } +#line 937 "apr_parser.cc" + break; + + case 53: // bool: UNDVAR GT exp +#line 203 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + { + (yylhs.value.val) = 0 > (yystack_[0].value.val); + undefined_error(aprepro, (yystack_[2].value.tptr)->name); + } +#line 943 "apr_parser.cc" + break; + + case 54: // bool: UNDVAR LE exp +#line 204 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + { + (yylhs.value.val) = 0 <= (yystack_[0].value.val); + undefined_error(aprepro, (yystack_[2].value.tptr)->name); + } +#line 949 "apr_parser.cc" + break; + + case 55: // bool: UNDVAR GE exp +#line 205 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + { + (yylhs.value.val) = 0 >= (yystack_[0].value.val); + undefined_error(aprepro, (yystack_[2].value.tptr)->name); + } +#line 955 "apr_parser.cc" + break; + + case 56: // bool: UNDVAR EQ exp +#line 206 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + { + (yylhs.value.val) = 0 == (yystack_[0].value.val); + undefined_error(aprepro, (yystack_[2].value.tptr)->name); + } +#line 961 "apr_parser.cc" + break; + + case 57: // bool: UNDVAR NE exp +#line 207 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + { + (yylhs.value.val) = 0 != (yystack_[0].value.val); + undefined_error(aprepro, (yystack_[2].value.tptr)->name); + } +#line 967 "apr_parser.cc" + break; + + case 58: // bool: exp LT UNDVAR +#line 209 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + { + (yylhs.value.val) = (yystack_[2].value.val) < 0; + undefined_error(aprepro, (yystack_[0].value.tptr)->name); + } +#line 973 "apr_parser.cc" + break; + + case 59: // bool: exp GT UNDVAR +#line 210 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + { + (yylhs.value.val) = (yystack_[2].value.val) > 0; + undefined_error(aprepro, (yystack_[0].value.tptr)->name); + } +#line 979 "apr_parser.cc" + break; + + case 60: // bool: exp LE UNDVAR +#line 211 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + { + (yylhs.value.val) = (yystack_[2].value.val) <= 0; + undefined_error(aprepro, (yystack_[0].value.tptr)->name); + } +#line 985 "apr_parser.cc" + break; + + case 61: // bool: exp GE UNDVAR +#line 212 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + { + (yylhs.value.val) = (yystack_[2].value.val) >= 0; + undefined_error(aprepro, (yystack_[0].value.tptr)->name); + } +#line 991 "apr_parser.cc" + break; + + case 62: // bool: exp EQ UNDVAR +#line 213 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + { + (yylhs.value.val) = (yystack_[2].value.val) == 0; + undefined_error(aprepro, (yystack_[0].value.tptr)->name); + } +#line 997 "apr_parser.cc" + break; + + case 63: // bool: exp NE UNDVAR +#line 214 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + { + (yylhs.value.val) = (yystack_[2].value.val) != 0; + undefined_error(aprepro, (yystack_[0].value.tptr)->name); + } +#line 1003 "apr_parser.cc" + break; + + case 64: // aexp: AVAR +#line 216 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { (yylhs.value.arrval) = aprepro.make_array(*((yystack_[0].value.tptr)->value.avar)); } -#line 809 "apr_parser.cc" +#line 1009 "apr_parser.cc" break; - case 33: // aexp: AFNCT LPAR sexp RPAR -#line 172 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 65: // aexp: AFNCT LPAR sexp RPAR +#line 217 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { if (arg_check((yystack_[3].value.tptr), - (yystack_[3].value.tptr)->value.arrfnct_c == nullptr)) + (yystack_[3].value.tptr)->value.arrfnct_c == NULL)) (yylhs.value.arrval) = (*((yystack_[3].value.tptr)->value.arrfnct_c))((yystack_[1].value.string)); else yyerrok; } -#line 820 "apr_parser.cc" +#line 1020 "apr_parser.cc" break; - case 34: // aexp: AFNCT LPAR sexp COMMA exp RPAR -#line 178 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 66: // aexp: AFNCT LPAR sexp COMMA exp RPAR +#line 223 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { if (arg_check((yystack_[5].value.tptr), - (yystack_[5].value.tptr)->value.arrfnct_cd == nullptr)) + (yystack_[5].value.tptr)->value.arrfnct_cd == NULL)) (yylhs.value.arrval) = (*((yystack_[5].value.tptr)->value.arrfnct_cd))( (yystack_[3].value.string), (yystack_[1].value.val)); else yyerrok; } -#line 831 "apr_parser.cc" +#line 1031 "apr_parser.cc" break; - case 35: // aexp: AFNCT LPAR sexp COMMA sexp RPAR -#line 184 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 67: // aexp: AFNCT LPAR sexp COMMA sexp RPAR +#line 229 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { if (arg_check((yystack_[5].value.tptr), - (yystack_[5].value.tptr)->value.arrfnct_cc == nullptr)) + (yystack_[5].value.tptr)->value.arrfnct_cc == NULL)) (yylhs.value.arrval) = (*((yystack_[5].value.tptr)->value.arrfnct_cc))( (yystack_[3].value.string), (yystack_[1].value.string)); else yyerrok; } -#line 842 "apr_parser.cc" +#line 1042 "apr_parser.cc" break; - case 36: // aexp: AFNCT LPAR exp COMMA exp COMMA exp RPAR -#line 190 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 68: // aexp: AFNCT LPAR exp COMMA exp COMMA exp RPAR +#line 235 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { if (arg_check((yystack_[7].value.tptr), - (yystack_[7].value.tptr)->value.arrfnct_ddd == nullptr)) + (yystack_[7].value.tptr)->value.arrfnct_ddd == NULL)) (yylhs.value.arrval) = (*((yystack_[7].value.tptr)->value.arrfnct_ddd))( (yystack_[5].value.val), (yystack_[3].value.val), (yystack_[1].value.val)); else yyerrok; } -#line 853 "apr_parser.cc" +#line 1053 "apr_parser.cc" break; - case 37: // aexp: AFNCT LPAR exp COMMA exp RPAR -#line 196 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 69: // aexp: AFNCT LPAR exp COMMA exp RPAR +#line 241 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { if (arg_check((yystack_[5].value.tptr), - (yystack_[5].value.tptr)->value.arrfnct_dd == nullptr)) + (yystack_[5].value.tptr)->value.arrfnct_dd == NULL)) (yylhs.value.arrval) = (*((yystack_[5].value.tptr)->value.arrfnct_dd))( (yystack_[3].value.val), (yystack_[1].value.val)); else yyerrok; } -#line 864 "apr_parser.cc" +#line 1064 "apr_parser.cc" break; - case 38: // aexp: AFNCT LPAR exp RPAR -#line 202 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 70: // aexp: AFNCT LPAR exp RPAR +#line 247 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { if (arg_check((yystack_[3].value.tptr), - (yystack_[3].value.tptr)->value.arrfnct_d == nullptr)) + (yystack_[3].value.tptr)->value.arrfnct_d == NULL)) (yylhs.value.arrval) = (*((yystack_[3].value.tptr)->value.arrfnct_d))((yystack_[1].value.val)); else yyerrok; } -#line 875 "apr_parser.cc" +#line 1075 "apr_parser.cc" break; - case 39: // aexp: AFNCT LPAR aexp RPAR -#line 208 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 71: // aexp: AFNCT LPAR aexp RPAR +#line 253 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { if (arg_check((yystack_[3].value.tptr), - (yystack_[3].value.tptr)->value.arrfnct_a == nullptr)) + (yystack_[3].value.tptr)->value.arrfnct_a == NULL)) (yylhs.value.arrval) = (*((yystack_[3].value.tptr)->value.arrfnct_a))((yystack_[1].value.arrval)); else yyerrok; } -#line 886 "apr_parser.cc" +#line 1086 "apr_parser.cc" break; - case 40: // aexp: SVAR EQUAL aexp -#line 214 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 72: // aexp: SVAR EQUAL aexp +#line 259 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { (yylhs.value.arrval) = (yystack_[0].value.arrval); (yystack_[2].value.tptr)->value.avar = (yystack_[0].value.arrval); redefined_warning(aprepro, (yystack_[2].value.tptr)); set_type(aprepro, (yystack_[2].value.tptr), token::AVAR); } -#line 895 "apr_parser.cc" +#line 1095 "apr_parser.cc" break; - case 41: // aexp: VAR EQUAL aexp -#line 218 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 73: // aexp: VAR EQUAL aexp +#line 263 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { (yylhs.value.arrval) = (yystack_[0].value.arrval); (yystack_[2].value.tptr)->value.avar = (yystack_[0].value.arrval); redefined_warning(aprepro, (yystack_[2].value.tptr)); set_type(aprepro, (yystack_[2].value.tptr), token::AVAR); } -#line 904 "apr_parser.cc" +#line 1104 "apr_parser.cc" break; - case 42: // aexp: AVAR EQUAL aexp -#line 222 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 74: // aexp: AVAR EQUAL aexp +#line 267 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { (yylhs.value.arrval) = (yystack_[0].value.arrval); aprepro.redefine_array((yystack_[2].value.tptr)->value.avar); @@ -896,21 +1179,21 @@ namespace SEAMS { redefined_warning(aprepro, (yystack_[2].value.tptr)); set_type(aprepro, (yystack_[2].value.tptr), token::AVAR); } -#line 912 "apr_parser.cc" +#line 1112 "apr_parser.cc" break; - case 43: // aexp: UNDVAR EQUAL aexp -#line 225 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 75: // aexp: UNDVAR EQUAL aexp +#line 270 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { (yylhs.value.arrval) = (yystack_[0].value.arrval); (yystack_[2].value.tptr)->value.avar = (yystack_[0].value.arrval); set_type(aprepro, (yystack_[2].value.tptr), token::AVAR); } -#line 919 "apr_parser.cc" +#line 1119 "apr_parser.cc" break; - case 44: // aexp: aexp PLU aexp -#line 227 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 76: // aexp: aexp PLU aexp +#line 272 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { if ((yystack_[2].value.arrval)->cols == (yystack_[0].value.arrval)->cols && (yystack_[2].value.arrval)->rows == (yystack_[0].value.arrval)->rows) { @@ -922,19 +1205,19 @@ namespace SEAMS { yyerrok; } } -#line 932 "apr_parser.cc" +#line 1132 "apr_parser.cc" break; - case 45: // aexp: SUB aexp -#line 235 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 77: // aexp: SUB aexp +#line 280 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { (yylhs.value.arrval) = array_scale((yystack_[0].value.arrval), -1.0); } -#line 938 "apr_parser.cc" +#line 1138 "apr_parser.cc" break; - case 46: // aexp: aexp SUB aexp -#line 237 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 78: // aexp: aexp SUB aexp +#line 282 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { if ((yystack_[2].value.arrval)->cols == (yystack_[0].value.arrval)->cols && (yystack_[2].value.arrval)->rows == (yystack_[0].value.arrval)->rows) { @@ -946,36 +1229,36 @@ namespace SEAMS { yyerrok; } } -#line 951 "apr_parser.cc" +#line 1151 "apr_parser.cc" break; - case 47: // aexp: aexp TIM exp -#line 245 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 79: // aexp: aexp TIM exp +#line 290 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { (yylhs.value.arrval) = array_scale((yystack_[2].value.arrval), (yystack_[0].value.val)); } -#line 957 "apr_parser.cc" +#line 1157 "apr_parser.cc" break; - case 48: // aexp: aexp DIV exp -#line 246 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 80: // aexp: aexp DIV exp +#line 291 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { (yylhs.value.arrval) = array_scale((yystack_[2].value.arrval), 1.0 / (yystack_[0].value.val)); } -#line 963 "apr_parser.cc" +#line 1163 "apr_parser.cc" break; - case 49: // aexp: exp TIM aexp -#line 247 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 81: // aexp: exp TIM aexp +#line 292 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { (yylhs.value.arrval) = array_scale((yystack_[0].value.arrval), (yystack_[2].value.val)); } -#line 969 "apr_parser.cc" +#line 1169 "apr_parser.cc" break; - case 50: // aexp: aexp TIM aexp -#line 248 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 82: // aexp: aexp TIM aexp +#line 293 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { if ((yystack_[2].value.arrval)->cols == (yystack_[0].value.arrval)->rows) { (yylhs.value.arrval) = @@ -987,66 +1270,66 @@ namespace SEAMS { yyerrok; } } -#line 982 "apr_parser.cc" +#line 1182 "apr_parser.cc" break; - case 51: // sexp: QSTRING -#line 257 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 83: // sexp: QSTRING +#line 302 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { (yylhs.value.string) = (yystack_[0].value.string); } -#line 988 "apr_parser.cc" +#line 1188 "apr_parser.cc" break; - case 52: // sexp: SVAR -#line 258 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 84: // sexp: SVAR +#line 303 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { (yylhs.value.string) = (char *)(yystack_[0].value.tptr)->value.svar.c_str(); } -#line 994 "apr_parser.cc" +#line 1194 "apr_parser.cc" break; - case 53: // sexp: IMMSVAR -#line 259 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 85: // sexp: IMMSVAR +#line 304 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { (yylhs.value.string) = (char *)(yystack_[0].value.tptr)->value.svar.c_str(); } -#line 1000 "apr_parser.cc" +#line 1200 "apr_parser.cc" break; - case 54: // sexp: UNDVAR EQUAL sexp -#line 260 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 86: // sexp: UNDVAR EQUAL sexp +#line 305 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { (yylhs.value.string) = (yystack_[0].value.string); (yystack_[2].value.tptr)->value.svar = (yystack_[0].value.string); set_type(aprepro, (yystack_[2].value.tptr), Parser::token::SVAR); } -#line 1007 "apr_parser.cc" +#line 1207 "apr_parser.cc" break; - case 55: // sexp: SVAR EQUAL sexp -#line 262 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 87: // sexp: SVAR EQUAL sexp +#line 307 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { (yylhs.value.string) = (yystack_[0].value.string); (yystack_[2].value.tptr)->value.svar = (yystack_[0].value.string); redefined_warning(aprepro, (yystack_[2].value.tptr)); } -#line 1015 "apr_parser.cc" +#line 1215 "apr_parser.cc" break; - case 56: // sexp: VAR EQUAL sexp -#line 265 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 88: // sexp: VAR EQUAL sexp +#line 310 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { (yylhs.value.string) = (yystack_[0].value.string); (yystack_[2].value.tptr)->value.svar = (yystack_[0].value.string); redefined_warning(aprepro, (yystack_[2].value.tptr)); set_type(aprepro, (yystack_[2].value.tptr), token::SVAR); } -#line 1024 "apr_parser.cc" +#line 1224 "apr_parser.cc" break; - case 57: // sexp: AVAR EQUAL sexp -#line 269 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 89: // sexp: AVAR EQUAL sexp +#line 314 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { (yylhs.value.string) = (yystack_[0].value.string); aprepro.redefine_array((yystack_[2].value.tptr)->value.avar); @@ -1054,258 +1337,258 @@ namespace SEAMS { redefined_warning(aprepro, (yystack_[2].value.tptr)); set_type(aprepro, (yystack_[2].value.tptr), token::SVAR); } -#line 1034 "apr_parser.cc" +#line 1234 "apr_parser.cc" break; - case 58: // sexp: IMMSVAR EQUAL sexp -#line 274 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 90: // sexp: IMMSVAR EQUAL sexp +#line 319 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { (yylhs.value.string) = (char *)(yystack_[2].value.tptr)->value.svar.c_str(); immutable_modify(aprepro, (yystack_[2].value.tptr)); } -#line 1040 "apr_parser.cc" +#line 1240 "apr_parser.cc" break; - case 59: // sexp: IMMVAR EQUAL sexp -#line 275 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 91: // sexp: IMMVAR EQUAL sexp +#line 320 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { immutable_modify(aprepro, (yystack_[2].value.tptr)); YYERROR; } -#line 1046 "apr_parser.cc" +#line 1246 "apr_parser.cc" break; - case 60: // sexp: SFNCT LPAR sexp RPAR -#line 276 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 92: // sexp: SFNCT LPAR sexp RPAR +#line 321 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { if (arg_check((yystack_[3].value.tptr), - (yystack_[3].value.tptr)->value.strfnct_c == nullptr)) + (yystack_[3].value.tptr)->value.strfnct_c == NULL)) (yylhs.value.string) = (char *)(*((yystack_[3].value.tptr)->value.strfnct_c))( (yystack_[1].value.string)); else (yylhs.value.string) = (char *)""; } -#line 1057 "apr_parser.cc" +#line 1257 "apr_parser.cc" break; - case 61: // sexp: SFNCT LPAR RPAR -#line 282 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 93: // sexp: SFNCT LPAR RPAR +#line 327 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { if (arg_check((yystack_[2].value.tptr), - (yystack_[2].value.tptr)->value.strfnct == nullptr)) + (yystack_[2].value.tptr)->value.strfnct == NULL)) (yylhs.value.string) = (char *)(*((yystack_[2].value.tptr)->value.strfnct))(); else (yylhs.value.string) = (char *)""; } -#line 1068 "apr_parser.cc" +#line 1268 "apr_parser.cc" break; - case 62: // sexp: SFNCT LPAR exp RPAR -#line 288 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 94: // sexp: SFNCT LPAR exp RPAR +#line 333 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { if (arg_check((yystack_[3].value.tptr), - (yystack_[3].value.tptr)->value.strfnct_d == nullptr)) + (yystack_[3].value.tptr)->value.strfnct_d == NULL)) (yylhs.value.string) = (char *)(*((yystack_[3].value.tptr)->value.strfnct_d))((yystack_[1].value.val)); else (yylhs.value.string) = (char *)""; } -#line 1079 "apr_parser.cc" +#line 1279 "apr_parser.cc" break; - case 63: // sexp: SFNCT LPAR aexp RPAR -#line 294 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 95: // sexp: SFNCT LPAR aexp RPAR +#line 339 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { if (arg_check((yystack_[3].value.tptr), - (yystack_[3].value.tptr)->value.strfnct_a == nullptr)) + (yystack_[3].value.tptr)->value.strfnct_a == NULL)) (yylhs.value.string) = (char *)(*((yystack_[3].value.tptr)->value.strfnct_a))( (yystack_[1].value.arrval)); else (yylhs.value.string) = (char *)""; } -#line 1090 "apr_parser.cc" +#line 1290 "apr_parser.cc" break; - case 64: // sexp: sexp CONCAT sexp -#line 300 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 96: // sexp: sexp CONCAT sexp +#line 345 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { concat_string((yystack_[2].value.string), (yystack_[0].value.string), &(yylhs.value.string)); } -#line 1096 "apr_parser.cc" +#line 1296 "apr_parser.cc" break; - case 65: // sexp: SFNCT LPAR exp COMMA exp RPAR -#line 301 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 97: // sexp: SFNCT LPAR exp COMMA exp RPAR +#line 346 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { if (arg_check((yystack_[5].value.tptr), - (yystack_[5].value.tptr)->value.strfnct_dd == nullptr)) + (yystack_[5].value.tptr)->value.strfnct_dd == NULL)) (yylhs.value.string) = (char *)(*((yystack_[5].value.tptr)->value.strfnct_dd))( (yystack_[3].value.val), (yystack_[1].value.val)); else (yylhs.value.string) = (char *)""; } -#line 1107 "apr_parser.cc" +#line 1307 "apr_parser.cc" break; - case 66: // sexp: SFNCT LPAR exp COMMA sexp COMMA sexp COMMA sexp COMMA sexp RPAR -#line 307 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 98: // sexp: SFNCT LPAR exp COMMA sexp COMMA sexp COMMA sexp COMMA sexp RPAR +#line 352 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { if (arg_check((yystack_[11].value.tptr), - (yystack_[11].value.tptr)->value.strfnct_dcccc == nullptr)) + (yystack_[11].value.tptr)->value.strfnct_dcccc == NULL)) (yylhs.value.string) = (char *)(*((yystack_[11].value.tptr)->value.strfnct_dcccc))( (yystack_[9].value.val), (yystack_[7].value.string), (yystack_[5].value.string), (yystack_[3].value.string), (yystack_[1].value.string)); else (yylhs.value.string) = (char *)""; } -#line 1118 "apr_parser.cc" +#line 1318 "apr_parser.cc" break; - case 67: // sexp: SFNCT LPAR exp COMMA sexp COMMA sexp RPAR -#line 313 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 99: // sexp: SFNCT LPAR exp COMMA sexp COMMA sexp RPAR +#line 358 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { if (arg_check((yystack_[7].value.tptr), - (yystack_[7].value.tptr)->value.strfnct_dcc == nullptr)) + (yystack_[7].value.tptr)->value.strfnct_dcc == NULL)) (yylhs.value.string) = (char *)(*((yystack_[7].value.tptr)->value.strfnct_dcc))( (yystack_[5].value.val), (yystack_[3].value.string), (yystack_[1].value.string)); else (yylhs.value.string) = (char *)""; } -#line 1129 "apr_parser.cc" +#line 1329 "apr_parser.cc" break; - case 68: // sexp: SFNCT LPAR sexp COMMA sexp COMMA sexp RPAR -#line 319 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 100: // sexp: SFNCT LPAR sexp COMMA sexp COMMA sexp RPAR +#line 364 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { if (arg_check((yystack_[7].value.tptr), - (yystack_[7].value.tptr)->value.strfnct_ccc == nullptr)) + (yystack_[7].value.tptr)->value.strfnct_ccc == NULL)) (yylhs.value.string) = (char *)(*((yystack_[7].value.tptr)->value.strfnct_ccc))( (yystack_[5].value.string), (yystack_[3].value.string), (yystack_[1].value.string)); else (yylhs.value.string) = (char *)""; } -#line 1140 "apr_parser.cc" +#line 1340 "apr_parser.cc" break; - case 69: // sexp: SFNCT LPAR sexp COMMA sexp RPAR -#line 325 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 101: // sexp: SFNCT LPAR sexp COMMA sexp RPAR +#line 370 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { if (arg_check((yystack_[5].value.tptr), - (yystack_[5].value.tptr)->value.strfnct_cc == nullptr)) + (yystack_[5].value.tptr)->value.strfnct_cc == NULL)) (yylhs.value.string) = (char *)(*((yystack_[5].value.tptr)->value.strfnct_cc))( (yystack_[3].value.string), (yystack_[1].value.string)); else (yylhs.value.string) = (char *)""; } -#line 1151 "apr_parser.cc" +#line 1351 "apr_parser.cc" break; - case 70: // sexp: bool QUEST sexp COLON sexp -#line 331 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 102: // sexp: bool QUEST sexp COLON sexp +#line 376 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { (yylhs.value.string) = ((yystack_[4].value.val)) ? ((yystack_[2].value.string)) : ((yystack_[0].value.string)); } -#line 1157 "apr_parser.cc" +#line 1357 "apr_parser.cc" break; - case 71: // exp: NUM -#line 333 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 103: // exp: NUM +#line 378 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { (yylhs.value.val) = (yystack_[0].value.val); } -#line 1163 "apr_parser.cc" +#line 1363 "apr_parser.cc" break; - case 72: // exp: INC NUM -#line 334 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 104: // exp: INC NUM +#line 379 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { (yylhs.value.val) = (yystack_[0].value.val) + 1; } -#line 1169 "apr_parser.cc" +#line 1369 "apr_parser.cc" break; - case 73: // exp: DEC NUM -#line 335 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 105: // exp: DEC NUM +#line 380 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { (yylhs.value.val) = (yystack_[0].value.val) - 1; } -#line 1175 "apr_parser.cc" +#line 1375 "apr_parser.cc" break; - case 74: // exp: VAR -#line 336 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 106: // exp: VAR +#line 381 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { (yylhs.value.val) = (yystack_[0].value.tptr)->value.var; } -#line 1181 "apr_parser.cc" +#line 1381 "apr_parser.cc" break; - case 75: // exp: IMMVAR -#line 337 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 107: // exp: IMMVAR +#line 382 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { (yylhs.value.val) = (yystack_[0].value.tptr)->value.var; } -#line 1187 "apr_parser.cc" +#line 1387 "apr_parser.cc" break; - case 76: // exp: INC VAR -#line 338 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 108: // exp: INC VAR +#line 383 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { (yylhs.value.val) = ++((yystack_[0].value.tptr)->value.var); } -#line 1193 "apr_parser.cc" +#line 1393 "apr_parser.cc" break; - case 77: // exp: DEC VAR -#line 339 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 109: // exp: DEC VAR +#line 384 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { (yylhs.value.val) = --((yystack_[0].value.tptr)->value.var); } -#line 1199 "apr_parser.cc" +#line 1399 "apr_parser.cc" break; - case 78: // exp: VAR INC -#line 340 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 110: // exp: VAR INC +#line 385 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { (yylhs.value.val) = ((yystack_[1].value.tptr)->value.var)++; } -#line 1205 "apr_parser.cc" +#line 1405 "apr_parser.cc" break; - case 79: // exp: VAR DEC -#line 341 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 111: // exp: VAR DEC +#line 386 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { (yylhs.value.val) = ((yystack_[1].value.tptr)->value.var)--; } -#line 1211 "apr_parser.cc" +#line 1411 "apr_parser.cc" break; - case 80: // exp: VAR EQUAL exp -#line 342 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 112: // exp: VAR EQUAL exp +#line 387 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { (yylhs.value.val) = (yystack_[0].value.val); (yystack_[2].value.tptr)->value.var = (yystack_[0].value.val); redefined_warning(aprepro, (yystack_[2].value.tptr)); } -#line 1218 "apr_parser.cc" +#line 1418 "apr_parser.cc" break; - case 81: // exp: SVAR EQUAL exp -#line 344 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 113: // exp: SVAR EQUAL exp +#line 389 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { (yylhs.value.val) = (yystack_[0].value.val); (yystack_[2].value.tptr)->value.var = (yystack_[0].value.val); redefined_warning(aprepro, (yystack_[2].value.tptr)); set_type(aprepro, (yystack_[2].value.tptr), token::VAR); } -#line 1226 "apr_parser.cc" +#line 1426 "apr_parser.cc" break; - case 82: // exp: AVAR EQUAL exp -#line 347 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 114: // exp: AVAR EQUAL exp +#line 392 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { (yylhs.value.val) = (yystack_[0].value.val); aprepro.redefine_array((yystack_[2].value.tptr)->value.avar); @@ -1313,47 +1596,47 @@ namespace SEAMS { redefined_warning(aprepro, (yystack_[2].value.tptr)); set_type(aprepro, (yystack_[2].value.tptr), token::VAR); } -#line 1236 "apr_parser.cc" +#line 1436 "apr_parser.cc" break; - case 83: // exp: VAR EQ_PLUS exp -#line 352 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 115: // exp: VAR EQ_PLUS exp +#line 397 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { (yystack_[2].value.tptr)->value.var += (yystack_[0].value.val); (yylhs.value.val) = (yystack_[2].value.tptr)->value.var; } -#line 1242 "apr_parser.cc" +#line 1442 "apr_parser.cc" break; - case 84: // exp: VAR EQ_MINUS exp -#line 353 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 116: // exp: VAR EQ_MINUS exp +#line 398 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { (yystack_[2].value.tptr)->value.var -= (yystack_[0].value.val); (yylhs.value.val) = (yystack_[2].value.tptr)->value.var; } -#line 1248 "apr_parser.cc" +#line 1448 "apr_parser.cc" break; - case 85: // exp: VAR EQ_TIME exp -#line 354 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 117: // exp: VAR EQ_TIME exp +#line 399 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { (yystack_[2].value.tptr)->value.var *= (yystack_[0].value.val); (yylhs.value.val) = (yystack_[2].value.tptr)->value.var; } -#line 1254 "apr_parser.cc" +#line 1454 "apr_parser.cc" break; - case 86: // exp: VAR EQ_DIV exp -#line 355 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 118: // exp: VAR EQ_DIV exp +#line 400 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { (yystack_[2].value.tptr)->value.var /= (yystack_[0].value.val); (yylhs.value.val) = (yystack_[2].value.tptr)->value.var; } -#line 1260 "apr_parser.cc" +#line 1460 "apr_parser.cc" break; - case 87: // exp: VAR EQ_POW exp -#line 356 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 119: // exp: VAR EQ_POW exp +#line 401 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { reset_error(); (yystack_[2].value.tptr)->value.var = @@ -1361,213 +1644,213 @@ namespace SEAMS { (yylhs.value.val) = (yystack_[2].value.tptr)->value.var; SEAMS::math_error(aprepro, "Power"); } -#line 1270 "apr_parser.cc" +#line 1470 "apr_parser.cc" break; - case 88: // exp: INC IMMVAR -#line 361 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 120: // exp: INC IMMVAR +#line 406 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { (yylhs.value.val) = (yystack_[0].value.tptr)->value.var; immutable_modify(aprepro, (yystack_[0].value.tptr)); } -#line 1276 "apr_parser.cc" +#line 1476 "apr_parser.cc" break; - case 89: // exp: DEC IMMVAR -#line 362 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 121: // exp: DEC IMMVAR +#line 407 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { (yylhs.value.val) = (yystack_[0].value.tptr)->value.var; immutable_modify(aprepro, (yystack_[0].value.tptr)); } -#line 1282 "apr_parser.cc" +#line 1482 "apr_parser.cc" break; - case 90: // exp: IMMVAR INC -#line 363 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 122: // exp: IMMVAR INC +#line 408 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { (yylhs.value.val) = (yystack_[1].value.tptr)->value.var; immutable_modify(aprepro, (yystack_[1].value.tptr)); } -#line 1288 "apr_parser.cc" +#line 1488 "apr_parser.cc" break; - case 91: // exp: IMMVAR DEC -#line 364 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 123: // exp: IMMVAR DEC +#line 409 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { (yylhs.value.val) = (yystack_[1].value.tptr)->value.var; immutable_modify(aprepro, (yystack_[1].value.tptr)); } -#line 1294 "apr_parser.cc" +#line 1494 "apr_parser.cc" break; - case 92: // exp: IMMVAR EQUAL exp -#line 365 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 124: // exp: IMMVAR EQUAL exp +#line 410 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { (yylhs.value.val) = (yystack_[2].value.tptr)->value.var; immutable_modify(aprepro, (yystack_[2].value.tptr)); } -#line 1300 "apr_parser.cc" +#line 1500 "apr_parser.cc" break; - case 93: // exp: IMMSVAR EQUAL exp -#line 366 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 125: // exp: IMMSVAR EQUAL exp +#line 411 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { immutable_modify(aprepro, (yystack_[2].value.tptr)); YYERROR; } -#line 1306 "apr_parser.cc" +#line 1506 "apr_parser.cc" break; - case 94: // exp: IMMVAR EQ_PLUS exp -#line 367 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 126: // exp: IMMVAR EQ_PLUS exp +#line 412 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { (yylhs.value.val) = (yystack_[2].value.tptr)->value.var; immutable_modify(aprepro, (yystack_[2].value.tptr)); } -#line 1312 "apr_parser.cc" +#line 1512 "apr_parser.cc" break; - case 95: // exp: IMMVAR EQ_MINUS exp -#line 368 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 127: // exp: IMMVAR EQ_MINUS exp +#line 413 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { (yylhs.value.val) = (yystack_[2].value.tptr)->value.var; immutable_modify(aprepro, (yystack_[2].value.tptr)); } -#line 1318 "apr_parser.cc" +#line 1518 "apr_parser.cc" break; - case 96: // exp: IMMVAR EQ_TIME exp -#line 369 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 128: // exp: IMMVAR EQ_TIME exp +#line 414 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { (yylhs.value.val) = (yystack_[2].value.tptr)->value.var; immutable_modify(aprepro, (yystack_[2].value.tptr)); } -#line 1324 "apr_parser.cc" +#line 1524 "apr_parser.cc" break; - case 97: // exp: IMMVAR EQ_DIV exp -#line 370 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 129: // exp: IMMVAR EQ_DIV exp +#line 415 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { (yylhs.value.val) = (yystack_[2].value.tptr)->value.var; immutable_modify(aprepro, (yystack_[2].value.tptr)); } -#line 1330 "apr_parser.cc" +#line 1530 "apr_parser.cc" break; - case 98: // exp: IMMVAR EQ_POW exp -#line 371 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 130: // exp: IMMVAR EQ_POW exp +#line 416 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { (yylhs.value.val) = (yystack_[2].value.tptr)->value.var; immutable_modify(aprepro, (yystack_[2].value.tptr)); } -#line 1336 "apr_parser.cc" +#line 1536 "apr_parser.cc" break; - case 99: // exp: UNDVAR -#line 373 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 131: // exp: UNDVAR +#line 418 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { (yylhs.value.val) = (yystack_[0].value.tptr)->value.var; undefined_error(aprepro, (yystack_[0].value.tptr)->name); } -#line 1343 "apr_parser.cc" +#line 1543 "apr_parser.cc" break; - case 100: // exp: INC UNDVAR -#line 375 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 132: // exp: INC UNDVAR +#line 420 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { (yylhs.value.val) = ++((yystack_[0].value.tptr)->value.var); set_type(aprepro, (yystack_[0].value.tptr), token::VAR); undefined_error(aprepro, (yystack_[0].value.tptr)->name); } -#line 1351 "apr_parser.cc" +#line 1551 "apr_parser.cc" break; - case 101: // exp: DEC UNDVAR -#line 378 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 133: // exp: DEC UNDVAR +#line 423 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { (yylhs.value.val) = --((yystack_[0].value.tptr)->value.var); set_type(aprepro, (yystack_[0].value.tptr), token::VAR); undefined_error(aprepro, (yystack_[0].value.tptr)->name); } -#line 1359 "apr_parser.cc" +#line 1559 "apr_parser.cc" break; - case 102: // exp: UNDVAR INC -#line 381 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 134: // exp: UNDVAR INC +#line 426 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { (yylhs.value.val) = ((yystack_[1].value.tptr)->value.var)++; set_type(aprepro, (yystack_[1].value.tptr), token::VAR); undefined_error(aprepro, (yystack_[1].value.tptr)->name); } -#line 1367 "apr_parser.cc" +#line 1567 "apr_parser.cc" break; - case 103: // exp: UNDVAR DEC -#line 384 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 135: // exp: UNDVAR DEC +#line 429 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { (yylhs.value.val) = ((yystack_[1].value.tptr)->value.var)--; set_type(aprepro, (yystack_[1].value.tptr), token::VAR); undefined_error(aprepro, (yystack_[1].value.tptr)->name); } -#line 1375 "apr_parser.cc" +#line 1575 "apr_parser.cc" break; - case 104: // exp: UNDVAR EQUAL exp -#line 387 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 136: // exp: UNDVAR EQUAL exp +#line 432 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { (yylhs.value.val) = (yystack_[0].value.val); (yystack_[2].value.tptr)->value.var = (yystack_[0].value.val); set_type(aprepro, (yystack_[2].value.tptr), token::VAR); } -#line 1382 "apr_parser.cc" +#line 1582 "apr_parser.cc" break; - case 105: // exp: UNDVAR EQ_PLUS exp -#line 389 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 137: // exp: UNDVAR EQ_PLUS exp +#line 434 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { (yystack_[2].value.tptr)->value.var += (yystack_[0].value.val); (yylhs.value.val) = (yystack_[2].value.tptr)->value.var; set_type(aprepro, (yystack_[2].value.tptr), token::VAR); undefined_error(aprepro, (yystack_[2].value.tptr)->name); } -#line 1390 "apr_parser.cc" +#line 1590 "apr_parser.cc" break; - case 106: // exp: UNDVAR EQ_MINUS exp -#line 392 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 138: // exp: UNDVAR EQ_MINUS exp +#line 437 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { (yystack_[2].value.tptr)->value.var -= (yystack_[0].value.val); (yylhs.value.val) = (yystack_[2].value.tptr)->value.var; set_type(aprepro, (yystack_[2].value.tptr), token::VAR); undefined_error(aprepro, (yystack_[2].value.tptr)->name); } -#line 1398 "apr_parser.cc" +#line 1598 "apr_parser.cc" break; - case 107: // exp: UNDVAR EQ_TIME exp -#line 395 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 139: // exp: UNDVAR EQ_TIME exp +#line 440 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { (yystack_[2].value.tptr)->value.var *= (yystack_[0].value.val); (yylhs.value.val) = (yystack_[2].value.tptr)->value.var; set_type(aprepro, (yystack_[2].value.tptr), token::VAR); undefined_error(aprepro, (yystack_[2].value.tptr)->name); } -#line 1406 "apr_parser.cc" +#line 1606 "apr_parser.cc" break; - case 108: // exp: UNDVAR EQ_DIV exp -#line 398 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 140: // exp: UNDVAR EQ_DIV exp +#line 443 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { (yystack_[2].value.tptr)->value.var /= (yystack_[0].value.val); (yylhs.value.val) = (yystack_[2].value.tptr)->value.var; set_type(aprepro, (yystack_[2].value.tptr), token::VAR); undefined_error(aprepro, (yystack_[2].value.tptr)->name); } -#line 1414 "apr_parser.cc" +#line 1614 "apr_parser.cc" break; - case 109: // exp: UNDVAR EQ_POW exp -#line 401 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 141: // exp: UNDVAR EQ_POW exp +#line 446 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { reset_error(); (yystack_[2].value.tptr)->value.var = @@ -1577,234 +1860,234 @@ namespace SEAMS { SEAMS::math_error(aprepro, "Power"); undefined_error(aprepro, (yystack_[2].value.tptr)->name); } -#line 1425 "apr_parser.cc" +#line 1625 "apr_parser.cc" break; - case 110: // exp: FNCT LPAR RPAR -#line 408 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 142: // exp: FNCT LPAR RPAR +#line 453 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { if (arg_check((yystack_[2].value.tptr), - (yystack_[2].value.tptr)->value.fnctptr == nullptr)) + (yystack_[2].value.tptr)->value.fnctptr == NULL)) (yylhs.value.val) = (*((yystack_[2].value.tptr)->value.fnctptr))(); else (yylhs.value.val) = 0.0; } -#line 1436 "apr_parser.cc" +#line 1636 "apr_parser.cc" break; - case 111: // exp: FNCT LPAR exp RPAR -#line 415 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 143: // exp: FNCT LPAR exp RPAR +#line 460 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { if (arg_check((yystack_[3].value.tptr), - (yystack_[3].value.tptr)->value.fnctptr_d == nullptr)) + (yystack_[3].value.tptr)->value.fnctptr_d == NULL)) (yylhs.value.val) = (*((yystack_[3].value.tptr)->value.fnctptr_d))((yystack_[1].value.val)); else (yylhs.value.val) = 0.0; } -#line 1447 "apr_parser.cc" +#line 1647 "apr_parser.cc" break; - case 112: // exp: FNCT LPAR sexp RPAR -#line 422 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 144: // exp: FNCT LPAR sexp RPAR +#line 467 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { if (arg_check((yystack_[3].value.tptr), - (yystack_[3].value.tptr)->value.fnctptr_c == nullptr)) + (yystack_[3].value.tptr)->value.fnctptr_c == NULL)) (yylhs.value.val) = (*((yystack_[3].value.tptr)->value.fnctptr_c))((yystack_[1].value.string)); else (yylhs.value.val) = 0.0; } -#line 1458 "apr_parser.cc" +#line 1658 "apr_parser.cc" break; - case 113: // exp: FNCT LPAR aexp RPAR -#line 429 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 145: // exp: FNCT LPAR aexp RPAR +#line 474 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { if (arg_check((yystack_[3].value.tptr), - (yystack_[3].value.tptr)->value.fnctptr_a == nullptr)) + (yystack_[3].value.tptr)->value.fnctptr_a == NULL)) (yylhs.value.val) = (*((yystack_[3].value.tptr)->value.fnctptr_a))((yystack_[1].value.arrval)); else (yylhs.value.val) = 0.0; } -#line 1469 "apr_parser.cc" +#line 1669 "apr_parser.cc" break; - case 114: // exp: FNCT LPAR sexp COMMA exp RPAR -#line 436 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 146: // exp: FNCT LPAR sexp COMMA exp RPAR +#line 481 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { if (arg_check((yystack_[5].value.tptr), - (yystack_[5].value.tptr)->value.fnctptr_cd == nullptr)) + (yystack_[5].value.tptr)->value.fnctptr_cd == NULL)) (yylhs.value.val) = (*((yystack_[5].value.tptr)->value.fnctptr_cd))( (yystack_[3].value.string), (yystack_[1].value.val)); else (yylhs.value.val) = 0.0; } -#line 1480 "apr_parser.cc" +#line 1680 "apr_parser.cc" break; - case 115: // exp: FNCT LPAR exp COMMA sexp RPAR -#line 443 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 147: // exp: FNCT LPAR exp COMMA sexp RPAR +#line 488 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { if (arg_check((yystack_[5].value.tptr), - (yystack_[5].value.tptr)->value.fnctptr_dc == nullptr)) + (yystack_[5].value.tptr)->value.fnctptr_dc == NULL)) (yylhs.value.val) = (*((yystack_[5].value.tptr)->value.fnctptr_dc))( (yystack_[3].value.val), (yystack_[1].value.string)); else (yylhs.value.val) = 0.0; } -#line 1491 "apr_parser.cc" +#line 1691 "apr_parser.cc" break; - case 116: // exp: FNCT LPAR sexp COMMA sexp RPAR -#line 450 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 148: // exp: FNCT LPAR sexp COMMA sexp RPAR +#line 495 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { if (arg_check((yystack_[5].value.tptr), - (yystack_[5].value.tptr)->value.fnctptr_cc == nullptr)) + (yystack_[5].value.tptr)->value.fnctptr_cc == NULL)) (yylhs.value.val) = (*((yystack_[5].value.tptr)->value.fnctptr_cc))( (yystack_[3].value.string), (yystack_[1].value.string)); else (yylhs.value.val) = 0.0; } -#line 1502 "apr_parser.cc" +#line 1702 "apr_parser.cc" break; - case 117: // exp: FNCT LPAR sexp COMMA sexp COMMA sexp RPAR -#line 457 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 149: // exp: FNCT LPAR sexp COMMA sexp COMMA sexp RPAR +#line 502 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { if (arg_check((yystack_[7].value.tptr), - (yystack_[7].value.tptr)->value.fnctptr_ccc == nullptr)) + (yystack_[7].value.tptr)->value.fnctptr_ccc == NULL)) (yylhs.value.val) = (*((yystack_[7].value.tptr)->value.fnctptr_ccc))( (yystack_[5].value.string), (yystack_[3].value.string), (yystack_[1].value.string)); else yyerrok; } -#line 1513 "apr_parser.cc" +#line 1713 "apr_parser.cc" break; - case 118: // exp: FNCT LPAR exp COMMA exp RPAR -#line 464 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 150: // exp: FNCT LPAR exp COMMA exp RPAR +#line 509 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { if (arg_check((yystack_[5].value.tptr), - (yystack_[5].value.tptr)->value.fnctptr_dd == nullptr)) + (yystack_[5].value.tptr)->value.fnctptr_dd == NULL)) (yylhs.value.val) = (*((yystack_[5].value.tptr)->value.fnctptr_dd))( (yystack_[3].value.val), (yystack_[1].value.val)); else (yylhs.value.val) = 0.0; } -#line 1524 "apr_parser.cc" +#line 1724 "apr_parser.cc" break; - case 119: // exp: FNCT LPAR exp COMMA exp COMMA exp RPAR -#line 470 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 151: // exp: FNCT LPAR exp COMMA exp COMMA exp RPAR +#line 515 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { if (arg_check((yystack_[7].value.tptr), - (yystack_[7].value.tptr)->value.fnctptr_ddd == nullptr)) + (yystack_[7].value.tptr)->value.fnctptr_ddd == NULL)) (yylhs.value.val) = (*((yystack_[7].value.tptr)->value.fnctptr_ddd))( (yystack_[5].value.val), (yystack_[3].value.val), (yystack_[1].value.val)); else (yylhs.value.val) = 0.0; } -#line 1535 "apr_parser.cc" +#line 1735 "apr_parser.cc" break; - case 120: // exp: FNCT LPAR sexp COMMA sexp COMMA exp RPAR -#line 476 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 152: // exp: FNCT LPAR sexp COMMA sexp COMMA exp RPAR +#line 521 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { if (arg_check((yystack_[7].value.tptr), - (yystack_[7].value.tptr)->value.fnctptr_ccd == nullptr)) + (yystack_[7].value.tptr)->value.fnctptr_ccd == NULL)) (yylhs.value.val) = (*((yystack_[7].value.tptr)->value.fnctptr_ccd))( (yystack_[5].value.string), (yystack_[3].value.string), (yystack_[1].value.val)); else (yylhs.value.val) = 0.0; } -#line 1546 "apr_parser.cc" +#line 1746 "apr_parser.cc" break; - case 121: // exp: FNCT LPAR exp COMMA exp SEMI exp COMMA exp RPAR -#line 482 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 153: // exp: FNCT LPAR exp COMMA exp SEMI exp COMMA exp RPAR +#line 527 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { if (arg_check((yystack_[9].value.tptr), - (yystack_[9].value.tptr)->value.fnctptr_dddd == nullptr)) + (yystack_[9].value.tptr)->value.fnctptr_dddd == NULL)) (yylhs.value.val) = (*((yystack_[9].value.tptr)->value.fnctptr_dddd))( (yystack_[7].value.val), (yystack_[5].value.val), (yystack_[3].value.val), (yystack_[1].value.val)); else (yylhs.value.val) = 0.0; } -#line 1557 "apr_parser.cc" +#line 1757 "apr_parser.cc" break; - case 122: // exp: FNCT LPAR exp COMMA exp COMMA exp COMMA exp RPAR -#line 488 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 154: // exp: FNCT LPAR exp COMMA exp COMMA exp COMMA exp RPAR +#line 533 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { if (arg_check((yystack_[9].value.tptr), - (yystack_[9].value.tptr)->value.fnctptr_dddd == nullptr)) + (yystack_[9].value.tptr)->value.fnctptr_dddd == NULL)) (yylhs.value.val) = (*((yystack_[9].value.tptr)->value.fnctptr_dddd))( (yystack_[7].value.val), (yystack_[5].value.val), (yystack_[3].value.val), (yystack_[1].value.val)); else (yylhs.value.val) = 0.0; } -#line 1568 "apr_parser.cc" +#line 1768 "apr_parser.cc" break; - case 123: // exp: FNCT LPAR exp COMMA exp COMMA exp COMMA exp COMMA sexp RPAR -#line 494 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 155: // exp: FNCT LPAR exp COMMA exp COMMA exp COMMA exp COMMA sexp RPAR +#line 539 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { if (arg_check((yystack_[11].value.tptr), - (yystack_[11].value.tptr)->value.fnctptr_ddddc == nullptr)) + (yystack_[11].value.tptr)->value.fnctptr_ddddc == NULL)) (yylhs.value.val) = (*((yystack_[11].value.tptr)->value.fnctptr_ddddc))( (yystack_[9].value.val), (yystack_[7].value.val), (yystack_[5].value.val), (yystack_[3].value.val), (yystack_[1].value.string)); else (yylhs.value.val) = 0.0; } -#line 1579 "apr_parser.cc" +#line 1779 "apr_parser.cc" break; - case 124: // exp: FNCT LPAR exp COMMA exp COMMA exp COMMA exp COMMA exp COMMA exp RPAR -#line 500 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 156: // exp: FNCT LPAR exp COMMA exp COMMA exp COMMA exp COMMA exp COMMA exp RPAR +#line 545 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { if (arg_check((yystack_[13].value.tptr), - (yystack_[13].value.tptr)->value.fnctptr_dddddd == nullptr)) + (yystack_[13].value.tptr)->value.fnctptr_dddddd == NULL)) (yylhs.value.val) = (*((yystack_[13].value.tptr)->value.fnctptr_dddddd))( (yystack_[11].value.val), (yystack_[9].value.val), (yystack_[7].value.val), (yystack_[5].value.val), (yystack_[3].value.val), (yystack_[1].value.val)); else (yylhs.value.val) = 0.0; } -#line 1590 "apr_parser.cc" +#line 1790 "apr_parser.cc" break; - case 125: // exp: exp PLU exp -#line 506 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 157: // exp: exp PLU exp +#line 551 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { (yylhs.value.val) = (yystack_[2].value.val) + (yystack_[0].value.val); } -#line 1596 "apr_parser.cc" +#line 1796 "apr_parser.cc" break; - case 126: // exp: exp SUB exp -#line 507 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 158: // exp: exp SUB exp +#line 552 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { (yylhs.value.val) = (yystack_[2].value.val) - (yystack_[0].value.val); } -#line 1602 "apr_parser.cc" +#line 1802 "apr_parser.cc" break; - case 127: // exp: exp TIM exp -#line 508 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 159: // exp: exp TIM exp +#line 553 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { (yylhs.value.val) = (yystack_[2].value.val) * (yystack_[0].value.val); } -#line 1608 "apr_parser.cc" +#line 1808 "apr_parser.cc" break; - case 128: // exp: exp DIV exp -#line 509 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 160: // exp: exp DIV exp +#line 554 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { if ((yystack_[0].value.val) == 0.) { yyerror(aprepro, "Zero divisor"); @@ -1813,11 +2096,11 @@ namespace SEAMS { else (yylhs.value.val) = (yystack_[2].value.val) / (yystack_[0].value.val); } -#line 1620 "apr_parser.cc" +#line 1820 "apr_parser.cc" break; - case 129: // exp: exp MOD exp -#line 516 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 161: // exp: exp MOD exp +#line 561 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { if ((yystack_[0].value.val) == 0.) { yyerror(aprepro, "Zero divisor"); @@ -1826,45 +2109,45 @@ namespace SEAMS { else (yylhs.value.val) = (int)(yystack_[2].value.val) % (int)(yystack_[0].value.val); } -#line 1632 "apr_parser.cc" +#line 1832 "apr_parser.cc" break; - case 130: // exp: SUB exp -#line 523 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 162: // exp: SUB exp +#line 568 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { (yylhs.value.val) = -(yystack_[0].value.val); } -#line 1638 "apr_parser.cc" +#line 1838 "apr_parser.cc" break; - case 131: // exp: PLU exp -#line 524 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 163: // exp: PLU exp +#line 569 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { (yylhs.value.val) = (yystack_[0].value.val); } -#line 1644 "apr_parser.cc" +#line 1844 "apr_parser.cc" break; - case 132: // exp: exp POW exp -#line 525 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 164: // exp: exp POW exp +#line 570 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { reset_error(); (yylhs.value.val) = std::pow((yystack_[2].value.val), (yystack_[0].value.val)); SEAMS::math_error(aprepro, "Power"); } -#line 1652 "apr_parser.cc" +#line 1852 "apr_parser.cc" break; - case 133: // exp: LPAR exp RPAR -#line 528 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 165: // exp: LPAR exp RPAR +#line 573 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { (yylhs.value.val) = (yystack_[1].value.val); } -#line 1658 "apr_parser.cc" +#line 1858 "apr_parser.cc" break; - case 134: // exp: LBRACK exp RBRACK -#line 529 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 166: // exp: LBRACK exp RBRACK +#line 574 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { reset_error(); (yylhs.value.val) = @@ -1872,46 +2155,46 @@ namespace SEAMS { : floor((yystack_[1].value.val))); SEAMS::math_error(aprepro, "floor (int)"); } -#line 1666 "apr_parser.cc" +#line 1866 "apr_parser.cc" break; - case 135: // exp: bool -#line 532 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 167: // exp: bool +#line 577 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { (yylhs.value.val) = ((yystack_[0].value.val)) ? 1 : 0; } -#line 1672 "apr_parser.cc" +#line 1872 "apr_parser.cc" break; - case 136: // exp: bool QUEST exp COLON exp -#line 533 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 168: // exp: bool QUEST exp COLON exp +#line 578 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { (yylhs.value.val) = ((yystack_[4].value.val)) ? ((yystack_[2].value.val)) : ((yystack_[0].value.val)); } -#line 1678 "apr_parser.cc" +#line 1878 "apr_parser.cc" break; - case 137: // exp: AVAR LBRACK exp RBRACK -#line 534 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 169: // exp: AVAR LBRACK exp RBRACK +#line 579 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { (yylhs.value.val) = array_value((yystack_[3].value.tptr)->value.avar, (yystack_[1].value.val), 0); } -#line 1684 "apr_parser.cc" +#line 1884 "apr_parser.cc" break; - case 138: // exp: AVAR LBRACK exp COMMA exp RBRACK -#line 535 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 170: // exp: AVAR LBRACK exp COMMA exp RBRACK +#line 580 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { (yylhs.value.val) = array_value((yystack_[5].value.tptr)->value.avar, (yystack_[3].value.val), (yystack_[1].value.val)); } -#line 1690 "apr_parser.cc" +#line 1890 "apr_parser.cc" break; - case 139: // exp: AVAR LBRACK exp RBRACK EQUAL exp -#line 537 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 171: // exp: AVAR LBRACK exp RBRACK EQUAL exp +#line 582 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { (yylhs.value.val) = (yystack_[0].value.val); array *arr = (yystack_[5].value.tptr)->value.avar; @@ -1934,11 +2217,11 @@ namespace SEAMS { yyerrok; } } -#line 1716 "apr_parser.cc" +#line 1916 "apr_parser.cc" break; - case 140: // exp: AVAR LBRACK exp COMMA exp RBRACK EQUAL exp -#line 559 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" + case 172: // exp: AVAR LBRACK exp COMMA exp RBRACK EQUAL exp +#line 604 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" { (yylhs.value.val) = (yystack_[0].value.val); array *arr = (yystack_[7].value.tptr)->value.avar; @@ -1959,10 +2242,10 @@ namespace SEAMS { yyerrok; } } -#line 1740 "apr_parser.cc" +#line 1940 "apr_parser.cc" break; -#line 1744 "apr_parser.cc" +#line 1944 "apr_parser.cc" default: break; } @@ -2259,164 +2542,221 @@ namespace SEAMS { return yyres; } - const signed char Parser::yypact_ninf_ = -37; + const signed char Parser::yypact_ninf_ = -25; const signed char Parser::yytable_ninf_ = -1; const short Parser::yypact_[] = { - -37, 2, -37, -7, 281, -37, -37, -37, -37, -37, 233, 284, 0, 311, 11, - -5, 19, 27, 35, 399, 399, -37, 399, 384, 399, 116, 163, 175, 178, 41, - 1151, 384, 399, 399, 399, 399, 399, -37, -37, 384, 399, 399, 399, 399, 399, - -37, -37, 384, 399, 399, 399, 399, 399, 399, -37, -37, 399, 399, 384, 225, - 339, 384, 482, 625, 36, 73, 399, 101, 1199, 889, 1103, 14, -37, 14, 14, - -37, -37, -37, -37, -37, -37, -37, -37, 399, 399, 399, -37, 384, 384, 399, - 384, -37, 399, 399, 399, 399, 399, 399, 399, -37, 399, 399, 399, 399, 399, - 399, 399, 399, 399, 399, 399, 384, 399, 399, 29, 1199, 1218, 1234, 1234, 1234, - 1234, 1234, 29, 1199, 1218, 1234, 1234, 1234, 1234, 1234, 29, 1199, 1218, 1199, 1234, - 1234, 1234, 1234, 1234, 1234, 1199, 1234, 624, 29, 1199, 1218, -37, -15, 78, 654, - -37, 25, 418, 684, 100, 425, 714, 399, 399, 399, 399, 14, -37, -37, 399, - -37, 1165, 1185, 51, 1265, -37, 1279, -36, 1218, -36, 1250, -37, 1250, 12, 1234, - 12, 12, 12, 12, 12, -37, 51, 1265, -37, 1279, -31, -31, -31, -31, -31, - -31, 155, 155, 14, -37, 14, 14, 14, 399, 69, -37, 399, -37, 399, -37, - -37, 399, -37, 399, -37, -37, 399, -37, 399, -37, 1234, 1234, 1234, 1234, 14, - 399, 399, 1128, 399, 449, 916, 141, 595, 455, 485, 943, 515, 970, 744, 1199, - 1234, 96, 1234, 399, -37, -37, -37, 399, -37, 399, 399, -37, 399, -37, -37, - -37, 399, -37, 399, 537, 997, 774, 833, 543, 479, 1024, 1234, -37, -37, 399, - -37, 399, -37, 399, -37, -37, 804, 1051, 509, 399, -37, -37, 399, 565, 862, - 571, -37, 399, -37, 1078, -37}; + -25, 22, -25, -18, 209, -25, -25, -25, -25, -25, 1629, 163, -8, 211, -5, + 154, 6, 51, 58, 471, 471, -25, 471, 426, 471, -2, 379, 71, 80, 1560, + 1665, 426, 471, 471, 471, 471, 471, 471, 471, 471, 471, 471, 471, 471, 471, + -25, -25, 426, 471, 471, 471, 471, 471, -25, -25, 426, 471, 471, 471, 471, + 471, 471, -25, -25, 471, 471, 426, 354, 411, 426, 1647, 326, 20, 181, 471, + 120, 343, 1348, 1580, 14, -25, 14, 14, -25, -25, -25, -25, -25, -25, -25, + -25, 471, 486, 531, -25, 426, 426, 471, 426, -25, 546, 591, 606, 651, 666, + 711, 471, -25, 726, 771, 786, 831, 846, 891, 906, 951, 471, 471, 471, 426, + 471, 471, 44, 343, 1698, 1714, 1714, 1714, 1714, 1714, 55, 1745, -25, 1759, 50, + 367, 50, 367, 50, 367, 50, 367, 50, 367, 50, 367, 44, 343, 1698, 1714, + 1714, 1714, 1714, 1714, 44, 343, 1698, 343, 1714, 1714, 1714, 1714, 1714, 1714, 343, + 1714, 1083, 44, 343, 1698, -25, 87, 254, 1113, -25, 167, 264, 1143, 279, 292, + 1173, 471, 471, 471, 471, 14, -25, -25, 471, -25, -24, 1682, 1647, 55, 1745, + 1647, -25, 1759, 9, 1698, 9, 1730, -25, 1730, 1647, 50, 1714, 1647, 50, 1647, + 50, 1647, 50, 1647, 50, 1647, 50, -25, 1647, 55, 1745, 1647, -25, 1759, 1647, + 367, 1647, 367, 1647, 367, 1647, 367, 1647, 367, 1647, 367, 27, 27, 14, -25, + 14, 14, 14, 471, 101, -25, 471, -25, 471, -25, -25, 471, -25, 471, -25, + -25, 471, -25, 471, -25, 1714, 1714, 1714, 1714, 14, 471, 471, 1605, 471, 967, + 1375, 42, 1054, 977, 937, 1402, 108, 1429, 1203, 343, 1714, 117, 1714, 471, -25, + -25, -25, 471, -25, 471, 471, -25, 471, -25, -25, -25, 471, -25, 471, 133, + 1456, 1233, 1292, 298, 1002, 1483, 1714, -25, -25, 471, -25, 471, -25, 471, -25, + -25, 1263, 1510, 994, 471, -25, -25, 471, 1024, 1321, 1030, -25, 471, -25, 1537, + -25}; const unsigned char Parser::yydefact_[] = { - 2, 0, 1, 0, 0, 4, 3, 9, 71, 51, 99, 74, 52, 75, 53, 32, 0, 0, 0, - 0, 0, 8, 0, 0, 0, 0, 0, 135, 0, 0, 0, 0, 0, 0, 0, 0, 0, 102, - 103, 0, 0, 0, 0, 0, 0, 78, 79, 0, 0, 0, 0, 0, 0, 0, 90, 91, 0, - 0, 0, 0, 0, 0, 99, 74, 52, 0, 0, 135, 0, 0, 0, 131, 45, 130, 12, 72, - 100, 76, 88, 73, 101, 77, 89, 0, 0, 0, 7, 0, 0, 0, 0, 6, 0, 0, 0, - 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 43, 54, 104, 105, 106, 107, 108, 109, 41, 56, 80, 83, 84, 85, 86, 87, 40, 55, 81, - 59, 92, 94, 95, 96, 97, 98, 58, 93, 0, 42, 57, 82, 110, 0, 0, 0, 61, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 130, 25, 133, 0, 134, 0, 0, 19, 21, 20, - 22, 44, 0, 46, 48, 50, 47, 26, 0, 27, 28, 29, 30, 31, 64, 23, 17, 24, 18, - 10, 11, 13, 14, 15, 16, 125, 126, 128, 49, 127, 129, 132, 0, 137, 113, 0, 112, 0, - 111, 63, 0, 60, 0, 62, 39, 0, 33, 0, 38, 104, 80, 81, 82, 127, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 70, 136, 138, 139, 0, 116, 114, 115, - 0, 118, 0, 0, 69, 0, 65, 35, 34, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, - 140, 117, 120, 0, 119, 0, 68, 0, 67, 36, 0, 0, 0, 0, 122, 121, 0, 0, 0, - 0, 123, 0, 66, 0, 124}; - - const signed char Parser::yypgoto_[] = {-37, -37, -37, -13, 104, 89, -4}; - - const unsigned char Parser::yydefgoto_[] = {0, 1, 6, 27, 28, 68, 179}; + 2, 0, 1, 0, 0, 4, 3, 9, 103, 83, 131, 106, 84, 107, 85, 64, 0, 0, 0, + 0, 0, 8, 0, 0, 0, 0, 0, 167, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 134, 135, 0, 0, 0, 0, 0, 0, 110, 111, 0, 0, + 0, 0, 0, 0, 0, 122, 123, 0, 0, 0, 0, 0, 0, 131, 106, 84, 0, 0, 167, + 0, 0, 0, 163, 77, 162, 12, 104, 132, 108, 120, 105, 133, 109, 121, 0, 0, 0, 7, + 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 75, 86, 136, 137, 138, 139, 140, 141, 32, 26, 33, + 27, 40, 52, 41, 53, 42, 54, 43, 55, 44, 56, 45, 57, 73, 88, 112, 115, 116, 117, + 118, 119, 72, 87, 113, 91, 124, 126, 127, 128, 129, 130, 90, 125, 0, 74, 89, 114, 142, + 0, 0, 0, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 162, 25, 165, 0, 166, + 0, 0, 30, 19, 21, 31, 20, 22, 76, 0, 78, 80, 82, 79, 46, 34, 0, 47, 35, + 48, 36, 49, 37, 50, 38, 51, 39, 96, 28, 23, 17, 29, 24, 18, 58, 10, 59, 11, + 60, 13, 61, 14, 62, 15, 63, 16, 157, 158, 160, 81, 159, 161, 164, 0, 169, 145, 0, + 144, 0, 143, 95, 0, 92, 0, 94, 71, 0, 65, 0, 70, 136, 112, 113, 114, 159, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 102, 168, 170, 171, 0, 148, + 146, 147, 0, 150, 0, 0, 101, 0, 97, 67, 66, 0, 69, 0, 0, 0, 0, 0, 0, + 0, 0, 172, 149, 152, 0, 151, 0, 100, 0, 99, 68, 0, 0, 0, 0, 154, 153, 0, + 0, 0, 0, 155, 0, 98, 0, 156}; + + const signed char Parser::yypgoto_[] = {-25, -25, -25, -12, 106, 91, -4}; + + const unsigned char Parser::yydefgoto_[] = {0, 1, 6, 27, 28, 76, 206}; const short Parser::yytable_[] = { - 30, 205, 2, 3, 89, 90, 67, 108, 109, 110, 164, 112, 57, 7, 113, 69, 70, 58, 71, - 73, 74, 4, 47, 87, 88, 89, 90, 116, 117, 118, 119, 120, 121, 56, 59, 124, 125, 126, - 127, 128, 129, 210, 60, 132, 134, 135, 136, 137, 138, 139, 61, 5, 141, 142, 145, 149, 153, - 156, 159, 113, 98, 91, 161, 87, 88, 89, 90, 87, 88, 89, 90, 168, 170, 92, 93, 94, - 95, 96, 97, 167, 169, 171, 85, 173, 173, 175, 177, 186, 188, 98, 57, 228, 206, 29, 207, - 160, 187, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 200, 201, 202, 92, 93, 94, 95, - 96, 97, 215, 162, 258, 75, 115, 76, 77, 0, 78, 0, 98, 72, 123, 83, 0, 84, 85, - 0, 0, 114, 131, 133, 87, 88, 89, 90, 0, 122, 0, 140, 0, 144, 148, 152, 155, 130, - 0, 220, 221, 222, 223, 246, 0, 0, 224, 0, 143, 147, 151, 154, 79, 0, 80, 81, 0, - 82, 166, 92, 93, 94, 95, 96, 97, 0, 0, 178, 180, 181, 182, 183, 184, 185, 0, 98, - 0, 172, 174, 0, 176, 110, 164, 112, 86, 227, 113, 0, 230, 83, 232, 84, 85, 0, 0, - 235, 0, 0, 237, 0, 238, 199, 87, 88, 89, 90, 0, 0, 240, 0, 242, 0, 0, 0, - 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 260, 19, 146, 20, 261, 0, 262, 115, - 123, 131, 144, 0, 0, 265, 0, 266, 31, 32, 33, 34, 35, 36, 0, 0, 22, 23, 276, - 0, 277, 0, 24, 0, 25, 26, 0, 0, 284, 0, 0, 0, 37, 38, 0, 0, 289, 8, - 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 229, 19, 231, 20, 0, 233, 21, 234, 0, - 0, 236, 39, 40, 41, 42, 43, 44, 0, 0, 239, 0, 0, 0, 0, 22, 23, 0, 0, - 0, 0, 24, 0, 25, 26, 0, 45, 46, 259, 48, 49, 50, 51, 52, 53, 263, 0, 264, - 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 0, 19, 150, 20, 54, 55, 0, 0, - 0, 278, 0, 0, 0, 0, 0, 283, 0, 0, 285, 0, 0, 0, 0, 0, 22, 23, 0, - 0, 0, 0, 24, 0, 25, 26, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 0, - 19, 0, 20, 8, 9, 62, 63, 64, 13, 14, 65, 16, 17, 0, 0, 19, 0, 20, 0, - 0, 0, 0, 0, 22, 23, 0, 0, 0, 0, 24, 0, 25, 26, 211, 0, 212, 0, 0, - 22, 66, 216, 0, 217, 0, 24, 0, 25, 26, 0, 0, 0, 92, 93, 94, 95, 96, 97, - 0, 92, 93, 94, 95, 96, 97, 243, 0, 244, 98, 0, 0, 250, 0, 251, 0, 98, 0, - 0, 0, 0, 0, 0, 0, 92, 93, 94, 95, 96, 97, 92, 93, 94, 95, 96, 97, 273, - 0, 274, 0, 98, 0, 252, 0, 0, 0, 98, 157, 32, 33, 34, 35, 36, 0, 92, 93, - 94, 95, 96, 97, 92, 93, 94, 95, 96, 97, 282, 0, 0, 0, 98, 37, 38, 0, 254, - 0, 98, 0, 0, 0, 0, 0, 0, 0, 92, 93, 94, 95, 96, 97, 92, 93, 94, 95, - 96, 97, 267, 0, 0, 0, 98, 0, 272, 0, 0, 0, 98, 0, 0, 0, 0, 0, 92, - 93, 94, 95, 96, 97, 92, 93, 94, 95, 96, 97, 286, 0, 0, 0, 98, 0, 288, 0, - 0, 0, 98, 0, 0, 0, 0, 0, 92, 93, 94, 95, 96, 97, 92, 93, 94, 95, 96, - 97, 247, 0, 248, 0, 98, 0, 0, 249, 0, 0, 98, 0, 0, 0, 0, 0, 100, 101, - 102, 103, 104, 105, 106, 107, 108, 109, 110, 164, 112, 203, 0, 113, 0, 204, 0, 0, 0, - 0, 158, 40, 41, 42, 43, 44, 0, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, - 164, 112, 0, 208, 113, 209, 45, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 0, 213, 113, 214, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 100, 101, 102, 103, 104, 105, 106, 107, - 108, 109, 110, 111, 112, 0, 218, 113, 219, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 0, 256, 113, - 257, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 100, 101, 102, 103, 104, - 105, 106, 107, 108, 109, 110, 164, 112, 0, 269, 113, 270, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 164, 112, - 0, 279, 113, 280, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 100, 101, - 102, 103, 104, 105, 106, 107, 108, 109, 110, 164, 112, 271, 0, 113, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, - 164, 112, 287, 0, 113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 100, - 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 164, 112, 163, 0, 113, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 164, - 112, 245, 0, 113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 100, 101, 102, 103, - 104, 105, 106, 107, 108, 109, 110, 164, 112, 253, 0, 113, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 164, 112, 255, 0, - 113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 100, 101, 102, 103, 104, 105, 106, - 107, 108, 109, 110, 164, 112, 268, 0, 113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 164, 112, 275, 0, 113, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, - 110, 164, 112, 281, 0, 113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 100, 101, - 102, 103, 104, 105, 106, 107, 108, 109, 110, 164, 112, 290, 0, 113, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 164, 112, - 165, 0, 113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 100, 101, 102, 103, 104, 105, 106, - 107, 108, 109, 110, 164, 112, 241, 0, 113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 100, - 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 164, 112, 99, 0, 113, 0, 0, 0, 0, - 0, 0, 0, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 225, 0, 113, - 92, 93, 94, 95, 96, 97, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 98, 226, 100, - 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 164, 112, 0, 0, 113, 92, 93, 94, 95, - 96, 97, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 98, 100, 101, 102, 103, 104, 105, - 106, 107, 108, 109, 110, 111, 112, 0, 0, 113, 100, 101, 102, 103, 104, 105, 106, 107, 108, - 109, 110, 164, 112, 0, 0, 113, 100, 101, 102, 103, 104, 105, 106, 107, 0, 0, 0, 0, - 112, 0, 0, 113, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 164, 112, 0, 0, 113, - 102, 103, 104, 105, 106, 107, 108, 109, 110, 164, 112, 0, 0, 113}; + 30, 83, 7, 84, 85, 265, 86, 75, 100, 101, 102, 103, 104, 105, 55, 77, 78, 64, + 79, 81, 82, 67, 2, 3, 106, 130, 132, 124, 125, 126, 127, 128, 129, 131, 133, 135, + 137, 139, 141, 143, 145, 4, 183, 148, 149, 150, 151, 152, 153, 97, 98, 156, 158, 159, + 160, 161, 162, 163, 286, 121, 165, 166, 169, 173, 177, 180, 68, 118, 188, 120, 185, 5, + 121, 69, 100, 101, 102, 103, 104, 105, 193, 196, 95, 96, 97, 98, 93, 191, 194, 197, + 106, 199, 199, 201, 203, 29, 219, 222, 106, 91, 94, 92, 93, 245, 220, 223, 225, 227, + 229, 231, 233, 235, 236, 237, 238, 240, 241, 242, 95, 96, 97, 98, 123, 268, 294, 95, + 96, 97, 98, 80, 134, 136, 138, 140, 142, 144, 186, 122, 147, 298, 100, 101, 102, 103, + 104, 105, 155, 157, 91, 307, 92, 93, 0, 146, 0, 164, 106, 168, 172, 176, 179, 154, + 0, 0, 0, 100, 101, 102, 103, 104, 105, 65, 167, 171, 175, 178, 66, 260, 261, 262, + 263, 106, 190, 250, 264, 47, 48, 49, 50, 51, 52, 205, 208, 210, 212, 214, 216, 217, + 65, 0, 0, 198, 200, 184, 202, 95, 96, 97, 98, 53, 54, 0, 8, 9, 10, 11, + 12, 13, 14, 15, 16, 17, 18, 0, 19, 239, 20, 0, 0, 21, 0, 0, 0, 56, + 57, 58, 59, 60, 61, 267, 0, 0, 270, 0, 272, 0, 0, 22, 23, 275, 0, 0, + 277, 24, 278, 25, 26, 62, 63, 0, 0, 0, 280, 0, 282, 0, 0, 0, 246, 0, + 247, 0, 123, 147, 155, 168, 0, 0, 251, 300, 252, 0, 0, 301, 0, 302, 100, 101, + 102, 103, 104, 105, 305, 0, 306, 255, 100, 101, 102, 103, 104, 105, 106, 0, 0, 316, + 256, 317, 257, 0, 0, 0, 106, 0, 312, 324, 0, 95, 96, 97, 98, 0, 0, 329, + 100, 101, 102, 103, 104, 105, 100, 101, 102, 103, 104, 105, 0, 269, 0, 271, 106, 0, + 273, 0, 274, 0, 106, 276, 182, 48, 49, 50, 51, 52, 0, 0, 279, 8, 9, 10, + 11, 12, 13, 14, 15, 16, 17, 18, 0, 19, 170, 20, 53, 54, 299, 100, 101, 102, + 103, 104, 105, 303, 87, 304, 88, 89, 0, 90, 0, 0, 0, 106, 22, 23, 0, 0, + 0, 0, 24, 0, 25, 26, 0, 0, 318, 116, 117, 118, 188, 120, 323, 0, 121, 325, + 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 0, 19, 174, 20, 8, 9, 10, + 11, 12, 13, 14, 15, 16, 17, 18, 0, 19, 0, 20, 0, 0, 0, 0, 0, 22, + 23, 0, 0, 0, 0, 24, 0, 25, 26, 0, 0, 0, 0, 0, 22, 23, 0, 0, + 0, 0, 24, 0, 25, 26, 8, 9, 70, 71, 72, 13, 14, 73, 16, 17, 0, 0, + 19, 0, 20, 8, 9, 192, 71, 72, 13, 14, 73, 16, 17, 0, 0, 19, 0, 20, + 0, 0, 0, 0, 0, 22, 74, 0, 0, 0, 0, 24, 0, 25, 26, 0, 0, 0, + 0, 0, 22, 74, 0, 0, 0, 0, 24, 0, 25, 26, 8, 9, 195, 71, 72, 13, + 14, 73, 16, 17, 0, 0, 19, 0, 20, 8, 9, 204, 71, 72, 13, 14, 73, 16, + 17, 0, 0, 19, 0, 20, 0, 0, 0, 0, 0, 22, 74, 0, 0, 0, 0, 24, + 0, 25, 26, 0, 0, 0, 0, 0, 22, 74, 0, 0, 0, 0, 24, 0, 25, 26, + 8, 9, 207, 71, 72, 13, 14, 73, 16, 17, 0, 0, 19, 0, 20, 8, 9, 209, + 71, 72, 13, 14, 73, 16, 17, 0, 0, 19, 0, 20, 0, 0, 0, 0, 0, 22, + 74, 0, 0, 0, 0, 24, 0, 25, 26, 0, 0, 0, 0, 0, 22, 74, 0, 0, + 0, 0, 24, 0, 25, 26, 8, 9, 211, 71, 72, 13, 14, 73, 16, 17, 0, 0, + 19, 0, 20, 8, 9, 213, 71, 72, 13, 14, 73, 16, 17, 0, 0, 19, 0, 20, + 0, 0, 0, 0, 0, 22, 74, 0, 0, 0, 0, 24, 0, 25, 26, 0, 0, 0, + 0, 0, 22, 74, 0, 0, 0, 0, 24, 0, 25, 26, 8, 9, 215, 71, 72, 13, + 14, 73, 16, 17, 0, 0, 19, 0, 20, 8, 9, 218, 71, 72, 13, 14, 73, 16, + 17, 0, 0, 19, 0, 20, 0, 0, 0, 0, 0, 22, 74, 0, 0, 0, 0, 24, + 0, 25, 26, 0, 0, 0, 0, 0, 22, 74, 0, 0, 0, 0, 24, 0, 25, 26, + 8, 9, 221, 71, 72, 13, 14, 73, 16, 17, 0, 0, 19, 0, 20, 8, 9, 224, + 71, 72, 13, 14, 73, 16, 17, 0, 0, 19, 0, 20, 0, 0, 0, 0, 0, 22, + 74, 0, 0, 0, 0, 24, 0, 25, 26, 0, 0, 0, 0, 0, 22, 74, 0, 0, + 0, 0, 24, 0, 25, 26, 8, 9, 226, 71, 72, 13, 14, 73, 16, 17, 0, 0, + 19, 0, 20, 8, 9, 228, 71, 72, 13, 14, 73, 16, 17, 0, 0, 19, 0, 20, + 0, 0, 0, 0, 0, 22, 74, 0, 0, 0, 0, 24, 0, 25, 26, 0, 0, 0, + 0, 0, 22, 74, 0, 0, 0, 0, 24, 0, 25, 26, 8, 9, 230, 71, 72, 13, + 14, 73, 16, 17, 0, 0, 19, 0, 20, 8, 9, 232, 71, 72, 13, 14, 73, 16, + 17, 0, 0, 19, 0, 20, 0, 0, 0, 0, 0, 22, 74, 0, 0, 0, 0, 24, + 0, 25, 26, 0, 0, 0, 0, 0, 22, 74, 0, 0, 0, 0, 24, 292, 25, 26, + 8, 9, 234, 71, 72, 13, 14, 73, 16, 17, 0, 0, 19, 0, 20, 100, 101, 102, + 103, 104, 105, 0, 0, 0, 0, 0, 0, 283, 0, 284, 0, 106, 0, 0, 0, 22, + 74, 290, 0, 291, 0, 24, 0, 25, 26, 100, 101, 102, 103, 104, 105, 0, 0, 0, + 322, 100, 101, 102, 103, 104, 105, 106, 313, 0, 314, 0, 0, 0, 0, 0, 0, 106, + 100, 101, 102, 103, 104, 105, 0, 0, 100, 101, 102, 103, 104, 105, 326, 0, 106, 0, + 0, 0, 328, 0, 0, 0, 106, 0, 0, 0, 0, 0, 100, 101, 102, 103, 104, 105, + 100, 101, 102, 103, 104, 105, 287, 0, 288, 0, 106, 0, 0, 289, 0, 0, 106, 0, + 0, 0, 0, 0, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 188, 120, 243, + 0, 121, 0, 244, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 108, 109, 110, + 111, 112, 113, 114, 115, 116, 117, 118, 188, 120, 0, 248, 121, 249, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 108, 109, 110, 111, 112, 113, 114, 115, 116, + 117, 118, 119, 120, 0, 253, 121, 254, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 0, 258, + 121, 259, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 108, 109, 110, + 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 0, 296, 121, 297, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 108, 109, 110, 111, 112, 113, 114, 115, 116, + 117, 118, 188, 120, 0, 309, 121, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 188, 120, 0, 319, + 121, 320, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 108, 109, 110, + 111, 112, 113, 114, 115, 116, 117, 118, 188, 120, 311, 0, 121, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, + 118, 188, 120, 327, 0, 121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 188, 120, 187, 0, 121, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 108, 109, 110, 111, 112, 113, 114, 115, + 116, 117, 118, 188, 120, 285, 0, 121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 188, 120, 293, 0, 121, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 108, 109, 110, 111, 112, 113, 114, 115, + 116, 117, 118, 188, 120, 295, 0, 121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 188, 120, 308, 0, 121, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 108, 109, 110, 111, 112, 113, 114, 115, + 116, 117, 118, 188, 120, 315, 0, 121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 188, 120, 321, 0, 121, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 108, 109, 110, 111, 112, 113, 114, 115, + 116, 117, 118, 188, 120, 330, 0, 121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 188, 120, 99, 0, 121, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 100, 101, 102, 103, 104, 105, 189, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 106, 0, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, + 118, 188, 120, 281, 0, 121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 108, 109, 110, + 111, 112, 113, 114, 115, 116, 117, 118, 188, 120, 0, 0, 121, 31, 32, 33, 34, 35, + 36, 0, 0, 37, 38, 39, 40, 41, 42, 43, 44, 0, 0, 181, 32, 33, 34, 35, + 36, 45, 46, 37, 38, 39, 40, 41, 42, 43, 44, 107, 0, 0, 0, 0, 0, 0, + 0, 45, 46, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 0, 0, + 121, 266, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 188, 120, 0, 0, 121, + 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 0, 0, 121, 108, 109, + 110, 111, 112, 113, 114, 115, 116, 117, 118, 188, 120, 0, 0, 121, 108, 109, 110, 111, + 112, 113, 114, 115, 0, 0, 0, 0, 120, 0, 0, 121, 109, 110, 111, 112, 113, 114, + 115, 116, 117, 118, 188, 120, 0, 0, 121, 110, 111, 112, 113, 114, 115, 116, 117, 118, + 188, 120, 0, 0, 121}; const short Parser::yycheck_[] = { - 4, 16, 0, 1, 40, 41, 19, 38, 39, 40, 41, 42, 17, 20, 45, 19, 20, 22, 22, - 23, 24, 19, 22, 38, 39, 40, 41, 31, 32, 33, 34, 35, 36, 22, 15, 39, 40, 41, - 42, 43, 44, 16, 15, 47, 48, 49, 50, 51, 52, 53, 15, 49, 56, 57, 58, 59, 60, - 61, 22, 45, 48, 20, 66, 38, 39, 40, 41, 38, 39, 40, 41, 84, 85, 32, 33, 34, - 35, 36, 37, 83, 84, 85, 31, 87, 88, 89, 90, 100, 101, 48, 17, 22, 14, 4, 16, - 22, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 32, 33, 34, 35, - 36, 37, 16, 16, 22, 3, 31, 5, 6, -1, 8, -1, 48, 23, 39, 28, -1, 30, 31, - -1, -1, 31, 47, 48, 38, 39, 40, 41, -1, 39, -1, 56, -1, 58, 59, 60, 61, 47, - -1, 157, 158, 159, 160, 16, -1, -1, 164, -1, 58, 59, 60, 61, 3, -1, 5, 6, -1, - 8, 83, 32, 33, 34, 35, 36, 37, -1, -1, 92, 93, 94, 95, 96, 97, 98, -1, 48, - -1, 87, 88, -1, 90, 40, 41, 42, 20, 203, 45, -1, 206, 28, 208, 30, 31, -1, -1, - 213, -1, -1, 216, -1, 218, 111, 38, 39, 40, 41, -1, -1, 226, -1, 228, -1, -1, -1, - 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 243, 15, 16, 17, 247, -1, 249, 157, - 158, 159, 160, -1, -1, 256, -1, 258, 22, 23, 24, 25, 26, 27, -1, -1, 38, 39, 269, - -1, 271, -1, 44, -1, 46, 47, -1, -1, 279, -1, -1, -1, 46, 47, -1, -1, 287, 3, - 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 206, 15, 208, 17, -1, 211, 20, 213, -1, - -1, 216, 22, 23, 24, 25, 26, 27, -1, -1, 225, -1, -1, -1, -1, 38, 39, -1, -1, - -1, -1, 44, -1, 46, 47, -1, 46, 47, 243, 22, 23, 24, 25, 26, 27, 250, -1, 252, - 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, -1, 15, 16, 17, 46, 47, -1, -1, - -1, 273, -1, -1, -1, -1, -1, 279, -1, -1, 282, -1, -1, -1, -1, -1, 38, 39, -1, - -1, -1, -1, 44, -1, 46, 47, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, -1, - 15, -1, 17, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, -1, -1, 15, -1, 17, -1, - -1, -1, -1, -1, 38, 39, -1, -1, -1, -1, 44, -1, 46, 47, 14, -1, 16, -1, -1, - 38, 39, 14, -1, 16, -1, 44, -1, 46, 47, -1, -1, -1, 32, 33, 34, 35, 36, 37, - -1, 32, 33, 34, 35, 36, 37, 14, -1, 16, 48, -1, -1, 14, -1, 16, -1, 48, -1, - -1, -1, -1, -1, -1, -1, 32, 33, 34, 35, 36, 37, 32, 33, 34, 35, 36, 37, 14, - -1, 16, -1, 48, -1, 14, -1, -1, -1, 48, 22, 23, 24, 25, 26, 27, -1, 32, 33, - 34, 35, 36, 37, 32, 33, 34, 35, 36, 37, 14, -1, -1, -1, 48, 46, 47, -1, 16, - -1, 48, -1, -1, -1, -1, -1, -1, -1, 32, 33, 34, 35, 36, 37, 32, 33, 34, 35, - 36, 37, 16, -1, -1, -1, 48, -1, 16, -1, -1, -1, 48, -1, -1, -1, -1, -1, 32, - 33, 34, 35, 36, 37, 32, 33, 34, 35, 36, 37, 16, -1, -1, -1, 48, -1, 16, -1, - -1, -1, 48, -1, -1, -1, -1, -1, 32, 33, 34, 35, 36, 37, 32, 33, 34, 35, 36, - 37, 14, -1, 16, -1, 48, -1, -1, 21, -1, -1, 48, -1, -1, -1, -1, -1, 30, 31, - 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 14, -1, 45, -1, 18, -1, -1, -1, - -1, 22, 23, 24, 25, 26, 27, -1, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, - 41, 42, -1, 14, 45, 16, 46, 47, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, -1, 14, 45, 16, -1, -1, + 4, 3, 20, 5, 6, 29, 8, 19, 32, 33, 34, 35, 36, 37, 22, 19, 20, 22, 22, + 23, 24, 15, 0, 1, 48, 37, 38, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, + 42, 43, 44, 19, 22, 47, 48, 49, 50, 51, 52, 40, 41, 55, 56, 57, 58, 59, 60, + 61, 16, 45, 64, 65, 66, 67, 68, 69, 15, 40, 41, 42, 74, 49, 45, 15, 32, 33, + 34, 35, 36, 37, 92, 93, 38, 39, 40, 41, 31, 91, 92, 93, 48, 95, 96, 97, 98, + 4, 108, 109, 48, 28, 20, 30, 31, 16, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, + 118, 119, 120, 121, 38, 39, 40, 41, 31, 22, 16, 38, 39, 40, 41, 23, 39, 40, 41, + 42, 43, 44, 16, 31, 47, 22, 32, 33, 34, 35, 36, 37, 55, 56, 28, 16, 30, 31, + -1, 47, -1, 64, 48, 66, 67, 68, 69, 55, -1, -1, -1, 32, 33, 34, 35, 36, 37, + 17, 66, 67, 68, 69, 22, 181, 182, 183, 184, 48, 91, 16, 188, 22, 23, 24, 25, 26, + 27, 100, 101, 102, 103, 104, 105, 106, 17, -1, -1, 95, 96, 22, 98, 38, 39, 40, 41, + 46, 47, -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, -1, 15, 119, 17, -1, + -1, 20, -1, -1, -1, 22, 23, 24, 25, 26, 27, 243, -1, -1, 246, -1, 248, -1, -1, + 38, 39, 253, -1, -1, 256, 44, 258, 46, 47, 46, 47, -1, -1, -1, 266, -1, 268, -1, + -1, -1, 14, -1, 16, -1, 181, 182, 183, 184, -1, -1, 14, 283, 16, -1, -1, 287, -1, + 289, 32, 33, 34, 35, 36, 37, 296, -1, 298, 16, 32, 33, 34, 35, 36, 37, 48, -1, + -1, 309, 14, 311, 16, -1, -1, -1, 48, -1, 16, 319, -1, 38, 39, 40, 41, -1, -1, + 327, 32, 33, 34, 35, 36, 37, 32, 33, 34, 35, 36, 37, -1, 246, -1, 248, 48, -1, + 251, -1, 253, -1, 48, 256, 22, 23, 24, 25, 26, 27, -1, -1, 265, 3, 4, 5, 6, + 7, 8, 9, 10, 11, 12, 13, -1, 15, 16, 17, 46, 47, 283, 32, 33, 34, 35, 36, + 37, 290, 3, 292, 5, 6, -1, 8, -1, -1, -1, 48, 38, 39, -1, -1, -1, -1, 44, + -1, 46, 47, -1, -1, 313, 38, 39, 40, 41, 42, 319, -1, 45, 322, 3, 4, 5, 6, + 7, 8, 9, 10, 11, 12, 13, -1, 15, 16, 17, 3, 4, 5, 6, 7, 8, 9, 10, + 11, 12, 13, -1, 15, -1, 17, -1, -1, -1, -1, -1, 38, 39, -1, -1, -1, -1, 44, + -1, 46, 47, -1, -1, -1, -1, -1, 38, 39, -1, -1, -1, -1, 44, -1, 46, 47, 3, + 4, 5, 6, 7, 8, 9, 10, 11, 12, -1, -1, 15, -1, 17, 3, 4, 5, 6, 7, + 8, 9, 10, 11, 12, -1, -1, 15, -1, 17, -1, -1, -1, -1, -1, 38, 39, -1, -1, + -1, -1, 44, -1, 46, 47, -1, -1, -1, -1, -1, 38, 39, -1, -1, -1, -1, 44, -1, + 46, 47, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, -1, -1, 15, -1, 17, 3, 4, + 5, 6, 7, 8, 9, 10, 11, 12, -1, -1, 15, -1, 17, -1, -1, -1, -1, -1, 38, + 39, -1, -1, -1, -1, 44, -1, 46, 47, -1, -1, -1, -1, -1, 38, 39, -1, -1, -1, + -1, 44, -1, 46, 47, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, -1, -1, 15, -1, + 17, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, -1, -1, 15, -1, 17, -1, -1, -1, + -1, -1, 38, 39, -1, -1, -1, -1, 44, -1, 46, 47, -1, -1, -1, -1, -1, 38, 39, + -1, -1, -1, -1, 44, -1, 46, 47, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, -1, + -1, 15, -1, 17, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, -1, -1, 15, -1, 17, + -1, -1, -1, -1, -1, 38, 39, -1, -1, -1, -1, 44, -1, 46, 47, -1, -1, -1, -1, + -1, 38, 39, -1, -1, -1, -1, 44, -1, 46, 47, 3, 4, 5, 6, 7, 8, 9, 10, + 11, 12, -1, -1, 15, -1, 17, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, -1, -1, + 15, -1, 17, -1, -1, -1, -1, -1, 38, 39, -1, -1, -1, -1, 44, -1, 46, 47, -1, + -1, -1, -1, -1, 38, 39, -1, -1, -1, -1, 44, -1, 46, 47, 3, 4, 5, 6, 7, + 8, 9, 10, 11, 12, -1, -1, 15, -1, 17, 3, 4, 5, 6, 7, 8, 9, 10, 11, + 12, -1, -1, 15, -1, 17, -1, -1, -1, -1, -1, 38, 39, -1, -1, -1, -1, 44, -1, + 46, 47, -1, -1, -1, -1, -1, 38, 39, -1, -1, -1, -1, 44, -1, 46, 47, 3, 4, + 5, 6, 7, 8, 9, 10, 11, 12, -1, -1, 15, -1, 17, 3, 4, 5, 6, 7, 8, + 9, 10, 11, 12, -1, -1, 15, -1, 17, -1, -1, -1, -1, -1, 38, 39, -1, -1, -1, + -1, 44, -1, 46, 47, -1, -1, -1, -1, -1, 38, 39, -1, -1, -1, -1, 44, -1, 46, + 47, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, -1, -1, 15, -1, 17, 3, 4, 5, + 6, 7, 8, 9, 10, 11, 12, -1, -1, 15, -1, 17, -1, -1, -1, -1, -1, 38, 39, + -1, -1, -1, -1, 44, -1, 46, 47, -1, -1, -1, -1, -1, 38, 39, -1, -1, -1, -1, + 44, 14, 46, 47, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, -1, -1, 15, -1, 17, + 32, 33, 34, 35, 36, 37, -1, -1, -1, -1, -1, -1, 14, -1, 16, -1, 48, -1, -1, + -1, 38, 39, 14, -1, 16, -1, 44, -1, 46, 47, 32, 33, 34, 35, 36, 37, -1, -1, + -1, 14, 32, 33, 34, 35, 36, 37, 48, 14, -1, 16, -1, -1, -1, -1, -1, -1, 48, + 32, 33, 34, 35, 36, 37, -1, -1, 32, 33, 34, 35, 36, 37, 16, -1, 48, -1, -1, + -1, 16, -1, -1, -1, 48, -1, -1, -1, -1, -1, 32, 33, 34, 35, 36, 37, 32, 33, + 34, 35, 36, 37, 14, -1, 16, -1, 48, -1, -1, 21, -1, -1, 48, -1, -1, -1, -1, + -1, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 14, -1, 45, -1, 18, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, -1, 14, 45, 16, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, -1, 14, 45, @@ -2424,9 +2764,15 @@ namespace SEAMS { 35, 36, 37, 38, 39, 40, 41, 42, -1, 14, 45, 16, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, -1, 14, 45, 16, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 30, 31, - 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 14, -1, 45, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, - 41, 42, 14, -1, 45, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 30, + 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, -1, 14, 45, 16, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, + 40, 41, 42, -1, 14, 45, 16, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 14, -1, 45, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 30, 31, 32, 33, 34, 35, 36, 37, + 38, 39, 40, 41, 42, 14, -1, 45, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 16, -1, 45, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 30, 31, 32, 33, 34, 35, 36, 37, 38, + 39, 40, 41, 42, 16, -1, 45, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 16, -1, 45, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 16, -1, 45, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 30, 31, 32, 33, @@ -2436,51 +2782,53 @@ namespace SEAMS { 37, 38, 39, 40, 41, 42, 16, -1, 45, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 16, -1, 45, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 42, 16, -1, 45, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 30, 31, - 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 16, -1, 45, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, - 18, -1, 45, -1, -1, -1, -1, -1, -1, -1, -1, -1, 30, 31, 32, 33, 34, 35, 36, - 37, 38, 39, 40, 41, 42, 18, -1, 45, -1, -1, -1, -1, -1, -1, -1, -1, -1, 30, - 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 20, -1, 45, -1, -1, -1, -1, - -1, -1, -1, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 29, -1, 45, - 32, 33, 34, 35, 36, 37, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 48, 29, 30, - 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, -1, -1, 45, 32, 33, 34, 35, - 36, 37, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 48, 30, 31, 32, 33, 34, 35, - 36, 37, 38, 39, 40, 41, 42, -1, -1, 45, 30, 31, 32, 33, 34, 35, 36, 37, 38, - 39, 40, 41, 42, -1, -1, 45, 30, 31, 32, 33, 34, 35, 36, 37, -1, -1, -1, -1, - 42, -1, -1, 45, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, -1, -1, 45, - 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, -1, -1, 45}; + 40, 41, 42, 20, -1, 45, -1, -1, -1, -1, -1, -1, -1, -1, -1, 32, 33, 34, 35, + 36, 37, 18, -1, -1, -1, -1, -1, -1, -1, -1, -1, 48, -1, 30, 31, 32, 33, 34, + 35, 36, 37, 38, 39, 40, 41, 42, 18, -1, 45, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, -1, -1, 45, 22, 23, + 24, 25, 26, 27, -1, -1, 30, 31, 32, 33, 34, 35, 36, 37, -1, -1, 22, 23, 24, + 25, 26, 27, 46, 47, 30, 31, 32, 33, 34, 35, 36, 37, 20, -1, -1, -1, -1, -1, + -1, -1, 46, 47, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, -1, -1, + 45, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, -1, -1, 45, 30, + 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, -1, -1, 45, 30, 31, 32, 33, + 34, 35, 36, 37, 38, 39, 40, 41, 42, -1, -1, 45, 30, 31, 32, 33, 34, 35, 36, + 37, -1, -1, -1, -1, 42, -1, -1, 45, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, + 41, 42, -1, -1, 45, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, -1, -1, 45}; const signed char Parser::yystos_[] = { 0, 51, 0, 1, 19, 49, 52, 20, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 17, 20, 38, - 39, 44, 46, 47, 53, 54, 55, 56, 22, 23, 24, 25, 26, 27, 46, 47, 22, 23, 24, 25, 26, 27, 46, - 47, 22, 22, 23, 24, 25, 26, 27, 46, 47, 22, 17, 22, 15, 15, 15, 5, 6, 7, 10, 39, 53, 55, - 56, 56, 56, 54, 56, 56, 3, 5, 6, 8, 3, 5, 6, 8, 28, 30, 31, 20, 38, 39, 40, 41, 20, - 32, 33, 34, 35, 36, 37, 48, 20, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 54, - 55, 56, 56, 56, 56, 56, 56, 54, 55, 56, 56, 56, 56, 56, 56, 54, 55, 56, 55, 56, 56, 56, 56, - 56, 56, 55, 56, 56, 54, 55, 56, 16, 54, 55, 56, 16, 54, 55, 56, 54, 55, 56, 22, 22, 22, 22, - 56, 16, 16, 41, 18, 55, 56, 53, 56, 53, 56, 54, 56, 54, 56, 54, 56, 55, 56, 55, 55, 55, 55, - 55, 55, 53, 56, 53, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 54, 56, 56, 56, 14, 18, 16, 14, - 16, 14, 16, 16, 14, 16, 14, 16, 16, 14, 16, 14, 16, 56, 56, 56, 56, 56, 29, 29, 56, 22, 55, - 56, 55, 56, 55, 55, 56, 55, 56, 56, 55, 56, 18, 56, 14, 16, 16, 16, 14, 16, 21, 14, 16, 14, - 16, 16, 16, 14, 16, 22, 55, 56, 56, 56, 55, 55, 56, 56, 16, 16, 14, 16, 14, 16, 14, 16, 16, - 56, 56, 55, 14, 16, 16, 14, 55, 56, 55, 16, 14, 16, 56, 16}; + 39, 44, 46, 47, 53, 54, 55, 56, 22, 23, 24, 25, 26, 27, 30, 31, 32, 33, 34, 35, 36, 37, 46, + 47, 22, 23, 24, 25, 26, 27, 46, 47, 22, 22, 23, 24, 25, 26, 27, 46, 47, 22, 17, 22, 15, 15, + 15, 5, 6, 7, 10, 39, 53, 55, 56, 56, 56, 54, 56, 56, 3, 5, 6, 8, 3, 5, 6, 8, 28, + 30, 31, 20, 38, 39, 40, 41, 20, 32, 33, 34, 35, 36, 37, 48, 20, 30, 31, 32, 33, 34, 35, 36, + 37, 38, 39, 40, 41, 42, 45, 54, 55, 56, 56, 56, 56, 56, 56, 53, 56, 53, 56, 55, 56, 55, 56, + 55, 56, 55, 56, 55, 56, 55, 56, 54, 55, 56, 56, 56, 56, 56, 56, 54, 55, 56, 55, 56, 56, 56, + 56, 56, 56, 55, 56, 56, 54, 55, 56, 16, 54, 55, 56, 16, 54, 55, 56, 54, 55, 56, 22, 22, 22, + 22, 56, 16, 16, 41, 18, 55, 56, 5, 53, 56, 5, 53, 56, 54, 56, 54, 56, 54, 56, 5, 55, 56, + 5, 55, 5, 55, 5, 55, 5, 55, 5, 55, 55, 5, 53, 56, 5, 53, 56, 5, 56, 5, 56, 5, 56, + 5, 56, 5, 56, 5, 56, 56, 56, 56, 54, 56, 56, 56, 14, 18, 16, 14, 16, 14, 16, 16, 14, 16, + 14, 16, 16, 14, 16, 14, 16, 56, 56, 56, 56, 56, 29, 29, 56, 22, 55, 56, 55, 56, 55, 55, 56, + 55, 56, 56, 55, 56, 18, 56, 14, 16, 16, 16, 14, 16, 21, 14, 16, 14, 16, 16, 16, 14, 16, 22, + 55, 56, 56, 56, 55, 55, 56, 56, 16, 16, 14, 16, 14, 16, 14, 16, 16, 56, 56, 55, 14, 16, 16, + 14, 55, 56, 55, 16, 14, 16, 56, 16}; const signed char Parser::yyr1_[] = { - 0, 50, 51, 51, 52, 52, 52, 52, 52, 52, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, - 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, - 54, 54, 54, 54, 54, 54, 54, 54, 54, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 55, 55, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, - 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56}; + 0, 50, 51, 51, 52, 52, 52, 52, 52, 52, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, + 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, + 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 54, 54, + 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 55, 55, 55, 55, 55, + 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 56, 56, 56, 56, 56, 56, 56, + 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, + 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, + 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56}; const signed char Parser::yyr2_[] = { - 0, 2, 0, 2, 1, 3, 3, 3, 2, 2, 3, 3, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 1, 4, 6, 6, 8, 6, 4, 4, 3, 3, 3, 3, 3, 2, 3, 3, 3, 3, 3, 1, 1, 1, 3, 3, 3, 3, - 3, 3, 4, 3, 4, 4, 3, 6, 12, 8, 8, 6, 5, 1, 2, 2, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, - 3, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 1, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 6, 6, - 6, 8, 6, 8, 8, 10, 10, 12, 14, 3, 3, 3, 3, 3, 2, 2, 3, 3, 3, 1, 5, 4, 6, 6, 8}; + 0, 2, 0, 2, 1, 3, 3, 3, 2, 2, 3, 3, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 1, 4, 6, 6, 8, 6, 4, 4, 3, 3, 3, 3, 3, 2, 3, 3, 3, 3, 3, 1, 1, 1, 3, + 3, 3, 3, 3, 3, 4, 3, 4, 4, 3, 6, 12, 8, 8, 6, 5, 1, 2, 2, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, + 3, 3, 3, 3, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 1, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 4, 4, + 4, 6, 6, 6, 8, 6, 8, 8, 10, 10, 12, 14, 3, 3, 3, 3, 3, 2, 2, 3, 3, 3, 1, 5, 4, 6, 6, 8}; #if SEAMSDEBUG || 1 // YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. @@ -2547,14 +2895,16 @@ namespace SEAMS { #if SEAMSDEBUG const short Parser::yyrline_[] = { - 0, 125, 125, 126, 129, 130, 137, 141, 142, 143, 146, 147, 148, 149, 150, 151, 152, 153, - 154, 155, 156, 157, 158, 159, 160, 161, 164, 165, 166, 167, 168, 169, 171, 172, 178, 184, - 190, 196, 202, 208, 214, 218, 222, 225, 227, 235, 237, 245, 246, 247, 248, 257, 258, 259, - 260, 262, 265, 269, 274, 275, 276, 282, 288, 294, 300, 301, 307, 313, 319, 325, 331, 333, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 344, 347, 352, 353, 354, 355, 356, 361, 362, - 363, 364, 365, 366, 367, 368, 369, 370, 371, 373, 375, 378, 381, 384, 387, 389, 392, 395, - 398, 401, 408, 415, 422, 429, 436, 443, 450, 457, 464, 470, 476, 482, 488, 494, 500, 506, - 507, 508, 509, 516, 523, 524, 525, 528, 529, 532, 533, 534, 535, 536, 558}; + 0, 127, 127, 128, 131, 132, 145, 149, 150, 151, 154, 155, 156, 157, 158, 159, 160, 161, + 162, 163, 164, 165, 166, 167, 168, 169, 171, 172, 173, 174, 175, 176, 177, 178, 181, 182, + 183, 184, 185, 186, 188, 189, 190, 191, 192, 193, 195, 196, 197, 198, 199, 200, 202, 203, + 204, 205, 206, 207, 209, 210, 211, 212, 213, 214, 216, 217, 223, 229, 235, 241, 247, 253, + 259, 263, 267, 270, 272, 280, 282, 290, 291, 292, 293, 302, 303, 304, 305, 307, 310, 314, + 319, 320, 321, 327, 333, 339, 345, 346, 352, 358, 364, 370, 376, 378, 379, 380, 381, 382, + 383, 384, 385, 386, 387, 389, 392, 397, 398, 399, 400, 401, 406, 407, 408, 409, 410, 411, + 412, 413, 414, 415, 416, 418, 420, 423, 426, 429, 432, 434, 437, 440, 443, 446, 453, 460, + 467, 474, 481, 488, 495, 502, 509, 515, 521, 527, 533, 539, 545, 551, 552, 553, 554, 561, + 568, 569, 570, 573, 574, 577, 578, 579, 580, 581, 603}; void Parser::yy_stack_print_() const { @@ -2607,8 +2957,8 @@ namespace SEAMS { } } // namespace SEAMS -#line 2649 "apr_parser.cc" +#line 2966 "apr_parser.cc" -#line 581 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" +#line 626 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" void SEAMS::Parser::error(const std::string &m) { aprepro.error(m); } diff --git a/packages/seacas/libraries/aprepro_lib/apr_units.cc b/packages/seacas/libraries/aprepro_lib/apr_units.cc index bd324d7b0f1f..c98074d3da1c 100644 --- a/packages/seacas/libraries/aprepro_lib/apr_units.cc +++ b/packages/seacas/libraries/aprepro_lib/apr_units.cc @@ -1,4 +1,4 @@ -// Copyright(C) 1999-2020, 2023 National Technology & Engineering Solutions +// Copyright(C) 1999-2020, 2023, 2024 National Technology & Engineering Solutions // of Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with // NTESS, the U.S. Government retains certain rights in this software. // @@ -28,7 +28,7 @@ namespace { void define_var(const char *name, double val, const char *label) { - aprepro->add_variable(name, val, true); + aprepro->add_variable(name, val, true, true); if (echo) { *(aprepro->infoStream) << comment() << " 1 " << std::left << std::setw(10) << name << "\t= " << std::setw(14) << std::setprecision(7) << val << " " @@ -316,11 +316,11 @@ unit_systems systems[] = if (systems[i].name != nullptr) { // Found a match for (int j = 0; systems[i].label[j].vname != nullptr; j++) { - aprepro->add_variable(systems[i].label[j].vname, systems[i].label[j].value, true); + aprepro->add_variable(systems[i].label[j].vname, systems[i].label[j].value, true, true); } for (int j = 0; systems[i].base[j].vname != nullptr; j++) { - aprepro->add_variable(systems[i].base[j].vname, systems[i].base[j].value, true); + aprepro->add_variable(systems[i].base[j].vname, systems[i].base[j].value, true, true); } symrec *var = aprepro->getsym("_UNITS_SYSTEM"); diff --git a/packages/seacas/libraries/aprepro_lib/aprepro.yy b/packages/seacas/libraries/aprepro_lib/aprepro.yy index 8bbbbef2eb34..a36fda0df51d 100644 --- a/packages/seacas/libraries/aprepro_lib/aprepro.yy +++ b/packages/seacas/libraries/aprepro_lib/aprepro.yy @@ -1,23 +1,22 @@ -// Copyright(C) 1999-2023 National Technology & Engineering Solutions +// Copyright(C) 1999-2024 National Technology & Engineering Solutions // of Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with // NTESS, the U.S. Government retains certain rights in this software. // // See packages/seacas/LICENSE for details %{ -#include "aprepro.h" -#include "apr_util.h" #include "apr_array.h" +#include "apr_util.h" +#include "aprepro.h" -#if defined FMT_SUPPORT -#include -#endif #include #include #include #include +#include #include +#include +#include #include -#include namespace { void reset_error() @@ -133,12 +132,8 @@ line: '\n' { if (echo) aprepro.lexer->LexerOutput("\n", 1); | LBRACE exp RBRACE { if (echo) { SEAMS::symrec *format = aprepro.getsym("_FORMAT"); if (format->value.svar.empty()) { -#if defined FMT_SUPPORT auto tmpstr = fmt::format("{}", $2); aprepro.lexer->LexerOutput(tmpstr.c_str(), tmpstr.size()); -#else - yyerror(aprepro, "Empty _FORMAT string -- no output will be printed. Optional Lib::FMT dependency is not enabled."); -#endif } else { static char tmpstr[512]; @@ -172,6 +167,15 @@ bool: exp LT exp { $$ = $1 < $3; } | exp LOR bool { $$ = $1 || $3; } | exp LAND bool { $$ = $1 && $3; } | LPAR bool RPAR { $$ = $2; } + + | UNDVAR LOR exp { $$ = 0 || $3; undefined_error(aprepro, $1->name); } + | UNDVAR LAND exp { $$ = 0 && $3; undefined_error(aprepro, $1->name); } + | exp LOR UNDVAR { $$ = $1 || 0; undefined_error(aprepro, $3->name); } + | exp LAND UNDVAR { $$ = $1 && 0; undefined_error(aprepro, $3->name); } + | bool LOR UNDVAR { $$ = $1 || 0; undefined_error(aprepro, $3->name); } + | bool LAND UNDVAR { $$ = $1 && 0; undefined_error(aprepro, $3->name); } + | UNDVAR LOR bool { $$ = 0 || $3; undefined_error(aprepro, $1->name); } + | UNDVAR LAND bool { $$ = 0 && $3; undefined_error(aprepro, $1->name); } ; bool: sexp LT sexp { $$ = (strcmp($1,$3) < 0 ? 1 : 0); } @@ -181,6 +185,34 @@ bool: sexp LT sexp { $$ = (strcmp($1,$3) < 0 ? 1 : 0); } | sexp EQ sexp { $$ = (strcmp($1,$3) == 0 ? 1 : 0); } | sexp NE sexp { $$ = (strcmp($1,$3) != 0 ? 1 : 0); } + | UNDVAR LT sexp { $$ = (strcmp("",$3) < 0 ? 1 : 0); undefined_error(aprepro, $1->name); } + | UNDVAR GT sexp { $$ = (strcmp("",$3) > 0 ? 1 : 0); undefined_error(aprepro, $1->name); } + | UNDVAR LE sexp { $$ = (strcmp("",$3) <= 0 ? 1 : 0); undefined_error(aprepro, $1->name); } + | UNDVAR GE sexp { $$ = (strcmp("",$3) >= 0 ? 1 : 0); undefined_error(aprepro, $1->name); } + | UNDVAR EQ sexp { $$ = (strcmp("",$3) == 0 ? 1 : 0); undefined_error(aprepro, $1->name); } + | UNDVAR NE sexp { $$ = (strcmp("",$3) != 0 ? 1 : 0); undefined_error(aprepro, $1->name); } + + | sexp LT UNDVAR { $$ = (strcmp($1,"") < 0 ? 1 : 0); undefined_error(aprepro, $3->name); } + | sexp GT UNDVAR { $$ = (strcmp($1,"") > 0 ? 1 : 0); undefined_error(aprepro, $3->name); } + | sexp LE UNDVAR { $$ = (strcmp($1,"") <= 0 ? 1 : 0); undefined_error(aprepro, $3->name); } + | sexp GE UNDVAR { $$ = (strcmp($1,"") >= 0 ? 1 : 0); undefined_error(aprepro, $3->name); } + | sexp EQ UNDVAR { $$ = (strcmp($1,"") == 0 ? 1 : 0); undefined_error(aprepro, $3->name); } + | sexp NE UNDVAR { $$ = (strcmp($1,"") != 0 ? 1 : 0); undefined_error(aprepro, $3->name); } + + | UNDVAR LT exp { $$ = 0 < $3; undefined_error(aprepro, $1->name); } + | UNDVAR GT exp { $$ = 0 > $3; undefined_error(aprepro, $1->name); } + | UNDVAR LE exp { $$ = 0 <= $3; undefined_error(aprepro, $1->name); } + | UNDVAR GE exp { $$ = 0 >= $3; undefined_error(aprepro, $1->name); } + | UNDVAR EQ exp { $$ = 0 == $3; undefined_error(aprepro, $1->name); } + | UNDVAR NE exp { $$ = 0 != $3; undefined_error(aprepro, $1->name); } + + | exp LT UNDVAR { $$ = $1 < 0; undefined_error(aprepro, $3->name); } + | exp GT UNDVAR { $$ = $1 > 0; undefined_error(aprepro, $3->name); } + | exp LE UNDVAR { $$ = $1 <= 0; undefined_error(aprepro, $3->name); } + | exp GE UNDVAR { $$ = $1 >= 0; undefined_error(aprepro, $3->name); } + | exp EQ UNDVAR { $$ = $1 == 0; undefined_error(aprepro, $3->name); } + | exp NE UNDVAR { $$ = $1 != 0; undefined_error(aprepro, $3->name); } + aexp: AVAR { $$ = aprepro.make_array(*($1->value.avar)); } | AFNCT LPAR sexp RPAR { if (arg_check($1, $1->value.arrfnct_c == NULL)) @@ -358,7 +390,7 @@ exp: NUM { $$ = $1; } redefined_warning(aprepro, $1); set_type(aprepro, $1, token::VAR); } | AVAR EQUAL exp { $$ = $3; - aprepro.redefine_array($1->value.avar); + aprepro.redefine_array($1->value.avar); $1->value.var= $3; redefined_warning(aprepro, $1); set_type(aprepro, $1, token::VAR); } diff --git a/packages/seacas/libraries/aprepro_lib/aprepro_parser.h b/packages/seacas/libraries/aprepro_lib/aprepro_parser.h index 3c99dfe7d88c..0b2eb4fcd94b 100644 --- a/packages/seacas/libraries/aprepro_lib/aprepro_parser.h +++ b/packages/seacas/libraries/aprepro_lib/aprepro_parser.h @@ -2,7 +2,7 @@ // Skeleton interface for Bison LALR(1) parsers in C++ -// Copyright (C) 2002-2015, 2018-2021, 2023 Free Software Foundation, Inc. +// Copyright (C) 2002-2015, 2018-2021 Free Software Foundation, Inc. // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by @@ -44,7 +44,6 @@ #ifndef YY_SEAMS_APREPRO_PARSER_H_INCLUDED #define YY_SEAMS_APREPRO_PARSER_H_INCLUDED -// NOLINTBEGIN #include // std::abort #include #include @@ -192,7 +191,7 @@ namespace SEAMS { #else /// Symbol semantic values. union value_type { -#line 69 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" +#line 71 "/Users/gdsjaar/src/seacas/packages/seacas/libraries/aprepro_lib/aprepro.yy" double val; /* For returning numbers. */ struct symrec *tptr; /* For returning symbol-table pointers */ @@ -781,7 +780,7 @@ namespace SEAMS { /// Constants. enum { - yylast_ = 1324, ///< Last index in yytable_. + yylast_ = 1804, ///< Last index in yytable_. yynnts_ = 7, ///< Number of nonterminal symbols. yyfinal_ = 2 ///< Termination state number. }; @@ -793,5 +792,4 @@ namespace SEAMS { } // namespace SEAMS #line 881 "aprepro_parser.h" -// NOLINTEND #endif // !YY_SEAMS_APREPRO_PARSER_H_INCLUDED diff --git a/packages/seacas/libraries/aprepro_lib/cmake/Dependencies.cmake b/packages/seacas/libraries/aprepro_lib/cmake/Dependencies.cmake index 6cbd978ae297..3fb6a1724c6d 100644 --- a/packages/seacas/libraries/aprepro_lib/cmake/Dependencies.cmake +++ b/packages/seacas/libraries/aprepro_lib/cmake/Dependencies.cmake @@ -1,4 +1,12 @@ +if(CMAKE_PROJECT_NAME STREQUAL "Seacas" OR CMAKE_PROJECT_NAME STREQUAL "SEACAS" ) TRIBITS_PACKAGE_DEFINE_DEPENDENCIES( + LIB_REQUIRED_TPLS fmt LIB_OPTIONAL_PACKAGES SEACASExodus TEST_OPTIONAL_TPLS Pthread ) +else() +TRIBITS_PACKAGE_DEFINE_DEPENDENCIES( + LIB_OPTIONAL_PACKAGES SEACASExodus + TEST_OPTIONAL_TPLS Pthread +) +endif() diff --git a/packages/seacas/libraries/aprepro_lib/terminal_color.h b/packages/seacas/libraries/aprepro_lib/terminal_color.h deleted file mode 100644 index 5515bb650710..000000000000 --- a/packages/seacas/libraries/aprepro_lib/terminal_color.h +++ /dev/null @@ -1,169 +0,0 @@ -#ifndef __TRMCLR_H__ -#define __TRMCLR_H__ - -// Copyright (c) 2016 Camille Brugel -// -// This software is provided 'as-is', without any express or implied -// warranty. In no event will the authors be held liable for any damages -// arising from the use of this software. -// -// Permission is granted to anyone to use this software for any purpose, -// including commercial applications, and to alter it and redistribute it -// freely, subject to the following restrictions: -// -// 1. The origin of this software must not be misrepresented; you must not -// claim that you wrote the original software. If you use this software -// in a product, an acknowledgement in the product documentation would be -// appreciated but is not required. -// 2. Altered source versions must be plainly marked as such, and must not be -// misrepresented as being the original software. -// 3. This notice may not be removed or altered from any source distribution. - -#include -#include -#include -#include -#include - -// ## Example - -// ```c++ -// #include "trmclr.hpp" -// #include - -// int main() -// { -// trmclr::Style fancyStyle(trmclr::Background::LIGHT_BLUE | -// trmclr::Foreground::WHITE | -// trmclr::Attribute::UNDERLINED | -// trmclr::Attribute::BOLD); - -// trmclr::Style basicStyle(trmclr::Attribute::DEFAULT); - -// std::cout << fancyStyle << "Hello " -// << basicStyle << "World!\n"; - -// return 0; -// } - -// /* -// Note you can also do things like: -// auto bold = [](trmclr::Style style) { return trmclr::Style(style | trmclr::Attribute::BOLD); }; -// */ -// ` - -namespace trmclr { - - struct Style - { - Style(uint32_t value) : _value(value) {} - - operator uint32_t() const { return _value; } - - uint32_t _value; - }; - - enum StyleTypes { FOREGROUND, ATTRIBUTE, BACKGROUND, N_STYLE_TYPES }; - - static const uint32_t STYLE_SHIFT = std::numeric_limits::digits / N_STYLE_TYPES; - - struct Attribute - { - static const uint32_t SHIFT = STYLE_SHIFT * ATTRIBUTE; - - enum { - DEFAULT = 0x01 << SHIFT, - BOLD = 0x02 << SHIFT, - DIM = 0x04 << SHIFT, - UNDERLINED = 0x08 << SHIFT, - BLINK = 0x10 << SHIFT, - REVERSE = 0x20 << SHIFT, - HIDDEN = 0x40 << SHIFT - }; - }; - - struct Foreground - { - static const uint32_t SHIFT = STYLE_SHIFT * FOREGROUND; - - enum { - BLACK = 30 << SHIFT, - RED = 31 << SHIFT, - GREEN = 32 << SHIFT, - YELLOW = 33 << SHIFT, - BLUE = 34 << SHIFT, - MAGENTA = 35 << SHIFT, - CYAN = 36 << SHIFT, - LIGHT_GRAY = 37 << SHIFT, - DEFAULT = 39 << SHIFT, - DARK_GRAY = 90 << SHIFT, - LIGHT_RED = 91 << SHIFT, - LIGHT_GREEN = 92 << SHIFT, - LIGHT_YELLOW = 93 << SHIFT, - LIGHT_BLUE = 94 << SHIFT, - LIGHT_MAGENTA = 95 << SHIFT, - LIGHT_CYAN = 96 << SHIFT, - WHITE = 97 << SHIFT - }; - }; - - struct Background - { - static const uint32_t SHIFT = STYLE_SHIFT * BACKGROUND; - - enum { - BLACK = 40 << SHIFT, - RED = 41 << SHIFT, - GREEN = 42 << SHIFT, - YELLOW = 43 << SHIFT, - BLUE = 44 << SHIFT, - MAGENTA = 45 << SHIFT, - CYAN = 46 << SHIFT, - LIGHT_GRAY = 47 << SHIFT, - DEFAULT = 49 << SHIFT, - DARK_GRAY = 100 << SHIFT, - LIGHT_RED = 101 << SHIFT, - LIGHT_GREEN = 102 << SHIFT, - LIGHT_YELLOW = 103 << SHIFT, - LIGHT_BLUE = 104 << SHIFT, - LIGHT_MAGENTA = 105 << SHIFT, - LIGHT_CYAN = 106 << SHIFT, - WHITE = 107 << SHIFT - }; - }; - - static Style black(trmclr::Foreground::BLACK); - static Style red(trmclr::Foreground::RED); - static Style green(trmclr::Foreground::GREEN); - static Style yellow(trmclr::Foreground::YELLOW); - static Style blue(trmclr::Foreground::BLUE); - static Style magenta(trmclr::Foreground::MAGENTA); - static Style cyan(trmclr::Foreground::CYAN); - static Style normal(trmclr::Attribute::DEFAULT); - - inline std::ostream &operator<<(std::ostream &os, const Style &style) - { - const uint32_t base = 1 << STYLE_SHIFT; - uint32_t encoded = style / base; - uint32_t decoded = style % base; - - os << "\x1B[" << (decoded ? decoded : Foreground::DEFAULT >> Foreground::SHIFT); - - decoded = encoded % base; - - for (uint32_t i = 0; decoded != 0; decoded >>= 1, i++) { - if (decoded & 1) { - os << ";" << i; - } - } - - encoded = encoded / base; - decoded = encoded % base; - - os << ";" << (decoded ? decoded : Background::DEFAULT >> Background::SHIFT) << "m"; - - return os; - } - -} // namespace trmclr -#endif // end __TRMCLR_H__ diff --git a/packages/seacas/libraries/chaco/assign/assign_out.c b/packages/seacas/libraries/chaco/assign/assign_out.c index 81a8f8d264a0..d29554136c76 100644 --- a/packages/seacas/libraries/chaco/assign/assign_out.c +++ b/packages/seacas/libraries/chaco/assign/assign_out.c @@ -10,7 +10,7 @@ #include static void assign_out_normal(int nvtxs, /* number of vertices to output */ - int * sets, /* values to be printed */ + int *sets, /* values to be printed */ char *outname /* name of output file */ ) { @@ -36,14 +36,14 @@ static void assign_out_normal(int nvtxs, /* number of vertices to output */ } static void assign_out_inv(int nvtxs, /* number of vertices to output */ - int * sets, /* values to be printed */ + int *sets, /* values to be printed */ int nsets, /* number of sets */ char *outname /* name of output file */ ) { FILE *fout; /* output file */ - int * size; /* # vtxs in sets / index into inorder */ - int * inorder; /* list of vtxs in each set */ + int *size; /* # vtxs in sets / index into inorder */ + int *inorder; /* list of vtxs in each set */ int i, j; /* loop counter */ /* Print assignment in inverted format. */ @@ -105,7 +105,7 @@ static void assign_out_inv(int nvtxs, /* number of vertices to output */ } void assign_out(int nvtxs, /* number of vertices to output */ - int * sets, /* values to be printed */ + int *sets, /* values to be printed */ int nsets, /* number of sets */ char *outname /* name of output file */ ) diff --git a/packages/seacas/libraries/chaco/assign/y2x.c b/packages/seacas/libraries/chaco/assign/y2x.c index 39096861a158..90ee1b8c5bb9 100644 --- a/packages/seacas/libraries/chaco/assign/y2x.c +++ b/packages/seacas/libraries/chaco/assign/y2x.c @@ -11,7 +11,7 @@ void y2x(double **xvecs, /* pointer to list of x-vectors */ int ndims, /* number of divisions to make (# xvecs) */ int nmyvtxs, /* number of vertices I own (length xvecs) */ - double * wsqrt /* sqrt of vertex weights */ + double *wsqrt /* sqrt of vertex weights */ ) /* Convert from y to x by dividing by wsqrt. */ @@ -36,7 +36,7 @@ void y2x(double **xvecs, /* pointer to list of x-vectors */ void x2y(double **yvecs, /* pointer to list of y-vectors */ int ndims, /* number of divisions to make (# yvecs) */ int nmyvtxs, /* number of vertices I own (length yvecs) */ - double * wsqrt /* sqrt of vertex weights */ + double *wsqrt /* sqrt of vertex weights */ ) /* Convert from x to y by multiplying by wsqrt. */ diff --git a/packages/seacas/libraries/chaco/bpmatch/genvals2d.c b/packages/seacas/libraries/chaco/bpmatch/genvals2d.c index 9305dd1ff75a..722fd3dca9ff 100644 --- a/packages/seacas/libraries/chaco/bpmatch/genvals2d.c +++ b/packages/seacas/libraries/chaco/bpmatch/genvals2d.c @@ -12,7 +12,7 @@ void genvals2d( /* Create lists of sets of values to be sorted. */ double **xvecs, /* vectors to partition */ - double * vals[4][MAXSETS], /* ptrs to lists of values */ + double *vals[4][MAXSETS], /* ptrs to lists of values */ int nvtxs /* number of values */ ) { diff --git a/packages/seacas/libraries/chaco/bpmatch/genvals3d.c b/packages/seacas/libraries/chaco/bpmatch/genvals3d.c index aedc450b2f3e..b7a5cecbaaba 100644 --- a/packages/seacas/libraries/chaco/bpmatch/genvals3d.c +++ b/packages/seacas/libraries/chaco/bpmatch/genvals3d.c @@ -12,7 +12,7 @@ void genvals3d( /* Create lists of sets of values to be sorted. */ double **xvecs, /* vectors to partition */ - double * vals[8][MAXSETS], /* ptrs to lists of values */ + double *vals[8][MAXSETS], /* ptrs to lists of values */ int nvtxs /* number of values */ ) { diff --git a/packages/seacas/libraries/chaco/bpmatch/inits2d.c b/packages/seacas/libraries/chaco/bpmatch/inits2d.c index 6611fc441a6c..bedf35bf6b1f 100644 --- a/packages/seacas/libraries/chaco/bpmatch/inits2d.c +++ b/packages/seacas/libraries/chaco/bpmatch/inits2d.c @@ -9,7 +9,7 @@ #include "params.h" // for MAXSETS #include "structs.h" // for vtx_data -int findindex(int * indices, /* indices sorting values */ +int findindex(int *indices, /* indices sorting values */ double *vals, /* values sorted by indices */ double target, /* target value */ int nvals /* number of values */ @@ -62,14 +62,14 @@ int findindex(int * indices, /* indices sorting values */ } void inits2d(struct vtx_data **graph, /* graph data structure for vertex weights */ - double ** xvecs, /* values to partition with */ - double * vals[4][MAXSETS], /* values in sorted lists */ - int * indices[4][MAXSETS], /* indices sorting lists */ + double **xvecs, /* values to partition with */ + double *vals[4][MAXSETS], /* values in sorted lists */ + int *indices[4][MAXSETS], /* indices sorting lists */ int nvtxs, /* number of vertices */ - double * dist, /* trial separation point */ + double *dist, /* trial separation point */ int startvtx[4][MAXSETS], /* indices defining separation */ - double * size, /* size of each set being modified */ - int * sets /* set each vertex gets assigned to */ + double *size, /* size of each set being modified */ + int *sets /* set each vertex gets assigned to */ ) { double xmid, ymid; /* median x and y values */ diff --git a/packages/seacas/libraries/chaco/bpmatch/sorts2d.c b/packages/seacas/libraries/chaco/bpmatch/sorts2d.c index 3f2b24cef720..77f39a802dc0 100644 --- a/packages/seacas/libraries/chaco/bpmatch/sorts2d.c +++ b/packages/seacas/libraries/chaco/bpmatch/sorts2d.c @@ -12,7 +12,7 @@ void sorts2d( /* Sort the lists needed to find the splitter. */ double *vals[4][MAXSETS], /* lists of values to sort */ - int * indices[4][MAXSETS], /* indices of sorted lists */ + int *indices[4][MAXSETS], /* indices of sorted lists */ int nvtxs /* number of vertices */ ) { diff --git a/packages/seacas/libraries/chaco/bpmatch/sorts3d.c b/packages/seacas/libraries/chaco/bpmatch/sorts3d.c index 6a098cea6140..fa6baa147caa 100644 --- a/packages/seacas/libraries/chaco/bpmatch/sorts3d.c +++ b/packages/seacas/libraries/chaco/bpmatch/sorts3d.c @@ -12,7 +12,7 @@ void sorts3d( /* Sort the lists needed to find the splitter. */ double *vals[8][MAXSETS], /* lists of values to sort */ - int * indices[8][MAXSETS], /* indices of sorted lists */ + int *indices[8][MAXSETS], /* indices of sorted lists */ int nvtxs /* number of vertices */ ) { diff --git a/packages/seacas/libraries/chaco/coarsen/countcedges.c b/packages/seacas/libraries/chaco/coarsen/countcedges.c index 232aa0a6e649..374cd9eb4bf8 100644 --- a/packages/seacas/libraries/chaco/coarsen/countcedges.c +++ b/packages/seacas/libraries/chaco/coarsen/countcedges.c @@ -12,11 +12,11 @@ void countcedges( /* Count edges in coarsened graph and construct start array. */ struct vtx_data **graph, /* array of vtx data for graph */ int nvtxs, /* number of vertices in graph */ - int * start, /* start of edgevals list for each vertex */ - int * seenflag, /* flags indicating vtxs already counted */ - int * mflag, /* flag indicating vtx matched or not */ - int * v2cv, /* mapping from fine to coarse vertices */ - int * pcnedges /* number of edges in coarsened graph */ + int *start, /* start of edgevals list for each vertex */ + int *seenflag, /* flags indicating vtxs already counted */ + int *mflag, /* flag indicating vtx matched or not */ + int *v2cv, /* mapping from fine to coarse vertices */ + int *pcnedges /* number of edges in coarsened graph */ ) { int *jptr; /* loops through edge list */ diff --git a/packages/seacas/libraries/chaco/coarsen/interpolate.c b/packages/seacas/libraries/chaco/coarsen/interpolate.c index 23f29002431a..104bfcaa5a8e 100644 --- a/packages/seacas/libraries/chaco/coarsen/interpolate.c +++ b/packages/seacas/libraries/chaco/coarsen/interpolate.c @@ -15,18 +15,18 @@ which they were collapsed. */ -void ch_interpolate(double ** vecs, /* approximate eigenvectors for graph */ - double ** cvecs, /* exact eigenvectors for coarse graph */ +void ch_interpolate(double **vecs, /* approximate eigenvectors for graph */ + double **cvecs, /* exact eigenvectors for coarse graph */ int ndims, /* number of vectors to interpolate */ struct vtx_data **graph, /* array of vtx data for graph */ int nvtxs, /* number of vertices in graph */ - int * v2cv, /* mapping from vtxs to cvtxs */ + int *v2cv, /* mapping from vtxs to cvtxs */ int using_ewgts /* are edge weights being used in fine graph? */ ) { double *vec, *cvec; /* pointers into vecs and vecs */ - int * eptr; /* loops through edge lists */ - float * ewptr; /* loops through edge weights */ + int *eptr; /* loops through edge lists */ + float *ewptr; /* loops through edge weights */ float ewgt; /* value for edge weight */ double ewsum; /* sum of incident edge weights */ double sum; /* sum of values of neighbors */ diff --git a/packages/seacas/libraries/chaco/coarsen/makeccoords.c b/packages/seacas/libraries/chaco/coarsen/makeccoords.c index ace71e657c55..d3a147bc5484 100644 --- a/packages/seacas/libraries/chaco/coarsen/makeccoords.c +++ b/packages/seacas/libraries/chaco/coarsen/makeccoords.c @@ -14,11 +14,11 @@ void makeccoords(struct vtx_data **graph, /* array of vtx data for graph */ int cnvtxs, /* number of vertices in coarse graph */ - int * cv2v_ptrs, /* vtxs corresponding to each cvtx */ - int * cv2v_vals, /* indices into cv2v_vals */ + int *cv2v_ptrs, /* vtxs corresponding to each cvtx */ + int *cv2v_vals, /* indices into cv2v_vals */ int igeom, /* dimensions of geometric data */ - float ** coords, /* coordinates for vertices */ - float ** ccoords /* coordinates for coarsened vertices */ + float **coords, /* coordinates for vertices */ + float **ccoords /* coordinates for coarsened vertices */ ) { double mass; /* total mass of merged vertices */ diff --git a/packages/seacas/libraries/chaco/connect/add_edges.c b/packages/seacas/libraries/chaco/connect/add_edges.c index 2bcf91ed17df..c7c932b2dd5e 100644 --- a/packages/seacas/libraries/chaco/connect/add_edges.c +++ b/packages/seacas/libraries/chaco/connect/add_edges.c @@ -12,16 +12,16 @@ void add_edges(struct vtx_data **graph, /* graph data structure */ struct edgeslist *new_edges, /* list of edges connecting graph */ - struct ilists ** old_edges, /* edges data overwritten for connecting */ - struct flists ** old_ewgts, /* weights of edges overwritten */ + struct ilists **old_edges, /* edges data overwritten for connecting */ + struct flists **old_ewgts, /* weights of edges overwritten */ int using_ewgts /* are edge weights being used? */ ) { - struct ilists * save_list; /* space to save old edge list */ - struct flists * save_ewgts; /* space to save old edge weights */ + struct ilists *save_list; /* space to save old edge list */ + struct flists *save_ewgts; /* space to save old edge weights */ struct edgeslist *edges; /* loops through new edges */ - float * new_ewgts; /* new edge weights */ - int * new_list; /* new edge list */ + float *new_ewgts; /* new edge weights */ + int *new_list; /* new edge list */ int nedges; /* number of edges a vertex has */ int vtx, vtx2; /* two vertices in edge to be added */ int i, j; /* loop counter */ diff --git a/packages/seacas/libraries/chaco/connect/heap.c b/packages/seacas/libraries/chaco/connect/heap.c index ad530cbc9b68..6a71b646b602 100644 --- a/packages/seacas/libraries/chaco/connect/heap.c +++ b/packages/seacas/libraries/chaco/connect/heap.c @@ -9,8 +9,8 @@ #include #include -#define left(i) (2 * (i)) -#define right(i) (2 * (i) + 1) +#define left(i) (2 * (i)) +#define right(i) (2 * (i) + 1) #define parent(i) ((int)((i) / 2)) /* NOTE: heap assumes indices are 1-based. */ @@ -22,7 +22,7 @@ void heapify(struct heap *heap, /* array of vals/tag to make into heap */ int index, /* root of subtree to heapify */ int nvals, /* number of values in array */ - int * map /* maps from tag values to heap indices */ + int *map /* maps from tag values to heap indices */ ) { double swap_val; /* temporary storage for swapping values */ @@ -66,7 +66,7 @@ void heapify(struct heap *heap, /* array of vals/tag to make into heap */ /* Construct a heap from an unordered set of values. */ void heap_build(struct heap *heap, /* array of vals/tag to make into heap */ int nvals, /* number of values in array */ - int * map /* maps from tag values to heap indices */ + int *map /* maps from tag values to heap indices */ ) { int i; /* loop counter */ @@ -84,8 +84,8 @@ void heap_build(struct heap *heap, /* array of vals/tag to make into heap */ double heap_extract_max(struct heap *heap, /* array of vals/tag in a heap */ int nvals, /* number of values in array */ - int * ptag, /* tag associated with return value */ - int * map /* maps from tag values to heap indices */ + int *ptag, /* tag associated with return value */ + int *map /* maps from tag values to heap indices */ ) { double maxval; /* return value */ @@ -117,7 +117,7 @@ double heap_extract_max(struct heap *heap, /* array of vals/tag in a heap */ void heap_update_val(struct heap *heap, /* array of vals/tag in a heap */ int index, /* index of value to update */ double newval, /* new value to insert */ - int * map /* maps from tag values to heap indices */ + int *map /* maps from tag values to heap indices */ ) { int tag; /* tag value associated with updated val */ diff --git a/packages/seacas/libraries/chaco/graph/graph_out.c b/packages/seacas/libraries/chaco/graph/graph_out.c index 0059bf2f7f62..da2fc554d2b5 100644 --- a/packages/seacas/libraries/chaco/graph/graph_out.c +++ b/packages/seacas/libraries/chaco/graph/graph_out.c @@ -14,8 +14,8 @@ void graph_out(struct vtx_data **graph, /* graph data structure */ int nvtxs, /* number of vtxs in graph */ int using_ewgts, /* Are edges weighted? */ - char * tag, /* message to include */ - char * file_name /* output file name if not null */ + char *tag, /* message to include */ + char *file_name /* output file name if not null */ ) { FILE *file; /* output file */ diff --git a/packages/seacas/libraries/chaco/graph/mm_out.c b/packages/seacas/libraries/chaco/graph/mm_out.c index bc27a4c1bdcc..8d1f87d50ba6 100644 --- a/packages/seacas/libraries/chaco/graph/mm_out.c +++ b/packages/seacas/libraries/chaco/graph/mm_out.c @@ -14,8 +14,8 @@ void mm_out(struct vtx_data **graph, /* graph data structure */ int nvtxs, /* number of vtxs in graph */ int using_ewgts, /* Are edges weighted? */ - char * tag, /* message to include */ - char * file_name /* output file name if not null */ + char *tag, /* message to include */ + char *file_name /* output file name if not null */ ) { FILE *file; /* output file */ diff --git a/packages/seacas/libraries/chaco/graph/reformat.c b/packages/seacas/libraries/chaco/graph/reformat.c index 399d1bf23d6c..332fafec67bf 100644 --- a/packages/seacas/libraries/chaco/graph/reformat.c +++ b/packages/seacas/libraries/chaco/graph/reformat.c @@ -12,23 +12,23 @@ /* Change from a FORTRAN graph style to our graph data structure. */ -int reformat(int * start, /* start of edge list for each vertex */ - int * adjacency, /* edge list data */ +int reformat(int *start, /* start of edge list for each vertex */ + int *adjacency, /* edge list data */ int nvtxs, /* number of vertices in graph */ - int * pnedges, /* ptr to number of edges in graph */ - int * vwgts, /* weights for all vertices */ - float * ewgts, /* weights for all edges */ + int *pnedges, /* ptr to number of edges in graph */ + int *vwgts, /* weights for all vertices */ + float *ewgts, /* weights for all edges */ struct vtx_data ***pgraph /* ptr to array of vtx data for graph */ ) { - extern FILE * Output_File; /* output file or null */ + extern FILE *Output_File; /* output file or null */ struct vtx_data **graph = NULL; /* array of vtx data for graph */ - struct vtx_data * links = NULL; /* space for data for all vtxs */ - int * edges = NULL; /* space for all adjacency lists */ - float * eweights = NULL; /* space for all edge weights */ - int * eptr = NULL; /* steps through adjacency list */ - int * eptr_save = NULL; /* saved index into adjacency list */ - float * wptr = NULL; /* steps through edge weights list */ + struct vtx_data *links = NULL; /* space for data for all vtxs */ + int *edges = NULL; /* space for all adjacency lists */ + float *eweights = NULL; /* space for all edge weights */ + int *eptr = NULL; /* steps through adjacency list */ + int *eptr_save = NULL; /* saved index into adjacency list */ + float *wptr = NULL; /* steps through edge weights list */ int self_edge; /* number of self loops detected */ int size; /* length of all edge lists */ double sum; /* sum of edge weights for a vtx */ diff --git a/packages/seacas/libraries/chaco/graph/subgraph.c b/packages/seacas/libraries/chaco/graph/subgraph.c index ba49b1325b2c..4acf54f5c17c 100644 --- a/packages/seacas/libraries/chaco/graph/subgraph.c +++ b/packages/seacas/libraries/chaco/graph/subgraph.c @@ -15,18 +15,18 @@ void make_subgraph(struct vtx_data **graph, /* graph data structure */ struct vtx_data **subgraph, /* subgraph data structure */ int subnvtxs, /* number of vtxs in subgraph */ - int * psubnedges, /* ptr to number of edges in subgraph */ - int * assignment, /* values designating subgraph inclusion */ + int *psubnedges, /* ptr to number of edges in subgraph */ + int *assignment, /* values designating subgraph inclusion */ int set, /* assignment value indicating inclusion */ - int * glob2loc, /* mapping from graph to subgraph numbering */ - int * loc2glob, /* mapping from subgraph to graph numbering */ - int * degree, /* degrees of vertices in graph */ + int *glob2loc, /* mapping from graph to subgraph numbering */ + int *loc2glob, /* mapping from subgraph to graph numbering */ + int *degree, /* degrees of vertices in graph */ int using_ewgts /* are edge weights being used? */ ) { struct vtx_data *subgptr = NULL; /* loops through subgraph */ - float * fptr = NULL; /* loops through edge weights */ - int * iptr = NULL; /* loops through edge list */ + float *fptr = NULL; /* loops through edge weights */ + int *iptr = NULL; /* loops through edge list */ float tempwgt; /* weight of vertex being swapped */ double ewgtsum; /* sum of weights of subgraph edges */ int subnedges; /* number of edges in subgraph */ @@ -83,14 +83,14 @@ void make_subgraph(struct vtx_data **graph, /* graph data structure */ /* Undo the construction of the subgraph. */ void remake_graph(struct vtx_data **subgraph, /* subgraph data structure */ int subnvtxs, /* number of vtxs in subgraph */ - int * loc2glob, /* mapping from subgraph to graph numbering */ - int * degree, /* degrees of vertices in graph */ + int *loc2glob, /* mapping from subgraph to graph numbering */ + int *degree, /* degrees of vertices in graph */ int using_ewgts /* are edge weights being used? */ ) { struct vtx_data *subgptr; /* loops through subgraph */ - float * fptr; /* loops through edge weights */ - int * iptr; /* loops through adjacency list */ + float *fptr; /* loops through edge weights */ + int *iptr; /* loops through adjacency list */ double ewgtsum; /* sum of weights of subgraph edges */ int nedges; /* vertex degree in subgraph */ int i, j; /* loop counter */ diff --git a/packages/seacas/libraries/chaco/inertial/make_subgeom.c b/packages/seacas/libraries/chaco/inertial/make_subgeom.c index dc4c8673be20..cee7fe5f778c 100644 --- a/packages/seacas/libraries/chaco/inertial/make_subgeom.c +++ b/packages/seacas/libraries/chaco/inertial/make_subgeom.c @@ -10,7 +10,7 @@ void make_subgeom(int igeom, /* 1, 2 or 3 dimensional geometry? */ float **coords, /* x, y and z coordinates of vertices */ float **subcoords, /* x, y and z coordinates in subgraph */ int subnvtxs, /* number of vertices in subgraph */ - int * loc2glob /* maps from subgraph to graph numbering */ + int *loc2glob /* maps from subgraph to graph numbering */ ) { int i; /* loop counter */ diff --git a/packages/seacas/libraries/chaco/input/read_params.c b/packages/seacas/libraries/chaco/input/read_params.c index a4b4150efc48..d11322bfbe45 100644 --- a/packages/seacas/libraries/chaco/input/read_params.c +++ b/packages/seacas/libraries/chaco/input/read_params.c @@ -191,58 +191,57 @@ void read_params(FILE *pfile /* file with new user parameters */ &LANCZOS_TIME, &TIME_KERNELS, &HEAVY_MATCH, &EXPERT, &OUT_ASSIGN_INV, &IN_ASSIGN_INV, &VERTEX_SEPARATOR, &VERTEX_COVER, &FLATTEN, &CONNECTED_DOMAINS}; - static char *ipnames[] = { /* names of integer parameters */ - "ECHO", - "NSQRTS", - "ARCHITECTURE", - "LANCZOS_SO_INTERVAL", - "LANCZOS_MAXITNS", - "MAPPING_TYPE", - "COARSE_NLEVEL_RQI", - "KL_METRIC", - "KL_NTRIES_BAD", - "KL_BAD_MOVES", - "COARSE_NLEVEL_KL", - "NPERTURB", - "OPT3D_NTRIES", - "DEBUG_CONNECTED", - "DEBUG_PERTURB", - "DEBUG_ASSIGN", - "DEBUG_INERTIAL", - "DEBUG_OPTIMIZE", - "DEBUG_BPMATCH", - "DEBUG_COARSEN", - "DEBUG_EVECS", - "DEBUG_KL", - "DEBUG_MEMORY", - "DEBUG_INPUT", - "DEBUG_PARAMS", - "DEBUG_TRACE", - "WARNING_EVECS", - "OUTPUT_TIME", - "OUTPUT_METRICS", - "SIMULATION_ITNS", - "DEBUG_SIMULATOR", - "LANCZOS_CONVERGENCE_MODE", - "RQI_CONVERGENCE_MODE", - "REFINE_PARTITION", - "INTERNAL_VERTICES", - "LANCZOS_TYPE", - "MATCH_TYPE", - "DEBUG_INTERNAL", - "DEBUG_REFINE_PART", - "DEBUG_REFINE_MAP", - "DEBUG_MACH_PARAMS", - "DEBUG_COVER", - "LANCZOS_SO_PRECISION", - "COARSE_KLV", - "COARSE_BPM", - "KL_MAX_PASS", + static char *ipnames[] = {/* names of integer parameters */ + "ECHO", + "NSQRTS", + "ARCHITECTURE", + "LANCZOS_SO_INTERVAL", + "LANCZOS_MAXITNS", + "MAPPING_TYPE", + "COARSE_NLEVEL_RQI", + "KL_METRIC", + "KL_NTRIES_BAD", + "KL_BAD_MOVES", + "COARSE_NLEVEL_KL", + "NPERTURB", + "OPT3D_NTRIES", + "DEBUG_CONNECTED", + "DEBUG_PERTURB", + "DEBUG_ASSIGN", + "DEBUG_INERTIAL", + "DEBUG_OPTIMIZE", + "DEBUG_BPMATCH", + "DEBUG_COARSEN", + "DEBUG_EVECS", + "DEBUG_KL", + "DEBUG_MEMORY", + "DEBUG_INPUT", + "DEBUG_PARAMS", + "DEBUG_TRACE", + "WARNING_EVECS", + "OUTPUT_TIME", + "OUTPUT_METRICS", + "SIMULATION_ITNS", + "DEBUG_SIMULATOR", + "LANCZOS_CONVERGENCE_MODE", + "RQI_CONVERGENCE_MODE", + "REFINE_PARTITION", + "INTERNAL_VERTICES", + "LANCZOS_TYPE", + "MATCH_TYPE", + "DEBUG_INTERNAL", + "DEBUG_REFINE_PART", + "DEBUG_REFINE_MAP", + "DEBUG_MACH_PARAMS", + "DEBUG_COVER", + "LANCZOS_SO_PRECISION", + "COARSE_KLV", + "COARSE_BPM", + "KL_MAX_PASS", #if 0 , "PROJECTION_AXIS", #endif - NULL - }; + NULL}; static int *iparams[] = {/* pointers to integer parameters */ &ECHO, diff --git a/packages/seacas/libraries/chaco/internal/check_internal.c b/packages/seacas/libraries/chaco/internal/check_internal.c index d71ee9cd3392..edf9d6feae04 100644 --- a/packages/seacas/libraries/chaco/internal/check_internal.c +++ b/packages/seacas/libraries/chaco/internal/check_internal.c @@ -13,11 +13,11 @@ void check_internal(struct vtx_data **graph, /* graph data structure */ int nvtxs, /* number of vertices in graph */ - struct bidint * int_list, /* sorted list of internal weights per set */ - struct bidint * set_list, /* head of vtx_elems lists */ - struct bidint * vtx_elems, /* start of vertex data */ - int * total_vwgt, /* total weight in each set */ - int * assign, /* current assignment */ + struct bidint *int_list, /* sorted list of internal weights per set */ + struct bidint *set_list, /* head of vtx_elems lists */ + struct bidint *vtx_elems, /* start of vertex data */ + int *total_vwgt, /* total weight in each set */ + int *assign, /* current assignment */ int nsets_tot /* total number of sets */ ) { diff --git a/packages/seacas/libraries/chaco/internal/improve_internal.c b/packages/seacas/libraries/chaco/internal/improve_internal.c index 5c9f724a9dea..21d51b778401 100644 --- a/packages/seacas/libraries/chaco/internal/improve_internal.c +++ b/packages/seacas/libraries/chaco/internal/improve_internal.c @@ -13,17 +13,17 @@ int improve_internal(struct vtx_data **graph, /* graph data structure */ int nvtxs, /* number of vertices in graph */ - int * assign, /* current assignment */ - double * goal, /* desired set sizes */ - struct bidint * int_list, /* sorted list of internal vtx values */ - struct bidint * set_list, /* headers of vtx_elems lists */ - struct bidint * vtx_elems, /* lists of vtxs in each set */ + int *assign, /* current assignment */ + double *goal, /* desired set sizes */ + struct bidint *int_list, /* sorted list of internal vtx values */ + struct bidint *set_list, /* headers of vtx_elems lists */ + struct bidint *vtx_elems, /* lists of vtxs in each set */ int set1, /* set to try to improve */ - int * locked, /* indicates vertices not allowed to move */ - int * nlocked, /* number of vertices that can't move */ + int *locked, /* indicates vertices not allowed to move */ + int *nlocked, /* number of vertices that can't move */ int using_ewgts, /* are edge weights being used? */ int vwgt_max, /* largest vertex weight */ - int * total_vwgt /* total vertex weight in each set */ + int *total_vwgt /* total vertex weight in each set */ ) { struct bidint *move_list; /* list of vertices changing sets */ diff --git a/packages/seacas/libraries/chaco/klspiff/bilistops.c b/packages/seacas/libraries/chaco/klspiff/bilistops.c index 74a498aa339c..1118260c5f9b 100644 --- a/packages/seacas/libraries/chaco/klspiff/bilistops.c +++ b/packages/seacas/libraries/chaco/klspiff/bilistops.c @@ -12,7 +12,7 @@ /* Note: bi-directional lists aren't assumed to be sorted. */ void add2bilist( /* add val to unsorted list */ - struct bilist * lptr, /* element to add */ + struct bilist *lptr, /* element to add */ struct bilist **list /* list added to */ ) { @@ -24,7 +24,7 @@ void add2bilist( /* add val to unsorted list */ *list = lptr; } -void removebilist(struct bilist * lptr, /* ptr to element to remove */ +void removebilist(struct bilist *lptr, /* ptr to element to remove */ struct bilist **list /* head of list to remove it from */ ) @@ -41,7 +41,7 @@ void removebilist(struct bilist * lptr, /* ptr to element to remove */ } } -void movebilist(struct bilist * lptr, /* ptr to element to move */ +void movebilist(struct bilist *lptr, /* ptr to element to move */ struct bilist **oldlist, /* head of list to remove it from */ struct bilist **newlist /* head of list to add it to */ ) diff --git a/packages/seacas/libraries/chaco/klspiff/compress_ewgts.c b/packages/seacas/libraries/chaco/klspiff/compress_ewgts.c index 6867c41782f2..64e286728bbb 100644 --- a/packages/seacas/libraries/chaco/klspiff/compress_ewgts.c +++ b/packages/seacas/libraries/chaco/klspiff/compress_ewgts.c @@ -20,10 +20,10 @@ void compress_ewgts(struct vtx_data **graph, /* list of graph info for each ) { extern double EWGT_RATIO_MAX; /* max allowed ewgt/nvtxs */ - float * old_ewptr; /* loops through old edge weights */ - float * new_ewptr; /* loops through old edge weights */ - float * self_ptr; /* points to self edge in new_ewgts */ - float * new_ewgts; /* space for new edge weights */ + float *old_ewptr; /* loops through old edge weights */ + float *new_ewptr; /* loops through old edge weights */ + float *self_ptr; /* points to self edge in new_ewgts */ + float *new_ewgts; /* space for new edge weights */ int ewgt; /* new edge weight value */ double sum; /* sum of all the new edge weights */ double ratio; /* amount to reduce edge weights */ diff --git a/packages/seacas/libraries/chaco/klspiff/count_weights.c b/packages/seacas/libraries/chaco/klspiff/count_weights.c index 1ee5052e2c2e..166680951ed1 100644 --- a/packages/seacas/libraries/chaco/klspiff/count_weights.c +++ b/packages/seacas/libraries/chaco/klspiff/count_weights.c @@ -10,9 +10,9 @@ void count_weights(struct vtx_data **graph, /* data structure for graph */ int nvtxs, /* number of vtxs in graph */ - int * sets, /* set each vertex is assigned to */ + int *sets, /* set each vertex is assigned to */ int nsets, /* number of sets in this division */ - double * weights, /* vertex weights in each set */ + double *weights, /* vertex weights in each set */ int using_vwgts /* are vertex weights being used? */ ) diff --git a/packages/seacas/libraries/chaco/klspiff/make_bndy_list.c b/packages/seacas/libraries/chaco/klspiff/make_bndy_list.c index a45e7d8ec514..4bdbfe024e15 100644 --- a/packages/seacas/libraries/chaco/klspiff/make_bndy_list.c +++ b/packages/seacas/libraries/chaco/klspiff/make_bndy_list.c @@ -11,14 +11,14 @@ #include // for NULL void make_bndy_list(struct vtx_data **graph, /* data structure for graph */ - struct bilist * movelist, /* list of vtxs to be moved */ + struct bilist *movelist, /* list of vtxs to be moved */ struct bilist ****buckets, /* array of lists for bucket sort */ - struct bilist ** listspace, /* list data structure for each vertex */ - int * sets, /* processor each vertex is assigned to */ + struct bilist **listspace, /* list data structure for each vertex */ + int *sets, /* processor each vertex is assigned to */ int nsets, /* number of sets divided into */ - int * bspace, /* list of active vertices for bucketsort */ - int ** tops, /* top of each set of buckets */ - int ** bndy_list /* list of boundary vertices returned */ + int *bspace, /* list of active vertices for bucketsort */ + int **tops, /* top of each set of buckets */ + int **bndy_list /* list of boundary vertices returned */ ) { struct bilist *bptr; /* loops through bspace */ diff --git a/packages/seacas/libraries/chaco/klvspiff/clear_dvals.c b/packages/seacas/libraries/chaco/klvspiff/clear_dvals.c index e7e53727f058..4d37260c040e 100644 --- a/packages/seacas/libraries/chaco/klvspiff/clear_dvals.c +++ b/packages/seacas/libraries/chaco/klvspiff/clear_dvals.c @@ -10,9 +10,9 @@ void clear_dvals(struct vtx_data **graph, /* data structure for graph */ int nvtxs, /* number of vtxs in graph */ - int * ldvals, /* d-values for each transition */ - int * rdvals, /* d-values for each transition */ - int * bspace, /* list of activated vertices */ + int *ldvals, /* d-values for each transition */ + int *rdvals, /* d-values for each transition */ + int *bspace, /* list of activated vertices */ int list_length /* number of activated vertices */ ) { diff --git a/packages/seacas/libraries/chaco/klvspiff/countup_vtx_sep.c b/packages/seacas/libraries/chaco/klvspiff/countup_vtx_sep.c index 8683509bb896..b2b011c9920f 100644 --- a/packages/seacas/libraries/chaco/klvspiff/countup_vtx_sep.c +++ b/packages/seacas/libraries/chaco/klvspiff/countup_vtx_sep.c @@ -11,7 +11,7 @@ void countup_vtx_sep(struct vtx_data **graph, /* list of graph info for each vertex */ int nvtxs, /* number of vertices in graph */ - int * sets /* local partitioning of vtxs */ + int *sets /* local partitioning of vtxs */ ) { int vtx, set; /* vertex and set in graph */ diff --git a/packages/seacas/libraries/chaco/klvspiff/find_bndy.c b/packages/seacas/libraries/chaco/klvspiff/find_bndy.c index 97744b3f39a5..205b21018b11 100644 --- a/packages/seacas/libraries/chaco/klvspiff/find_bndy.c +++ b/packages/seacas/libraries/chaco/klvspiff/find_bndy.c @@ -14,9 +14,9 @@ int find_bndy(struct vtx_data **graph, /* array of vtx data for graph */ int nvtxs, /* number of vertices in graph */ - int * assignment, /* processor each vertex gets assigned to */ + int *assignment, /* processor each vertex gets assigned to */ int new_val, /* assignment value for boundary vtxs */ - int ** pbndy_list /* returned list, end with zero */ + int **pbndy_list /* returned list, end with zero */ ) { int *bndy_list; /* returned list, end with zero */ @@ -55,10 +55,10 @@ int find_bndy(struct vtx_data **graph, /* array of vtx data for graph */ int find_side_bndy(struct vtx_data **graph, /* array of vtx data for graph */ int nvtxs, /* number of vertices in graph */ - int * assignment, /* processor each vertex gets assigned to */ + int *assignment, /* processor each vertex gets assigned to */ int side, /* side to take vertices from */ int new_val, /* assignment value for boundary vtxs */ - int ** pbndy_list /* returned list, end with zero */ + int **pbndy_list /* returned list, end with zero */ ) { diff --git a/packages/seacas/libraries/chaco/klvspiff/klv_init.c b/packages/seacas/libraries/chaco/klvspiff/klv_init.c index 9eff7e29f347..e1daf03f1eaa 100644 --- a/packages/seacas/libraries/chaco/klvspiff/klv_init.c +++ b/packages/seacas/libraries/chaco/klvspiff/klv_init.c @@ -12,10 +12,10 @@ int klv_init(struct bilist ***lbucket_ptr, /* space for left bucket sorts */ struct bilist ***rbucket_ptr, /* space for right bucket sorts */ - struct bilist ** llistspace, /* space for elements of linked lists */ - struct bilist ** rlistspace, /* space for elements of linked lists */ - int ** ldvals, /* change in separator for left moves */ - int ** rdvals, /* change in separator for right moves */ + struct bilist **llistspace, /* space for elements of linked lists */ + struct bilist **rlistspace, /* space for elements of linked lists */ + int **ldvals, /* change in separator for left moves */ + int **rdvals, /* change in separator for right moves */ int nvtxs, /* number of vertices in the graph */ int maxchange /* maximum change by moving a vertex */ ) diff --git a/packages/seacas/libraries/chaco/klvspiff/make_bpgraph.c b/packages/seacas/libraries/chaco/klvspiff/make_bpgraph.c index 5cb15791c8af..8ed67e19708e 100644 --- a/packages/seacas/libraries/chaco/klvspiff/make_bpgraph.c +++ b/packages/seacas/libraries/chaco/klvspiff/make_bpgraph.c @@ -13,16 +13,16 @@ /* Make a bipartite graph from vertex separator and neighbors. */ void make_bpgraph(struct vtx_data **graph, /* list of graph info for each vertex */ - int * sets, /* local partitioning of vtxs */ - int * bndy_list, /* list of vertices on boundary (0 ends) */ + int *sets, /* local partitioning of vtxs */ + int *bndy_list, /* list of vertices on boundary (0 ends) */ int sep_size, /* length of bndy_list */ int set_match, /* side to match against */ - int ** ppointers, /* start/stop of adjacency lists */ - int ** pindices, /* adjacency list for each vertex */ - int ** pvweight, /* weight of each vertex */ - int ** ploc2glob, /* maps bp number to full graph */ - int * pnleft, /* number of nodes in left half */ - int * pnright, /* number of nodes in right half */ + int **ppointers, /* start/stop of adjacency lists */ + int **pindices, /* adjacency list for each vertex */ + int **pvweight, /* weight of each vertex */ + int **ploc2glob, /* maps bp number to full graph */ + int *pnleft, /* number of nodes in left half */ + int *pnright, /* number of nodes in right half */ int using_vwgts /* are vertices weighted? */ ) { diff --git a/packages/seacas/libraries/chaco/main/user_params.c b/packages/seacas/libraries/chaco/main/user_params.c index c46f2229379a..977b23345e97 100644 --- a/packages/seacas/libraries/chaco/main/user_params.c +++ b/packages/seacas/libraries/chaco/main/user_params.c @@ -8,7 +8,7 @@ #include "params.h" // for NAME_LENGTH -#define TRUE 1 +#define TRUE 1 #define FALSE 0 /* Input and output control parameters */ @@ -96,7 +96,7 @@ long RANDOM_SEED = 7654321L; /* Seed for random number gen int NSQRTS = 1000; /* # square roots to precompute if coarsening */ int MAKE_VWGTS = FALSE; /* Make vtx weights degrees+1? (TRUE/FALSE) */ int FREE_GRAPH = TRUE; /* Free input graph data? (TRUE/FALSE) */ -char * PARAMS_FILENAME = "User_Params"; /* File of parameter changes */ +char *PARAMS_FILENAME = "User_Params"; /* File of parameter changes */ /* Parameters that control debugging output */ diff --git a/packages/seacas/libraries/chaco/misc/count.c b/packages/seacas/libraries/chaco/misc/count.c index 686e96593eb4..2d1fbdee9d70 100644 --- a/packages/seacas/libraries/chaco/misc/count.c +++ b/packages/seacas/libraries/chaco/misc/count.c @@ -13,7 +13,7 @@ void count(struct vtx_data **graph, /* graph data structure */ int nvtxs, /* number of vtxs in graph */ - int * sets, /* processor each vertex is assigned to */ + int *sets, /* processor each vertex is assigned to */ int nsets, /* number of sets partitioned into */ int (*hops)[MAXSETS], /* hops metric between sets */ int dump, /* flag for extended output */ diff --git a/packages/seacas/libraries/chaco/misc/countup_cube.c b/packages/seacas/libraries/chaco/misc/countup_cube.c index cfc4f6ae67b5..8e51be149e84 100644 --- a/packages/seacas/libraries/chaco/misc/countup_cube.c +++ b/packages/seacas/libraries/chaco/misc/countup_cube.c @@ -15,11 +15,11 @@ void countup_cube(struct vtx_data **graph, /* graph data structure */ int nvtxs, /* number of vtxs in graph */ - int * assignment, /* set number of each vtx (length nvtxs+1) */ + int *assignment, /* set number of each vtx (length nvtxs+1) */ int ndims, /* number of cuts at each level */ int ndims_tot, /* total number of divisions of graph */ int print_lev, /* level of output */ - FILE * outfile, /* output file if not NULL */ + FILE *outfile, /* output file if not NULL */ int using_ewgts /* are edge weights being used? */ ) { @@ -28,7 +28,7 @@ void countup_cube(struct vtx_data **graph, /* graph data structure */ int nsets = (1 << ndims_tot); double *cutsize = smalloc(nsets * sizeof(double)); double *hopsize = smalloc(nsets * sizeof(double)); - int * setsize = smalloc(nsets * sizeof(int)); + int *setsize = smalloc(nsets * sizeof(int)); int *setseen = smalloc(nsets * sizeof(int)); int *startptr = smalloc((nsets + 1) * sizeof(int)); diff --git a/packages/seacas/libraries/chaco/misc/countup_mesh.c b/packages/seacas/libraries/chaco/misc/countup_mesh.c index 065273fe26dd..5bd1fe112818 100644 --- a/packages/seacas/libraries/chaco/misc/countup_mesh.c +++ b/packages/seacas/libraries/chaco/misc/countup_mesh.c @@ -15,19 +15,19 @@ void countup_mesh(struct vtx_data **graph, /* graph data structure */ int nvtxs, /* number of vtxs in graph */ - int * assignment, /* set number of each vtx (length nvtxs+1) */ + int *assignment, /* set number of each vtx (length nvtxs+1) */ int mesh_dims[3], /* extent of mesh in each dimension */ int print_lev, /* level of output */ - FILE * outfile, /* output file if not NULL */ + FILE *outfile, /* output file if not NULL */ int using_ewgts /* are edge weights being used? */ ) { double *hopsize; /* number of hops for each set */ double *cutsize; /* number of cuts for each set */ - int * setsize; /* number or weight of vtxs in each set */ - int * setseen; /* flags for sets adjacent to a particular set */ - int * inorder; /* list of vtxs in each set */ - int * startptr; /* indices into inorder array */ + int *setsize; /* number or weight of vtxs in each set */ + int *setseen; /* flags for sets adjacent to a particular set */ + int *inorder; /* list of vtxs in each set */ + int *startptr; /* indices into inorder array */ double ncuts; /* total number of edges connecting sets */ double nhops; /* total cuts weighted by mesh hops */ double ewgt; /* edge weight */ diff --git a/packages/seacas/libraries/chaco/misc/define_submeshes.c b/packages/seacas/libraries/chaco/misc/define_submeshes.c index 4d532fb0b867..8643091db726 100644 --- a/packages/seacas/libraries/chaco/misc/define_submeshes.c +++ b/packages/seacas/libraries/chaco/misc/define_submeshes.c @@ -14,13 +14,13 @@ /* Figure out how to divide mesh into pieces. Return true if nonstandard. */ int define_submeshes(int nsets, /* number of subsets in this partition */ int cube_or_mesh, /* 0=> hypercube, d=> d-dimensional mesh */ - int * mesh_dims, /* shape of mesh */ + int *mesh_dims, /* shape of mesh */ struct set_info *set, /* set data for set I'm partitioning */ struct set_info *set_info, /* set data for all sets */ - int * subsets, /* subsets being created by partition */ + int *subsets, /* subsets being created by partition */ int inert, /* using inertial method? */ - int * striping, /* should I partition with parallel cuts? */ - int * dir, /* directions of each cut */ + int *striping, /* should I partition with parallel cuts? */ + int *dir, /* directions of each cut */ int hop_mtx_special[MAXSETS][MAXSETS] /* hops values if unusual */ ) { diff --git a/packages/seacas/libraries/chaco/misc/find_maxdeg.c b/packages/seacas/libraries/chaco/misc/find_maxdeg.c index 328fc693f888..06558891c0d1 100644 --- a/packages/seacas/libraries/chaco/misc/find_maxdeg.c +++ b/packages/seacas/libraries/chaco/misc/find_maxdeg.c @@ -13,7 +13,7 @@ double find_maxdeg(struct vtx_data **graph, /* graph data structure */ int nvtxs, /* number of vertices */ int using_ewgts, /* are edge weights being used? */ - float * pmax_ewgt /* returns largest edge weight if not NULL */ + float *pmax_ewgt /* returns largest edge weight if not NULL */ ) { double maxdeg; /* maximum degree of a vertex */ diff --git a/packages/seacas/libraries/chaco/misc/merge_goals.c b/packages/seacas/libraries/chaco/misc/merge_goals.c index b4cc80414e70..34510d8c8079 100644 --- a/packages/seacas/libraries/chaco/misc/merge_goals.c +++ b/packages/seacas/libraries/chaco/misc/merge_goals.c @@ -9,10 +9,10 @@ #include "structs.h" /* Combine goals of collections of processors for next division. */ -void merge_goals(double * goal, /* desired set sizes */ - double * merged_goal, /* sizes of sets at this partition level */ +void merge_goals(double *goal, /* desired set sizes */ + double *merged_goal, /* sizes of sets at this partition level */ struct set_info *set_info, /* information about all sets */ - int * subsets, /* set numbers of processors to merge */ + int *subsets, /* set numbers of processors to merge */ int nsets, /* number of sets created by this division */ int ndims_tot, /* total number of dimensions in the hypercube */ int cube_or_mesh, /* 0=> hypercube, d=> d-dimensional mesh */ diff --git a/packages/seacas/libraries/chaco/misc/timing.c b/packages/seacas/libraries/chaco/misc/timing.c index 5e881967c6f6..a4b063da11bb 100644 --- a/packages/seacas/libraries/chaco/misc/timing.c +++ b/packages/seacas/libraries/chaco/misc/timing.c @@ -55,7 +55,7 @@ double sim_time = 0; void time_out(FILE *outfile /* file to print output to */ ) { - FILE * tempfile; /* file name for two passes */ + FILE *tempfile; /* file name for two passes */ extern int ECHO; /* parameter for different output styles */ extern int OUTPUT_TIME; /* how much timing output should I print? */ double time_tol; /* tolerance for ignoring time */ diff --git a/packages/seacas/libraries/chaco/refine_map/compute_cube_vdata.c b/packages/seacas/libraries/chaco/refine_map/compute_cube_vdata.c index acc2c0366d43..d38ae94e4059 100644 --- a/packages/seacas/libraries/chaco/refine_map/compute_cube_vdata.c +++ b/packages/seacas/libraries/chaco/refine_map/compute_cube_vdata.c @@ -10,10 +10,10 @@ #include "structs.h" // for vtx_data void compute_cube_vdata(struct refine_vdata *vdata, /* preference data for a vertex */ - struct vtx_data ** comm_graph, /* communication graph data structure */ + struct vtx_data **comm_graph, /* communication graph data structure */ int vtx, /* current vertex */ int mask, /* bit set in current hypercube dimension */ - int * vtx2node /* maps graph vtxs to mesh nodes */ + int *vtx2node /* maps graph vtxs to mesh nodes */ ) { float same; /* my preference to stay where I am */ diff --git a/packages/seacas/libraries/chaco/refine_map/compute_mesh_vdata.c b/packages/seacas/libraries/chaco/refine_map/compute_mesh_vdata.c index ba89c92d1c97..20d54f1d834c 100644 --- a/packages/seacas/libraries/chaco/refine_map/compute_mesh_vdata.c +++ b/packages/seacas/libraries/chaco/refine_map/compute_mesh_vdata.c @@ -10,9 +10,9 @@ #include "structs.h" // for vtx_data void compute_mesh_vdata(struct refine_vdata *vdata, /* preference data for a vertex */ - struct vtx_data ** comm_graph, /* communication graph data structure */ + struct vtx_data **comm_graph, /* communication graph data structure */ int vtx, /* current vertex */ - int * vtx2node, /* maps graph vtxs to mesh nodes */ + int *vtx2node, /* maps graph vtxs to mesh nodes */ int mesh_dims[3], /* size of mesh */ int dim /* dimension we are currently working in */ ) diff --git a/packages/seacas/libraries/chaco/refine_map/find_edge_mesh.c b/packages/seacas/libraries/chaco/refine_map/find_edge_mesh.c index ef9d70e2d381..f1d71c77c46e 100644 --- a/packages/seacas/libraries/chaco/refine_map/find_edge_mesh.c +++ b/packages/seacas/libraries/chaco/refine_map/find_edge_mesh.c @@ -13,8 +13,8 @@ struct refine_edata * find_edge_mesh(int vertex, /* vertex in comm_graph */ int dim, /* direction of edge from node */ struct refine_edata *edata, /* data structure for edge preferences */ - int * mesh_dims, /* dimensions of mesh */ - int * vtx2node /* maps comm_graph vtxs to processors */ + int *mesh_dims, /* dimensions of mesh */ + int *vtx2node /* maps comm_graph vtxs to processors */ ) { struct refine_edata *eguy; /* returned pointer to edge info */ diff --git a/packages/seacas/libraries/chaco/refine_part/make_maps_ref.c b/packages/seacas/libraries/chaco/refine_part/make_maps_ref.c index f4c06dad40cb..6084c11ed610 100644 --- a/packages/seacas/libraries/chaco/refine_part/make_maps_ref.c +++ b/packages/seacas/libraries/chaco/refine_part/make_maps_ref.c @@ -11,10 +11,10 @@ /* Set up data structures for refine_part. */ void make_maps_ref(struct vtx_data **graph, /* graph data structure */ - struct bilist * set_list, /* lists of vertices in each set */ - struct bilist * vtx_elems, /* start of storage for vertices */ - int * assignment, /* set assignments for graph */ - int * sub_assign, /* assignment file for subgraph */ + struct bilist *set_list, /* lists of vertices in each set */ + struct bilist *vtx_elems, /* start of storage for vertices */ + int *assignment, /* set assignments for graph */ + int *sub_assign, /* assignment file for subgraph */ int set1, int set2, /* set value denoting subgraph */ int *glob2loc, /* graph -> subgraph numbering map */ int *loc2glob, /* subgraph -> graph numbering map */ diff --git a/packages/seacas/libraries/chaco/refine_part/make_terms_ref.c b/packages/seacas/libraries/chaco/refine_part/make_terms_ref.c index 2f1c8cc49f90..9b26a54cf05b 100644 --- a/packages/seacas/libraries/chaco/refine_part/make_terms_ref.c +++ b/packages/seacas/libraries/chaco/refine_part/make_terms_ref.c @@ -13,9 +13,9 @@ void make_terms_ref(struct vtx_data **graph, /* data structure for graph */ int using_ewgts, /* are edge weights being used? */ int subnvtxs, /* number of vtxs in subgraph */ - int * loc2glob, /* mapping from subgraph to graph */ + int *loc2glob, /* mapping from subgraph to graph */ int set0, int set1, /* two processors I'm choosing between */ - int * assignment, /* set for each vertex */ + int *assignment, /* set for each vertex */ int architecture, /* 0 => hypercube, 1 => mesh */ int mesh_dims[3], /* if mesh, size of mesh */ float *term_wgts[] /* terminal weights for each vertex */ diff --git a/packages/seacas/libraries/chaco/util/array_alloc_2D.c b/packages/seacas/libraries/chaco/util/array_alloc_2D.c index 38243e62ff16..c3052ab26b7c 100644 --- a/packages/seacas/libraries/chaco/util/array_alloc_2D.c +++ b/packages/seacas/libraries/chaco/util/array_alloc_2D.c @@ -21,9 +21,9 @@ void *array_alloc_2D_ret(size_t dim1, size_t dim2, size_t size) size_t total; /* Total size of the array */ size_t aligned_dim; /* dim1 or dim1+1 to ensure data alignment */ size_t offset; /* offset of array elements */ - char * field; /* The multi-dimensional array */ + char *field; /* The multi-dimensional array */ char **ptr; /* Pointer offset */ - char * data; /* Data offset */ + char *data; /* Data offset */ size_t j; /* loop counter */ aligned_dim = (dim1 % 2) ? dim1 + 1 : dim1; diff --git a/packages/seacas/libraries/chaco/util/machine_params.c b/packages/seacas/libraries/chaco/util/machine_params.c index 1b1cb4eb6daf..feb1da25389d 100644 --- a/packages/seacas/libraries/chaco/util/machine_params.c +++ b/packages/seacas/libraries/chaco/util/machine_params.c @@ -74,6 +74,6 @@ void machine_params(double *double_epsilon, double *double_max) */ *double_max = max; #else - *double_max = DBL_MAX; + *double_max = DBL_MAX; #endif } diff --git a/packages/seacas/libraries/chaco/util/smalloc.c b/packages/seacas/libraries/chaco/util/smalloc.c index 1fa112c2a07d..9a4cca9274a7 100644 --- a/packages/seacas/libraries/chaco/util/smalloc.c +++ b/packages/seacas/libraries/chaco/util/smalloc.c @@ -19,7 +19,7 @@ static struct smalloc_debug_data { int order; /* which smalloc call is it? */ size_t size; /* size of malloc invocation */ - double * ptr; /* memory location returned */ + double *ptr; /* memory location returned */ struct smalloc_debug_data *next; /* pointer to next element */ } *top = NULL; @@ -38,7 +38,7 @@ void *smalloc(size_t n) { extern FILE *Output_File; /* output file or null */ extern int DEBUG_MEMORY; /* use debug memory allocator? */ - void * ptr; /* return value */ + void *ptr; /* return value */ struct smalloc_debug_data *new; /* data structure for malloc data */ void bail(char *msg, int status); @@ -87,7 +87,7 @@ void *smalloc_ret(size_t n) { extern FILE *Output_File; /* output file or null */ extern int DEBUG_MEMORY; /* use debug memory allocator? */ - void * ptr; /* return value */ + void *ptr; /* return value */ struct smalloc_debug_data *new; /* data structure for malloc data */ void bail(char *msg, int status); @@ -138,8 +138,8 @@ void *smalloc_ret(size_t n) /* Safe version of realloc */ void *srealloc(void *ptr, size_t n) { - extern FILE * Output_File; /* output file or null */ - void * p; /* returned pointer */ + extern FILE *Output_File; /* output file or null */ + void *p; /* returned pointer */ extern int DEBUG_MEMORY; /* use debug memory allocator? */ struct smalloc_debug_data *dbptr; /* loops through debug list */ void bail(char *msg, int status); @@ -187,8 +187,8 @@ void *srealloc(void *ptr, size_t n) /* Returns instead of dying if it fails. */ void *srealloc_ret(void *ptr, size_t n) { - extern FILE * Output_File; /* output file or null */ - void * p; /* returned pointer */ + extern FILE *Output_File; /* output file or null */ + void *p; /* returned pointer */ extern int DEBUG_MEMORY; /* use debug memory allocator? */ struct smalloc_debug_data *dbptr; /* loops through debug list */ @@ -234,9 +234,9 @@ void *srealloc_ret(void *ptr, size_t n) /* Safe version of free. */ void sfree(void *ptr) { - extern FILE * Output_File; /* output file or null */ + extern FILE *Output_File; /* output file or null */ extern int DEBUG_MEMORY; /* use debug memory allocator? */ - struct smalloc_debug_data * dbptr; /* loops through debug list */ + struct smalloc_debug_data *dbptr; /* loops through debug list */ struct smalloc_debug_data **prev; /* holds previous pointer */ if (DEBUG_MEMORY > 1) { diff --git a/packages/seacas/libraries/exodus_for/src/exo_jack.c b/packages/seacas/libraries/exodus_for/src/exo_jack.c index ce4c2ce4a273..af02b4700e1d 100644 --- a/packages/seacas/libraries/exodus_for/src/exo_jack.c +++ b/packages/seacas/libraries/exodus_for/src/exo_jack.c @@ -76,7 +76,7 @@ #endif /* 64 vs 32 bit build */ #if defined(Build64) -static int *i8i4(int64_t size, const int64_t *i8) +static int *i8i4(int64_t size, const int64_t *i8) { int *i4 = malloc(size * sizeof(int)); for (int64_t i = 0; i < size; i++) { @@ -85,7 +85,7 @@ static int *i8i4(int64_t size, const int64_t *i8) return i4; } -static void i4i8(int64_t size, const int *i4, int64_t *i8) +static void i4i8(int64_t size, const int *i4, int64_t *i8) { for (int64_t i = 0; i < size; i++) { i8[i] = i4[i]; @@ -522,8 +522,8 @@ void F2C(exginf, EXGINF)(int *idexo, char *info, int *ierr, int infolen) for (i = 0; i < num_info; i++) { /* Put pointers to the info records in ptr * array */ *(aptr + i) = sptr + i * (slen + 1); - } /* put ptr in string ptr - * array */ + } /* put ptr in string ptr + * array */ *(aptr + i) = NULL; /* null out last pointer */ /* Do exodus call to get info records */ @@ -859,7 +859,7 @@ void F2C(expecpp, EXPECPP)(int *idexo, int *obj_type, entity_id *elem_blk_id, in int *ierr) { ex_block block; - block.id = *elem_blk_id; + block.id = *elem_blk_id; block.type = *obj_type; if (ex_get_block_param(*idexo, &block) == EX_FATAL) { *ierr = EX_FATAL; @@ -888,14 +888,14 @@ void F2C(exgecpp, EXGECPP)(int *idexo, int *obj_type, entity_id *elem_blk_id, in int *ierr) { ex_block block; - block.id = *elem_blk_id; + block.id = *elem_blk_id; block.type = *obj_type; if (ex_get_block_param(*idexo, &block) == EX_FATAL) { *ierr = EX_FATAL; return; } int64_t num_elem_this_blk = block.num_entry; - int *counts4 = malloc(num_elem_this_blk * sizeof(int)); + int *counts4 = malloc(num_elem_this_blk * sizeof(int)); *ierr = ex_get_entity_count_per_polyhedra(*idexo, (ex_entity_type)*obj_type, *elem_blk_id, counts4); i4i8(num_elem_this_blk, counts4, counts); @@ -1329,8 +1329,8 @@ void F2C(exgpn, EXGPN)(int *idexo, int *obj_type, char *prop_names, int *ierr, i int i; for (i = 0; i < num_props; i++) { *(aptr + i) = sptr + i * (slen + 1); - } /* put ptrs to staging space - * into ptr array */ + } /* put ptrs to staging space + * into ptr array */ *(aptr + i) = NULL; /* set last pointer to null */ /* do Exodus C call to get property name records */ @@ -2037,16 +2037,14 @@ void F2C(exgvan, EXGVAN)(int *idexo, char *var_type, int *num_vars, char *var_na * \sa ex_put_truth_table() */ #if Build64 -void F2C(expvtt, EXPVTT)(int *idexo, int *num_entity, int *num_var, int64_t *var_tab, - int *ierr) +void F2C(expvtt, EXPVTT)(int *idexo, int *num_entity, int *num_var, int64_t *var_tab, int *ierr) { int *var_tab4 = i8i4(*num_entity * *num_var, var_tab); - *ierr = ex_put_truth_table(*idexo, EX_ELEM_BLOCK, *num_entity, *num_var, var_tab4); + *ierr = ex_put_truth_table(*idexo, EX_ELEM_BLOCK, *num_entity, *num_var, var_tab4); free(var_tab4); } #else -void F2C(expvtt, EXPVTT)(int *idexo, int *num_entity, int *num_var, int *var_tab, - int *ierr) +void F2C(expvtt, EXPVTT)(int *idexo, int *num_entity, int *num_var, int *var_tab, int *ierr) { *ierr = ex_put_truth_table(*idexo, EX_ELEM_BLOCK, *num_entity, *num_var, var_tab); } @@ -2060,7 +2058,7 @@ void F2C(expvtt, EXPVTT)(int *idexo, int *num_entity, int *num_var, int *var_tab void F2C(expnstt, EXPNSTT)(int *idexo, int *num_entity, int *num_var, int64_t *var_tab, int *ierr) { int *var_tab4 = i8i4(*num_entity * *num_var, var_tab); - *ierr = ex_put_truth_table(*idexo, EX_NODE_SET, *num_entity, *num_var, var_tab4); + *ierr = ex_put_truth_table(*idexo, EX_NODE_SET, *num_entity, *num_var, var_tab4); free(var_tab4); } #else @@ -2078,7 +2076,7 @@ void F2C(expnstt, EXPNSTT)(int *idexo, int *num_entity, int *num_var, int *var_t void F2C(expsstt, EXPSSTT)(int *idexo, int *num_entity, int *num_var, int64_t *var_tab, int *ierr) { int *var_tab4 = i8i4(*num_entity * *num_var, var_tab); - *ierr = ex_put_truth_table(*idexo, EX_SIDE_SET, *num_entity, *num_var, var_tab4); + *ierr = ex_put_truth_table(*idexo, EX_SIDE_SET, *num_entity, *num_var, var_tab4); free(var_tab4); } #else @@ -2093,16 +2091,14 @@ void F2C(expsstt, EXPSSTT)(int *idexo, int *num_entity, int *num_var, int *var_t * \sa ex_get_truth_table() */ #if Build64 -void F2C(exgvtt, EXGVTT)(int *idexo, int *num_entity, int *num_var, int64_t *var_tab, - int *ierr) +void F2C(exgvtt, EXGVTT)(int *idexo, int *num_entity, int *num_var, int64_t *var_tab, int *ierr) { int *var_tab4 = malloc(*num_entity * *num_var * sizeof(int)); - *ierr = ex_get_truth_table(*idexo, EX_ELEM_BLOCK, *num_entity, *num_var, var_tab4); + *ierr = ex_get_truth_table(*idexo, EX_ELEM_BLOCK, *num_entity, *num_var, var_tab4); i4i8(*num_entity * *num_var, var_tab4, var_tab); free(var_tab4); #else -void F2C(exgvtt, EXGVTT)(int *idexo, int *num_entity, int *num_var, int *var_tab, - int *ierr) +void F2C(exgvtt, EXGVTT)(int *idexo, int *num_entity, int *num_var, int *var_tab, int *ierr) { *ierr = ex_get_truth_table(*idexo, EX_ELEM_BLOCK, *num_entity, *num_var, var_tab); #endif @@ -2116,17 +2112,17 @@ void F2C(exgvtt, EXGVTT)(int *idexo, int *num_entity, int *num_var, int *var_tab void F2C(exgnstt, EXGNSTT)(int *idexo, int *num_entity, int *num_var, int64_t *var_tab, int *ierr) { int *var_tab4 = malloc(*num_entity * *num_var * sizeof(int)); - *ierr = ex_get_truth_table(*idexo, EX_NODE_SET, *num_entity, *num_var, var_tab4); + *ierr = ex_get_truth_table(*idexo, EX_NODE_SET, *num_entity, *num_var, var_tab4); i4i8(*num_entity * *num_var, var_tab4, var_tab); free(var_tab4); } #else - void F2C(exgnstt, EXGNSTT)(int *idexo, int *num_entity, int *num_var, int *var_tab, int *ierr) +void F2C(exgnstt, EXGNSTT)(int *idexo, int *num_entity, int *num_var, int *var_tab, int *ierr) { *ierr = ex_get_truth_table(*idexo, EX_NODE_SET, *num_entity, *num_var, var_tab); } #endif - + /*! * read sideset variable truth table * \sa ex_get_truth_table() @@ -2135,17 +2131,17 @@ void F2C(exgnstt, EXGNSTT)(int *idexo, int *num_entity, int *num_var, int64_t *v void F2C(exgsstt, EXGSSTT)(int *idexo, int *num_entity, int *num_var, int64_t *var_tab, int *ierr) { int *var_tab4 = malloc(*num_entity * *num_var * sizeof(int)); - *ierr = ex_get_truth_table(*idexo, EX_SIDE_SET, *num_entity, *num_var, var_tab4); + *ierr = ex_get_truth_table(*idexo, EX_SIDE_SET, *num_entity, *num_var, var_tab4); i4i8(*num_entity * *num_var, var_tab4, var_tab); free(var_tab4); } #else - void F2C(exgsstt, EXGSSTT)(int *idexo, int *num_entity, int *num_var, int *var_tab, int *ierr) +void F2C(exgsstt, EXGSSTT)(int *idexo, int *num_entity, int *num_var, int *var_tab, int *ierr) { *ierr = ex_get_truth_table(*idexo, EX_SIDE_SET, *num_entity, *num_var, var_tab); } #endif - + /*! * write global variable values at time step * \sa ex_put_var() @@ -2440,10 +2436,11 @@ void F2C(exgssn, EXGSSN)(int *idexo, entity_id *side_set_id, void_int *side_set_ * \sa ex_get_side_set_node_count() */ #if Build64 -void F2C(exgssc, EXGSSC)(int *idexo, entity_id *side_set_id, int64_t *side_set_node_cnt_list, int *ierr) +void F2C(exgssc, EXGSSC)(int *idexo, entity_id *side_set_id, int64_t *side_set_node_cnt_list, + int *ierr) { int64_t num_sides_in_set = 0; - int64_t num_df_in_set = 0; + int64_t num_df_in_set = 0; ex_get_set_param(*idexo, EX_SIDE_SET, *side_set_id, &num_sides_in_set, &num_df_in_set); int *cnt_list = malloc(num_sides_in_set * sizeof(int)); @@ -2466,7 +2463,7 @@ void F2C(exgssc, EXGSSC)(int *idexo, entity_id *side_set_id, int *side_set_node_ #if Build64 void F2C(exgcssc, EXGCSSC)(int *idexo, int64_t *side_set_node_cnt_list, int *ierr) { - int count = ex_inquire_int(*idexo, EX_INQ_SS_ELEM_LEN); + int count = ex_inquire_int(*idexo, EX_INQ_SS_ELEM_LEN); int *cnt_list = malloc(count * sizeof(int)); *ierr = ex_get_concat_side_set_node_count(*idexo, cnt_list); @@ -4031,4 +4028,3 @@ void F2C(exppcc, EXPPCC)(int *exoid, void_int *start_node_num, void_int *num_nod ex_err_fn(*exoid, __func__, errmsg, EX_MSG); } } - diff --git a/packages/seacas/libraries/ioss/src/Ioss_CodeTypes.h b/packages/seacas/libraries/ioss/src/Ioss_CodeTypes.h index ea7e67385ffe..f799bad41fbd 100644 --- a/packages/seacas/libraries/ioss/src/Ioss_CodeTypes.h +++ b/packages/seacas/libraries/ioss/src/Ioss_CodeTypes.h @@ -48,7 +48,7 @@ inline std::string IOSS_SYM_TENSOR() { return {"sym_tensor_33"}; } #if (__cplusplus >= 201703L) #define IOSS_MAYBE_UNUSED [[maybe_unused]] -#define IOSS_NODISCARD [[nodiscard]] +#define IOSS_NODISCARD [[nodiscard]] #else #define IOSS_MAYBE_UNUSED #define IOSS_NODISCARD diff --git a/packages/seacas/libraries/ioss/src/Ioss_CoordinateFrame.h b/packages/seacas/libraries/ioss/src/Ioss_CoordinateFrame.h index 46795e00b9d0..ba434eccd9f7 100644 --- a/packages/seacas/libraries/ioss/src/Ioss_CoordinateFrame.h +++ b/packages/seacas/libraries/ioss/src/Ioss_CoordinateFrame.h @@ -32,7 +32,7 @@ namespace Ioss { IOSS_NODISCARD bool equal(const Ioss::CoordinateFrame &rhs) const; private: - bool equal_(const Ioss::CoordinateFrame &rhs, bool quiet) const; + IOSS_NODISCARD bool equal_(const Ioss::CoordinateFrame &rhs, bool quiet) const; std::vector pointList_{}; int64_t id_{}; char tag_; diff --git a/packages/seacas/libraries/ioss/src/Ioss_CopyDatabase.C b/packages/seacas/libraries/ioss/src/Ioss_CopyDatabase.C index cd4640cf4d36..31016664edcf 100644 --- a/packages/seacas/libraries/ioss/src/Ioss_CopyDatabase.C +++ b/packages/seacas/libraries/ioss/src/Ioss_CopyDatabase.C @@ -736,7 +736,9 @@ namespace { int istep, const Ioss::MeshCopyOptions &options, int rank) { double time = region.get_state_time(istep); - int ostep = output_region.add_state(time); + double otime = time * options.time_scale + options.time_offset; + int ostep = output_region.add_state(otime); + show_step(istep, time, options, rank); output_region.begin_state(ostep); diff --git a/packages/seacas/libraries/ioss/src/Ioss_DatabaseIO.h b/packages/seacas/libraries/ioss/src/Ioss_DatabaseIO.h index 1b97760a41dc..90a83ffe2beb 100644 --- a/packages/seacas/libraries/ioss/src/Ioss_DatabaseIO.h +++ b/packages/seacas/libraries/ioss/src/Ioss_DatabaseIO.h @@ -82,7 +82,7 @@ namespace Ioss { * \returns True if database state is OK. False if not. */ IOSS_NODISCARD bool ok(bool write_message = false, std::string *error_message = nullptr, - int *bad_count = nullptr) const + int *bad_count = nullptr) const { IOSS_FUNC_ENTER(m_); return ok_nl(write_message, error_message, bad_count); @@ -172,7 +172,7 @@ namespace Ioss { * \returns The database file name. */ IOSS_NODISCARD std::string get_filename() const { return DBFilename; } - + /** For the database types that support it, return an integer `handle` * through which a client can directly access the underlying file. * Please use sparingly and with discretion. Basically, a kluge @@ -344,9 +344,12 @@ namespace Ioss { * * \returns The informative strings. */ - IOSS_NODISCARD const std::vector &get_information_records() const { return informationRecords; } - void add_information_records(const std::vector &info); - void add_information_record(const std::string &info); + IOSS_NODISCARD const std::vector &get_information_records() const + { + return informationRecords; + } + void add_information_records(const std::vector &info); + void add_information_record(const std::string &info); // QA Records: @@ -370,9 +373,9 @@ namespace Ioss { const std::string &time); IOSS_NODISCARD bool get_logging() const { return doLogging && !singleProcOnly; } - void set_logging(bool on_off) { doLogging = on_off; } + void set_logging(bool on_off) { doLogging = on_off; } IOSS_NODISCARD bool get_nan_detection() const { return doNanDetection; } - void set_nan_detection(bool on_off) { doNanDetection = on_off; } + void set_nan_detection(bool on_off) { doNanDetection = on_off; } // The get_field and put_field functions are just a wrapper around the // pure virtual get_field_internal and put_field_internal functions, @@ -428,35 +431,41 @@ namespace Ioss { * */ IOSS_NODISCARD bool is_parallel_consistent() const { return isParallelConsistent; } - void set_parallel_consistency(bool on_off) { isParallelConsistent = on_off; } + void set_parallel_consistency(bool on_off) { isParallelConsistent = on_off; } IOSS_NODISCARD bool get_use_generic_canonical_name() const { return useGenericCanonicalName; } void set_use_generic_canonical_name(bool yes_no) { useGenericCanonicalName = yes_no; } IOSS_NODISCARD bool ignore_database_names() const { return ignoreDatabaseNames; } - void ignore_database_names(bool yes_no) { ignoreDatabaseNames = yes_no; } + void ignore_database_names(bool yes_no) { ignoreDatabaseNames = yes_no; } IOSS_NODISCARD bool get_ignore_realn_fields() const { return m_ignoreRealnFields; } - void set_ignore_realn_fields(bool yes_no) { m_ignoreRealnFields = yes_no; } + void set_ignore_realn_fields(bool yes_no) { m_ignoreRealnFields = yes_no; } /** \brief Get the length of the longest name in the database file. * * \returns The length, or 0 for unlimited. */ - IOSS_NODISCARD virtual int maximum_symbol_length() const { return 0; } // Default is unlimited... + IOSS_NODISCARD virtual int maximum_symbol_length() const + { + return 0; + } // Default is unlimited... virtual void set_maximum_symbol_length(int /* requested_symbol_size */) { } // Default does nothing... - IOSS_NODISCARD std::string get_component_name(const Ioss::Field &field, Ioss::Field::InOut in_out, - int component) const; + IOSS_NODISCARD std::string get_component_name(const Ioss::Field &field, + Ioss::Field::InOut in_out, int component) const; IOSS_NODISCARD char get_field_separator() const { return fieldSeparator; } IOSS_NODISCARD bool get_field_recognition() const { return enableFieldRecognition; } IOSS_NODISCARD bool get_field_strip_trailing_() const { return fieldStripTrailing_; } - void set_field_separator(char separator); - void set_field_recognition(bool yes_no) { enableFieldRecognition = yes_no; } - void set_field_strip_trailing_(bool yes_no) { fieldStripTrailing_ = yes_no; } + void set_field_separator(char separator); + void set_field_recognition(bool yes_no) { enableFieldRecognition = yes_no; } + void set_field_strip_trailing_(bool yes_no) { fieldStripTrailing_ = yes_no; } - IOSS_NODISCARD DuplicateFieldBehavior get_duplicate_field_behavior() const { return duplicateFieldBehavior; } + IOSS_NODISCARD DuplicateFieldBehavior get_duplicate_field_behavior() const + { + return duplicateFieldBehavior; + } void set_lower_case_variable_names(bool true_false) const { @@ -492,9 +501,9 @@ namespace Ioss { IOSS_NODISCARD AxisAlignedBoundingBox get_bounding_box(const Ioss::ElementBlock *eb) const; IOSS_NODISCARD AxisAlignedBoundingBox get_bounding_box(const Ioss::StructuredBlock *sb) const; - IOSS_NODISCARD virtual int int_byte_size_db() const = 0; //! Returns 4 or 8 - IOSS_NODISCARD int int_byte_size_api() const; //! Returns 4 or 8 - virtual void set_int_byte_size_api(Ioss::DataSize size) const; + IOSS_NODISCARD virtual int int_byte_size_db() const = 0; //! Returns 4 or 8 + IOSS_NODISCARD int int_byte_size_api() const; //! Returns 4 or 8 + virtual void set_int_byte_size_api(Ioss::DataSize size) const; /*! * The owning region of this database. @@ -544,16 +553,16 @@ namespace Ioss { * If you only want the last step available on the database, * use set_cycle_count(1) */ - void set_cycle_count(int count) const { cycleCount = count; } + void set_cycle_count(int count) const { cycleCount = count; } IOSS_NODISCARD int get_cycle_count() const { return cycleCount; } - void set_overlay_count(int count) const { overlayCount = count; } + void set_overlay_count(int count) const { overlayCount = count; } IOSS_NODISCARD int get_overlay_count() const { return overlayCount; } - void set_file_per_state(bool yes_no) const { filePerState = yes_no; } + void set_file_per_state(bool yes_no) const { filePerState = yes_no; } IOSS_NODISCARD bool get_file_per_state() const { return filePerState; } void set_time_scale_factor(double factor) { timeScaleFactor = factor; } - IOSS_NODISCARD const Ioss::ParallelUtils &util() const { return util_; } + IOSS_NODISCARD const Ioss::ParallelUtils &util() const { return util_; } IOSS_NODISCARD const Ioss::PropertyManager &get_property_manager() const { return properties; } /** \brief Get the processor that this mesh database is on. * diff --git a/packages/seacas/libraries/ioss/src/Ioss_Doxygen.h b/packages/seacas/libraries/ioss/src/Ioss_Doxygen.h index c816aa0889e9..d3c20468da6a 100644 --- a/packages/seacas/libraries/ioss/src/Ioss_Doxygen.h +++ b/packages/seacas/libraries/ioss/src/Ioss_Doxygen.h @@ -182,7 +182,8 @@ file. Then, the first file will be reopened and steps 0.7, 0.8, and Property | Value | Description -----------------------|:------:|----------------------------------------------------------- FILE_FORMAT | [default], spyhis, csv, ts_csv, text, ts_text | predefined formats for heartbeat output. The ones starting with `ts_` output timestamps. - FLUSH_INTERVAL | int | Minimum time interval between flushing heartbeat data to disk. Default is 10 seconds + FLUSH_INTERVAL | int | Minimum time interval between flushing heartbeat data to disk. Default is 10 seconds. Set to 0 to flush every step (bad performance) + HEARTBEAT_FLUSH_INTERVAL | int | Minimum time interval between flushing heartbeat data to disk. Default is 10 seconds (Same as FLUSH_INTERVAL, but doesn't affect other database types) TIME_STAMP_FORMAT | [%H:%M:%S] | Format used to format time stamp. See strftime man page SHOW_TIME_STAMP | on/off | Should the output lines be preceded by the timestamp FIELD_SEPARATOR | [, ] | separator to be used between output fields. diff --git a/packages/seacas/libraries/ioss/src/Ioss_ElementPermutation.C b/packages/seacas/libraries/ioss/src/Ioss_ElementPermutation.C index cc06d4806c49..f5ee114d62e0 100644 --- a/packages/seacas/libraries/ioss/src/Ioss_ElementPermutation.C +++ b/packages/seacas/libraries/ioss/src/Ioss_ElementPermutation.C @@ -49,7 +49,7 @@ namespace Ioss { auto iter = registry().find(ltype); if (iter == registry().end()) { - std::string base1 = Ioss::SuperPermutation::basename; + std::string base1{"super"}; if (ltype.compare(0, base1.length(), base1) == 0) { // A ring permutation can have a varying number of nodes. Create // a permutation type for this ring permutation. The node count @@ -227,61 +227,46 @@ namespace Ioss { bool ElementPermutation::equal(const ElementPermutation &rhs) const { return equal_(rhs, false); } //==================================================================================================== - const char *NullPermutation::name = "none"; - void NullPermutation::factory() { static NullPermutation registerThis; } - NullPermutation::NullPermutation() : ElementPermutation(NullPermutation::name) - { - set_permutation(0, 0, 0, {}); - } + NullPermutation::NullPermutation() : ElementPermutation("none") { set_permutation(0, 0, 0, {}); } //==================================================================================================== - const char *SpherePermutation::name = "sphere"; - void SpherePermutation::factory() { static SpherePermutation registerThis; } - SpherePermutation::SpherePermutation() : ElementPermutation(SpherePermutation::name) + SpherePermutation::SpherePermutation() : ElementPermutation("sphere") { set_permutation(1, 1, 1, {{0}}); } //==================================================================================================== - const char *LinePermutation::name = "line"; - void LinePermutation::factory() { static LinePermutation registerThis; } - LinePermutation::LinePermutation() : ElementPermutation(LinePermutation::name) + LinePermutation::LinePermutation() : ElementPermutation("line") { set_permutation(2, 2, 1, {{0, 1}, {1, 0}}); } //==================================================================================================== - const char *SpringPermutation::name = "spring"; - void SpringPermutation::factory() { static SpringPermutation registerThis; } - SpringPermutation::SpringPermutation() : ElementPermutation(SpringPermutation::name) + SpringPermutation::SpringPermutation() : ElementPermutation("spring") { set_permutation(2, 2, 2, {{0, 1}, {1, 0}}); } //==================================================================================================== - const char *TriPermutation::name = "tri"; - void TriPermutation::factory() { static TriPermutation registerThis; } - TriPermutation::TriPermutation() : ElementPermutation(TriPermutation::name) + TriPermutation::TriPermutation() : ElementPermutation("tri") { set_permutation(3, 6, 3, {{0, 1, 2}, {2, 0, 1}, {1, 2, 0}, {0, 2, 1}, {2, 1, 0}, {1, 0, 2}}); } //==================================================================================================== - const char *QuadPermutation::name = "quad"; - void QuadPermutation::factory() { static QuadPermutation registerThis; } - QuadPermutation::QuadPermutation() : ElementPermutation(QuadPermutation::name) + QuadPermutation::QuadPermutation() : ElementPermutation("quad") { set_permutation(4, 8, 4, {{0, 1, 2, 3}, @@ -295,11 +280,9 @@ namespace Ioss { } //==================================================================================================== - const char *TetPermutation::name = "tet"; - void TetPermutation::factory() { static TetPermutation registerThis; } - TetPermutation::TetPermutation() : ElementPermutation(TetPermutation::name) + TetPermutation::TetPermutation() : ElementPermutation("tet") { set_permutation(4, 12, 12, {{0, 1, 2, 3}, @@ -317,21 +300,17 @@ namespace Ioss { } //==================================================================================================== - const char *PyramidPermutation::name = "pyramid"; - void PyramidPermutation::factory() { static PyramidPermutation registerThis; } - PyramidPermutation::PyramidPermutation() : ElementPermutation(PyramidPermutation::name) + PyramidPermutation::PyramidPermutation() : ElementPermutation("pyramid") { set_permutation(5, 4, 4, {{0, 1, 2, 3, 4}, {1, 2, 3, 0, 4}, {2, 3, 0, 1, 4}, {3, 0, 1, 2, 4}}); } //==================================================================================================== - const char *WedgePermutation::name = "wedge"; - void WedgePermutation::factory() { static WedgePermutation registerThis; } - WedgePermutation::WedgePermutation() : ElementPermutation(WedgePermutation::name) + WedgePermutation::WedgePermutation() : ElementPermutation("wedge") { set_permutation(6, 6, 6, {{0, 1, 2, 3, 4, 5}, @@ -343,11 +322,9 @@ namespace Ioss { } //==================================================================================================== - const char *HexPermutation::name = "hex"; - void HexPermutation::factory() { static HexPermutation registerThis; } - HexPermutation::HexPermutation() : ElementPermutation(HexPermutation::name) + HexPermutation::HexPermutation() : ElementPermutation("hex") { set_permutation(8, 24, 24, {{0, 1, 2, 3, 4, 5, 6, 7}, {0, 1, 5, 4, 3, 2, 6, 7}, {0, 4, 7, 3, 1, 5, 6, 2}, @@ -366,9 +343,7 @@ namespace Ioss { // {0, 1, 2, 3}, {1, 2, 3, 0}, {2, 3, 0, 1}, {3, 0, 1, 2} // and the following negative permutations // {0, 3, 2, 1}, {3, 2, 1, 0}, {2, 1, 0, 3}, {1, 0, 3, 2} - const char *SuperPermutation::basename = "super"; - - std::string SuperPermutation::get_name(unsigned n) { return basename + std::to_string(n); } + std::string SuperPermutation::get_name(unsigned n) { return "super" + std::to_string(n); } void SuperPermutation::make_super(const std::string &type) { diff --git a/packages/seacas/libraries/ioss/src/Ioss_ElementPermutation.h b/packages/seacas/libraries/ioss/src/Ioss_ElementPermutation.h index 6004627f1d1c..5cc1bafa9788 100644 --- a/packages/seacas/libraries/ioss/src/Ioss_ElementPermutation.h +++ b/packages/seacas/libraries/ioss/src/Ioss_ElementPermutation.h @@ -59,11 +59,6 @@ namespace Ioss { class IOSS_EXPORT ElementPermutation { public: - ElementPermutation(const ElementPermutation &) = delete; - ElementPermutation &operator=(const ElementPermutation &) = delete; - - virtual ~ElementPermutation() = default; - IOSS_NODISCARD unsigned num_permutations() const; // The number of positive permutations must be less than or equal to the total number of @@ -139,10 +134,7 @@ namespace Ioss { class IOSS_EXPORT NullPermutation : public ElementPermutation { public: - static const char *name; - static void factory(); - NullPermutation(const NullPermutation &) = delete; protected: NullPermutation(); @@ -151,10 +143,7 @@ namespace Ioss { class IOSS_EXPORT SpherePermutation : public ElementPermutation { public: - static const char *name; - static void factory(); - SpherePermutation(const SpherePermutation &) = delete; protected: SpherePermutation(); @@ -163,10 +152,7 @@ namespace Ioss { class IOSS_EXPORT LinePermutation : public ElementPermutation { public: - static const char *name; - static void factory(); - LinePermutation(const LinePermutation &) = delete; protected: LinePermutation(); @@ -175,10 +161,7 @@ namespace Ioss { class IOSS_EXPORT SpringPermutation : public ElementPermutation { public: - static const char *name; - static void factory(); - SpringPermutation(const SpringPermutation &) = delete; protected: SpringPermutation(); @@ -187,10 +170,7 @@ namespace Ioss { class IOSS_EXPORT TriPermutation : public ElementPermutation { public: - static const char *name; - static void factory(); - TriPermutation(const TriPermutation &) = delete; protected: TriPermutation(); @@ -199,10 +179,7 @@ namespace Ioss { class IOSS_EXPORT QuadPermutation : public ElementPermutation { public: - static const char *name; - static void factory(); - QuadPermutation(const QuadPermutation &) = delete; protected: QuadPermutation(); @@ -211,10 +188,7 @@ namespace Ioss { class IOSS_EXPORT TetPermutation : public ElementPermutation { public: - static const char *name; - static void factory(); - TetPermutation(const TetPermutation &) = delete; protected: TetPermutation(); @@ -223,10 +197,7 @@ namespace Ioss { class IOSS_EXPORT PyramidPermutation : public ElementPermutation { public: - static const char *name; - static void factory(); - PyramidPermutation(const PyramidPermutation &) = delete; protected: PyramidPermutation(); @@ -235,10 +206,7 @@ namespace Ioss { class IOSS_EXPORT WedgePermutation : public ElementPermutation { public: - static const char *name; - static void factory(); - WedgePermutation(const WedgePermutation &) = delete; protected: WedgePermutation(); @@ -247,10 +215,7 @@ namespace Ioss { class IOSS_EXPORT HexPermutation : public ElementPermutation { public: - static const char *name; - static void factory(); - HexPermutation(const HexPermutation &) = delete; protected: HexPermutation(); @@ -259,12 +224,9 @@ namespace Ioss { class IOSS_EXPORT SuperPermutation : public ElementPermutation { public: - static const char *basename; - static void make_super(const std::string &type); static void factory(); static void factory(unsigned n); - SuperPermutation(const SuperPermutation &) = delete; static std::string get_name(unsigned n); diff --git a/packages/seacas/libraries/ioss/src/Ioss_ElementTopology.h b/packages/seacas/libraries/ioss/src/Ioss_ElementTopology.h index d36f62b54fcb..7271122eb393 100644 --- a/packages/seacas/libraries/ioss/src/Ioss_ElementTopology.h +++ b/packages/seacas/libraries/ioss/src/Ioss_ElementTopology.h @@ -52,7 +52,6 @@ namespace Ioss { } ~ETRegistry(); - std::map customFieldTypes; private: Ioss::ElementTopologyMap m_registry; @@ -147,12 +146,12 @@ namespace Ioss { protected: ElementTopology(std::string type, std::string master_elem_name, bool delete_me = false); - virtual bool validate_permutation_nodes() const { return true; } + IOSS_NODISCARD virtual bool validate_permutation_nodes() const { return true; } private: - bool equal_(const Ioss::ElementTopology &rhs, bool quiet) const; - const std::string name_; - const std::string masterElementName_; + IOSS_NODISCARD bool equal_(const Ioss::ElementTopology &rhs, bool quiet) const; + const std::string name_; + const std::string masterElementName_; static const std::string &topology_shape_to_permutation_name(Ioss::ElementShape topoShape); diff --git a/packages/seacas/libraries/ioss/src/Ioss_FaceBlock.h b/packages/seacas/libraries/ioss/src/Ioss_FaceBlock.h index f74656e8b6b9..f000f6af7a41 100644 --- a/packages/seacas/libraries/ioss/src/Ioss_FaceBlock.h +++ b/packages/seacas/libraries/ioss/src/Ioss_FaceBlock.h @@ -31,8 +31,6 @@ namespace Ioss { FaceBlock(DatabaseIO *io_database, const std::string &my_name, const std::string &face_type, int64_t number_faces); - FaceBlock(const FaceBlock &) = default; - IOSS_NODISCARD std::string type_string() const override { return "FaceBlock"; } IOSS_NODISCARD std::string short_type_string() const override { return "faceblock"; } IOSS_NODISCARD std::string contains_string() const override { return "Face"; } diff --git a/packages/seacas/libraries/ioss/src/Ioss_FieldManager.h b/packages/seacas/libraries/ioss/src/Ioss_FieldManager.h index 450d5531fa2d..e0497a5cf575 100644 --- a/packages/seacas/libraries/ioss/src/Ioss_FieldManager.h +++ b/packages/seacas/libraries/ioss/src/Ioss_FieldManager.h @@ -52,7 +52,7 @@ namespace Ioss { void erase(const std::string &field_name); // Checks if a field with 'field_name' exists in the database. - bool exists(const std::string &field_name) const; + IOSS_NODISCARD bool exists(const std::string &field_name) const; IOSS_NODISCARD Field get(const std::string &field_name) const; IOSS_NODISCARD const Field &getref(const std::string &field_name) const; diff --git a/packages/seacas/libraries/ioss/src/Ioss_GetLongOpt.C b/packages/seacas/libraries/ioss/src/Ioss_GetLongOpt.C index 74e98ed1dfe0..011d483fefb4 100644 --- a/packages/seacas/libraries/ioss/src/Ioss_GetLongOpt.C +++ b/packages/seacas/libraries/ioss/src/Ioss_GetLongOpt.C @@ -1,4 +1,4 @@ -// Copyright(C) 1999-2021, 2023 National Technology & Engineering Solutions +// Copyright(C) 1999-2021, 2023, 2024 National Technology & Engineering Solutions // of Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with // NTESS, the U.S. Government retains certain rights in this software. // @@ -6,22 +6,19 @@ /* S Manoharan. Advanced Computer Research Institute. Lyon. France */ #include "Ioss_GetLongOpt.h" +#include #include #include #include #include #include -#include namespace Ioss { /** \brief Create an empty options database. * * \param optmark The command line symbol designating options. */ - GetLongOption::GetLongOption(const char optmark) : optmarker(optmark) - { - ustring = "[valid options and arguments]"; - } + GetLongOption::GetLongOption(const char optmark) : optmarker(optmark) {} /** \brief Frees dynamically allocated memory. * @@ -108,8 +105,7 @@ namespace Ioss { */ const char *GetLongOption::retrieve(const char *const opt) const { - Cell *t; - for (t = table; t != nullptr; t = t->next) { + for (Cell *t = table; t != nullptr; t = t->next) { if (strcmp(opt, t->option) == 0) { return t->value; } diff --git a/packages/seacas/libraries/ioss/src/Ioss_GetLongOpt.h b/packages/seacas/libraries/ioss/src/Ioss_GetLongOpt.h index b43a539ce7b8..28554ee11c17 100644 --- a/packages/seacas/libraries/ioss/src/Ioss_GetLongOpt.h +++ b/packages/seacas/libraries/ioss/src/Ioss_GetLongOpt.h @@ -1,5 +1,5 @@ /* - * Copyright(C) 1999-2023 National Technology & Engineering Solutions + * Copyright(C) 1999-2024 National Technology & Engineering Solutions * of Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with * NTESS, the U.S. Government retains certain rights in this software. * @@ -41,8 +41,8 @@ namespace Ioss { Cell() = default; }; - Cell *table{nullptr}; // option table - const char *ustring{nullptr}; // usage message + Cell *table{nullptr}; // option table + const char *ustring{"[valid options and arguments]"}; char *pname{nullptr}; // program basename Cell *last{nullptr}; // last entry in option table char optmarker; // option marker @@ -75,8 +75,7 @@ namespace Ioss { */ void usage(const char *str) { ustring = str; } - template ::value, INT>::type * = nullptr> + template , INT> * = nullptr> INT get_option_value(const char *option_txt, INT default_value) { INT value = default_value; @@ -87,8 +86,7 @@ namespace Ioss { return value; } - template ::value, DBL>::type * = nullptr> + template , DBL> * = nullptr> DBL get_option_value(const char *option_txt, DBL default_value) { DBL value = default_value; diff --git a/packages/seacas/libraries/ioss/src/Ioss_GroupingEntity.h b/packages/seacas/libraries/ioss/src/Ioss_GroupingEntity.h index d3037bb02b5c..6c7faec5b1aa 100644 --- a/packages/seacas/libraries/ioss/src/Ioss_GroupingEntity.h +++ b/packages/seacas/libraries/ioss/src/Ioss_GroupingEntity.h @@ -77,10 +77,10 @@ namespace Ioss { IOSS_NODISCARD State get_state() const; - IOSS_NODISCARD DatabaseIO *get_database() const; - void set_database(DatabaseIO *io_database); - void reset_database(DatabaseIO *io_database); - virtual void delete_database(); + IOSS_NODISCARD DatabaseIO *get_database() const; + void set_database(DatabaseIO *io_database); + void reset_database(DatabaseIO *io_database); + virtual void delete_database(); /** Return the GroupingEntity pointer of the "object" that this * entity is contained in. For example, a SideBlock would @@ -161,18 +161,20 @@ namespace Ioss { // ======================================================================== // Property-related information.... // Just forward it through to the property manager... - inline void property_add(const Property &new_prop); - inline void property_erase(const std::string &property_name); + inline void property_add(const Property &new_prop); + inline void property_erase(const std::string &property_name); IOSS_NODISCARD inline bool property_exists(const std::string &property_name) const; IOSS_NODISCARD inline Property get_property(const std::string &property_name) const; - IOSS_NODISCARD inline int64_t get_optional_property(const std::string &property, int64_t optional_value) const; - IOSS_NODISCARD inline std::string get_optional_property(const std::string &property_name, - const std::string &optional_value) const; - IOSS_NODISCARD inline NameList property_describe() const; - inline int property_describe(NameList *names) const; - IOSS_NODISCARD inline NameList property_describe(Ioss::Property::Origin origin) const; - inline int property_describe(Ioss::Property::Origin origin, NameList *names) const; - IOSS_NODISCARD inline size_t property_count() const; + IOSS_NODISCARD inline int64_t get_optional_property(const std::string &property, + int64_t optional_value) const; + IOSS_NODISCARD inline std::string + get_optional_property(const std::string &property_name, + const std::string &optional_value) const; + IOSS_NODISCARD inline NameList property_describe() const; + inline int property_describe(NameList *names) const; + IOSS_NODISCARD inline NameList property_describe(Ioss::Property::Origin origin) const; + inline int property_describe(Ioss::Property::Origin origin, NameList *names) const; + IOSS_NODISCARD inline size_t property_count() const; /** Add a property, or change its value if it already exists with a different value */ void property_update(const std::string &property, int64_t value) const; @@ -182,15 +184,15 @@ namespace Ioss { // FIELDS // ======================================================================== // Just forward these through to the field manager... - void field_add(Field new_field); - inline void field_erase(const std::string &field_name); - inline void field_erase(Field::RoleType role); + void field_add(Field new_field); + inline void field_erase(const std::string &field_name); + inline void field_erase(Field::RoleType role); IOSS_NODISCARD inline bool field_exists(const std::string &field_name) const; IOSS_NODISCARD inline Field get_field(const std::string &field_name) const; IOSS_NODISCARD inline const Field &get_fieldref(const std::string &field_name) const; - inline int field_describe(NameList *names) const; + inline int field_describe(NameList *names) const; IOSS_NODISCARD inline NameList field_describe() const; - inline int field_describe(Field::RoleType role, NameList *names) const; + inline int field_describe(Field::RoleType role, NameList *names) const; IOSS_NODISCARD inline NameList field_describe(Field::RoleType role) const; IOSS_NODISCARD inline size_t field_count() const; IOSS_NODISCARD size_t field_count(Field::RoleType role) const; diff --git a/packages/seacas/libraries/ioss/src/Ioss_IOFactory.h b/packages/seacas/libraries/ioss/src/Ioss_IOFactory.h index af8c783b1c10..2467a21b7bf6 100644 --- a/packages/seacas/libraries/ioss/src/Ioss_IOFactory.h +++ b/packages/seacas/libraries/ioss/src/Ioss_IOFactory.h @@ -35,22 +35,22 @@ namespace Ioss { { public: virtual ~IOFactory() = default; - IOSS_NODISCARD static DatabaseIO *create(const std::string &type, const std::string &filename, - DatabaseUsage db_usage, - Ioss_MPI_Comm communicator = Ioss::ParallelUtils::comm_world(), - const Ioss::PropertyManager &properties = Ioss::PropertyManager()); + IOSS_NODISCARD static DatabaseIO * + create(const std::string &type, const std::string &filename, DatabaseUsage db_usage, + Ioss_MPI_Comm communicator = Ioss::ParallelUtils::comm_world(), + const Ioss::PropertyManager &properties = Ioss::PropertyManager()); - static int describe(NameList *names); + static int describe(NameList *names); IOSS_NODISCARD static NameList describe(); - static void clean(); + static void clean(); IOSS_NODISCARD static std::string show_configuration(); protected: explicit IOFactory(const std::string &type); IOSS_NODISCARD virtual DatabaseIO *make_IO(const std::string &filename, DatabaseUsage db_usage, - Ioss_MPI_Comm communicator, - const Ioss::PropertyManager &properties) const = 0; + Ioss_MPI_Comm communicator, + const Ioss::PropertyManager &properties) const = 0; IOSS_NODISCARD virtual std::string show_config() const { return {""}; } diff --git a/packages/seacas/libraries/ioss/src/Ioss_MemoryUtils.C b/packages/seacas/libraries/ioss/src/Ioss_MemoryUtils.C index b8aac6060b43..21dd95f5d7b8 100644 --- a/packages/seacas/libraries/ioss/src/Ioss_MemoryUtils.C +++ b/packages/seacas/libraries/ioss/src/Ioss_MemoryUtils.C @@ -14,8 +14,11 @@ #include #include -#if defined(__APPLE__) && defined(__MACH__) +#if defined(__APPLE__) && defined(__MACH__) && (defined(__arm__) || defined(__arm64__)) #include +#endif + +#if defined(__APPLE__) && defined(__MACH__) #include #include #include diff --git a/packages/seacas/libraries/ioss/src/Ioss_MeshCopyOptions.h b/packages/seacas/libraries/ioss/src/Ioss_MeshCopyOptions.h index 2c4e553197e3..585730006fae 100644 --- a/packages/seacas/libraries/ioss/src/Ioss_MeshCopyOptions.h +++ b/packages/seacas/libraries/ioss/src/Ioss_MeshCopyOptions.h @@ -17,6 +17,8 @@ namespace Ioss { double minimum_time{0.0}; double maximum_time{0.0}; double delay{0.0}; + double time_scale{1.0}; + double time_offset{0.0}; double rel_tolerance{}; double abs_tolerance{}; diff --git a/packages/seacas/libraries/ioss/src/Ioss_NullEntity.C b/packages/seacas/libraries/ioss/src/Ioss_NullEntity.C index f05c1d35f6bb..0a0d64b5e6eb 100644 --- a/packages/seacas/libraries/ioss/src/Ioss_NullEntity.C +++ b/packages/seacas/libraries/ioss/src/Ioss_NullEntity.C @@ -4,6 +4,7 @@ // // See packages/seacas/LICENSE for details +#include "Ioss_GroupingEntity.h" #include "Ioss_NullEntity.h" namespace Ioss { diff --git a/packages/seacas/libraries/ioss/src/Ioss_PropertyManager.C b/packages/seacas/libraries/ioss/src/Ioss_PropertyManager.C index 239d75a61b2b..31add4675874 100644 --- a/packages/seacas/libraries/ioss/src/Ioss_PropertyManager.C +++ b/packages/seacas/libraries/ioss/src/Ioss_PropertyManager.C @@ -9,7 +9,6 @@ #include "Ioss_Utils.h" #include #include -#include #include #include "Ioss_CodeTypes.h" diff --git a/packages/seacas/libraries/ioss/src/Ioss_Utils.C b/packages/seacas/libraries/ioss/src/Ioss_Utils.C index d42b91e48239..a9c8978fc838 100644 --- a/packages/seacas/libraries/ioss/src/Ioss_Utils.C +++ b/packages/seacas/libraries/ioss/src/Ioss_Utils.C @@ -5,9 +5,6 @@ // See packages/seacas/LICENSE for details #include "Ioss_CodeTypes.h" -#include "Ioss_DatabaseIO.h" -#include "Ioss_FileInfo.h" -#include "Ioss_Utils.h" #include #include #include @@ -35,10 +32,13 @@ #endif #include +#include "Ioss_CompositeVariableType.h" +#include "Ioss_DatabaseIO.h" #include "Ioss_ElementBlock.h" #include "Ioss_ElementTopology.h" #include "Ioss_EntityType.h" #include "Ioss_Field.h" +#include "Ioss_FileInfo.h" #include "Ioss_GroupingEntity.h" #include "Ioss_IOFactory.h" #include "Ioss_NodeBlock.h" @@ -47,6 +47,7 @@ #include "Ioss_Region.h" #include "Ioss_SideBlock.h" #include "Ioss_State.h" +#include "Ioss_Utils.h" #include "Ioss_VariableType.h" #if defined(__IOSS_WINDOWS__) @@ -606,7 +607,12 @@ namespace { // Are suffices upper or lowercase... std::vector tmp; field_tokenize(names[which_names[0]], suffix_separator, tmp); - Ioss::Suffix suffix{tmp[tmp.size() - 1]}; + + // If a composite variable, then need to check the interior suffix, not the last (which + // will be 1,2,...) + bool is_composite = dynamic_cast( + field.transformed_storage()) != nullptr; + Ioss::Suffix suffix{tmp[tmp.size() - (is_composite ? 2 : 1)]}; field.set_suffices_uppercase(suffix.is_uppercase()); field.set_index(index); for (const auto &which_name : which_names) { diff --git a/packages/seacas/libraries/ioss/src/Ioss_Utils.h b/packages/seacas/libraries/ioss/src/Ioss_Utils.h index c714127f91bc..e0479488ecef 100644 --- a/packages/seacas/libraries/ioss/src/Ioss_Utils.h +++ b/packages/seacas/libraries/ioss/src/Ioss_Utils.h @@ -58,9 +58,7 @@ template IOSS_NODISCARD constexpr T *Data(std::vector &vec) if (vec.empty()) { return nullptr; } - else { - return vec.data(); - } + return vec.data(); } template IOSS_NODISCARD constexpr const T *Data(const std::vector &vec) @@ -68,9 +66,7 @@ template IOSS_NODISCARD constexpr const T *Data(const std::vector IOSS_NODISCARD constexpr T *Data(std::array &arr) @@ -88,18 +84,17 @@ namespace Ioss { */ class IOSS_EXPORT Utils { - public: - /** - * \defgroup IossStreams Streams used for IOSS output - *@{ - */ static std::ostream *m_outputStream; ///< general informational output (very rare). Default std::cerr static std::ostream *m_debugStream; ///< debug output when requested. Default std::cerr static std::ostream *m_warningStream; ///< IOSS warning output. Default std::cerr static std::string m_preWarningText; ///< is a string that prepends all warning message output. ///< Default is "\nIOSS WARNING: " - + public: + /** + * \defgroup IossStreams Streams used for IOSS output + *@{ + */ /** \brief set the stream for all streams (output, debug, and warning) to the specified * `out_stream` */ @@ -117,6 +112,8 @@ namespace Ioss { */ IOSS_NODISCARD static std::ostream &get_output_stream(); + IOSS_NODISCARD static std::string &get_warning_text() { return m_preWarningText; } + /** \brief set the output stream to the specified `output_stream` */ static void set_output_stream(std::ostream &output_stream); @@ -188,7 +185,8 @@ namespace Ioss { index.back() = sum; } - template IOSS_NODISCARD static T find_index_location(T node, const std::vector &index) + template + IOSS_NODISCARD static T find_index_location(T node, const std::vector &index) { // 0-based node numbering // index[p] = first node (0-based) on processor p @@ -312,7 +310,7 @@ namespace Ioss { IOSS_NODISCARD static int log_power_2(uint64_t value); IOSS_NODISCARD static char **get_name_array(size_t count, int size); - static void delete_name_array(char **names, int count); + static void delete_name_array(char **names, int count); /** \brief Get formatted time and date strings. * @@ -327,10 +325,11 @@ namespace Ioss { static void time_and_date(char *time_string, char *date_string, size_t length); IOSS_NODISCARD static std::string decode_filename(const std::string &filename, int processor, - int num_processors); + int num_processors); IOSS_NODISCARD static int get_number(const std::string &suffix); IOSS_NODISCARD static int extract_id(const std::string &name_id); - IOSS_NODISCARD static std::string encode_entity_name(const std::string &entity_type, int64_t id); + IOSS_NODISCARD static std::string encode_entity_name(const std::string &entity_type, + int64_t id); /** Return the trailing digits (if any) from `name` * `hex20` would return the string `20` @@ -347,8 +346,8 @@ namespace Ioss { * string `1..3, 5..8` */ IOSS_NODISCARD static std::string format_id_list(const std::vector &ids, - const std::string &rng_sep = " to ", - const std::string &seq_sep = ", "); + const std::string &rng_sep = " to ", + const std::string &seq_sep = ", "); /** \brief Convert a string to lower case, and convert spaces to `_`. * @@ -403,7 +402,8 @@ namespace Ioss { * \param[in] spatial The spatial dimension of the element. * \returns The Ioss-formatted element name. */ - IOSS_NODISCARD static std::string fixup_type(const std::string &base, int nodes_per_element, int spatial); + IOSS_NODISCARD static std::string fixup_type(const std::string &base, int nodes_per_element, + int spatial); /** \brief Uppercase the first letter of the string * @@ -472,8 +472,9 @@ namespace Ioss { * \param[in] working_directory the path to which the relative_filename path is appended. * \returns The full path (working_directory + relative_filename) */ - IOSS_NODISCARD static std::string local_filename(const std::string &relative_filename, const std::string &type, - const std::string &working_directory); + IOSS_NODISCARD static std::string local_filename(const std::string &relative_filename, + const std::string &type, + const std::string &working_directory); static void get_fields(int64_t entity_count, char **names, int num_names, Ioss::Field::RoleType fld_role, const DatabaseIO *db, int *local_truth, @@ -521,7 +522,10 @@ namespace Ioss { static void input_file(const std::string &file_name, std::vector *lines, size_t max_line_length = 0); - template IOSS_NODISCARD static std::string to_string(const T &t) { return std::to_string(t); } + template IOSS_NODISCARD static std::string to_string(const T &t) + { + return std::to_string(t); + } //! \brief Tries to shorten long variable names to an acceptable //! length, and converts to lowercase and spaces to `_` @@ -541,8 +545,9 @@ namespace Ioss { //! characters and append a 2 character hash+separator. //! //! It also converts name to lowercase and converts spaces to `_` - IOSS_NODISCARD static std::string variable_name_kluge(const std::string &name, size_t component_count, - size_t copies, size_t max_var_len); + IOSS_NODISCARD static std::string variable_name_kluge(const std::string &name, + size_t component_count, size_t copies, + size_t max_var_len); IOSS_NODISCARD static std::string shape_to_string(const Ioss::ElementShape &shape); @@ -600,16 +605,16 @@ namespace Ioss { } }; - inline std::ostream &OUTPUT() { return *Utils::m_outputStream; } + inline std::ostream &OUTPUT() { return Utils::get_output_stream(); } - inline std::ostream &DebugOut() { return *Utils::m_debugStream; } + inline std::ostream &DebugOut() { return Utils::get_debug_stream(); } inline std::ostream &WarnOut(bool output_prewarning = true) { if (output_prewarning) { - *Utils::m_warningStream << Utils::m_preWarningText; + Utils::get_warning_stream() << Utils::get_warning_text(); } - return *Utils::m_warningStream; + return Utils::get_warning_stream(); } } // namespace Ioss diff --git a/packages/seacas/libraries/ioss/src/Ioss_VariableType.h b/packages/seacas/libraries/ioss/src/Ioss_VariableType.h index e88430dae44d..4d7efaf43eaa 100644 --- a/packages/seacas/libraries/ioss/src/Ioss_VariableType.h +++ b/packages/seacas/libraries/ioss/src/Ioss_VariableType.h @@ -26,6 +26,8 @@ namespace Ioss { class IOSS_EXPORT Registry { + friend class VariableType; + public: void insert(const Ioss::VTM_ValuePair &value, bool delete_me); IOSS_NODISCARD VariableTypeMap::iterator begin() { return m_registry.begin(); } @@ -36,11 +38,11 @@ namespace Ioss { } ~Registry(); - std::map customFieldTypes; private: - Ioss::VariableTypeMap m_registry; - std::vector m_deleteThese; + std::map customFieldTypes; + Ioss::VariableTypeMap m_registry; + std::vector m_deleteThese; }; struct IOSS_EXPORT Suffix diff --git a/packages/seacas/libraries/ioss/src/adios/Ioad_DatabaseIO.C b/packages/seacas/libraries/ioss/src/adios/Ioad_DatabaseIO.C index 58c191ae2f14..a478681b4d11 100644 --- a/packages/seacas/libraries/ioss/src/adios/Ioad_DatabaseIO.C +++ b/packages/seacas/libraries/ioss/src/adios/Ioad_DatabaseIO.C @@ -410,7 +410,7 @@ namespace Ioad { template void DatabaseIO::define_entity_internal(const T &entity_blocks, Ioss::Field::RoleType *role) { - using cv_removed_value_type = typename std::remove_pointer::type; + using cv_removed_value_type = typename std::remove_pointer_t; for (auto &entity_block : entity_blocks) { std::string entity_type = entity_block->type_string(); std::string entity_name = entity_block->name(); diff --git a/packages/seacas/libraries/ioss/src/adios/Ioad_DatabaseIO.h b/packages/seacas/libraries/ioss/src/adios/Ioad_DatabaseIO.h index bff19e728a27..632f5332d2b7 100644 --- a/packages/seacas/libraries/ioss/src/adios/Ioad_DatabaseIO.h +++ b/packages/seacas/libraries/ioss/src/adios/Ioad_DatabaseIO.h @@ -144,8 +144,8 @@ namespace Ioad { template T get_attribute(const std::string &attribute_name); template void put_data(void *data, const std::string &encoded_name) const; - template ::value, T>::type> + template , T>> void put_var_type(const Ioss::Field &field, const std::string &encoded_name, bool transformed_field) const; template @@ -200,11 +200,10 @@ namespace Ioad { const std::string &var_name) const; template - using IsIossEntityBlock = - typename std::enable_if::value>::type; + using IsIossEntityBlock = typename std::enable_if_t>; template using IsNotIossEntityBlock = - typename std::enable_if::value>::type; + typename std::enable_if_t>; template > void define_entity_meta_variables(const std::string &encoded_name); diff --git a/packages/seacas/libraries/ioss/src/adios/Ioad_Helper.h b/packages/seacas/libraries/ioss/src/adios/Ioad_Helper.h index c18be10120ed..f689aab68122 100644 --- a/packages/seacas/libraries/ioss/src/adios/Ioad_Helper.h +++ b/packages/seacas/libraries/ioss/src/adios/Ioad_Helper.h @@ -37,16 +37,16 @@ namespace Ioad { // parameters. template auto NewEntity(Ioss::DatabaseIO *io_database, const std::string &my_name, - const std::string & /*entity_type*/, size_t entity_count) - -> IossHas3ParametersConstructor * + const std::string & /*entity_type*/, + size_t entity_count) -> IossHas3ParametersConstructor * { return new T(io_database, my_name, entity_count); } template auto NewEntity(Ioss::DatabaseIO *io_database, const std::string &my_name, - const std::string &entity_type, size_t entity_count) - -> IossHas4ParametersConstructor * + const std::string &entity_type, + size_t entity_count) -> IossHas4ParametersConstructor * { return new T(io_database, my_name, entity_type, entity_count); } diff --git a/packages/seacas/libraries/ioss/src/catalyst/Iocatalyst_CatalystManager.C b/packages/seacas/libraries/ioss/src/catalyst/Iocatalyst_CatalystManager.C index 6615e0484dff..18eb533f41db 100644 --- a/packages/seacas/libraries/ioss/src/catalyst/Iocatalyst_CatalystManager.C +++ b/packages/seacas/libraries/ioss/src/catalyst/Iocatalyst_CatalystManager.C @@ -262,7 +262,7 @@ namespace Iocatalyst { errmsg << "Catalyst pipeline is not a multi-input pipeline"; IOSS_ERROR(errmsg); } - auto name = p.catalystMultiInputPipelineName; + const auto name = p.catalystMultiInputPipelineName; for (auto cp : catPipes) { if (cp.second.enableCatalystMultiInputPipeline && cp.second.catalystMultiInputPipelineName == name) { @@ -280,7 +280,7 @@ namespace Iocatalyst { errmsg << "Catalyst pipeline is not a multi-input pipeline"; IOSS_ERROR(errmsg); } - auto name = p.catalystMultiInputPipelineName; + const auto name = p.catalystMultiInputPipelineName; for (auto &cp : catPipes) { if (cp.second.enableCatalystMultiInputPipeline && cp.second.catalystMultiInputPipelineName == name) { @@ -295,8 +295,8 @@ namespace Iocatalyst { void CatalystManager::broadCastString(IOSS_MAYBE_UNUSED std::string &s, IOSS_MAYBE_UNUSED const Ioss::ParallelUtils &putils) { - IOSS_PAR_UNUSED(s); - IOSS_PAR_UNUSED(putils); + IOSS_MAYBE_UNUSED(s); + IOSS_MAYBE_UNUSED(putils); #ifdef SEACAS_HAVE_MPI int size = s.size(); putils.broadcast(size); @@ -310,8 +310,8 @@ namespace Iocatalyst { void CatalystManager::broadCastStatusCode(IOSS_MAYBE_UNUSED bool &statusCode, IOSS_MAYBE_UNUSED const Ioss::ParallelUtils &putils) { - IOSS_PAR_UNUSED(statusCode); - IOSS_PAR_UNUSED(putils); + IOSS_MAYBE_UNUSED(statusCode); + IOSS_MAYBE_UNUSED(putils); #ifdef SEACAS_HAVE_MPI int code = statusCode; diff --git a/packages/seacas/libraries/ioss/src/cgns/Iocgns_StructuredZoneData.C b/packages/seacas/libraries/ioss/src/cgns/Iocgns_StructuredZoneData.C index 98def353b216..da349a3b61f6 100644 --- a/packages/seacas/libraries/ioss/src/cgns/Iocgns_StructuredZoneData.C +++ b/packages/seacas/libraries/ioss/src/cgns/Iocgns_StructuredZoneData.C @@ -1,4 +1,4 @@ -// Copyright(C) 1999-2023 National Technology & Engineering Solutions +// Copyright(C) 1999-2024 National Technology & Engineering Solutions // of Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with // NTESS, the U.S. Government retains certain rights in this software. // @@ -8,9 +8,9 @@ #include "Ioss_SmartAssert.h" #include "cgns/Iocgns_StructuredZoneData.h" #include +#include #include #include -#include #if !defined __NVCC__ #include #endif diff --git a/packages/seacas/libraries/ioss/src/cgns/Iocgns_Utils.h b/packages/seacas/libraries/ioss/src/cgns/Iocgns_Utils.h index 40d4e7783735..15c6f727e7ec 100644 --- a/packages/seacas/libraries/ioss/src/cgns/Iocgns_Utils.h +++ b/packages/seacas/libraries/ioss/src/cgns/Iocgns_Utils.h @@ -77,7 +77,10 @@ namespace Ioss { IOSS_NODISCARD inline auto format_as(CGNS_ENUMT(BCType_t) t) { return BCTypeName[t]; } IOSS_NODISCARD inline auto format_as(CGNS_ENUMT(DataType_t) t) { return DataTypeName[t]; } IOSS_NODISCARD inline auto format_as(CGNS_ENUMT(ElementType_t) t) { return ElementTypeName[t]; } -IOSS_NODISCARD inline auto format_as(CGNS_ENUMT(GridConnectivityType_t) t) { return GridConnectivityTypeName[t]; } +IOSS_NODISCARD inline auto format_as(CGNS_ENUMT(GridConnectivityType_t) t) +{ + return GridConnectivityTypeName[t]; +} IOSS_NODISCARD inline auto format_as(CGNS_ENUMT(GridLocation_t) t) { return GridLocationName[t]; } IOSS_NODISCARD inline auto format_as(CGNS_ENUMT(PointSetType_t) t) { return PointSetTypeName[t]; } IOSS_NODISCARD inline auto format_as(CGNS_ENUMT(ZoneType_t) t) { return ZoneTypeName[t]; } @@ -100,7 +103,8 @@ namespace Iocgns { class IOCGNS_EXPORT Utils { public: - IOSS_NODISCARD static std::pair decompose_name(const std::string &name, bool is_parallel); + IOSS_NODISCARD static std::pair decompose_name(const std::string &name, + bool is_parallel); IOSS_NODISCARD static std::string decompose_sb_name(const std::string &name); IOSS_NODISCARD static size_t index(const Ioss::Field &field); @@ -108,11 +112,11 @@ namespace Iocgns { static void cgns_error(int cgnsid, const char *file, const char *function, int lineno, int processor); - static void update_db_zone_property(int cgns_file_ptr, const Ioss::Region *region, - int myProcessor, bool is_parallel, bool is_parallel_io); - IOSS_NODISCARD static int get_db_zone(const Ioss::GroupingEntity *entity); - static void set_field_index(const Ioss::Field &field, size_t index, - CGNS_ENUMT(GridLocation_t) location); + static void update_db_zone_property(int cgns_file_ptr, const Ioss::Region *region, + int myProcessor, bool is_parallel, bool is_parallel_io); + IOSS_NODISCARD static int get_db_zone(const Ioss::GroupingEntity *entity); + static void set_field_index(const Ioss::Field &field, size_t index, + CGNS_ENUMT(GridLocation_t) location); IOSS_NODISCARD static bool is_cell_field(const Ioss::Field &field); template @@ -274,8 +278,8 @@ namespace Iocgns { } } - IOSS_NODISCARD static std::vector parse_zonebc_sideblocks(int cgns_file_ptr, int base, int zone, - int myProcessor); + IOSS_NODISCARD static std::vector parse_zonebc_sideblocks(int cgns_file_ptr, int base, + int zone, int myProcessor); static void generate_boundary_faces(Ioss::Region *region, @@ -286,8 +290,8 @@ namespace Iocgns { int state, const int *vertex_solution_index, const int *cell_center_solution_index, bool is_parallel_io); - IOSS_NODISCARD static int find_solution_index(int cgns_file_ptr, int base, int zone, int step, - CGNS_ENUMT(GridLocation_t) location); + IOSS_NODISCARD static int find_solution_index(int cgns_file_ptr, int base, int zone, int step, + CGNS_ENUMT(GridLocation_t) location); IOSS_NODISCARD static Ioss::MeshType check_mesh_type(int cgns_file_ptr); static void output_assembly(int file_ptr, const Ioss::Assembly *assembly, bool is_parallel_io, @@ -304,8 +308,8 @@ namespace Iocgns { IOSS_NODISCARD static CGNS_ENUMT(ElementType_t) map_topology_to_cgns(const std::string &name); IOSS_NODISCARD static std::string map_cgns_to_topology_type(CGNS_ENUMT(ElementType_t) type); - static void add_sidesets(int cgns_file_ptr, Ioss::DatabaseIO *db); - static void add_assemblies(int cgns_file_ptr, Ioss::DatabaseIO *db); + static void add_sidesets(int cgns_file_ptr, Ioss::DatabaseIO *db); + static void add_assemblies(int cgns_file_ptr, Ioss::DatabaseIO *db); static void add_to_assembly(int cgns_file_ptr, Ioss::Region *region, Ioss::EntityBlock *block, int base, int zone); diff --git a/packages/seacas/libraries/ioss/src/elements/Ioss_Beam2.h b/packages/seacas/libraries/ioss/src/elements/Ioss_Beam2.h index c73d9f9a187d..0ccc45845e80 100644 --- a/packages/seacas/libraries/ioss/src/elements/Ioss_Beam2.h +++ b/packages/seacas/libraries/ioss/src/elements/Ioss_Beam2.h @@ -11,8 +11,6 @@ #include "Ioss_CodeTypes.h" // for IntVector #include "Ioss_ElementTopology.h" // for ElementTopology -// STL Includes - namespace Ioss { class IOSS_EXPORT Beam2 : public Ioss::ElementTopology { @@ -21,7 +19,6 @@ namespace Ioss { static const char *name; static void factory(); - Beam2(const Beam2 &) = delete; IOSS_NODISCARD ElementShape shape() const override { return ElementShape::LINE; } IOSS_NODISCARD int spatial_dimension() const override; diff --git a/packages/seacas/libraries/ioss/src/elements/Ioss_Beam3.h b/packages/seacas/libraries/ioss/src/elements/Ioss_Beam3.h index 6127ff9aaa1d..7d65830eed69 100644 --- a/packages/seacas/libraries/ioss/src/elements/Ioss_Beam3.h +++ b/packages/seacas/libraries/ioss/src/elements/Ioss_Beam3.h @@ -11,8 +11,6 @@ #include "Ioss_CodeTypes.h" // for IntVector #include "Ioss_ElementTopology.h" // for ElementTopology -// STL Includes - namespace Ioss { class IOSS_EXPORT Beam3 : public Ioss::ElementTopology { @@ -21,7 +19,6 @@ namespace Ioss { static const char *name; static void factory(); - Beam3(const Beam3 &) = delete; IOSS_NODISCARD ElementShape shape() const override { return ElementShape::LINE; } IOSS_NODISCARD int spatial_dimension() const override; diff --git a/packages/seacas/libraries/ioss/src/elements/Ioss_Beam4.h b/packages/seacas/libraries/ioss/src/elements/Ioss_Beam4.h index 01d2a934577b..aaa35fae008a 100644 --- a/packages/seacas/libraries/ioss/src/elements/Ioss_Beam4.h +++ b/packages/seacas/libraries/ioss/src/elements/Ioss_Beam4.h @@ -11,8 +11,6 @@ #include "Ioss_CodeTypes.h" // for IntVector #include "Ioss_ElementTopology.h" // for ElementTopology -// STL Includes - namespace Ioss { class IOSS_EXPORT Beam4 : public Ioss::ElementTopology { @@ -21,7 +19,6 @@ namespace Ioss { static const char *name; static void factory(); - Beam4(const Beam4 &) = delete; IOSS_NODISCARD ElementShape shape() const override { return ElementShape::LINE; } IOSS_NODISCARD int spatial_dimension() const override; diff --git a/packages/seacas/libraries/ioss/src/elements/Ioss_Edge2.h b/packages/seacas/libraries/ioss/src/elements/Ioss_Edge2.h index f3d18aea7b88..23f18d12b4e3 100644 --- a/packages/seacas/libraries/ioss/src/elements/Ioss_Edge2.h +++ b/packages/seacas/libraries/ioss/src/elements/Ioss_Edge2.h @@ -11,8 +11,6 @@ #include "Ioss_CodeTypes.h" // for IntVector #include "Ioss_ElementTopology.h" // for ElementTopology -// STL Includes - namespace Ioss { class IOSS_EXPORT Edge2 : public Ioss::ElementTopology { @@ -21,7 +19,6 @@ namespace Ioss { static const char *name; static void factory(); - Edge2(const Edge2 &) = delete; IOSS_NODISCARD ElementShape shape() const override { return ElementShape::LINE; } IOSS_NODISCARD int spatial_dimension() const override; diff --git a/packages/seacas/libraries/ioss/src/elements/Ioss_Edge2D2.h b/packages/seacas/libraries/ioss/src/elements/Ioss_Edge2D2.h index ddfee9384b4c..f01476551cc5 100644 --- a/packages/seacas/libraries/ioss/src/elements/Ioss_Edge2D2.h +++ b/packages/seacas/libraries/ioss/src/elements/Ioss_Edge2D2.h @@ -11,8 +11,6 @@ #include "Ioss_CodeTypes.h" // for IntVector #include "Ioss_ElementTopology.h" // for ElementTopology -// STL Includes - namespace Ioss { class IOSS_EXPORT Edge2D2 : public Ioss::ElementTopology { @@ -21,7 +19,6 @@ namespace Ioss { static const char *name; static void factory(); - Edge2D2(const Edge2D2 &) = delete; IOSS_NODISCARD ElementShape shape() const override { return ElementShape::LINE; } IOSS_NODISCARD int spatial_dimension() const override; diff --git a/packages/seacas/libraries/ioss/src/elements/Ioss_Edge2D3.h b/packages/seacas/libraries/ioss/src/elements/Ioss_Edge2D3.h index 54ecfa0433d9..8fc4ae6ec5fd 100644 --- a/packages/seacas/libraries/ioss/src/elements/Ioss_Edge2D3.h +++ b/packages/seacas/libraries/ioss/src/elements/Ioss_Edge2D3.h @@ -11,8 +11,6 @@ #include "Ioss_CodeTypes.h" // for IntVector #include "Ioss_ElementTopology.h" // for ElementTopology -// STL Includes - namespace Ioss { class IOSS_EXPORT Edge2D3 : public Ioss::ElementTopology { @@ -21,7 +19,6 @@ namespace Ioss { static const char *name; static void factory(); - Edge2D3(const Edge2D3 &) = delete; IOSS_NODISCARD ElementShape shape() const override { return ElementShape::LINE; } IOSS_NODISCARD int spatial_dimension() const override; diff --git a/packages/seacas/libraries/ioss/src/elements/Ioss_Edge3.h b/packages/seacas/libraries/ioss/src/elements/Ioss_Edge3.h index bc33c9914567..7bf986463197 100644 --- a/packages/seacas/libraries/ioss/src/elements/Ioss_Edge3.h +++ b/packages/seacas/libraries/ioss/src/elements/Ioss_Edge3.h @@ -11,8 +11,6 @@ #include "Ioss_CodeTypes.h" // for IntVector #include "Ioss_ElementTopology.h" // for ElementTopology -// STL Includes - namespace Ioss { class IOSS_EXPORT Edge3 : public Ioss::ElementTopology { @@ -21,7 +19,6 @@ namespace Ioss { static const char *name; static void factory(); - Edge3(const Edge3 &) = delete; IOSS_NODISCARD ElementShape shape() const override { return ElementShape::LINE; } IOSS_NODISCARD int spatial_dimension() const override; diff --git a/packages/seacas/libraries/ioss/src/elements/Ioss_Edge4.h b/packages/seacas/libraries/ioss/src/elements/Ioss_Edge4.h index 8caa766a89c6..013d4432c861 100644 --- a/packages/seacas/libraries/ioss/src/elements/Ioss_Edge4.h +++ b/packages/seacas/libraries/ioss/src/elements/Ioss_Edge4.h @@ -11,8 +11,6 @@ #include "Ioss_CodeTypes.h" // for IntVector #include "Ioss_ElementTopology.h" // for ElementTopology -// STL Includes - namespace Ioss { class IOSS_EXPORT Edge4 : public Ioss::ElementTopology { @@ -21,7 +19,6 @@ namespace Ioss { static const char *name; static void factory(); - Edge4(const Edge4 &) = delete; IOSS_NODISCARD ElementShape shape() const override { return ElementShape::LINE; } IOSS_NODISCARD int spatial_dimension() const override; diff --git a/packages/seacas/libraries/ioss/src/elements/Ioss_Hex16.h b/packages/seacas/libraries/ioss/src/elements/Ioss_Hex16.h index 3ae2a9d9a40d..e606cc089491 100644 --- a/packages/seacas/libraries/ioss/src/elements/Ioss_Hex16.h +++ b/packages/seacas/libraries/ioss/src/elements/Ioss_Hex16.h @@ -11,8 +11,6 @@ #include "Ioss_CodeTypes.h" // for IntVector #include "Ioss_ElementTopology.h" // for ElementTopology -// STL Includes - namespace Ioss { class IOSS_EXPORT Hex16 : public Ioss::ElementTopology { @@ -21,7 +19,6 @@ namespace Ioss { static const char *name; static void factory(); - Hex16(const Hex16 &) = delete; IOSS_NODISCARD ElementShape shape() const override { return ElementShape::HEX; } IOSS_NODISCARD int spatial_dimension() const override; diff --git a/packages/seacas/libraries/ioss/src/elements/Ioss_Hex20.h b/packages/seacas/libraries/ioss/src/elements/Ioss_Hex20.h index 0674a1366858..fc1299f84745 100644 --- a/packages/seacas/libraries/ioss/src/elements/Ioss_Hex20.h +++ b/packages/seacas/libraries/ioss/src/elements/Ioss_Hex20.h @@ -11,8 +11,6 @@ #include "Ioss_CodeTypes.h" // for IntVector #include "Ioss_ElementTopology.h" // for ElementTopology -// STL Includes - namespace Ioss { class IOSS_EXPORT Hex20 : public Ioss::ElementTopology { @@ -21,7 +19,6 @@ namespace Ioss { static const char *name; static void factory(); - Hex20(const Hex20 &) = delete; IOSS_NODISCARD ElementShape shape() const override { return ElementShape::HEX; } IOSS_NODISCARD int spatial_dimension() const override; diff --git a/packages/seacas/libraries/ioss/src/elements/Ioss_Hex27.h b/packages/seacas/libraries/ioss/src/elements/Ioss_Hex27.h index 6d62cf375456..fd47e699b372 100644 --- a/packages/seacas/libraries/ioss/src/elements/Ioss_Hex27.h +++ b/packages/seacas/libraries/ioss/src/elements/Ioss_Hex27.h @@ -11,8 +11,6 @@ #include "Ioss_CodeTypes.h" // for IntVector #include "Ioss_ElementTopology.h" // for ElementTopology -// STL Includes - namespace Ioss { class IOSS_EXPORT Hex27 : public Ioss::ElementTopology { @@ -21,7 +19,6 @@ namespace Ioss { static const char *name; static void factory(); - Hex27(const Hex27 &) = delete; IOSS_NODISCARD ElementShape shape() const override { return ElementShape::HEX; } IOSS_NODISCARD int spatial_dimension() const override; diff --git a/packages/seacas/libraries/ioss/src/elements/Ioss_Hex32.h b/packages/seacas/libraries/ioss/src/elements/Ioss_Hex32.h index 6504038288a3..7871d1cfdf53 100644 --- a/packages/seacas/libraries/ioss/src/elements/Ioss_Hex32.h +++ b/packages/seacas/libraries/ioss/src/elements/Ioss_Hex32.h @@ -11,8 +11,6 @@ #include "Ioss_CodeTypes.h" // for IntVector #include "Ioss_ElementTopology.h" // for ElementTopology -// STL Includes - namespace Ioss { class IOSS_EXPORT Hex32 : public Ioss::ElementTopology { @@ -21,7 +19,6 @@ namespace Ioss { static const char *name; static void factory(); - Hex32(const Hex32 &) = delete; IOSS_NODISCARD ElementShape shape() const override { return ElementShape::HEX; } IOSS_NODISCARD int spatial_dimension() const override; diff --git a/packages/seacas/libraries/ioss/src/elements/Ioss_Hex64.h b/packages/seacas/libraries/ioss/src/elements/Ioss_Hex64.h index e98e0de3f4c9..69e87e0c6446 100644 --- a/packages/seacas/libraries/ioss/src/elements/Ioss_Hex64.h +++ b/packages/seacas/libraries/ioss/src/elements/Ioss_Hex64.h @@ -11,8 +11,6 @@ #include "Ioss_CodeTypes.h" // for IntVector #include "Ioss_ElementTopology.h" // for ElementTopology -// STL Includes - namespace Ioss { class IOSS_EXPORT Hex64 : public Ioss::ElementTopology { @@ -21,7 +19,6 @@ namespace Ioss { static const char *name; static void factory(); - Hex64(const Hex64 &) = delete; IOSS_NODISCARD ElementShape shape() const override { return ElementShape::HEX; } IOSS_NODISCARD int spatial_dimension() const override; diff --git a/packages/seacas/libraries/ioss/src/elements/Ioss_Hex8.h b/packages/seacas/libraries/ioss/src/elements/Ioss_Hex8.h index ae1dd555790e..8eb953d318f1 100644 --- a/packages/seacas/libraries/ioss/src/elements/Ioss_Hex8.h +++ b/packages/seacas/libraries/ioss/src/elements/Ioss_Hex8.h @@ -11,8 +11,6 @@ #include "Ioss_CodeTypes.h" // for IntVector #include "Ioss_ElementTopology.h" // for ElementTopology -// STL Includes - namespace Ioss { class IOSS_EXPORT Hex8 : public Ioss::ElementTopology { @@ -21,7 +19,6 @@ namespace Ioss { static const char *name; static void factory(); - Hex8(const Hex8 &) = delete; IOSS_NODISCARD ElementShape shape() const override { return ElementShape::HEX; } IOSS_NODISCARD int spatial_dimension() const override; diff --git a/packages/seacas/libraries/ioss/src/elements/Ioss_Hex9.h b/packages/seacas/libraries/ioss/src/elements/Ioss_Hex9.h index f1bb7b0ddb86..7396877620aa 100644 --- a/packages/seacas/libraries/ioss/src/elements/Ioss_Hex9.h +++ b/packages/seacas/libraries/ioss/src/elements/Ioss_Hex9.h @@ -11,8 +11,6 @@ #include "Ioss_CodeTypes.h" // for IntVector #include "Ioss_ElementTopology.h" // for ElementTopology -// STL Includes - namespace Ioss { class IOSS_EXPORT Hex9 : public Ioss::ElementTopology { @@ -21,7 +19,6 @@ namespace Ioss { static const char *name; static void factory(); - Hex9(const Hex9 &) = delete; IOSS_NODISCARD ElementShape shape() const override { return ElementShape::HEX; } IOSS_NODISCARD int spatial_dimension() const override; diff --git a/packages/seacas/libraries/ioss/src/elements/Ioss_Node.h b/packages/seacas/libraries/ioss/src/elements/Ioss_Node.h index af20d1b03797..4cd9bfdb9939 100644 --- a/packages/seacas/libraries/ioss/src/elements/Ioss_Node.h +++ b/packages/seacas/libraries/ioss/src/elements/Ioss_Node.h @@ -11,8 +11,6 @@ #include "Ioss_CodeTypes.h" // for IntVector #include "Ioss_ElementTopology.h" // for ElementTopology -// STL Includes - namespace Ioss { class IOSS_EXPORT Node : public Ioss::ElementTopology { @@ -21,7 +19,6 @@ namespace Ioss { static const char *name; static void factory(); - Node(const Node &) = delete; IOSS_NODISCARD ElementShape shape() const override { return ElementShape::POINT; } IOSS_NODISCARD int spatial_dimension() const override; diff --git a/packages/seacas/libraries/ioss/src/elements/Ioss_Pyramid13.h b/packages/seacas/libraries/ioss/src/elements/Ioss_Pyramid13.h index b419998e1026..30a763ba898b 100644 --- a/packages/seacas/libraries/ioss/src/elements/Ioss_Pyramid13.h +++ b/packages/seacas/libraries/ioss/src/elements/Ioss_Pyramid13.h @@ -11,8 +11,6 @@ #include "Ioss_CodeTypes.h" // for IntVector #include "Ioss_ElementTopology.h" // for ElementTopology -// STL Includes - namespace Ioss { class IOSS_EXPORT Pyramid13 : public Ioss::ElementTopology { @@ -21,7 +19,6 @@ namespace Ioss { static const char *name; static void factory(); - Pyramid13(const Pyramid13 &) = delete; IOSS_NODISCARD ElementShape shape() const override { return ElementShape::PYRAMID; } IOSS_NODISCARD int spatial_dimension() const override; diff --git a/packages/seacas/libraries/ioss/src/elements/Ioss_Pyramid14.h b/packages/seacas/libraries/ioss/src/elements/Ioss_Pyramid14.h index ebf0ba204f73..46525ac233ff 100644 --- a/packages/seacas/libraries/ioss/src/elements/Ioss_Pyramid14.h +++ b/packages/seacas/libraries/ioss/src/elements/Ioss_Pyramid14.h @@ -11,8 +11,6 @@ #include "Ioss_CodeTypes.h" // for IntVector #include "Ioss_ElementTopology.h" // for ElementTopology -// STL Includes - namespace Ioss { class IOSS_EXPORT Pyramid14 : public Ioss::ElementTopology { @@ -21,7 +19,6 @@ namespace Ioss { static const char *name; static void factory(); - Pyramid14(const Pyramid14 &) = delete; IOSS_NODISCARD ElementShape shape() const override { return ElementShape::PYRAMID; } IOSS_NODISCARD int spatial_dimension() const override; diff --git a/packages/seacas/libraries/ioss/src/elements/Ioss_Pyramid18.h b/packages/seacas/libraries/ioss/src/elements/Ioss_Pyramid18.h index d2f8ae6441c2..b0b1e005ba04 100644 --- a/packages/seacas/libraries/ioss/src/elements/Ioss_Pyramid18.h +++ b/packages/seacas/libraries/ioss/src/elements/Ioss_Pyramid18.h @@ -11,8 +11,6 @@ #include "Ioss_CodeTypes.h" // for IntVector #include "Ioss_ElementTopology.h" // for ElementTopology -// STL Includes - namespace Ioss { class IOSS_EXPORT Pyramid18 : public Ioss::ElementTopology { @@ -21,7 +19,6 @@ namespace Ioss { static const char *name; static void factory(); - Pyramid18(const Pyramid18 &) = delete; IOSS_NODISCARD ElementShape shape() const override { return ElementShape::PYRAMID; } IOSS_NODISCARD int spatial_dimension() const override; diff --git a/packages/seacas/libraries/ioss/src/elements/Ioss_Pyramid19.h b/packages/seacas/libraries/ioss/src/elements/Ioss_Pyramid19.h index c511ff8f0190..e04e3f096cd2 100644 --- a/packages/seacas/libraries/ioss/src/elements/Ioss_Pyramid19.h +++ b/packages/seacas/libraries/ioss/src/elements/Ioss_Pyramid19.h @@ -11,8 +11,6 @@ #include "Ioss_CodeTypes.h" // for IntVector #include "Ioss_ElementTopology.h" // for ElementTopology -// STL Includes - namespace Ioss { class IOSS_EXPORT Pyramid19 : public Ioss::ElementTopology { @@ -21,7 +19,6 @@ namespace Ioss { static const char *name; static void factory(); - Pyramid19(const Pyramid19 &) = delete; IOSS_NODISCARD ElementShape shape() const override { return ElementShape::PYRAMID; } IOSS_NODISCARD int spatial_dimension() const override; diff --git a/packages/seacas/libraries/ioss/src/elements/Ioss_Pyramid5.h b/packages/seacas/libraries/ioss/src/elements/Ioss_Pyramid5.h index 189a625a0609..4c4f658afb34 100644 --- a/packages/seacas/libraries/ioss/src/elements/Ioss_Pyramid5.h +++ b/packages/seacas/libraries/ioss/src/elements/Ioss_Pyramid5.h @@ -12,8 +12,6 @@ #include "ioss_export.h" -// STL Includes - namespace Ioss { class IOSS_EXPORT Pyramid5 : public Ioss::ElementTopology { @@ -22,7 +20,6 @@ namespace Ioss { static const char *name; static void factory(); - Pyramid5(const Pyramid5 &) = delete; IOSS_NODISCARD ElementShape shape() const override { return ElementShape::PYRAMID; } IOSS_NODISCARD int spatial_dimension() const override; diff --git a/packages/seacas/libraries/ioss/src/elements/Ioss_Quad12.h b/packages/seacas/libraries/ioss/src/elements/Ioss_Quad12.h index 98e25f8f70e5..e10b72b0f60a 100644 --- a/packages/seacas/libraries/ioss/src/elements/Ioss_Quad12.h +++ b/packages/seacas/libraries/ioss/src/elements/Ioss_Quad12.h @@ -11,8 +11,6 @@ #include "Ioss_CodeTypes.h" // for IntVector #include "Ioss_ElementTopology.h" // for ElementTopology -// STL Includes - namespace Ioss { class IOSS_EXPORT Quad12 : public Ioss::ElementTopology { @@ -21,7 +19,6 @@ namespace Ioss { static const char *name; static void factory(); - Quad12(const Quad12 &) = delete; IOSS_NODISCARD ElementShape shape() const override { return ElementShape::QUAD; } IOSS_NODISCARD int spatial_dimension() const override; diff --git a/packages/seacas/libraries/ioss/src/elements/Ioss_Quad16.h b/packages/seacas/libraries/ioss/src/elements/Ioss_Quad16.h index e06462d5c921..2cc9f19fe415 100644 --- a/packages/seacas/libraries/ioss/src/elements/Ioss_Quad16.h +++ b/packages/seacas/libraries/ioss/src/elements/Ioss_Quad16.h @@ -11,8 +11,6 @@ #include "Ioss_CodeTypes.h" // for IntVector #include "Ioss_ElementTopology.h" // for ElementTopology -// STL Includes - namespace Ioss { class IOSS_EXPORT Quad16 : public Ioss::ElementTopology { @@ -21,7 +19,6 @@ namespace Ioss { static const char *name; static void factory(); - Quad16(const Quad16 &) = delete; IOSS_NODISCARD ElementShape shape() const override { return ElementShape::QUAD; } IOSS_NODISCARD int spatial_dimension() const override; diff --git a/packages/seacas/libraries/ioss/src/elements/Ioss_Quad4.h b/packages/seacas/libraries/ioss/src/elements/Ioss_Quad4.h index 67c4af13b020..5c25bee1d00c 100644 --- a/packages/seacas/libraries/ioss/src/elements/Ioss_Quad4.h +++ b/packages/seacas/libraries/ioss/src/elements/Ioss_Quad4.h @@ -11,8 +11,6 @@ #include "Ioss_CodeTypes.h" // for IntVector #include "Ioss_ElementTopology.h" // for ElementTopology -// STL Includes - namespace Ioss { class IOSS_EXPORT Quad4 : public Ioss::ElementTopology { @@ -21,7 +19,6 @@ namespace Ioss { static const char *name; static void factory(); - Quad4(const Quad4 &) = delete; IOSS_NODISCARD ElementShape shape() const override { return ElementShape::QUAD; } IOSS_NODISCARD int spatial_dimension() const override; diff --git a/packages/seacas/libraries/ioss/src/elements/Ioss_Quad6.h b/packages/seacas/libraries/ioss/src/elements/Ioss_Quad6.h index e4b1e35a8a3b..634ebf2b513a 100644 --- a/packages/seacas/libraries/ioss/src/elements/Ioss_Quad6.h +++ b/packages/seacas/libraries/ioss/src/elements/Ioss_Quad6.h @@ -11,8 +11,6 @@ #include "Ioss_CodeTypes.h" // for IntVector #include "Ioss_ElementTopology.h" // for ElementTopology -// STL Includes - namespace Ioss { class IOSS_EXPORT Quad6 : public Ioss::ElementTopology { @@ -21,7 +19,6 @@ namespace Ioss { static const char *name; static void factory(); - Quad6(const Quad6 &) = delete; IOSS_NODISCARD ElementShape shape() const override { return ElementShape::QUAD; } IOSS_NODISCARD int spatial_dimension() const override; diff --git a/packages/seacas/libraries/ioss/src/elements/Ioss_Quad8.h b/packages/seacas/libraries/ioss/src/elements/Ioss_Quad8.h index 5de29ff588d0..d2ab670b9149 100644 --- a/packages/seacas/libraries/ioss/src/elements/Ioss_Quad8.h +++ b/packages/seacas/libraries/ioss/src/elements/Ioss_Quad8.h @@ -11,8 +11,6 @@ #include "Ioss_CodeTypes.h" // for IntVector #include "Ioss_ElementTopology.h" // for ElementTopology -// STL Includes - namespace Ioss { class IOSS_EXPORT Quad8 : public Ioss::ElementTopology { @@ -21,7 +19,6 @@ namespace Ioss { static const char *name; static void factory(); - Quad8(const Quad8 &) = delete; IOSS_NODISCARD ElementShape shape() const override { return ElementShape::QUAD; } IOSS_NODISCARD int spatial_dimension() const override; diff --git a/packages/seacas/libraries/ioss/src/elements/Ioss_Quad9.h b/packages/seacas/libraries/ioss/src/elements/Ioss_Quad9.h index 4f51d8068e28..09f8e34afca0 100644 --- a/packages/seacas/libraries/ioss/src/elements/Ioss_Quad9.h +++ b/packages/seacas/libraries/ioss/src/elements/Ioss_Quad9.h @@ -11,8 +11,6 @@ #include "Ioss_CodeTypes.h" // for IntVector #include "Ioss_ElementTopology.h" // for ElementTopology -// STL Includes - namespace Ioss { class IOSS_EXPORT Quad9 : public Ioss::ElementTopology { @@ -21,7 +19,6 @@ namespace Ioss { static const char *name; static void factory(); - Quad9(const Quad9 &) = delete; IOSS_NODISCARD ElementShape shape() const override { return ElementShape::QUAD; } IOSS_NODISCARD int spatial_dimension() const override; diff --git a/packages/seacas/libraries/ioss/src/elements/Ioss_Shell4.h b/packages/seacas/libraries/ioss/src/elements/Ioss_Shell4.h index d02163b5143c..dd191b9dea85 100644 --- a/packages/seacas/libraries/ioss/src/elements/Ioss_Shell4.h +++ b/packages/seacas/libraries/ioss/src/elements/Ioss_Shell4.h @@ -11,8 +11,6 @@ #include "Ioss_CodeTypes.h" // for IntVector #include "Ioss_ElementTopology.h" // for ElementTopology -// STL Includes - namespace Ioss { class IOSS_EXPORT Shell4 : public Ioss::ElementTopology { @@ -21,7 +19,6 @@ namespace Ioss { static const char *name; static void factory(); - Shell4(const Shell4 &) = delete; IOSS_NODISCARD ElementShape shape() const override { return ElementShape::QUAD; } IOSS_NODISCARD int spatial_dimension() const override; diff --git a/packages/seacas/libraries/ioss/src/elements/Ioss_Shell8.h b/packages/seacas/libraries/ioss/src/elements/Ioss_Shell8.h index b194974a77ee..d1bb8380ddf4 100644 --- a/packages/seacas/libraries/ioss/src/elements/Ioss_Shell8.h +++ b/packages/seacas/libraries/ioss/src/elements/Ioss_Shell8.h @@ -11,8 +11,6 @@ #include "Ioss_CodeTypes.h" // for IntVector #include "Ioss_ElementTopology.h" // for ElementTopology -// STL Includes - namespace Ioss { class IOSS_EXPORT Shell8 : public Ioss::ElementTopology { @@ -21,7 +19,6 @@ namespace Ioss { static const char *name; static void factory(); - Shell8(const Shell8 &) = delete; IOSS_NODISCARD ElementShape shape() const override { return ElementShape::QUAD; } IOSS_NODISCARD int spatial_dimension() const override; diff --git a/packages/seacas/libraries/ioss/src/elements/Ioss_Shell9.h b/packages/seacas/libraries/ioss/src/elements/Ioss_Shell9.h index cd290e9ce7db..5810331e3e45 100644 --- a/packages/seacas/libraries/ioss/src/elements/Ioss_Shell9.h +++ b/packages/seacas/libraries/ioss/src/elements/Ioss_Shell9.h @@ -11,8 +11,6 @@ #include "Ioss_CodeTypes.h" // for IntVector #include "Ioss_ElementTopology.h" // for ElementTopology -// STL Includes - namespace Ioss { class IOSS_EXPORT Shell9 : public Ioss::ElementTopology { @@ -21,7 +19,6 @@ namespace Ioss { static const char *name; static void factory(); - Shell9(const Shell9 &) = delete; IOSS_NODISCARD ElementShape shape() const override { return ElementShape::QUAD; } IOSS_NODISCARD int spatial_dimension() const override; diff --git a/packages/seacas/libraries/ioss/src/elements/Ioss_ShellLine2D2.h b/packages/seacas/libraries/ioss/src/elements/Ioss_ShellLine2D2.h index d12bd531fc41..2b7da7744096 100644 --- a/packages/seacas/libraries/ioss/src/elements/Ioss_ShellLine2D2.h +++ b/packages/seacas/libraries/ioss/src/elements/Ioss_ShellLine2D2.h @@ -11,8 +11,6 @@ #include "Ioss_CodeTypes.h" // for IntVector #include "Ioss_ElementTopology.h" // for ElementTopology -// STL Includes - namespace Ioss { class IOSS_EXPORT ShellLine2D2 : public Ioss::ElementTopology { @@ -21,7 +19,6 @@ namespace Ioss { static const char *name; static void factory(); - ShellLine2D2(const ShellLine2D2 &) = delete; IOSS_NODISCARD ElementShape shape() const override { return ElementShape::LINE; } IOSS_NODISCARD int spatial_dimension() const override; diff --git a/packages/seacas/libraries/ioss/src/elements/Ioss_ShellLine2D3.h b/packages/seacas/libraries/ioss/src/elements/Ioss_ShellLine2D3.h index b2568d9eb76d..666c07b9a9d9 100644 --- a/packages/seacas/libraries/ioss/src/elements/Ioss_ShellLine2D3.h +++ b/packages/seacas/libraries/ioss/src/elements/Ioss_ShellLine2D3.h @@ -11,8 +11,6 @@ #include "Ioss_CodeTypes.h" // for IntVector #include "Ioss_ElementTopology.h" // for ElementTopology -// STL Includes - namespace Ioss { class IOSS_EXPORT ShellLine2D3 : public Ioss::ElementTopology { @@ -21,7 +19,6 @@ namespace Ioss { static const char *name; static void factory(); - ShellLine2D3(const ShellLine2D3 &) = delete; IOSS_NODISCARD ElementShape shape() const override { return ElementShape::LINE; } IOSS_NODISCARD int spatial_dimension() const override; diff --git a/packages/seacas/libraries/ioss/src/elements/Ioss_Sphere.C b/packages/seacas/libraries/ioss/src/elements/Ioss_Sphere.C index 91551431cd5f..2cdfc5a4cbab 100644 --- a/packages/seacas/libraries/ioss/src/elements/Ioss_Sphere.C +++ b/packages/seacas/libraries/ioss/src/elements/Ioss_Sphere.C @@ -1,4 +1,4 @@ -// Copyright(C) 1999-2021 National Technology & Engineering Solutions +// Copyright(C) 1999-2021, 2024 National Technology & Engineering Solutions // of Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with // NTESS, the U.S. Government retains certain rights in this software. // @@ -58,12 +58,6 @@ Ioss::Sphere::Sphere() : Ioss::ElementTopology(Ioss::Sphere::name, "Particle") Ioss::ElementTopology::alias(Ioss::Sphere::name, "point1"); } -const std::string &Ioss::Sphere::base_topology_permutation_name() const -{ - static std::string permutationName(Ioss::SpherePermutation::name); - return permutationName; -} - int Ioss::Sphere::parametric_dimension() const { return 0; } int Ioss::Sphere::spatial_dimension() const { return 3; } int Ioss::Sphere::order() const { return 1; } diff --git a/packages/seacas/libraries/ioss/src/elements/Ioss_Sphere.h b/packages/seacas/libraries/ioss/src/elements/Ioss_Sphere.h index 38ac65b8c92c..ad3c8f2e78dc 100644 --- a/packages/seacas/libraries/ioss/src/elements/Ioss_Sphere.h +++ b/packages/seacas/libraries/ioss/src/elements/Ioss_Sphere.h @@ -12,8 +12,6 @@ #include "ioss_export.h" -// STL Includes - namespace Ioss { class IOSS_EXPORT Sphere : public Ioss::ElementTopology { @@ -22,7 +20,6 @@ namespace Ioss { static const char *name; static void factory(); - Sphere(const Sphere &) = delete; IOSS_NODISCARD ElementShape shape() const override { return ElementShape::SPHERE; } IOSS_NODISCARD int spatial_dimension() const override; @@ -47,8 +44,6 @@ namespace Ioss { IOSS_NODISCARD Ioss::ElementTopology *face_type(int face_number = 0) const override; IOSS_NODISCARD Ioss::ElementTopology *edge_type(int edge_number = 0) const override; - IOSS_NODISCARD const std::string &base_topology_permutation_name() const override; - protected: Sphere(); }; diff --git a/packages/seacas/libraries/ioss/src/elements/Ioss_Spring2.h b/packages/seacas/libraries/ioss/src/elements/Ioss_Spring2.h index 4c2e6d141446..2fd9c3706c47 100644 --- a/packages/seacas/libraries/ioss/src/elements/Ioss_Spring2.h +++ b/packages/seacas/libraries/ioss/src/elements/Ioss_Spring2.h @@ -11,8 +11,6 @@ #include "Ioss_CodeTypes.h" // for IntVector #include "Ioss_ElementTopology.h" // for ElementTopology -// STL Includes - namespace Ioss { class IOSS_EXPORT Spring2 : public Ioss::ElementTopology { @@ -21,7 +19,6 @@ namespace Ioss { static const char *name; static void factory(); - Spring2(const Spring2 &) = delete; IOSS_NODISCARD ElementShape shape() const override { return ElementShape::SPRING; } IOSS_NODISCARD int spatial_dimension() const override; diff --git a/packages/seacas/libraries/ioss/src/elements/Ioss_Spring3.h b/packages/seacas/libraries/ioss/src/elements/Ioss_Spring3.h index b31a8bae5adf..84ac4e70755e 100644 --- a/packages/seacas/libraries/ioss/src/elements/Ioss_Spring3.h +++ b/packages/seacas/libraries/ioss/src/elements/Ioss_Spring3.h @@ -11,8 +11,6 @@ #include "Ioss_CodeTypes.h" // for IntVector #include "Ioss_ElementTopology.h" // for ElementTopology -// STL Includes - namespace Ioss { class IOSS_EXPORT Spring3 : public Ioss::ElementTopology { @@ -21,7 +19,6 @@ namespace Ioss { static const char *name; static void factory(); - Spring3(const Spring3 &) = delete; IOSS_NODISCARD ElementShape shape() const override { return ElementShape::SPRING; } IOSS_NODISCARD int spatial_dimension() const override; diff --git a/packages/seacas/libraries/ioss/src/elements/Ioss_Super.h b/packages/seacas/libraries/ioss/src/elements/Ioss_Super.h index d72a58a2c58f..7024ec03fce3 100644 --- a/packages/seacas/libraries/ioss/src/elements/Ioss_Super.h +++ b/packages/seacas/libraries/ioss/src/elements/Ioss_Super.h @@ -18,8 +18,6 @@ namespace Ioss { class ElementVariableType; } // namespace Ioss -// STL Includes - namespace Ioss { class IOSS_EXPORT Super : public Ioss::ElementTopology @@ -30,7 +28,6 @@ namespace Ioss { static void factory(); Super(const std::string &my_name, int node_count); - Super(const Super &) = delete; virtual ~Super() override; static void make_super(const std::string &type); diff --git a/packages/seacas/libraries/ioss/src/elements/Ioss_Tet10.h b/packages/seacas/libraries/ioss/src/elements/Ioss_Tet10.h index 7aeada49c28f..3dd57e5978b5 100644 --- a/packages/seacas/libraries/ioss/src/elements/Ioss_Tet10.h +++ b/packages/seacas/libraries/ioss/src/elements/Ioss_Tet10.h @@ -11,8 +11,6 @@ #include "Ioss_CodeTypes.h" // for IntVector #include "Ioss_ElementTopology.h" // for ElementTopology -// STL Includes - namespace Ioss { class IOSS_EXPORT Tet10 : public Ioss::ElementTopology { @@ -21,7 +19,6 @@ namespace Ioss { static const char *name; static void factory(); - Tet10(const Tet10 &) = delete; IOSS_NODISCARD ElementShape shape() const override { return ElementShape::TET; } IOSS_NODISCARD int spatial_dimension() const override; diff --git a/packages/seacas/libraries/ioss/src/elements/Ioss_Tet11.h b/packages/seacas/libraries/ioss/src/elements/Ioss_Tet11.h index f11a776e49a9..a40535ae9c70 100644 --- a/packages/seacas/libraries/ioss/src/elements/Ioss_Tet11.h +++ b/packages/seacas/libraries/ioss/src/elements/Ioss_Tet11.h @@ -11,8 +11,6 @@ #include "Ioss_CodeTypes.h" // for IntVector #include "Ioss_ElementTopology.h" // for ElementTopology -// STL Includes - namespace Ioss { class IOSS_EXPORT Tet11 : public Ioss::ElementTopology { @@ -21,7 +19,6 @@ namespace Ioss { static const char *name; static void factory(); - Tet11(const Tet11 &) = delete; IOSS_NODISCARD ElementShape shape() const override { return ElementShape::TET; } IOSS_NODISCARD int spatial_dimension() const override; diff --git a/packages/seacas/libraries/ioss/src/elements/Ioss_Tet14.h b/packages/seacas/libraries/ioss/src/elements/Ioss_Tet14.h index b80253ab6608..d49d8df09159 100644 --- a/packages/seacas/libraries/ioss/src/elements/Ioss_Tet14.h +++ b/packages/seacas/libraries/ioss/src/elements/Ioss_Tet14.h @@ -11,8 +11,6 @@ #include "Ioss_CodeTypes.h" // for IntVector #include "Ioss_ElementTopology.h" // for ElementTopology -// STL Includes - namespace Ioss { class IOSS_EXPORT Tet14 : public Ioss::ElementTopology { @@ -21,7 +19,6 @@ namespace Ioss { static const char *name; static void factory(); - Tet14(const Tet14 &) = delete; IOSS_NODISCARD ElementShape shape() const override { return ElementShape::TET; } IOSS_NODISCARD int spatial_dimension() const override; diff --git a/packages/seacas/libraries/ioss/src/elements/Ioss_Tet15.h b/packages/seacas/libraries/ioss/src/elements/Ioss_Tet15.h index bd8d1b520c51..9206d610e42d 100644 --- a/packages/seacas/libraries/ioss/src/elements/Ioss_Tet15.h +++ b/packages/seacas/libraries/ioss/src/elements/Ioss_Tet15.h @@ -11,8 +11,6 @@ #include "Ioss_CodeTypes.h" // for IntVector #include "Ioss_ElementTopology.h" // for ElementTopology -// STL Includes - namespace Ioss { class IOSS_EXPORT Tet15 : public Ioss::ElementTopology { @@ -21,7 +19,6 @@ namespace Ioss { static const char *name; static void factory(); - Tet15(const Tet15 &) = delete; IOSS_NODISCARD ElementShape shape() const override { return ElementShape::TET; } IOSS_NODISCARD int spatial_dimension() const override; diff --git a/packages/seacas/libraries/ioss/src/elements/Ioss_Tet16.h b/packages/seacas/libraries/ioss/src/elements/Ioss_Tet16.h index f9492adc2da6..3aeeb9a80fee 100644 --- a/packages/seacas/libraries/ioss/src/elements/Ioss_Tet16.h +++ b/packages/seacas/libraries/ioss/src/elements/Ioss_Tet16.h @@ -11,8 +11,6 @@ #include "Ioss_CodeTypes.h" // for IntVector #include "Ioss_ElementTopology.h" // for ElementTopology -// STL Includes - namespace Ioss { class IOSS_EXPORT Tet16 : public Ioss::ElementTopology { @@ -21,7 +19,6 @@ namespace Ioss { static const char *name; static void factory(); - Tet16(const Tet16 &) = delete; IOSS_NODISCARD ElementShape shape() const override { return ElementShape::TET; } IOSS_NODISCARD int spatial_dimension() const override; diff --git a/packages/seacas/libraries/ioss/src/elements/Ioss_Tet4.h b/packages/seacas/libraries/ioss/src/elements/Ioss_Tet4.h index a88ed685b4a8..0c438907a66d 100644 --- a/packages/seacas/libraries/ioss/src/elements/Ioss_Tet4.h +++ b/packages/seacas/libraries/ioss/src/elements/Ioss_Tet4.h @@ -12,8 +12,6 @@ #include "ioss_export.h" -// STL Includes - namespace Ioss { class IOSS_EXPORT Tet4 : public Ioss::ElementTopology { @@ -22,7 +20,6 @@ namespace Ioss { static const char *name; static void factory(); - Tet4(const Tet4 &) = delete; IOSS_NODISCARD ElementShape shape() const override { return ElementShape::TET; } IOSS_NODISCARD int spatial_dimension() const override; diff --git a/packages/seacas/libraries/ioss/src/elements/Ioss_Tet40.h b/packages/seacas/libraries/ioss/src/elements/Ioss_Tet40.h index 5179fafdb3c5..f6bb8643b966 100644 --- a/packages/seacas/libraries/ioss/src/elements/Ioss_Tet40.h +++ b/packages/seacas/libraries/ioss/src/elements/Ioss_Tet40.h @@ -11,8 +11,6 @@ #include "Ioss_CodeTypes.h" // for IntVector #include "Ioss_ElementTopology.h" // for ElementTopology -// STL Includes - namespace Ioss { class IOSS_EXPORT Tet40 : public Ioss::ElementTopology { @@ -21,7 +19,6 @@ namespace Ioss { static const char *name; static void factory(); - Tet40(const Tet40 &) = delete; IOSS_NODISCARD ElementShape shape() const override { return ElementShape::TET; } IOSS_NODISCARD int spatial_dimension() const override; diff --git a/packages/seacas/libraries/ioss/src/elements/Ioss_Tet7.h b/packages/seacas/libraries/ioss/src/elements/Ioss_Tet7.h index 7b6f0a2e364e..e938cd7e9bb8 100644 --- a/packages/seacas/libraries/ioss/src/elements/Ioss_Tet7.h +++ b/packages/seacas/libraries/ioss/src/elements/Ioss_Tet7.h @@ -11,8 +11,6 @@ #include "Ioss_CodeTypes.h" // for IntVector #include "Ioss_ElementTopology.h" // for ElementTopology -// STL Includes - namespace Ioss { class IOSS_EXPORT Tet7 : public Ioss::ElementTopology { @@ -21,7 +19,6 @@ namespace Ioss { static const char *name; static void factory(); - Tet7(const Tet7 &) = delete; ElementShape shape() const override { return ElementShape::TET; } int spatial_dimension() const override; diff --git a/packages/seacas/libraries/ioss/src/elements/Ioss_Tet8.h b/packages/seacas/libraries/ioss/src/elements/Ioss_Tet8.h index ade3eef3991c..3ee5955fb8d6 100644 --- a/packages/seacas/libraries/ioss/src/elements/Ioss_Tet8.h +++ b/packages/seacas/libraries/ioss/src/elements/Ioss_Tet8.h @@ -11,8 +11,6 @@ #include "Ioss_CodeTypes.h" // for IntVector #include "Ioss_ElementTopology.h" // for ElementTopology -// STL Includes - namespace Ioss { class IOSS_EXPORT Tet8 : public Ioss::ElementTopology { @@ -21,7 +19,6 @@ namespace Ioss { static const char *name; static void factory(); - Tet8(const Tet8 &) = delete; IOSS_NODISCARD ElementShape shape() const override { return ElementShape::TET; } IOSS_NODISCARD int spatial_dimension() const override; diff --git a/packages/seacas/libraries/ioss/src/elements/Ioss_Tri13.h b/packages/seacas/libraries/ioss/src/elements/Ioss_Tri13.h index ba2b2ed49aee..fa81cc346e04 100644 --- a/packages/seacas/libraries/ioss/src/elements/Ioss_Tri13.h +++ b/packages/seacas/libraries/ioss/src/elements/Ioss_Tri13.h @@ -12,8 +12,6 @@ #include "Ioss_CodeTypes.h" // for IntVector #include "Ioss_ElementTopology.h" // for ElementTopology -// STL Includes - namespace Ioss { class IOSS_EXPORT Tri13 : public Ioss::ElementTopology { @@ -22,7 +20,6 @@ namespace Ioss { static const char *name; static void factory(); - Tri13(const Tri13 &) = delete; IOSS_NODISCARD ElementShape shape() const override { return ElementShape::TRI; } IOSS_NODISCARD int spatial_dimension() const override; diff --git a/packages/seacas/libraries/ioss/src/elements/Ioss_Tri3.h b/packages/seacas/libraries/ioss/src/elements/Ioss_Tri3.h index b92d656710b1..b0c874abb23e 100644 --- a/packages/seacas/libraries/ioss/src/elements/Ioss_Tri3.h +++ b/packages/seacas/libraries/ioss/src/elements/Ioss_Tri3.h @@ -11,8 +11,6 @@ #include "Ioss_CodeTypes.h" // for IntVector #include "Ioss_ElementTopology.h" // for ElementTopology -// STL Includes - namespace Ioss { class IOSS_EXPORT Tri3 : public Ioss::ElementTopology { @@ -21,7 +19,6 @@ namespace Ioss { static const char *name; static void factory(); - Tri3(const Tri3 &) = delete; IOSS_NODISCARD ElementShape shape() const override { return ElementShape::TRI; } IOSS_NODISCARD int spatial_dimension() const override; diff --git a/packages/seacas/libraries/ioss/src/elements/Ioss_Tri4.h b/packages/seacas/libraries/ioss/src/elements/Ioss_Tri4.h index 0b812bb6d6de..e27d75631db4 100644 --- a/packages/seacas/libraries/ioss/src/elements/Ioss_Tri4.h +++ b/packages/seacas/libraries/ioss/src/elements/Ioss_Tri4.h @@ -12,8 +12,6 @@ #include "Ioss_CodeTypes.h" // for IntVector #include "Ioss_ElementTopology.h" // for ElementTopology -// STL Includes - namespace Ioss { class IOSS_EXPORT Tri4 : public Ioss::ElementTopology { @@ -22,7 +20,6 @@ namespace Ioss { static const char *name; static void factory(); - Tri4(const Tri4 &) = delete; IOSS_NODISCARD ElementShape shape() const override { return ElementShape::TRI; } IOSS_NODISCARD int spatial_dimension() const override; diff --git a/packages/seacas/libraries/ioss/src/elements/Ioss_Tri4a.h b/packages/seacas/libraries/ioss/src/elements/Ioss_Tri4a.h index 367731209c80..284b6bf767f5 100644 --- a/packages/seacas/libraries/ioss/src/elements/Ioss_Tri4a.h +++ b/packages/seacas/libraries/ioss/src/elements/Ioss_Tri4a.h @@ -12,8 +12,6 @@ #include "Ioss_CodeTypes.h" // for IntVector #include "Ioss_ElementTopology.h" // for ElementTopology -// STL Includes - namespace Ioss { class IOSS_EXPORT Tri4a : public Ioss::ElementTopology { @@ -22,7 +20,6 @@ namespace Ioss { static const char *name; static void factory(); - Tri4a(const Tri4a &) = delete; IOSS_NODISCARD ElementShape shape() const override { return ElementShape::TRI; } IOSS_NODISCARD int spatial_dimension() const override; diff --git a/packages/seacas/libraries/ioss/src/elements/Ioss_Tri6.h b/packages/seacas/libraries/ioss/src/elements/Ioss_Tri6.h index ebbbc8c044f1..7ec61119319e 100644 --- a/packages/seacas/libraries/ioss/src/elements/Ioss_Tri6.h +++ b/packages/seacas/libraries/ioss/src/elements/Ioss_Tri6.h @@ -12,8 +12,6 @@ #include "Ioss_CodeTypes.h" // for IntVector #include "Ioss_ElementTopology.h" // for ElementTopology -// STL Includes - namespace Ioss { class IOSS_EXPORT Tri6 : public Ioss::ElementTopology { @@ -22,7 +20,6 @@ namespace Ioss { static const char *name; static void factory(); - Tri6(const Tri6 &) = delete; IOSS_NODISCARD ElementShape shape() const override { return ElementShape::TRI; } IOSS_NODISCARD int spatial_dimension() const override; diff --git a/packages/seacas/libraries/ioss/src/elements/Ioss_Tri7.h b/packages/seacas/libraries/ioss/src/elements/Ioss_Tri7.h index d4874fca2e0d..22a38c3484f6 100644 --- a/packages/seacas/libraries/ioss/src/elements/Ioss_Tri7.h +++ b/packages/seacas/libraries/ioss/src/elements/Ioss_Tri7.h @@ -12,8 +12,6 @@ #include "Ioss_CodeTypes.h" // for IntVector #include "Ioss_ElementTopology.h" // for ElementTopology -// STL Includes - namespace Ioss { class IOSS_EXPORT Tri7 : public Ioss::ElementTopology { @@ -22,7 +20,6 @@ namespace Ioss { static const char *name; static void factory(); - Tri7(const Tri7 &) = delete; IOSS_NODISCARD ElementShape shape() const override { return ElementShape::TRI; } IOSS_NODISCARD int spatial_dimension() const override; diff --git a/packages/seacas/libraries/ioss/src/elements/Ioss_Tri9.h b/packages/seacas/libraries/ioss/src/elements/Ioss_Tri9.h index 120cf0be460d..748e2cf4ee67 100644 --- a/packages/seacas/libraries/ioss/src/elements/Ioss_Tri9.h +++ b/packages/seacas/libraries/ioss/src/elements/Ioss_Tri9.h @@ -12,8 +12,6 @@ #include "Ioss_CodeTypes.h" // for IntVector #include "Ioss_ElementTopology.h" // for ElementTopology -// STL Includes - namespace Ioss { class IOSS_EXPORT Tri9 : public Ioss::ElementTopology { @@ -22,7 +20,6 @@ namespace Ioss { static const char *name; static void factory(); - Tri9(const Tri9 &) = delete; IOSS_NODISCARD ElementShape shape() const override { return ElementShape::TRI; } IOSS_NODISCARD int spatial_dimension() const override; diff --git a/packages/seacas/libraries/ioss/src/elements/Ioss_TriShell3.h b/packages/seacas/libraries/ioss/src/elements/Ioss_TriShell3.h index 5c15a14642ea..eb9623ccbf4e 100644 --- a/packages/seacas/libraries/ioss/src/elements/Ioss_TriShell3.h +++ b/packages/seacas/libraries/ioss/src/elements/Ioss_TriShell3.h @@ -12,8 +12,6 @@ #include "Ioss_CodeTypes.h" // for IntVector #include "Ioss_ElementTopology.h" // for ElementTopology -// STL Includes - namespace Ioss { class IOSS_EXPORT TriShell3 : public Ioss::ElementTopology { @@ -22,7 +20,6 @@ namespace Ioss { static const char *name; static void factory(); - TriShell3(const TriShell3 &) = delete; IOSS_NODISCARD ElementShape shape() const override { return ElementShape::TRI; } IOSS_NODISCARD int spatial_dimension() const override; diff --git a/packages/seacas/libraries/ioss/src/elements/Ioss_TriShell4.h b/packages/seacas/libraries/ioss/src/elements/Ioss_TriShell4.h index b426294999ff..0c2261fdd8a8 100644 --- a/packages/seacas/libraries/ioss/src/elements/Ioss_TriShell4.h +++ b/packages/seacas/libraries/ioss/src/elements/Ioss_TriShell4.h @@ -12,8 +12,6 @@ #include "Ioss_CodeTypes.h" // for IntVector #include "Ioss_ElementTopology.h" // for ElementTopology -// STL Includes - namespace Ioss { class IOSS_EXPORT TriShell4 : public Ioss::ElementTopology { @@ -22,7 +20,6 @@ namespace Ioss { static const char *name; static void factory(); - TriShell4(const TriShell4 &) = delete; IOSS_NODISCARD ElementShape shape() const override { return ElementShape::TRI; } IOSS_NODISCARD int spatial_dimension() const override; diff --git a/packages/seacas/libraries/ioss/src/elements/Ioss_TriShell6.h b/packages/seacas/libraries/ioss/src/elements/Ioss_TriShell6.h index ed0af52b73ae..cbdffbcacf9d 100644 --- a/packages/seacas/libraries/ioss/src/elements/Ioss_TriShell6.h +++ b/packages/seacas/libraries/ioss/src/elements/Ioss_TriShell6.h @@ -12,8 +12,6 @@ #include "Ioss_CodeTypes.h" // for IntVector #include "Ioss_ElementTopology.h" // for ElementTopology -// STL Includes - namespace Ioss { class IOSS_EXPORT TriShell6 : public Ioss::ElementTopology { @@ -22,7 +20,6 @@ namespace Ioss { static const char *name; static void factory(); - TriShell6(const TriShell6 &) = delete; IOSS_NODISCARD ElementShape shape() const override { return ElementShape::TRI; } IOSS_NODISCARD int spatial_dimension() const override; diff --git a/packages/seacas/libraries/ioss/src/elements/Ioss_TriShell7.h b/packages/seacas/libraries/ioss/src/elements/Ioss_TriShell7.h index 5e80b82f1bef..63c87f12a6c8 100644 --- a/packages/seacas/libraries/ioss/src/elements/Ioss_TriShell7.h +++ b/packages/seacas/libraries/ioss/src/elements/Ioss_TriShell7.h @@ -12,8 +12,6 @@ #include "Ioss_CodeTypes.h" // for IntVector #include "Ioss_ElementTopology.h" // for ElementTopology -// STL Includes - namespace Ioss { class IOSS_EXPORT TriShell7 : public Ioss::ElementTopology { @@ -22,7 +20,6 @@ namespace Ioss { static const char *name; static void factory(); - TriShell7(const TriShell7 &) = delete; IOSS_NODISCARD ElementShape shape() const override { return ElementShape::TRI; } IOSS_NODISCARD int spatial_dimension() const override; diff --git a/packages/seacas/libraries/ioss/src/elements/Ioss_Unknown.h b/packages/seacas/libraries/ioss/src/elements/Ioss_Unknown.h index e0b878fb10ce..e1e41713bdbf 100644 --- a/packages/seacas/libraries/ioss/src/elements/Ioss_Unknown.h +++ b/packages/seacas/libraries/ioss/src/elements/Ioss_Unknown.h @@ -12,8 +12,6 @@ #include "Ioss_CodeTypes.h" // for IntVector #include "Ioss_ElementTopology.h" // for ElementTopology -// STL Includes - namespace Ioss { class IOSS_EXPORT Unknown : public Ioss::ElementTopology { @@ -22,7 +20,6 @@ namespace Ioss { static const char *name; static void factory(); - Unknown(const Unknown &) = delete; IOSS_NODISCARD ElementShape shape() const override { return ElementShape::UNKNOWN; } IOSS_NODISCARD int spatial_dimension() const override; diff --git a/packages/seacas/libraries/ioss/src/elements/Ioss_Wedge12.h b/packages/seacas/libraries/ioss/src/elements/Ioss_Wedge12.h index 9dcb227006a3..ff00f0323efd 100644 --- a/packages/seacas/libraries/ioss/src/elements/Ioss_Wedge12.h +++ b/packages/seacas/libraries/ioss/src/elements/Ioss_Wedge12.h @@ -12,8 +12,6 @@ #include "Ioss_CodeTypes.h" // for IntVector #include "Ioss_ElementTopology.h" // for ElementTopology -// STL Includes - namespace Ioss { class IOSS_EXPORT Wedge12 : public Ioss::ElementTopology { @@ -22,7 +20,6 @@ namespace Ioss { static const char *name; static void factory(); - Wedge12(const Wedge12 &) = delete; IOSS_NODISCARD ElementShape shape() const override { return ElementShape::WEDGE; } IOSS_NODISCARD int spatial_dimension() const override; diff --git a/packages/seacas/libraries/ioss/src/elements/Ioss_Wedge15.h b/packages/seacas/libraries/ioss/src/elements/Ioss_Wedge15.h index 3089a4fd5b39..cbe669742bd2 100644 --- a/packages/seacas/libraries/ioss/src/elements/Ioss_Wedge15.h +++ b/packages/seacas/libraries/ioss/src/elements/Ioss_Wedge15.h @@ -12,8 +12,6 @@ #include "Ioss_CodeTypes.h" // for IntVector #include "Ioss_ElementTopology.h" // for ElementTopology -// STL Includes - namespace Ioss { class IOSS_EXPORT Wedge15 : public Ioss::ElementTopology { @@ -22,7 +20,6 @@ namespace Ioss { static const char *name; static void factory(); - Wedge15(const Wedge15 &) = delete; IOSS_NODISCARD ElementShape shape() const override { return ElementShape::WEDGE; } IOSS_NODISCARD int spatial_dimension() const override; diff --git a/packages/seacas/libraries/ioss/src/elements/Ioss_Wedge16.h b/packages/seacas/libraries/ioss/src/elements/Ioss_Wedge16.h index f7510ddbf6da..ce648f922e76 100644 --- a/packages/seacas/libraries/ioss/src/elements/Ioss_Wedge16.h +++ b/packages/seacas/libraries/ioss/src/elements/Ioss_Wedge16.h @@ -12,8 +12,6 @@ #include "Ioss_CodeTypes.h" // for IntVector #include "Ioss_ElementTopology.h" // for ElementTopology -// STL Includes - namespace Ioss { class IOSS_EXPORT Wedge16 : public Ioss::ElementTopology { @@ -22,7 +20,6 @@ namespace Ioss { static const char *name; static void factory(); - Wedge16(const Wedge16 &) = delete; IOSS_NODISCARD ElementShape shape() const override { return ElementShape::WEDGE; } IOSS_NODISCARD int spatial_dimension() const override; diff --git a/packages/seacas/libraries/ioss/src/elements/Ioss_Wedge18.h b/packages/seacas/libraries/ioss/src/elements/Ioss_Wedge18.h index 0870c885150f..22404ed6dc7b 100644 --- a/packages/seacas/libraries/ioss/src/elements/Ioss_Wedge18.h +++ b/packages/seacas/libraries/ioss/src/elements/Ioss_Wedge18.h @@ -12,8 +12,6 @@ #include "Ioss_CodeTypes.h" // for IntVector #include "Ioss_ElementTopology.h" // for ElementTopology -// STL Includes - namespace Ioss { class IOSS_EXPORT Wedge18 : public Ioss::ElementTopology { @@ -22,7 +20,6 @@ namespace Ioss { static const char *name; static void factory(); - Wedge18(const Wedge18 &) = delete; IOSS_NODISCARD ElementShape shape() const override { return ElementShape::WEDGE; } IOSS_NODISCARD int spatial_dimension() const override; diff --git a/packages/seacas/libraries/ioss/src/elements/Ioss_Wedge20.h b/packages/seacas/libraries/ioss/src/elements/Ioss_Wedge20.h index 93c7ce5174b2..605c0d283ac0 100644 --- a/packages/seacas/libraries/ioss/src/elements/Ioss_Wedge20.h +++ b/packages/seacas/libraries/ioss/src/elements/Ioss_Wedge20.h @@ -12,8 +12,6 @@ #include "Ioss_CodeTypes.h" // for IntVector #include "Ioss_ElementTopology.h" // for ElementTopology -// STL Includes - namespace Ioss { class IOSS_EXPORT Wedge20 : public Ioss::ElementTopology { @@ -22,7 +20,6 @@ namespace Ioss { static const char *name; static void factory(); - Wedge20(const Wedge20 &) = delete; IOSS_NODISCARD ElementShape shape() const override { return ElementShape::WEDGE; } IOSS_NODISCARD int spatial_dimension() const override; diff --git a/packages/seacas/libraries/ioss/src/elements/Ioss_Wedge21.h b/packages/seacas/libraries/ioss/src/elements/Ioss_Wedge21.h index 8792eafe602a..8b0bdd589df8 100644 --- a/packages/seacas/libraries/ioss/src/elements/Ioss_Wedge21.h +++ b/packages/seacas/libraries/ioss/src/elements/Ioss_Wedge21.h @@ -12,8 +12,6 @@ #include "Ioss_CodeTypes.h" // for IntVector #include "Ioss_ElementTopology.h" // for ElementTopology -// STL Includes - namespace Ioss { class IOSS_EXPORT Wedge21 : public Ioss::ElementTopology { @@ -22,7 +20,6 @@ namespace Ioss { static const char *name; static void factory(); - Wedge21(const Wedge21 &) = delete; IOSS_NODISCARD ElementShape shape() const override { return ElementShape::WEDGE; } IOSS_NODISCARD int spatial_dimension() const override; diff --git a/packages/seacas/libraries/ioss/src/elements/Ioss_Wedge24.h b/packages/seacas/libraries/ioss/src/elements/Ioss_Wedge24.h index 0e2a94b3d539..691399c1e390 100644 --- a/packages/seacas/libraries/ioss/src/elements/Ioss_Wedge24.h +++ b/packages/seacas/libraries/ioss/src/elements/Ioss_Wedge24.h @@ -12,8 +12,6 @@ #include "Ioss_CodeTypes.h" // for IntVector #include "Ioss_ElementTopology.h" // for ElementTopology -// STL Includes - namespace Ioss { class IOSS_EXPORT Wedge24 : public Ioss::ElementTopology { @@ -22,7 +20,6 @@ namespace Ioss { static const char *name; static void factory(); - Wedge24(const Wedge24 &) = delete; IOSS_NODISCARD ElementShape shape() const override { return ElementShape::WEDGE; } IOSS_NODISCARD int spatial_dimension() const override; diff --git a/packages/seacas/libraries/ioss/src/elements/Ioss_Wedge52.h b/packages/seacas/libraries/ioss/src/elements/Ioss_Wedge52.h index 7931ae1c7255..a3c7dc37055f 100644 --- a/packages/seacas/libraries/ioss/src/elements/Ioss_Wedge52.h +++ b/packages/seacas/libraries/ioss/src/elements/Ioss_Wedge52.h @@ -12,8 +12,6 @@ #include "Ioss_CodeTypes.h" // for IntVector #include "Ioss_ElementTopology.h" // for ElementTopology -// STL Includes - namespace Ioss { class IOSS_EXPORT Wedge52 : public Ioss::ElementTopology { @@ -22,7 +20,6 @@ namespace Ioss { static const char *name; static void factory(); - Wedge52(const Wedge52 &) = delete; IOSS_NODISCARD ElementShape shape() const override { return ElementShape::WEDGE; } IOSS_NODISCARD int spatial_dimension() const override; diff --git a/packages/seacas/libraries/ioss/src/elements/Ioss_Wedge6.h b/packages/seacas/libraries/ioss/src/elements/Ioss_Wedge6.h index dd01fef1be2c..95c8bda600dc 100644 --- a/packages/seacas/libraries/ioss/src/elements/Ioss_Wedge6.h +++ b/packages/seacas/libraries/ioss/src/elements/Ioss_Wedge6.h @@ -12,8 +12,6 @@ #include "Ioss_CodeTypes.h" // for IntVector #include "Ioss_ElementTopology.h" // for ElementTopology -// STL Includes - namespace Ioss { class IOSS_EXPORT Wedge6 : public Ioss::ElementTopology { @@ -22,7 +20,6 @@ namespace Ioss { static const char *name; static void factory(); - Wedge6(const Wedge6 &) = delete; IOSS_NODISCARD int spatial_dimension() const override; IOSS_NODISCARD int parametric_dimension() const override; diff --git a/packages/seacas/libraries/ioss/src/exodus/Ioex_DatabaseIO.h b/packages/seacas/libraries/ioss/src/exodus/Ioex_DatabaseIO.h index f7689e5a2f0f..66c87690ad22 100644 --- a/packages/seacas/libraries/ioss/src/exodus/Ioex_DatabaseIO.h +++ b/packages/seacas/libraries/ioss/src/exodus/Ioex_DatabaseIO.h @@ -74,8 +74,8 @@ namespace Ioex { bool abort_if_error) const override; bool handle_output_file(bool write_message, std::string *error_msg, int *bad_count, bool overwrite, bool abort_if_error) const override; - IOSS_NODISCARD bool check_valid_file_ptr(bool write_message, std::string *error_msg, int *bad_count, - bool abort_if_error) const; + IOSS_NODISCARD bool check_valid_file_ptr(bool write_message, std::string *error_msg, + int *bad_count, bool abort_if_error) const; int64_t get_field_internal(const Ioss::Region *reg, const Ioss::Field &field, void *data, size_t data_size) const override; @@ -207,7 +207,8 @@ namespace Ioex { // ID Mapping functions. IOSS_NODISCARD const Ioss::Map &get_map(ex_entity_type type) const; IOSS_NODISCARD const Ioss::Map &get_map(Ioss::Map &entity_map, int64_t entity_count, - ex_entity_type entity_type, ex_inquiry inquiry_type) const; + ex_entity_type entity_type, + ex_inquiry inquiry_type) const; // Internal data handling int64_t handle_node_ids(void *ids, int64_t num_to_get) const; diff --git a/packages/seacas/libraries/ioss/src/exodus/Ioex_DecompositionData.C b/packages/seacas/libraries/ioss/src/exodus/Ioex_DecompositionData.C index 9c4c15d45f30..b3edaccb2e93 100644 --- a/packages/seacas/libraries/ioss/src/exodus/Ioex_DecompositionData.C +++ b/packages/seacas/libraries/ioss/src/exodus/Ioex_DecompositionData.C @@ -2182,9 +2182,9 @@ namespace Ioex { load_field_data(filePtr, Data(fileData), blockSubsetIndex, step, blockFieldData, blockComponentCount, fileConnOffset); - (void)decompData->m_decomposition.communicate_entity_data(Data(fileData), data, - decompData->el_blocks, blockSubsetIndex, - fileConnOffset, blockComponentCount); + (void)decompData->m_decomposition.communicate_entity_data( + Data(fileData), data, decompData->el_blocks, blockSubsetIndex, fileConnOffset, + blockComponentCount); } } diff --git a/packages/seacas/libraries/ioss/src/exodus/Ioex_Utils.h b/packages/seacas/libraries/ioss/src/exodus/Ioex_Utils.h index 768ad244a36d..a08f9d80f1e5 100644 --- a/packages/seacas/libraries/ioss/src/exodus/Ioex_Utils.h +++ b/packages/seacas/libraries/ioss/src/exodus/Ioex_Utils.h @@ -82,8 +82,8 @@ namespace Ioex { #endif IOSS_NODISCARD IOEX_EXPORT const char *Version(); - IOEX_EXPORT bool check_processor_info(const std::string &filename, int exodusFilePtr, - int processor_count, int processor_id); + IOEX_EXPORT bool check_processor_info(const std::string &filename, int exodusFilePtr, + int processor_count, int processor_id); IOSS_NODISCARD IOEX_EXPORT Ioss::EntityType map_exodus_type(ex_entity_type type); IOSS_NODISCARD IOEX_EXPORT ex_entity_type map_exodus_type(Ioss::EntityType type); @@ -114,8 +114,8 @@ namespace Ioex { std::string *disp_name); IOSS_NODISCARD IOEX_EXPORT std::string get_entity_name(int exoid, ex_entity_type type, int64_t id, - const std::string &basename, int length, - bool &db_has_name); + const std::string &basename, int length, + bool &db_has_name); IOEX_EXPORT bool filter_node_list(Ioss::Int64Vector &nodes, const std::vector &node_connectivity_status); diff --git a/packages/seacas/libraries/ioss/src/exonull/Ioexnl_DatabaseIO.C b/packages/seacas/libraries/ioss/src/exonull/Ioexnl_DatabaseIO.C index 801d0891c13d..236a36b0a10c 100644 --- a/packages/seacas/libraries/ioss/src/exonull/Ioexnl_DatabaseIO.C +++ b/packages/seacas/libraries/ioss/src/exonull/Ioexnl_DatabaseIO.C @@ -53,7 +53,7 @@ // Static internal helper functions // ======================================================================== namespace { - const size_t max_line_length = MAX_LINE_LENGTH; + const size_t max_line_length = MAX_LINE_LENGTH; template void compute_internal_border_maps(T *entities, T *internal, size_t count, size_t entity_count) diff --git a/packages/seacas/libraries/ioss/src/heartbeat/Iohb_DatabaseIO.C b/packages/seacas/libraries/ioss/src/heartbeat/Iohb_DatabaseIO.C index ee019a6a46a7..32b02b82d282 100644 --- a/packages/seacas/libraries/ioss/src/heartbeat/Iohb_DatabaseIO.C +++ b/packages/seacas/libraries/ioss/src/heartbeat/Iohb_DatabaseIO.C @@ -1,4 +1,4 @@ -// Copyright(C) 1999-2023 National Technology & Engineering Solutions +// Copyright(C) 1999-2024 National Technology & Engineering Solutions // of Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with // NTESS, the U.S. Government retains certain rights in this software. // @@ -209,6 +209,10 @@ namespace Iohb { new_this->flushInterval_ = properties.get("FLUSH_INTERVAL").get_int(); } + if (properties.exists("HEARTBEAT_FLUSH_INTERVAL")) { + new_this->flushInterval_ = properties.get("HEARTBEAT_FLUSH_INTERVAL").get_int(); + } + if (properties.exists("TIME_STAMP_FORMAT")) { new_this->tsFormat = properties.get("TIME_STAMP_FORMAT").get_string(); } @@ -332,6 +336,7 @@ namespace Iohb { // Flush the buffer to disk... // flush if there is more than 'flushInterval_' seconds since the last flush to avoid // the flush eating up cpu time for small fast jobs... + // If want a flush every step for some reason, set `flushInterval_` to 0.0. // This code is derived from code in finalize_write() in Ioex_DatabaseIO.C // See other comments there... diff --git a/packages/seacas/libraries/ioss/src/hopscotch_hash.h b/packages/seacas/libraries/ioss/src/hopscotch_hash.h index 4fd92f1ab73c..00f421125d3d 100644 --- a/packages/seacas/libraries/ioss/src/hopscotch_hash.h +++ b/packages/seacas/libraries/ioss/src/hopscotch_hash.h @@ -1798,7 +1798,7 @@ namespace tsl { */ template < class T = size_type, - typename std::enable_if::value>::type * = nullptr> + typename std::enable_if::value>::type * = nullptr> static bool USE_STORED_HASH_ON_REHASH(size_type /*bucket_count*/) { return StoreHash; @@ -1806,7 +1806,7 @@ namespace tsl { template < class T = size_type, - typename std::enable_if::value>::type * = nullptr> + typename std::enable_if::value>::type * = nullptr> static bool USE_STORED_HASH_ON_REHASH(size_type bucket_count) { (void)bucket_count; diff --git a/packages/seacas/libraries/ioss/src/main/CMakeLists.txt b/packages/seacas/libraries/ioss/src/main/CMakeLists.txt index ed0add3e9887..d2905ff5f856 100644 --- a/packages/seacas/libraries/ioss/src/main/CMakeLists.txt +++ b/packages/seacas/libraries/ioss/src/main/CMakeLists.txt @@ -72,6 +72,8 @@ TRIBITS_ADD_EXECUTABLE( SOURCES io_info_main.C INSTALLABLE ) + +IF (${PACKAGE_NAME}_ENABLE_SEACASExodus) TRIBITS_ADD_EXECUTABLE( io_modify NOEXEPREFIX @@ -79,6 +81,8 @@ TRIBITS_ADD_EXECUTABLE( SOURCES io_modify.C modify_interface.C INSTALLABLE ) +endif() + TRIBITS_ADD_EXECUTABLE( sphgen NOEXEPREFIX diff --git a/packages/seacas/libraries/ioss/src/main/io_info.C b/packages/seacas/libraries/ioss/src/main/io_info.C index 2d0552882270..79887b4c5b6b 100644 --- a/packages/seacas/libraries/ioss/src/main/io_info.C +++ b/packages/seacas/libraries/ioss/src/main/io_info.C @@ -51,7 +51,9 @@ #include "Ioss_SurfaceSplit.h" #include "Ioss_Utils.h" #include "Ioss_VariableType.h" +#if defined(SEACAS_HAVE_EXODUS) #include "exodusII.h" +#endif #include "info_interface.h" #if defined(SEACAS_HAVE_CGNS) #include @@ -265,7 +267,7 @@ namespace { Ioss::Utils::info_fields(&nb, Ioss::Field::TRANSIENT, prefix + "\tTransient: ", "\n\t\t" + prefix); - if (interFace.compute_bbox()) { + if (interFace.compute_bbox() && region.mesh_type() != Ioss::MeshType::STRUCTURED) { print_bbox(nb); } } diff --git a/packages/seacas/libraries/ioss/src/main/io_info_main.C b/packages/seacas/libraries/ioss/src/main/io_info_main.C index a61782367cb7..d528681661b6 100644 --- a/packages/seacas/libraries/ioss/src/main/io_info_main.C +++ b/packages/seacas/libraries/ioss/src/main/io_info_main.C @@ -1,5 +1,5 @@ /* - * Copyright(C) 1999-2020, 2023 National Technology & Engineering Solutions + * Copyright(C) 1999-2020, 2023, 2024 National Technology & Engineering Solutions * of Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with * NTESS, the U.S. Government retains certain rights in this software. * @@ -22,14 +22,27 @@ namespace { std::string codename; - std::string version = "1.05"; + std::string version = "1.06"; + +#ifdef SEACAS_HAVE_MPI + void mpi_finalize() + { + MPI_Comm parentcomm; + MPI_Comm_get_parent(&parentcomm); + if (parentcomm != MPI_COMM_NULL) { + int istatus = EXIT_SUCCESS; + MPI_Send(&istatus, 1, MPI_INT, 0, 0, parentcomm); + } + MPI_Finalize(); + } +#endif } // namespace int main(int argc, char *argv[]) { #ifdef SEACAS_HAVE_MPI MPI_Init(&argc, &argv); - ON_BLOCK_EXIT(MPI_Finalize); + ON_BLOCK_EXIT(mpi_finalize); #endif Info::Interface interFace; diff --git a/packages/seacas/libraries/ioss/src/main/io_modify.C b/packages/seacas/libraries/ioss/src/main/io_modify.C index 6f0e61337f23..698302263f4c 100644 --- a/packages/seacas/libraries/ioss/src/main/io_modify.C +++ b/packages/seacas/libraries/ioss/src/main/io_modify.C @@ -51,11 +51,10 @@ #include "Ioss_State.h" #include "modify_interface.h" -#if defined(SEACAS_HAVE_EXODUS) +// `io_modify` is only built if Exodus is enabled... #include "exodus/Ioex_Internals.h" #include "exodus/Ioex_Utils.h" #include -#endif #if defined(SEACAS_HAVE_CGNS) #include "cgns/Iocgns_Utils.h" @@ -72,7 +71,7 @@ using real = double; namespace { std::string codename; - std::string version = "2.05 (2024-03-25)"; + std::string version = "2.07 (2024-04-15)"; std::vector attributes_modified; @@ -134,11 +133,11 @@ namespace { void modify_time(Ioss::Region ®ion, double scale, double offset); void offset_filtered_coordinates(Ioss::Region ®ion, real offset[3], - const std::vector &filter); + const std::vector &blocks); void scale_filtered_coordinates(Ioss::Region ®ion, real scale[3], - const std::vector &filter); + const std::vector &blocks); void rotate_filtered_coordinates(Ioss::Region ®ion, real rotation_matrix[3][3], - const std::vector &filter); + const std::vector &blocks); bool update_rotation_matrix(real rotation_matrix[3][3], const std::string &axis, double angle); void set_db_properties(const Modify::Interface &interFace, Ioss::DatabaseIO *dbi); @@ -661,11 +660,12 @@ namespace { fmt::print(fmt::emphasis::bold, "\tGEOMETRY OFFSET "); fmt::print("{{X|Y|Z}} {{offset}} ...\n"); fmt::print(fmt::emphasis::bold, "\tGEOMETRY ROTATE "); - fmt::print("{{ELEMENTBLOCKS|BLOCKS|ASSEMBLY}} {{names}} {{X|Y|Z}} {{angle}} ...\n"); + fmt::print("{{ELEMENTBLOCKS|BLOCKS|ASSEMBLY}} {{names}} {{X|Y|Z}} {{angle}}\n"); fmt::print(fmt::emphasis::bold, "\tGEOMETRY MIRROR "); fmt::print("{{ELEMENTBLOCKS|BLOCKS|ASSEMBLY}} {{names}} {{X|Y|Z}} ...\n"); fmt::print(fmt::emphasis::bold, "\tGEOMETRY SCALE "); - fmt::print("{{ELEMENTBLOCKS|BLOCKS|ASSEMBLY}} {{names}} {{X|Y|Z}} {{scale_factor}} ...\n"); + fmt::print("{{ELEMENTBLOCKS|BLOCKS|ASSEMBLY}} {{names}} {{X|Y|Z}} {{scale_factor}} ... " + "\n"); fmt::print(fmt::emphasis::bold, "\tGEOMETRY OFFSET "); fmt::print("{{ELEMENTBLOCKS|BLOCKS|ASSEMBLY}} {{names}} {{X|Y|Z}} {{offset}} ...\n"); } @@ -706,8 +706,7 @@ namespace { else if (Ioss::Utils::substr_equal(tokens[1], "region")) { info_entity(region, show_attribute); } - else if (Ioss::Utils::substr_equal(tokens[1], "elementblock") || - Ioss::Utils::substr_equal(tokens[1], "block")) { + else if (Ioss::Utils::substr_equal(tokens[1], "elementblock")) { const auto &entities = region.get_element_blocks(); info_entities(entities, tokens, region, "Element Blocks", show_attribute); } @@ -729,6 +728,17 @@ namespace { const auto &entities = region.get_structured_blocks(); info_entities(entities, tokens, region, "Structured Blocks", show_attribute); } + else if (Ioss::Utils::substr_equal(tokens[1], "blocks")) { + const auto type = region.mesh_type(); + if (type == Ioss::MeshType::UNSTRUCTURED) { + const auto &entities = region.get_element_blocks(); + info_entities(entities, tokens, region, "Element Blocks", show_attribute); + } + else if (type == Ioss::MeshType::STRUCTURED) { + const auto &entities = region.get_structured_blocks(); + info_entities(entities, tokens, region, "Structured Blocks", show_attribute); + } + } else if (Ioss::Utils::substr_equal(tokens[1], "sideset") || Ioss::Utils::substr_equal(tokens[1], "sset")) { const auto &entities = region.get_sidesets(); @@ -1145,7 +1155,7 @@ namespace { } void build_block_list(Ioss::Region ®ion, const Ioss::GroupingEntity *ge, - std::vector &blocks) + std::vector &blocks) { if (ge) { if (ge->type() == Ioss::ELEMENTBLOCK) { @@ -1155,6 +1165,13 @@ namespace { } return; } + else if (ge->type() == Ioss::STRUCTUREDBLOCK) { + auto *sb = dynamic_cast(ge); + if (sb != nullptr) { + blocks.push_back(sb); + } + return; + } else if (ge->type() == Ioss::ASSEMBLY) { auto *as = dynamic_cast(ge); const auto &members = as->get_members(); @@ -1166,9 +1183,13 @@ namespace { } } - std::vector get_filtered_node_list(Ioss::Region ®ion, - std::vector &blocks) + std::vector get_filtered_node_list(Ioss::Region ®ion, + const std::vector &blocks) { + const auto type = region.get_database()->get_format(); + if (type != "Exodus") { + return std::vector(); + } auto node_count = region.get_property("node_count").get_int(); if (blocks.empty() || blocks.size() == (size_t)region.get_property("element_block_count").get_int()) { @@ -1256,10 +1277,13 @@ namespace { return false; } + const auto type = region.mesh_type(); + // See if applying just selected (and connected) blocks. - size_t idx = 2; - std::vector blocks; + size_t idx = 2; + std::vector blocks; if (Ioss::Utils::substr_equal(tokens[idx], "elementblocks") || + Ioss::Utils::substr_equal(tokens[idx], "structuredblocks") || Ioss::Utils::substr_equal(tokens[idx], "blocks") || Ioss::Utils::substr_equal(tokens[idx], "assembly")) { // Parse list of block|assembly names... @@ -1268,7 +1292,9 @@ namespace { Ioss::Utils::str_equal(tokens[idx], "y") || Ioss::Utils::str_equal(tokens[idx], "z"))) { const auto &name = tokens[idx++]; - auto *ge = region.get_entity(name, Ioss::ELEMENTBLOCK); + auto *ge = + region.get_entity(name, type == Ioss::MeshType::UNSTRUCTURED ? Ioss::ELEMENTBLOCK + : Ioss::STRUCTUREDBLOCK); if (ge == nullptr) { ge = region.get_entity(name, Ioss::ASSEMBLY); } @@ -1282,50 +1308,58 @@ namespace { // If blocks is non-empty, then we are applying geometry modification to a subset of the model. // In that case, we need to get all blocks that are connected to the user-specified blocks... if (!blocks.empty()) { - std::vector tmp(blocks); - for (const auto *block : blocks) { - const auto &connected = block->get_block_adjacencies(); - for (const auto &connect : connected) { - auto *eb = region.get_element_block(connect); - tmp.push_back(eb); + if (type == Ioss::MeshType::UNSTRUCTURED) { + auto tmp(blocks); + for (const auto *block : blocks) { + auto *eb = dynamic_cast(block); + if (eb != nullptr) { + const auto &connected = eb->get_block_adjacencies(); + for (const auto &connect : connected) { + auto *elb = region.get_element_block(connect); + tmp.push_back(elb); + } + } } + Ioss::Utils::uniquify(tmp); + blocks = tmp; } - Ioss::Utils::uniquify(tmp); - blocks = tmp; } - if (blocks.empty() || - blocks.size() == (size_t)region.get_property("element_block_count").get_int()) { - fmt::print(fg(fmt::color::cyan), - "\n\t*** {} transformation will be applied to ALL element blocks.\n", tokens[1]); + if (blocks.empty()) { + fmt::print(fg(fmt::color::cyan), "\n\t*** {} transformation will be applied to ALL blocks.\n", + tokens[1]); } else { - fmt::print(fg(fmt::color::cyan), - "\n\t*** {} transformation will be applied to element blocks:\n\t", tokens[1]); + fmt::print(fg(fmt::color::cyan), "\n\t*** {} transformation will be applied to blocks:\n\t", + tokens[1]); for (const auto *block : blocks) { fmt::print(fg(fmt::color::cyan), "{}, ", block->name()); } fmt::print("\n"); } - // Now, filter the nodes to determine which nodes are connected to elements in the block list. - auto node_filter = get_filtered_node_list(region, blocks); - if (Ioss::Utils::substr_equal(tokens[1], "rotate")) { real rotation_matrix[3][3] = {{1, 0, 0}, {0, 1, 0}, {0, 0, 1}}; // Get rotation axis... do { - const std::string &axis = tokens[idx++]; - double angle = std::stod(tokens[idx++]); - auto ok = update_rotation_matrix(rotation_matrix, axis, angle); + const std::string &axis = tokens[idx++]; + if (axis != "x" && axis != "y" && axis != "z" && axis != "X" && axis != "Y" && + axis != "Z") { + fmt::print(stderr, fg(fmt::color::red), + "ERROR: Unrecognized axis {}. Expected one of xyzXYZ.\n", axis); + handle_help("geometry"); + return false; + } + double angle = std::stod(tokens[idx++]); + auto ok = update_rotation_matrix(rotation_matrix, axis, angle); if (!ok) { return false; } } while (idx < tokens.size()); // Do the rotation... - rotate_filtered_coordinates(region, rotation_matrix, node_filter); + rotate_filtered_coordinates(region, rotation_matrix, blocks); fmt::print(fg(fmt::color::cyan), "\t*** Database coordinates rotated.\n"); return false; } @@ -1335,8 +1369,15 @@ namespace { // Get scale axis and scale factor... do { - const std::string &axis = tokens[idx++]; - double factor = std::stod(tokens[idx++]); + const std::string &axis = tokens[idx++]; + if (axis != "x" && axis != "y" && axis != "z" && axis != "X" && axis != "Y" && + axis != "Z") { + fmt::print(stderr, fg(fmt::color::red), + "ERROR: Unrecognized axis {}. Expected one of xyzXYZ.\n", axis); + handle_help("geometry"); + return false; + } + double factor = std::stod(tokens[idx++]); if (Ioss::Utils::substr_equal(axis, "x")) { scale[0] = factor; } @@ -1349,7 +1390,7 @@ namespace { } while (idx < tokens.size()); // Do the transformation... - scale_filtered_coordinates(region, scale, node_filter); + scale_filtered_coordinates(region, scale, blocks); fmt::print(fg(fmt::color::cyan), "\t*** Database coordinate(s) scaled.\n"); return false; } @@ -1360,6 +1401,13 @@ namespace { // Get mirror axis ... do { const std::string &axis = tokens[idx++]; + if (axis != "x" && axis != "y" && axis != "z" && axis != "X" && axis != "Y" && + axis != "Z") { + fmt::print(stderr, fg(fmt::color::red), + "ERROR: Unrecognized axis {}. Expected one of xyzXYZ.\n", axis); + handle_help("geometry"); + return false; + } if (Ioss::Utils::substr_equal(axis, "x")) { scale[0] = -1.0; } @@ -1372,7 +1420,7 @@ namespace { } while (idx < tokens.size()); // Do the transformation... - scale_filtered_coordinates(region, scale, node_filter); + scale_filtered_coordinates(region, scale, blocks); fmt::print(fg(fmt::color::cyan), "\t*** Database coordinate(s) mirrored.\n"); return false; } @@ -1382,8 +1430,15 @@ namespace { // Get offset axis and offset factor... do { - const std::string &axis = tokens[idx++]; - double factor = std::stod(tokens[idx++]); + const std::string &axis = tokens[idx++]; + if (axis != "x" && axis != "y" && axis != "z" && axis != "X" && axis != "Y" && + axis != "Z") { + fmt::print(stderr, fg(fmt::color::red), + "ERROR: Unrecognized axis {}. Expected one of xyzXYZ.\n", axis); + handle_help("geometry"); + return false; + } + double factor = std::stod(tokens[idx++]); if (Ioss::Utils::substr_equal(axis, "x")) { offset[0] = factor; } @@ -1396,7 +1451,7 @@ namespace { } while (idx < tokens.size()); // Do the transformation... - offset_filtered_coordinates(region, offset, node_filter); + offset_filtered_coordinates(region, offset, blocks); fmt::print(fg(fmt::color::cyan), "\t*** Database coordinate(s) offset.\n"); return false; } @@ -1653,7 +1708,6 @@ namespace { } #endif -#if defined(SEACAS_HAVE_EXODUS) void update_exodus_assembly_info(Ioss::Region ®ion, const Modify::Interface &interFace) { std::vector ex_assemblies; @@ -1716,18 +1770,13 @@ namespace { Ioex::write_reduction_attributes(exoid, attributes_modified); } } -#endif void update_assembly_info(Ioss::Region ®ion, const Modify::Interface &interFace) { // Determine type of underlying database... const auto type = region.get_database()->get_format(); if (type == "Exodus") { -#if defined(SEACAS_HAVE_EXODUS) update_exodus_assembly_info(region, interFace); -#else - fmt::print(stderr, fg(fmt::color::red), "ERROR: Exodus capability is not enabled.\n"); -#endif } else if (type == "CGNS") { #if defined(SEACAS_HAVE_CGNS) @@ -1743,96 +1792,162 @@ namespace { } } - void rotate_filtered_coordinates(Ioss::Region ®ion, real rotation_matrix[3][3], + void rotate_filtered_coordinates(const Ioss::GroupingEntity *nb, real rotation_matrix[3][3], const std::vector &filter) { - // `filter` is of size number of nodes. Value = 1 the rotate; value = 0 leave as is. - Ioss::NodeBlock *nb = region.get_node_block("nodeblock_1"); - std::vector coord; + // `filter` is of size number of nodes. Value = 1 then rotate; value = 0 leave as is. // Get original coordinates... + std::vector coord; nb->get_field_data("mesh_model_coordinates", coord); - size_t node_count = nb->entity_count(); + size_t node_count = coord.size() / 3; // Do the rotation... for (size_t i = 0; i < node_count; i++) { - real x = coord[3 * i + 0]; - real y = coord[3 * i + 1]; - real z = coord[3 * i + 2]; - - real xn = x * rotation_matrix[0][0] + y * rotation_matrix[1][0] + z * rotation_matrix[2][0]; - real yn = x * rotation_matrix[0][1] + y * rotation_matrix[1][1] + z * rotation_matrix[2][1]; - real zn = x * rotation_matrix[0][2] + y * rotation_matrix[1][2] + z * rotation_matrix[2][2]; - - coord[3 * i + 0] = filter[i] * xn + (1 - filter[i]) * coord[3 * i + 0]; - coord[3 * i + 1] = filter[i] * yn + (1 - filter[i]) * coord[3 * i + 1]; - coord[3 * i + 2] = filter[i] * zn + (1 - filter[i]) * coord[3 * i + 2]; + if (filter.empty() || filter[i] == 1) { + real x = coord[3 * i + 0]; + real y = coord[3 * i + 1]; + real z = coord[3 * i + 2]; + + real xn = x * rotation_matrix[0][0] + y * rotation_matrix[1][0] + z * rotation_matrix[2][0]; + real yn = x * rotation_matrix[0][1] + y * rotation_matrix[1][1] + z * rotation_matrix[2][1]; + real zn = x * rotation_matrix[0][2] + y * rotation_matrix[1][2] + z * rotation_matrix[2][2]; + + coord[3 * i + 0] = xn; + coord[3 * i + 1] = yn; + coord[3 * i + 2] = zn; + } } // Output updated coordinates... nb->put_field_data("mesh_model_coordinates", coord); } - void offset_filtered_coordinates(Ioss::Region ®ion, real offset[3], + void rotate_filtered_coordinates(Ioss::Region ®ion, real rotation_matrix[3][3], + const std::vector &blocks) + { + const auto type = region.mesh_type(); + if (type == Ioss::MeshType::UNSTRUCTURED) { + auto filter = get_filtered_node_list(region, blocks); + Ioss::NodeBlock *nb = region.get_node_block("nodeblock_1"); + rotate_filtered_coordinates(nb, rotation_matrix, filter); + } + else if (type == Ioss::MeshType::STRUCTURED) { + if (blocks.empty()) { + auto sblocks = region.get_structured_blocks(); + for (const auto &sb : sblocks) { + rotate_filtered_coordinates(sb, rotation_matrix, std::vector()); + } + } + else { + for (const auto &blk : blocks) { + auto *sb = dynamic_cast(blk); + if (sb != nullptr) { + rotate_filtered_coordinates(sb, rotation_matrix, std::vector()); + } + } + } + } + } + + void offset_filtered_coordinates(const Ioss::GroupingEntity *nb, real offset[3], const std::vector &filter) { // `filter` is of size number of nodes. Value = 1 transform; value = 0 leave as is. - Ioss::NodeBlock *nb = region.get_node_block("nodeblock_1"); - std::vector coord; // Get original coordinates... + std::vector coord; nb->get_field_data("mesh_model_coordinates", coord); - size_t node_count = nb->entity_count(); + size_t node_count = coord.size() / 3; // Do the transformation... for (size_t i = 0; i < node_count; i++) { - real x = coord[3 * i + 0]; - real y = coord[3 * i + 1]; - real z = coord[3 * i + 2]; - - real xn = x + offset[0]; - real yn = y + offset[1]; - real zn = z + offset[2]; - - coord[3 * i + 0] = filter[i] * xn + (1 - filter[i]) * coord[3 * i + 0]; - coord[3 * i + 1] = filter[i] * yn + (1 - filter[i]) * coord[3 * i + 1]; - coord[3 * i + 2] = filter[i] * zn + (1 - filter[i]) * coord[3 * i + 2]; + if (filter.empty() || filter[i] == 1) { + coord[3 * i + 0] += offset[0]; + coord[3 * i + 1] += offset[1]; + coord[3 * i + 2] += offset[2]; + } } // Output updated coordinates... nb->put_field_data("mesh_model_coordinates", coord); } - void scale_filtered_coordinates(Ioss::Region ®ion, real scale[3], - const std::vector &filter) + void offset_filtered_coordinates(Ioss::Region ®ion, real offset[3], + const std::vector &blocks) { - // `filter` is of size number of nodes. Value = 1 transform; value = 0 leave as is. - Ioss::NodeBlock *nb = region.get_node_block("nodeblock_1"); - std::vector coord; + const auto type = region.mesh_type(); + if (type == Ioss::MeshType::UNSTRUCTURED) { + auto filter = get_filtered_node_list(region, blocks); + Ioss::NodeBlock *nb = region.get_node_block("nodeblock_1"); + offset_filtered_coordinates(nb, offset, filter); + } + else if (type == Ioss::MeshType::STRUCTURED) { + if (blocks.empty()) { + auto sblocks = region.get_structured_blocks(); + for (const auto &sb : sblocks) { + offset_filtered_coordinates(sb, offset, std::vector()); + } + } + else { + for (const auto &blk : blocks) { + auto *sb = dynamic_cast(blk); + if (sb != nullptr) { + offset_filtered_coordinates(sb, offset, std::vector()); + } + } + } + } + } + void scale_filtered_coordinates(const Ioss::GroupingEntity *nb, real scale[3], + const std::vector &filter) + { // Get original coordinates... + std::vector coord; nb->get_field_data("mesh_model_coordinates", coord); - size_t node_count = nb->entity_count(); + size_t node_count = coord.size() / 3; // Do the transformation... for (size_t i = 0; i < node_count; i++) { - real x = coord[3 * i + 0]; - real y = coord[3 * i + 1]; - real z = coord[3 * i + 2]; - - real xn = x * scale[0]; - real yn = y * scale[1]; - real zn = z * scale[2]; - - coord[3 * i + 0] = filter[i] * xn + (1 - filter[i]) * coord[3 * i + 0]; - coord[3 * i + 1] = filter[i] * yn + (1 - filter[i]) * coord[3 * i + 1]; - coord[3 * i + 2] = filter[i] * zn + (1 - filter[i]) * coord[3 * i + 2]; + if (filter.empty() || filter[i] == 1) { + coord[3 * i + 0] *= scale[0]; + coord[3 * i + 1] *= scale[1]; + coord[3 * i + 2] *= scale[2]; + } } // Output updated coordinates... nb->put_field_data("mesh_model_coordinates", coord); } + void scale_filtered_coordinates(Ioss::Region ®ion, real scale[3], + const std::vector &blocks) + { + const auto type = region.mesh_type(); + if (type == Ioss::MeshType::UNSTRUCTURED) { + auto filter = get_filtered_node_list(region, blocks); + Ioss::NodeBlock *nb = region.get_node_block("nodeblock_1"); + scale_filtered_coordinates(nb, scale, filter); + } + else if (type == Ioss::MeshType::STRUCTURED) { + if (blocks.empty()) { + auto sblocks = region.get_structured_blocks(); + for (const auto &sb : sblocks) { + scale_filtered_coordinates(sb, scale, std::vector()); + } + } + else { + for (const auto &blk : blocks) { + auto *sb = dynamic_cast(blk); + if (sb != nullptr) { + scale_filtered_coordinates(sb, scale, std::vector()); + } + } + } + } + } + bool update_rotation_matrix(real rotation_matrix[3][3], const std::string &axis, double angle) { int n1 = 0; @@ -1912,5 +2027,4 @@ namespace { Ioex::update_last_time_attribute(exoid, max_time); (void)region.get_min_time(); // Triggers reloading region stateTimes vector. } - } // nameSpace diff --git a/packages/seacas/libraries/ioss/src/main/io_shell.C b/packages/seacas/libraries/ioss/src/main/io_shell.C index ae7bf8a3c361..42ab148be365 100644 --- a/packages/seacas/libraries/ioss/src/main/io_shell.C +++ b/packages/seacas/libraries/ioss/src/main/io_shell.C @@ -42,7 +42,7 @@ namespace { std::string codename; - std::string version = "6.5 (2024/03/14)"; + std::string version = "6.7 (2024/05/01)"; bool mem_stats = false; @@ -65,6 +65,8 @@ namespace { options.delete_timesteps = interFace.delete_timesteps; options.minimum_time = interFace.minimum_time; options.maximum_time = interFace.maximum_time; + options.time_scale = interFace.time_scale; + options.time_offset = interFace.time_offset; options.data_storage_type = interFace.data_storage_type; options.delay = interFace.timestep_delay; options.reverse = interFace.reverse; @@ -73,13 +75,26 @@ namespace { options.ignore_qa_info = interFace.ignore_qa_info; return options; } + +#ifdef SEACAS_HAVE_MPI + void mpi_finalize() + { + MPI_Comm parentcomm; + MPI_Comm_get_parent(&parentcomm); + if (parentcomm != MPI_COMM_NULL) { + int istatus = EXIT_SUCCESS; + MPI_Send(&istatus, 1, MPI_INT, 0, 0, parentcomm); + } + MPI_Finalize(); + } +#endif } // namespace int main(int argc, char *argv[]) { #ifdef SEACAS_HAVE_MPI MPI_Init(&argc, &argv); - ON_BLOCK_EXIT(MPI_Finalize); + ON_BLOCK_EXIT(mpi_finalize); #endif Ioss::ParallelUtils pu{}; int rank = pu.parallel_rank(); diff --git a/packages/seacas/libraries/ioss/src/main/shell_interface.C b/packages/seacas/libraries/ioss/src/main/shell_interface.C index d8c8abc50c37..93f68d817e79 100644 --- a/packages/seacas/libraries/ioss/src/main/shell_interface.C +++ b/packages/seacas/libraries/ioss/src/main/shell_interface.C @@ -244,6 +244,12 @@ void IOShell::Interface::enroll_options() options_.enroll("Minimum_Time", Ioss::GetLongOption::MandatoryValue, "Minimum time on input database to transfer to output database", nullptr); + options_.enroll("time_scale", Ioss::GetLongOption::MandatoryValue, + "The output time = input_time * time_scale + time_offset", nullptr); + + options_.enroll("time_offset", Ioss::GetLongOption::MandatoryValue, + "The output time = input_time * time_scale + time_offset", nullptr); + options_.enroll("select_times", Ioss::GetLongOption::MandatoryValue, "comma-separated list of times that should be transferred to output database", nullptr); @@ -657,6 +663,8 @@ bool IOShell::Interface::parse_options(int argc, char **argv, int my_processor) maximum_time = options_.get_option_value("Maximum_Time", maximum_time); minimum_time = options_.get_option_value("Minimum_Time", minimum_time); + time_scale = options_.get_option_value("time_scale", time_scale); + time_offset = options_.get_option_value("time_offset", time_offset); { const char *temp = options_.retrieve("select_times"); diff --git a/packages/seacas/libraries/ioss/src/main/shell_interface.h b/packages/seacas/libraries/ioss/src/main/shell_interface.h index 922b2c4de163..4d422fdd1157 100644 --- a/packages/seacas/libraries/ioss/src/main/shell_interface.h +++ b/packages/seacas/libraries/ioss/src/main/shell_interface.h @@ -43,6 +43,8 @@ namespace IOShell { double maximum_time{std::numeric_limits::max()}; double minimum_time{-std::numeric_limits::max()}; double append_time{std::numeric_limits::max()}; + double time_scale{1.0}; + double time_offset{0.0}; double timestep_delay{0.0}; double rel_tolerance{0.0}; double abs_tolerance{0.0}; diff --git a/packages/seacas/libraries/ioss/src/main/vector3d.C b/packages/seacas/libraries/ioss/src/main/vector3d.C index c054cc98ae16..dabf77cfcaee 100644 --- a/packages/seacas/libraries/ioss/src/main/vector3d.C +++ b/packages/seacas/libraries/ioss/src/main/vector3d.C @@ -1,4 +1,4 @@ -// Copyright(C) 1999-2020, 2023 National Technology & Engineering Solutions +// Copyright(C) 1999-2020, 2023, 2024 National Technology & Engineering Solutions // of Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with // NTESS, the U.S. Government retains certain rights in this software. // @@ -8,18 +8,10 @@ #include "vector3d.h" -//---------------------------------------------------------------------------- -vector3d::vector3d() = default; - //---------------------------------------------------------------------------- vector3d::vector3d(double X, double Y, double Z) : x(X), y(Y), z(Z) {} //---------------------------------------------------------------------------- -vector3d::vector3d(double location[3]) : x(location[0]), y(location[1]), z(location[2]) {} - -//---------------------------------------------------------------------------- -vector3d::vector3d(const vector3d &from) = default; - void vector3d::set(double X, double Y, double Z) { x = X; @@ -34,8 +26,6 @@ void vector3d::set(const double location[3]) z = location[2]; } -vector3d &vector3d::operator=(const vector3d &from) = default; - vector3d &vector3d::reverse() { x = -x; diff --git a/packages/seacas/libraries/ioss/src/main/vector3d.h b/packages/seacas/libraries/ioss/src/main/vector3d.h index 68beaba3e1b0..d0f29259053d 100644 --- a/packages/seacas/libraries/ioss/src/main/vector3d.h +++ b/packages/seacas/libraries/ioss/src/main/vector3d.h @@ -1,5 +1,5 @@ /* - * Copyright(C) 1999-2020, 2022, 2023 National Technology & Engineering Solutions + * Copyright(C) 1999-2020, 2022, 2023, 2024 National Technology & Engineering Solutions * of Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with * NTESS, the U.S. Government retains certain rights in this software. * @@ -11,14 +11,11 @@ class vector3d { public: // construction - vector3d(); + vector3d() = default; vector3d(double X, double Y, double Z); - explicit vector3d(double location[3]); - vector3d(const vector3d &from); double x{}, y{}, z{}; - vector3d &operator=(const vector3d &from); bool operator==(const vector3d &from) const; bool operator!=(const vector3d &from) const; void set(double X, double Y, double Z); diff --git a/packages/seacas/libraries/ioss/src/utest/Utst_IofxDatabaseIO.C b/packages/seacas/libraries/ioss/src/utest/Utst_IofxDatabaseIO.C index c1c148097f0c..b9aa175f1b54 100644 --- a/packages/seacas/libraries/ioss/src/utest/Utst_IofxDatabaseIO.C +++ b/packages/seacas/libraries/ioss/src/utest/Utst_IofxDatabaseIO.C @@ -18,8 +18,8 @@ #include "Ioss_SideSet.h" #include "exodus/Ioex_DatabaseIO.h" -#include #include +#include #include #include #include diff --git a/packages/seacas/libraries/ioss/src/utest/Utst_heartbeat.C b/packages/seacas/libraries/ioss/src/utest/Utst_heartbeat.C index 1045fb9b6c2f..cb16ca34ff21 100644 --- a/packages/seacas/libraries/ioss/src/utest/Utst_heartbeat.C +++ b/packages/seacas/libraries/ioss/src/utest/Utst_heartbeat.C @@ -1,6 +1,6 @@ #include "Ionit_Initializer.h" -#include #include +#include #include #include #include diff --git a/packages/seacas/libraries/supes/ext_lib/exread.c b/packages/seacas/libraries/supes/ext_lib/exread.c index 91a319008147..99c47f603bda 100644 --- a/packages/seacas/libraries/supes/ext_lib/exread.c +++ b/packages/seacas/libraries/supes/ext_lib/exread.c @@ -64,7 +64,7 @@ C IOSTAT INTEGER I/O Status ( -1 = EOF, 0 = normal ) } else { static char internal_prompt[128]; - char * p = NULL; + char *p = NULL; /* Fill line with blanks... */ int dlen = InputLength; diff --git a/packages/seacas/libraries/suplib_cpp/vector_data.h b/packages/seacas/libraries/suplib_cpp/vector_data.h index f2dca14421dc..edf5c44752fa 100644 --- a/packages/seacas/libraries/suplib_cpp/vector_data.h +++ b/packages/seacas/libraries/suplib_cpp/vector_data.h @@ -22,9 +22,7 @@ template constexpr T *Data(std::vector &vec) if (vec.empty()) { return nullptr; } - else { - return vec.data(); - } + return vec.data(); } template constexpr const T *Data(const std::vector &vec) @@ -32,9 +30,7 @@ template constexpr const T *Data(const std::vector &vec) if (vec.empty()) { return nullptr; } - else { - return vec.data(); - } + return vec.data(); } template constexpr T *Data(std::array &arr) diff --git a/packages/seacas/libraries/svdi/cgi/mdcgi.c b/packages/seacas/libraries/svdi/cgi/mdcgi.c index c365c09e7bd1..85542ba671f2 100644 --- a/packages/seacas/libraries/svdi/cgi/mdcgi.c +++ b/packages/seacas/libraries/svdi/cgi/mdcgi.c @@ -62,8 +62,8 @@ void xcoon(anything **surface_id) /* which surface to turn output on for*/ surf_found = surf; break; } /* end if found on list */ - } /* end for */ - } /* end for all devices */ + } /* end for */ + } /* end for all devices */ /* does surface_id point to a valid surface? */ if (dev_found < 0) { @@ -81,7 +81,7 @@ void xcoon(anything **surface_id) /* which surface to turn output on for*/ devices[dev_found].statelist[devices[dev_found].num_on_surfaces - 1]; devices[dev_found].statelist[devices[dev_found].num_on_surfaces - 1] = temp; } /* end if there is an off surface */ - } /* end if surface was off */ + } /* end if surface was off */ } /* end xcoon */ /******************************************************************************/ @@ -102,7 +102,7 @@ void xcact(void (*device_fn)(anything **, int, anything **), anything **p_surfac which_device = i; break; } /* end if */ - } /* end for */ + } /* end for */ if (which_device < 0) { /* if device not initialized */ if (num_devices >= MAX_DEVICES) { /* if no room */ @@ -110,7 +110,7 @@ void xcact(void (*device_fn)(anything **, int, anything **), anything **p_surfac *p_surface_id = NULL; return; } /* end if no room for device */ - } /* end if device not initialized */ + } /* end if device not initialized */ /* call the device driver with ACTIVATE, so it can allocate a state list */ short arg1 = ACTIVATE_FN; @@ -190,8 +190,8 @@ void xcsol(anything **surface_id) dev_found = dev; break; } /* end if found on list */ - } /* end for */ - } /* end for all devices */ + } /* end for */ + } /* end for all devices */ /* does surface_id point to a valid surface? */ if (dev_found < 0) { diff --git a/packages/seacas/libraries/svdi/cgi/met_metxlate.c b/packages/seacas/libraries/svdi/cgi/met_metxlate.c index 3f69a3d952da..425435e65df4 100644 --- a/packages/seacas/libraries/svdi/cgi/met_metxlate.c +++ b/packages/seacas/libraries/svdi/cgi/met_metxlate.c @@ -629,7 +629,7 @@ static void xci(anything **params, int num_surfaces, anything **surf_list) set_dev_descrip(); dev_descrip.set_flag = TRUE; } /* end if set_flag */ - } /* end if surface not initialized */ + } /* end if surface not initialized */ else { /* this surface has been initialized once already */ @@ -1129,7 +1129,7 @@ static void xcesc(anything **params, int num_surfaces, anything **surf_list) break; } /* end switch */ - } /* end for i */ + } /* end for i */ } /* end xcesc */ /* INQUIRE DEVICE IDENTIFICATION */ @@ -1521,7 +1521,7 @@ static void xcpl(anything **params, int num_surfaces, anything **surf_list) vdlina(&cur_x, &cur_y); } } /* end for j */ - } /* end no clipping on */ + } /* end no clipping on */ else { /* clipping is on */ @@ -1709,8 +1709,8 @@ static void xcpl(anything **params, int num_surfaces, anything **surf_list) default: done = TRUE; break; } /* end switch */ - } /* end while !done */ - } /* end while j*/ + } /* end while !done */ + } /* end while j*/ } /* end else clipping is on */ @@ -1765,7 +1765,7 @@ static void xcdjpl(anything **params, int num_surfaces, anything **surf_list) vdlina(&x2, &y2); } /* end for j */ - } /* end if clipping is off */ + } /* end if clipping is off */ else { /* clipping is on */ @@ -1926,9 +1926,9 @@ static void xcdjpl(anything **params, int num_surfaces, anything **surf_list) default: done = TRUE; break; } /* end switch */ - } /* end while !done */ - } /* end for j */ - } /* end else clipping is on */ + } /* end while !done */ + } /* end for j */ + } /* end else clipping is on */ /* flag that the page has been marked */ cur_state->pic_dirty = CDIRTY; @@ -2093,8 +2093,8 @@ static void xctx(anything **params, int num_surfaces, anything **surf_list) np = (int)((cur_state->clipmax.x - x) / char_width); } } /* end if ok in x */ - } /* end if ok in y */ - } /* end if clip_on */ + } /* end if ok in y */ + } /* end if clip_on */ ok = ok && np > 0; /* make sure there is still some text left */ @@ -2208,7 +2208,7 @@ static void xcpg(anything **params, int num_surfaces, anything **surf_list) vdi_ls = (int)temp_array[4]; vdstls(&vdi_ls); } - } /* end if hollow OR no poly support */ + } /* end if hollow OR no poly support */ else { /* solid polygon */ vdpoly(xnew, ynew, &npnew); } @@ -2364,7 +2364,7 @@ static void xcca(anything **params, int num_surfaces, anything **surf_list) } /* end clip at top edge */ } /* end if ok */ - } /* end if clip is on */ + } /* end if clip is on */ /* make sure there is still something left */ ok = ok && (nx1 > 0 && ny1 > 0); @@ -2433,9 +2433,9 @@ static void xcca(anything **params, int num_surfaces, anything **surf_list) vdpixi(&ix, &iy, &cells[index], &nx1); index = index + nx; /* compute next index */ iy = iy + yinc; /* compute next raster line */ - } /* end for k */ - } /* end else no special case */ - } /* end x increasing */ + } /* end for k */ + } /* end else no special case */ + } /* end x increasing */ else { /* x decreasing */ @@ -2474,8 +2474,8 @@ static void xcca(anything **params, int num_surfaces, anything **surf_list) index = index + index_inc; } /* end for k */ - } /* end x decreasing */ - } /* end if indexed color */ + } /* end x decreasing */ + } /* end if indexed color */ else { /* direct color */ @@ -2523,7 +2523,7 @@ static void xcca(anything **params, int num_surfaces, anything **surf_list) index = index + index_inc; } /* end for k */ - } /* end if x increasing */ + } /* end if x increasing */ else { /* x decreasing */ @@ -2560,14 +2560,14 @@ static void xcca(anything **params, int num_surfaces, anything **surf_list) index = index + index_inc; } /* end for k */ - } /* end else x decreasing */ - } /* end else direct color */ + } /* end else x decreasing */ + } /* end else direct color */ /* flag that the page has been marked */ cur_state->pic_dirty = CDIRTY; } /* end if ok */ - } /* end for each surface */ + } /* end for each surface */ } /* end xcca */ /* PIXEL ARRAY */ @@ -2746,7 +2746,7 @@ static void xcpxa(anything **params, int num_surfaces, anything **surf_list) } /* end clip top edge */ } /* end if ok */ - } /* end if clip_on */ + } /* end if clip_on */ /* make sure there is still something to draw */ ok = ok && (nx1 > 0 && ny1 > 0); @@ -2816,9 +2816,9 @@ static void xcpxa(anything **params, int num_surfaces, anything **surf_list) vdpixi(&ix, &iy, &pxclrs[index], &nx1); index = index + nx; /* compute next index */ iy = iy + yinc; /* compute next raster line */ - } /* end for k */ - } /* end else no special case */ - } /* end x increasing */ + } /* end for k */ + } /* end else no special case */ + } /* end x increasing */ else { /* x decreasing */ @@ -2857,8 +2857,8 @@ static void xcpxa(anything **params, int num_surfaces, anything **surf_list) index = index + index_inc; } /* end for k */ - } /* end x decreasing */ - } /* end if indexed color */ + } /* end x decreasing */ + } /* end if indexed color */ else { /* direct color */ @@ -2905,7 +2905,7 @@ static void xcpxa(anything **params, int num_surfaces, anything **surf_list) index = index + index_inc; } /* end for k */ - } /* end if x increasing */ + } /* end if x increasing */ else { /* x decreasing */ @@ -2942,14 +2942,14 @@ static void xcpxa(anything **params, int num_surfaces, anything **surf_list) index = index + index_inc; } /* end for k */ - } /* end else x decreasing */ - } /* end else direct color */ + } /* end else x decreasing */ + } /* end else direct color */ /* flag that the page has been marked */ cur_state->pic_dirty = CDIRTY; } /* end if ok */ - } /* end for each surface */ + } /* end for each surface */ } /* end xcpxa */ /* LINE TYPE */ @@ -3333,8 +3333,8 @@ static void xccsm(anything **params, int num_surfaces, anything **surf_list) functions with affected parameters ignored until reset */ report_error(cur_state, 3, 305, *(short *)params[0]); cur_state->csm = -1; /* flag error condition */ - } /* end else must be an error */ - } /* end else */ + } /* end else must be an error */ + } /* end else */ } /* end for each surface */ } /* end xccsm */ @@ -4893,7 +4893,7 @@ static void set_foreground_color(surf_statelist *surf_state, int *colors) cur_state->vdi_attrib.fg_rgb[1] = -1.0; cur_state->vdi_attrib.fg_rgb[2] = -1.0; } /* end does foreground... */ - } /* end indexed color */ + } /* end indexed color */ else /* direct color */ @@ -4974,7 +4974,7 @@ static void set_background_color(surf_statelist *surf_state, int *colors) index = i; } } /* end for i */ - } /* end vector SVDI */ + } /* end vector SVDI */ /* is it close enough? */ if (dmin <= epsilon) { @@ -4986,7 +4986,7 @@ static void set_background_color(surf_statelist *surf_state, int *colors) vdstco(&one, &dev_descrip.index_array[cur_state->bg_index], &cur_state->vdi_attrib.bg_rgb, &dev_descrip.col_mode); cur_state->color_set = TRUE; /* flag that CT has been set */ - } /* end else not close enough */ + } /* end else not close enough */ } /* end has never been set */ @@ -5054,7 +5054,7 @@ static void report_error(surf_statelist *surf_state, int e_class, int e_num, int surf_state->err_queue[err_slot - 1].err_num = 0; surf_state->err_queue[err_slot - 1].func_id = 2; } /* end else create */ - } /* end not enuff room in the queue */ + } /* end not enuff room in the queue */ } /* end if error reporting is on */ } /* end report_error */ @@ -5093,7 +5093,7 @@ static void gettoken(int *index_p, int *numrecs_p, char *data_p, int max_chars, /* c is not whitespace, is start of token */ workstate = 1; } /* end if c is whitespace */ - } /* end while skipping whitespace */ + } /* end while skipping whitespace */ while (workstate == 1) { /* while in token */ c = data_p[*index_p]; @@ -5110,7 +5110,7 @@ static void gettoken(int *index_p, int *numrecs_p, char *data_p, int max_chars, if (*index_p >= *numrecs_p * 80) { workstate = 2; } /* end if off end of data */ - } /* end if c is whitespace */ + } /* end if c is whitespace */ } /* end while putting chars into outtoken */ @@ -5201,7 +5201,7 @@ static int poly_clip(point *cmin, point *cmax, float *vx, float *vy, int vlen, f xtemp[*lenout] = t.x; ytemp[(*lenout)++] = t.y; } /* end intersect */ - } /* end else p outside, s inside */ + } /* end else p outside, s inside */ s.x = p.x; s.y = p.y; @@ -5472,6 +5472,6 @@ void nmtbuf(int *numwds, unsigned outary[]) cur_state->buff_ptr = 0; } /* end if > BUFFER_SIZE */ - } /* end for i=... */ + } /* end for i=... */ } } /* end nmtbuf */ diff --git a/packages/seacas/libraries/svdi/cgi/pst_pstxlate.c b/packages/seacas/libraries/svdi/cgi/pst_pstxlate.c index b4356383c89e..de2ea964d84d 100644 --- a/packages/seacas/libraries/svdi/cgi/pst_pstxlate.c +++ b/packages/seacas/libraries/svdi/cgi/pst_pstxlate.c @@ -635,7 +635,7 @@ static void xci(anything **params, int num_surfaces, anything **surf_list) set_dev_descrip(); dev_descrip.set_flag = TRUE; } /* end if set_flag */ - } /* end if surface not initialized */ + } /* end if surface not initialized */ else { /* this surface has been initialized once already */ @@ -1135,7 +1135,7 @@ static void xcesc(anything **params, int num_surfaces, anything **surf_list) break; } /* end switch */ - } /* end for i */ + } /* end for i */ } /* end xcesc */ /* INQUIRE DEVICE IDENTIFICATION */ @@ -1527,7 +1527,7 @@ static void xcpl(anything **params, int num_surfaces, anything **surf_list) vdlina(&cur_x, &cur_y); } } /* end for j */ - } /* end no clipping on */ + } /* end no clipping on */ else { /* clipping is on */ @@ -1715,8 +1715,8 @@ static void xcpl(anything **params, int num_surfaces, anything **surf_list) default: done = TRUE; break; } /* end switch */ - } /* end while !done */ - } /* end while j*/ + } /* end while !done */ + } /* end while j*/ } /* end else clipping is on */ @@ -1771,7 +1771,7 @@ static void xcdjpl(anything **params, int num_surfaces, anything **surf_list) vdlina(&x2, &y2); } /* end for j */ - } /* end if clipping is off */ + } /* end if clipping is off */ else { /* clipping is on */ @@ -1932,9 +1932,9 @@ static void xcdjpl(anything **params, int num_surfaces, anything **surf_list) default: done = TRUE; break; } /* end switch */ - } /* end while !done */ - } /* end for j */ - } /* end else clipping is on */ + } /* end while !done */ + } /* end for j */ + } /* end else clipping is on */ /* flag that the page has been marked */ cur_state->pic_dirty = CDIRTY; @@ -2099,8 +2099,8 @@ static void xctx(anything **params, int num_surfaces, anything **surf_list) np = (int)((cur_state->clipmax.x - x) / char_width); } } /* end if ok in x */ - } /* end if ok in y */ - } /* end if clip_on */ + } /* end if ok in y */ + } /* end if clip_on */ ok = ok && np > 0; /* make sure there is still some text left */ @@ -2214,7 +2214,7 @@ static void xcpg(anything **params, int num_surfaces, anything **surf_list) vdi_ls = (int)temp_array[4]; vdstls(&vdi_ls); } - } /* end if hollow OR no poly support */ + } /* end if hollow OR no poly support */ else { /* solid polygon */ vdpoly(xnew, ynew, &npnew); } @@ -2370,7 +2370,7 @@ static void xcca(anything **params, int num_surfaces, anything **surf_list) } /* end clip at top edge */ } /* end if ok */ - } /* end if clip is on */ + } /* end if clip is on */ /* make sure there is still something left */ ok = ok && (nx1 > 0 && ny1 > 0); @@ -2439,9 +2439,9 @@ static void xcca(anything **params, int num_surfaces, anything **surf_list) vdpixi(&ix, &iy, &cells[index], &nx1); index = index + nx; /* compute next index */ iy = iy + yinc; /* compute next raster line */ - } /* end for k */ - } /* end else no special case */ - } /* end x increasing */ + } /* end for k */ + } /* end else no special case */ + } /* end x increasing */ else { /* x decreasing */ @@ -2480,8 +2480,8 @@ static void xcca(anything **params, int num_surfaces, anything **surf_list) index = index + index_inc; } /* end for k */ - } /* end x decreasing */ - } /* end if indexed color */ + } /* end x decreasing */ + } /* end if indexed color */ else { /* direct color */ @@ -2529,7 +2529,7 @@ static void xcca(anything **params, int num_surfaces, anything **surf_list) index = index + index_inc; } /* end for k */ - } /* end if x increasing */ + } /* end if x increasing */ else { /* x decreasing */ @@ -2566,14 +2566,14 @@ static void xcca(anything **params, int num_surfaces, anything **surf_list) index = index + index_inc; } /* end for k */ - } /* end else x decreasing */ - } /* end else direct color */ + } /* end else x decreasing */ + } /* end else direct color */ /* flag that the page has been marked */ cur_state->pic_dirty = CDIRTY; } /* end if ok */ - } /* end for each surface */ + } /* end for each surface */ } /* end xcca */ /* PIXEL ARRAY */ @@ -2752,7 +2752,7 @@ static void xcpxa(anything **params, int num_surfaces, anything **surf_list) } /* end clip top edge */ } /* end if ok */ - } /* end if clip_on */ + } /* end if clip_on */ /* make sure there is still something to draw */ ok = ok && (nx1 > 0 && ny1 > 0); @@ -2822,9 +2822,9 @@ static void xcpxa(anything **params, int num_surfaces, anything **surf_list) vdpixi(&ix, &iy, &pxclrs[index], &nx1); index = index + nx; /* compute next index */ iy = iy + yinc; /* compute next raster line */ - } /* end for k */ - } /* end else no special case */ - } /* end x increasing */ + } /* end for k */ + } /* end else no special case */ + } /* end x increasing */ else { /* x decreasing */ @@ -2863,8 +2863,8 @@ static void xcpxa(anything **params, int num_surfaces, anything **surf_list) index = index + index_inc; } /* end for k */ - } /* end x decreasing */ - } /* end if indexed color */ + } /* end x decreasing */ + } /* end if indexed color */ else { /* direct color */ @@ -2911,7 +2911,7 @@ static void xcpxa(anything **params, int num_surfaces, anything **surf_list) index = index + index_inc; } /* end for k */ - } /* end if x increasing */ + } /* end if x increasing */ else { /* x decreasing */ @@ -2948,14 +2948,14 @@ static void xcpxa(anything **params, int num_surfaces, anything **surf_list) index = index + index_inc; } /* end for k */ - } /* end else x decreasing */ - } /* end else direct color */ + } /* end else x decreasing */ + } /* end else direct color */ /* flag that the page has been marked */ cur_state->pic_dirty = CDIRTY; } /* end if ok */ - } /* end for each surface */ + } /* end for each surface */ } /* end xcpxa */ /* LINE TYPE */ @@ -3339,8 +3339,8 @@ static void xccsm(anything **params, int num_surfaces, anything **surf_list) functions with affected parameters ignored until reset */ report_error(cur_state, 3, 305, *(short *)params[0]); cur_state->csm = -1; /* flag error condition */ - } /* end else must be an error */ - } /* end else */ + } /* end else must be an error */ + } /* end else */ } /* end for each surface */ } /* end xccsm */ @@ -4902,7 +4902,7 @@ static void set_foreground_color(surf_statelist *surf_state, int *colors) cur_state->vdi_attrib.fg_rgb[1] = -1.0; cur_state->vdi_attrib.fg_rgb[2] = -1.0; } /* end does foreground... */ - } /* end indexed color */ + } /* end indexed color */ else /* direct color */ @@ -4983,7 +4983,7 @@ static void set_background_color(surf_statelist *surf_state, int *colors) index = i; } } /* end for i */ - } /* end vector SVDI */ + } /* end vector SVDI */ /* is it close enough? */ if (dmin <= epsilon) { @@ -4995,7 +4995,7 @@ static void set_background_color(surf_statelist *surf_state, int *colors) vdstco(&one, &dev_descrip.index_array[cur_state->bg_index], &cur_state->vdi_attrib.bg_rgb, &dev_descrip.col_mode); cur_state->color_set = TRUE; /* flag that CT has been set */ - } /* end else not close enough */ + } /* end else not close enough */ } /* end has never been set */ @@ -5063,7 +5063,7 @@ static void report_error(surf_statelist *surf_state, int e_class, int e_num, int surf_state->err_queue[err_slot - 1].err_num = 0; surf_state->err_queue[err_slot - 1].func_id = 2; } /* end else create */ - } /* end not enuff room in the queue */ + } /* end not enuff room in the queue */ } /* end if error reporting is on */ } /* end report_error */ @@ -5102,7 +5102,7 @@ static void gettoken(int *index_p, int *numrecs_p, char *data_p, int max_chars, /* c is not whitespace, is start of token */ workstate = 1; } /* end if c is whitespace */ - } /* end while skipping whitespace */ + } /* end while skipping whitespace */ while (workstate == 1) { /* while in token */ c = data_p[*index_p]; @@ -5119,7 +5119,7 @@ static void gettoken(int *index_p, int *numrecs_p, char *data_p, int max_chars, if (*index_p >= *numrecs_p * 80) { workstate = 2; } /* end if off end of data */ - } /* end if c is whitespace */ + } /* end if c is whitespace */ } /* end while putting chars into outtoken */ @@ -5210,7 +5210,7 @@ static int poly_clip(point *cmin, point *cmax, float *vx, float *vy, int vlen, f xtemp[*lenout] = t.x; ytemp[(*lenout)++] = t.y; } /* end intersect */ - } /* end else p outside, s inside */ + } /* end else p outside, s inside */ s.x = p.x; s.y = p.y; @@ -5459,6 +5459,6 @@ void pstbuf(int *numwds, char *outary) cur_state->buff_ptr = 0; } /* end if > BUFFER_SIZE */ - } /* end for i=... */ + } /* end for i=... */ } } /* end pstbuf */ diff --git a/packages/seacas/libraries/svdi/cgi/sdcgi.c b/packages/seacas/libraries/svdi/cgi/sdcgi.c index ace531b59893..1a38e2c815f7 100644 --- a/packages/seacas/libraries/svdi/cgi/sdcgi.c +++ b/packages/seacas/libraries/svdi/cgi/sdcgi.c @@ -435,8 +435,8 @@ void cdqerr_(f_integer *nreq, f_integer *vstat, f_integer *nrem, f_integer *nret surf_found = surf; break; } /* end if found on list */ - } /* end for */ - } /* end for all devices */ + } /* end for */ + } /* end for all devices */ if (dev_found != -1) { anything *temp_surface[] = {devices[dev_found].statelist[surf_found]}; @@ -538,8 +538,8 @@ void cqid_(f_integer *maxchr, f_integer *vstat, f_integer *dclass, char *devid) surf_found = surf; break; } /* end if found on list */ - } /* end for */ - } /* end for all devices */ + } /* end for */ + } /* end for all devices */ if (dev_found != -1) { anything *temp_surface[] = {devices[dev_found].statelist[surf_found]}; @@ -585,8 +585,8 @@ void cqd_(f_integer *vstat, f_integer *hscopy, f_integer *disp, f_integer *bcolo surf_found = surf; break; } /* end if found on list */ - } /* end for */ - } /* end for all devices */ + } /* end for */ + } /* end for all devices */ if (dev_found != -1) { anything *temp_surface[] = {devices[dev_found].statelist[surf_found]}; @@ -622,8 +622,8 @@ void clf_(f_integer *n, f_integer *funccl, f_integer *funcid, f_integer *vstat, surf_found = surf; break; } /* end if found on list */ - } /* end for */ - } /* end for all devices */ + } /* end for */ + } /* end for all devices */ if (dev_found != -1) { anything *temp_surface[] = {devices[dev_found].statelist[surf_found]}; @@ -659,8 +659,8 @@ void clpr_(f_integer *n, char *profid, f_integer *profid_size, f_integer *vstat, surf_found = surf; break; } /* end if found on list */ - } /* end for */ - } /* end for all devices */ + } /* end for */ + } /* end for all devices */ if (dev_found != -1) { anything *temp_surface[] = {devices[dev_found].statelist[surf_found]}; @@ -713,8 +713,8 @@ void cqsp_(f_integer *vstat, f_integer *nvip, f_integer *vip, f_integer *nvrp, f surf_found = surf; break; } /* end if found on list */ - } /* end for */ - } /* end for all devices */ + } /* end for */ + } /* end for all devices */ if (dev_found != -1) { anything *temp_surface[] = {devices[dev_found].statelist[surf_found]}; @@ -749,8 +749,8 @@ void clesc_(f_integer *n, f_integer *escid, f_integer *vstat, f_integer *supprt) surf_found = surf; break; } /* end if found on list */ - } /* end for */ - } /* end for all devices */ + } /* end for */ + } /* end for all devices */ if (dev_found != -1) { anything *temp_surface[] = {devices[dev_found].statelist[surf_found]}; @@ -796,8 +796,8 @@ void cqp_(f_integer *vstat, f_integer *vip, f_integer *vrfmt, f_integer *vrexp, surf_found = surf; break; } /* end if found on list */ - } /* end for */ - } /* end for all devices */ + } /* end for */ + } /* end for all devices */ if (dev_found != -1) { anything *temp_surface[] = {devices[dev_found].statelist[surf_found]}; @@ -834,8 +834,8 @@ void cqcl_(f_integer *vstat, f_integer *clip1, f_integer *clipr, f_integer *scli surf_found = surf; break; } /* end if found on list */ - } /* end for */ - } /* end for all devices */ + } /* end for */ + } /* end for all devices */ if (dev_found != -1) { anything *temp_surface[] = {devices[dev_found].statelist[surf_found]}; @@ -1259,8 +1259,8 @@ void cgtxx1_(f_real *x, f_real *y, char *string, f_integer *vstat, f_integer *vc surf_found = surf; break; } /* end if found on list */ - } /* end for */ - } /* end for all devices */ + } /* end for */ + } /* end for all devices */ if (dev_found != -1) { anything *temp_surface[] = {devices[dev_found].statelist[surf_found]}; @@ -1307,8 +1307,8 @@ void cqprl_(f_integer *vstat, f_integer *maxpl, f_integer *maxdpl, f_integer *ma surf_found = surf; break; } /* end if found on list */ - } /* end for */ - } /* end for all devices */ + } /* end for */ + } /* end for all devices */ if (dev_found != -1) { anything *temp_surface[] = {devices[dev_found].statelist[surf_found]}; @@ -1348,8 +1348,8 @@ void cqln_(f_integer *vstat, f_integer *npdefb, f_integer *nsetb, f_integer *max surf_found = surf; break; } /* end if found on list */ - } /* end for */ - } /* end for all devices */ + } /* end for */ + } /* end for all devices */ if (dev_found != -1) { anything *temp_surface[] = {devices[dev_found].statelist[surf_found]}; @@ -1387,8 +1387,8 @@ void cqlnt_(f_integer *nreq, f_integer *first, f_integer *vstat, f_integer *ntot surf_found = surf; break; } /* end if found on list */ - } /* end for */ - } /* end for all devices */ + } /* end for */ + } /* end for all devices */ if (dev_found != -1) { anything *temp_surface[] = {devices[dev_found].statelist[surf_found]}; @@ -1432,8 +1432,8 @@ void cqchh1_(char *font, f_integer *txp, f_integer *nreq, f_integer *first, f_in surf_found = surf; break; } /* end if found on list */ - } /* end for */ - } /* end for all devices */ + } /* end for */ + } /* end for all devices */ if (dev_found != -1) { anything *temp_surface[] = {devices[dev_found].statelist[surf_found]}; @@ -1481,8 +1481,8 @@ void cqfl_(f_integer *vstat, f_integer *npdefb, f_integer *nsetb, f_integer *max surf_found = surf; break; } /* end if found on list */ - } /* end for */ - } /* end for all devices */ + } /* end for */ + } /* end for all devices */ if (dev_found != -1) { anything *temp_surface[] = {devices[dev_found].statelist[surf_found]}; @@ -1522,8 +1522,8 @@ void cqc_(f_integer *vstat, f_integer *nsimul, f_integer *navail, f_integer *nin surf_found = surf; break; } /* end if found on list */ - } /* end for */ - } /* end for all devices */ + } /* end for */ + } /* end for all devices */ if (dev_found != -1) { anything *temp_surface[] = {devices[dev_found].statelist[surf_found]}; @@ -1563,8 +1563,8 @@ void cqlna_(f_integer *vstat, f_integer *lnbi, f_integer *lntyp, f_integer *lwmo surf_found = surf; break; } /* end if found on list */ - } /* end for */ - } /* end for all devices */ + } /* end for */ + } /* end for all devices */ if (dev_found != -1) { anything *temp_surface[] = {devices[dev_found].statelist[surf_found]}; @@ -1615,8 +1615,8 @@ void cqtxa_(f_integer *vstat, f_integer *txbi, f_integer *fonti, f_integer *font surf_found = surf; break; } /* end if found on list */ - } /* end for */ - } /* end for all devices */ + } /* end for */ + } /* end for all devices */ if (dev_found != -1) { anything *temp_surface[] = {devices[dev_found].statelist[surf_found]}; @@ -1654,8 +1654,8 @@ void cqcte_(f_integer *nreq, f_integer *first, f_integer *vstat, f_integer *ntot surf_found = surf; break; } /* end if found on list */ - } /* end for */ - } /* end for all devices */ + } /* end for */ + } /* end for all devices */ if (dev_found != -1) { anything *temp_surface[] = {devices[dev_found].statelist[surf_found]}; @@ -1688,8 +1688,8 @@ void cili_(f_integer *iclass, f_integer *idev) surf_found = surf; break; } /* end if found on list */ - } /* end for */ - } /* end for all devices */ + } /* end for */ + } /* end for all devices */ if (dev_found != -1) { anything *temp_surface[] = {devices[dev_found].statelist[surf_found]}; @@ -1729,8 +1729,8 @@ void crqlc_(f_integer *idev, f_real *timeout, f_integer *vstat, f_integer *rstat surf_found = surf; break; } /* end if found on list */ - } /* end for */ - } /* end for all devices */ + } /* end for */ + } /* end for all devices */ if (dev_found != -1) { anything *temp_surface[] = {devices[dev_found].statelist[surf_found]}; diff --git a/packages/seacas/libraries/svdi/cgi/x11_vdix11.c b/packages/seacas/libraries/svdi/cgi/x11_vdix11.c index 0c2398590da4..d76acb023f14 100644 --- a/packages/seacas/libraries/svdi/cgi/x11_vdix11.c +++ b/packages/seacas/libraries/svdi/cgi/x11_vdix11.c @@ -554,13 +554,13 @@ static int font_height, font_width; /* char size in device coord. */ #define map_y(yin) ((int)(x_height - (ypad + scale * (yin)))) /* macros which map X Windows coords. into ndc */ -#define ndc_map_x(xin) ((float)(((xin)-xpad) / scale)) +#define ndc_map_x(xin) ((float)(((xin) - xpad) / scale)) #define ndc_map_y(yin) ((float)(((x_height - (yin)) - ypad) / scale)) /* macro to convert measure in X window units into ndc units */ #define ndc_units(in) ((float)((in) / scale)) /* macro to convert measure in ndc into X window measure */ -#define x_units(in) ((int)((in)*scale)) +#define x_units(in) ((int)((in) * scale)) /* macro to convert ascii(integer) to char (note: machine dependent) */ #define a_to_c(ain) ((char)(ain)) /* for ascii machine */ diff --git a/packages/seacas/libraries/svdi/cgi/x11_x11xlate.c b/packages/seacas/libraries/svdi/cgi/x11_x11xlate.c index 6e7233fd07fb..7552f4b468de 100644 --- a/packages/seacas/libraries/svdi/cgi/x11_x11xlate.c +++ b/packages/seacas/libraries/svdi/cgi/x11_x11xlate.c @@ -631,7 +631,7 @@ static void xci(anything **params, int num_surfaces, anything **surf_list) set_dev_descrip(); dev_descrip.set_flag = TRUE; } /* end if set_flag */ - } /* end if surface not initialized */ + } /* end if surface not initialized */ else { /* this surface has been initialized once already */ @@ -1131,7 +1131,7 @@ static void xcesc(anything **params, int num_surfaces, anything **surf_list) break; } /* end switch */ - } /* end for i */ + } /* end for i */ } /* end xcesc */ /* INQUIRE DEVICE IDENTIFICATION */ @@ -1524,7 +1524,7 @@ static void xcpl(anything **params, int num_surfaces, anything **surf_list) vdlina(&cur_x, &cur_y); } } /* end for j */ - } /* end no clipping on */ + } /* end no clipping on */ else { /* clipping is on */ @@ -1712,8 +1712,8 @@ static void xcpl(anything **params, int num_surfaces, anything **surf_list) default: done = TRUE; break; } /* end switch */ - } /* end while !done */ - } /* end while j*/ + } /* end while !done */ + } /* end while j*/ } /* end else clipping is on */ @@ -1768,7 +1768,7 @@ static void xcdjpl(anything **params, int num_surfaces, anything **surf_list) vdlina(&x2, &y2); } /* end for j */ - } /* end if clipping is off */ + } /* end if clipping is off */ else { /* clipping is on */ @@ -1929,9 +1929,9 @@ static void xcdjpl(anything **params, int num_surfaces, anything **surf_list) default: done = TRUE; break; } /* end switch */ - } /* end while !done */ - } /* end for j */ - } /* end else clipping is on */ + } /* end while !done */ + } /* end for j */ + } /* end else clipping is on */ /* flag that the page has been marked */ cur_state->pic_dirty = CDIRTY; @@ -2096,8 +2096,8 @@ static void xctx(anything **params, int num_surfaces, anything **surf_list) np = (int)((cur_state->clipmax.x - x) / char_width); } } /* end if ok in x */ - } /* end if ok in y */ - } /* end if clip_on */ + } /* end if ok in y */ + } /* end if clip_on */ ok = ok && np > 0; /* make sure there is still some text left */ @@ -2211,7 +2211,7 @@ static void xcpg(anything **params, int num_surfaces, anything **surf_list) vdi_ls = (int)temp_array[4]; vdstls(&vdi_ls); } - } /* end if hollow OR no poly support */ + } /* end if hollow OR no poly support */ else { /* solid polygon */ vdpoly(xnew, ynew, &npnew); } @@ -2367,7 +2367,7 @@ static void xcca(anything **params, int num_surfaces, anything **surf_list) } /* end clip at top edge */ } /* end if ok */ - } /* end if clip is on */ + } /* end if clip is on */ /* make sure there is still something left */ ok = ok && (nx1 > 0 && ny1 > 0); @@ -2436,9 +2436,9 @@ static void xcca(anything **params, int num_surfaces, anything **surf_list) vdpixi(&ix, &iy, &cells[index], &nx1); index = index + nx; /* compute next index */ iy = iy + yinc; /* compute next raster line */ - } /* end for k */ - } /* end else no special case */ - } /* end x increasing */ + } /* end for k */ + } /* end else no special case */ + } /* end x increasing */ else { /* x decreasing */ @@ -2477,8 +2477,8 @@ static void xcca(anything **params, int num_surfaces, anything **surf_list) index = index + index_inc; } /* end for k */ - } /* end x decreasing */ - } /* end if indexed color */ + } /* end x decreasing */ + } /* end if indexed color */ else { /* direct color */ @@ -2526,7 +2526,7 @@ static void xcca(anything **params, int num_surfaces, anything **surf_list) index = index + index_inc; } /* end for k */ - } /* end if x increasing */ + } /* end if x increasing */ else { /* x decreasing */ @@ -2563,14 +2563,14 @@ static void xcca(anything **params, int num_surfaces, anything **surf_list) index = index + index_inc; } /* end for k */ - } /* end else x decreasing */ - } /* end else direct color */ + } /* end else x decreasing */ + } /* end else direct color */ /* flag that the page has been marked */ cur_state->pic_dirty = CDIRTY; } /* end if ok */ - } /* end for each surface */ + } /* end for each surface */ } /* end xcca */ /* PIXEL ARRAY */ @@ -2749,7 +2749,7 @@ static void xcpxa(anything **params, int num_surfaces, anything **surf_list) } /* end clip top edge */ } /* end if ok */ - } /* end if clip_on */ + } /* end if clip_on */ /* make sure there is still something to draw */ ok = ok && (nx1 > 0 && ny1 > 0); @@ -2819,9 +2819,9 @@ static void xcpxa(anything **params, int num_surfaces, anything **surf_list) vdpixi(&ix, &iy, &pxclrs[index], &nx1); index = index + nx; /* compute next index */ iy = iy + yinc; /* compute next raster line */ - } /* end for k */ - } /* end else no special case */ - } /* end x increasing */ + } /* end for k */ + } /* end else no special case */ + } /* end x increasing */ else { /* x decreasing */ @@ -2860,8 +2860,8 @@ static void xcpxa(anything **params, int num_surfaces, anything **surf_list) index = index + index_inc; } /* end for k */ - } /* end x decreasing */ - } /* end if indexed color */ + } /* end x decreasing */ + } /* end if indexed color */ else { /* direct color */ @@ -2908,7 +2908,7 @@ static void xcpxa(anything **params, int num_surfaces, anything **surf_list) index = index + index_inc; } /* end for k */ - } /* end if x increasing */ + } /* end if x increasing */ else { /* x decreasing */ @@ -2945,14 +2945,14 @@ static void xcpxa(anything **params, int num_surfaces, anything **surf_list) index = index + index_inc; } /* end for k */ - } /* end else x decreasing */ - } /* end else direct color */ + } /* end else x decreasing */ + } /* end else direct color */ /* flag that the page has been marked */ cur_state->pic_dirty = CDIRTY; } /* end if ok */ - } /* end for each surface */ + } /* end for each surface */ } /* end xcpxa */ /* LINE TYPE */ @@ -3336,8 +3336,8 @@ static void xccsm(anything **params, int num_surfaces, anything **surf_list) functions with affected parameters ignored until reset */ report_error(cur_state, 3, 305, *(short *)params[0]); cur_state->csm = -1; /* flag error condition */ - } /* end else must be an error */ - } /* end else */ + } /* end else must be an error */ + } /* end else */ } /* end for each surface */ } /* end xccsm */ @@ -4895,7 +4895,7 @@ static void set_foreground_color(surf_statelist *surf_state, int *colors) cur_state->vdi_attrib.fg_rgb[1] = -1.0; cur_state->vdi_attrib.fg_rgb[2] = -1.0; } /* end does foreground... */ - } /* end indexed color */ + } /* end indexed color */ else /* direct color */ @@ -4976,7 +4976,7 @@ static void set_background_color(surf_statelist *surf_state, int *colors) index = i; } } /* end for i */ - } /* end vector SVDI */ + } /* end vector SVDI */ /* is it close enough? */ if (dmin <= epsilon) { @@ -4989,7 +4989,7 @@ static void set_background_color(surf_statelist *surf_state, int *colors) vdstco(&one, &dev_descrip.index_array[cur_state->bg_index], &cur_state->vdi_attrib.bg_rgb, &dev_descrip.col_mode); cur_state->color_set = TRUE; /* flag that CT has been set */ - } /* end else not close enough */ + } /* end else not close enough */ } /* end has never been set */ @@ -5057,7 +5057,7 @@ static void report_error(surf_statelist *surf_state, int e_class, int e_num, int surf_state->err_queue[err_slot - 1].err_num = 0; surf_state->err_queue[err_slot - 1].func_id = 2; } /* end else create */ - } /* end not enuff room in the queue */ + } /* end not enuff room in the queue */ } /* end if error reporting is on */ } /* end report_error */ @@ -5096,7 +5096,7 @@ static void gettoken(int *index_p, int *numrecs_p, char *data_p, int max_chars, /* c is not whitespace, is start of token */ workstate = 1; } /* end if c is whitespace */ - } /* end while skipping whitespace */ + } /* end while skipping whitespace */ while (workstate == 1) { /* while in token */ c = data_p[*index_p]; @@ -5113,7 +5113,7 @@ static void gettoken(int *index_p, int *numrecs_p, char *data_p, int max_chars, if (*index_p >= *numrecs_p * 80) { workstate = 2; } /* end if off end of data */ - } /* end if c is whitespace */ + } /* end if c is whitespace */ } /* end while putting chars into outtoken */ @@ -5204,7 +5204,7 @@ static int poly_clip(point *cmin, point *cmax, float *vx, float *vy, int vlen, f xtemp[*lenout] = t.x; ytemp[(*lenout)++] = t.y; } /* end intersect */ - } /* end else p outside, s inside */ + } /* end else p outside, s inside */ s.x = p.x; s.y = p.y;