Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bump react and @types/react #130

Closed
wants to merge 1 commit into from

Conversation

dependabot[bot]
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Oct 7, 2024

Bumps react and @types/react. These dependencies needed to be updated together.
Updates react from 18.2.0 to 18.3.1

Release notes

Sourced from react's releases.

18.3.1 (April 26, 2024)

  • Export act from react f1338f

18.3.0 (April 25, 2024)

This release is identical to 18.2 but adds warnings for deprecated APIs and other changes that are needed for React 19.

Read the React 19 Upgrade Guide for more info.

React

  • Allow writing to this.refs to support string ref codemod 909071
  • Warn for deprecated findDOMNode outside StrictMode c3b283
  • Warn for deprecated test-utils methods d4ea75
  • Warn for deprecated Legacy Context outside StrictMode 415ee0
  • Warn for deprecated string refs outside StrictMode #25383
  • Warn for deprecated defaultProps for function components #25699
  • Warn when spreading key #25697
  • Warn when using act from test-utils d4ea75

React DOM

  • Warn for deprecated unmountComponentAtNode 8a015b
  • Warn for deprecated renderToStaticNodeStream #28874
Changelog

Sourced from react's changelog.

18.3.1 (April 26, 2024)

  • Export act from react f1338f

18.3.0 (April 25, 2024)

This release is identical to 18.2 but adds warnings for deprecated APIs and other changes that are needed for React 19.

Read the React 19 Upgrade Guide for more info.

React

  • Allow writing to this.refs to support string ref codemod 909071
  • Warn for deprecated findDOMNode outside StrictMode c3b283
  • Warn for deprecated test-utils methods d4ea75
  • Warn for deprecated Legacy Context outside StrictMode 415ee0
  • Warn for deprecated string refs outside StrictMode #25383
  • Warn for deprecated defaultProps for function components #25699
  • Warn when spreading key #25697
  • Warn when using act from test-utils d4ea75

React DOM

  • Warn for deprecated unmountComponentAtNode 8a015b
  • Warn for deprecated renderToStaticNodeStream #28874
Commits
Maintainer changes

This version was pushed to npm by react-bot, a new releaser for react since your current version.


Updates @types/react from 18.0.21 to 18.3.11

Commits

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [react](https://github.com/facebook/react/tree/HEAD/packages/react) and [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react). These dependencies needed to be updated together.

Updates `react` from 18.2.0 to 18.3.1
- [Release notes](https://github.com/facebook/react/releases)
- [Changelog](https://github.com/facebook/react/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/react/commits/v18.3.1/packages/react)

Updates `@types/react` from 18.0.21 to 18.3.11
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react)

---
updated-dependencies:
- dependency-name: react
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: "@types/react"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
@dependabot dependabot bot added the dependencies Pull requests that update a dependency file label Oct 7, 2024
Copy link

qodo-merge-pro bot commented Oct 7, 2024

PR-Agent was enabled for this repository. To continue using it, please link your git user with your CodiumAI identity here.

CI Failure Feedback 🧐

Action: build

Failed stage: Build app [❌]

Failed test name: voronoicell_base::add_memory_vertices

Failure summary:

The action failed due to a memory allocation error in the Voronoi cell computation:

  • The function add_memory_vertices in the voronoicell_base class attempted to allocate more memory for
    vertices.
  • The allocation exceeded the absolute maximum set in max_vertices, triggering a fatal error with the
    message "Vertex memory allocation exceeded absolute maximum".

  • Relevant error logs:
    1:  ##[group]Operating System
    2:  Ubuntu
    ...
    
    1193:  - Added new example simulations
    1194:  - Added SSAO support for improved rendering
    1195:  - Added render settings
    1196:  - Added progressbar during simulation
    1197:  - Adjusted default size on particles and bonds
    1198:  - Syncing with LAMMPS during energy minimization
    1199:  - Fixed bad coloring when LAMMPS changes ordering of atoms
    1200:  ## [0.1.5] Oct 16th 2022
    1201:  - Showing last LAMMPS command in error
    1202:  - UI is more mobile friendly
    1203:  - Showing console after simulation is finished
    1204:  ## [0.1.4] Oct 15th 2022
    1205:  - Added stop button
    1206:  - Added console to show LAMMPS output
    1207:  - Handling exceptions from LAMMPS to show command errors
    ...
    
    1285:  print("Copying compiled files into src directory ...")
    1286:  shutil.copyfile("lammps.wasm", "../public/lammps.wasm")
    1287:  # shutil.copyfile("lammps.mjs", "../src/wasm/lammps.mjs")
    1288:  with open('lammps.mjs') as f:
    1289:  content = f.read()
    1290:  with open("../src/wasm/lammps.mjs", "w") as g:
    1291:  g.write("/* eslint-disable */\n")
    1292:  g.write(content)
    1293:  diff --git a/src/error.cpp b/src/error.cpp
    1294:  index 912093c..da78f2e 100644
    1295:  --- a/src/error.cpp
    1296:  +++ b/src/error.cpp
    1297:  @@ -162,8 +162,8 @@ void Error::all(const std::string &file, int line, const std::string &str)
    1298:  if (update) update->whichflag = 0;
    1299:  -  std::string msg = fmt::format("ERROR: {} ({}:{})\n",
    1300:  -                                str, truncpath(file), line);
    1301:  +  std::string msg = fmt::format("ERROR: {} ({}:{})\nLast command: {}",
    ...
    
    1341:  +    //   meminfo[2] = (double)ru.ru_maxrss/1024.0;
    1342:  #endif
    1343:  }
    1344:  diff --git a/src/input.h b/src/input.h
    1345:  index f54d2ea..a78b3d6 100644
    1346:  --- a/src/input.h
    1347:  +++ b/src/input.h
    1348:  @@ -26,7 +26,6 @@ class Input : protected Pointers {
    1349:  friend class Error;
    ...
    
    1867:  #include "atom.h"
    1868:  #include "comm.h"
    1869:  #include "neighbor.h"
    1870:  #include "neigh_request.h"
    1871:  #include "neigh_list.h"
    1872:  #include "memory.h"
    1873:  #include "compute.h"
    1874:  #include "modify.h"
    1875:  #include "error.h"
    ...
    
    1901:  mask |= END_OF_STEP;
    1902:  mask |= MIN_POST_FORCE;
    1903:  return mask;
    1904:  }
    1905:  /* ---------------------------------------------------------------------- */
    1906:  void FixAtomify::init()
    1907:  {
    1908:  if (callback == NULL)
    1909:  error->all(FLERR,"Fix atomify callback function not set");
    ...
    
    1923:  bigint natoms;
    1924:  bigint nblocal = atom->nlocal;
    1925:  MPI_Allreduce(&nblocal,&natoms,1,MPI_LMP_BIGINT,MPI_SUM,world);
    1926:  if (natoms != atom->natoms && comm->me == 0) {
    1927:  char str[128];
    1928:  sprintf(str,
    1929:  "Lost atoms: original " BIGINT_FORMAT " current " BIGINT_FORMAT,
    1930:  atom->natoms,natoms);
    1931:  error->all(FLERR,str);
    ...
    
    1947:  if(compute->peatomflag || compute->peflag || compute->pressatomflag || compute->pressflag) {
    1948:  compute->addstep(update->ntimestep+1);
    1949:  }
    1950:  }
    1951:  }
    1952:  void FixAtomify::end_of_step()
    1953:  {
    1954:  if (m_cancel) {
    1955:  error->all(FLERR, "Atomify::canceled");
    ...
    
    1975:  void FixAtomify::cancel()
    1976:  {
    1977:  m_cancel = true;
    1978:  }
    1979:  /* ---------------------------------------------------------------------- */
    1980:  void FixAtomify::min_post_force(int vflag)
    1981:  {
    1982:  if (m_cancel) {
    1983:  error->all(FLERR, "Atomify::canceled");
    ...
    
    2040:  bool build_neighborlist;
    2041:  int neighborlist_built_at_timestep;
    2042:  bool m_cancel;
    2043:  int sync_frequency; // how often to perform expensive sync of positions and computes
    2044:  };
    2045:  }
    2046:  #endif
    2047:  #endif
    2048:  /* ERROR/WARNING messages:
    ...
    
    2070:  #include "compute_pressure.h"
    2071:  #include "compute_rdf.h"
    2072:  #include "compute_msd.h"
    2073:  #include "compute_vacf.h"
    2074:  #include "compute_com.h"
    2075:  #include "compute_gyration.h"
    2076:  #include "compute.h"
    2077:  #include "variable.h"
    2078:  #include "error.h"
    ...
    
    2347:  return reinterpret_cast<long>(m_origo);
    2348:  }
    2349:  bool LAMMPSWeb::getIsRunning() {
    2350:  return m_lmp->update->whichflag!=0;
    2351:  }
    2352:  int LAMMPSWeb::getNumAtoms() {
    2353:  return lammps_get_natoms((void *)m_lmp);
    2354:  }
    2355:  std::string LAMMPSWeb::getErrorMessage() {
    2356:  if (!m_lmp) {
    2357:  return "";
    2358:  }
    2359:  return m_lmp->error->get_last_error();
    ...
    
    2599:  }
    2600:  m_lmp = (LAMMPS_NS::LAMMPS *)lammps_open_no_mpi(0, 0, nullptr);
    2601:  lammps_command(m_lmp, "fix atomify all atomify");
    2602:  if(!fixExists("atomify")) {
    2603:  std::cerr << "Damn, could not create the fix... :/" << std::endl;
    2604:  }
    2605:  LAMMPS_NS::Fix *originalFix = findFixByIdentifier(std::string("atomify"));
    2606:  if(!originalFix) {
    2607:  throw std::runtime_error("Could not find fix with name atomify.");
    ...
    
    2670:  long getOrigoPointer();
    2671:  int getNumAtoms();
    2672:  double getTimestepsPerSecond();
    2673:  double getCPURemain();
    2674:  int getWhichFlag();
    2675:  bool getIsRunning();
    2676:  void setSyncFrequency(int frequency);
    2677:  void setBuildNeighborlist(bool buildNeighborlist);
    2678:  std::string getErrorMessage();
    ...
    
    2723:  // Binding code
    2724:  EMSCRIPTEN_BINDINGS(LAMMPSWeb)
    2725:  {
    2726:  class_<LAMMPSWeb>("LAMMPSWeb")
    2727:  .constructor<>()
    2728:  .function("setBuildNeighborlist", &LAMMPSWeb::setBuildNeighborlist)
    2729:  .function("setSyncFrequency", &LAMMPSWeb::setSyncFrequency)
    2730:  .function("getIsRunning", &LAMMPSWeb::getIsRunning)
    2731:  .function("getErrorMessage", &LAMMPSWeb::getErrorMessage)
    ...
    
    2845:  #include "string.h"
    2846:  #include "pair_lj_charmm_coul_charmm_inter.h"
    2847:  #include "atom.h"
    2848:  #include "comm.h"
    2849:  #include "force.h"
    2850:  #include "neighbor.h"
    2851:  #include "neigh_list.h"
    2852:  #include "memory.h"
    2853:  #include "error.h"
    ...
    
    3081:  cutljsq_minus_rsq = (cut_ljsq-rsq);
    3082:  cutljsq_minus_rsq_sq = cutljsq_minus_rsq * cutljsq_minus_rsq;
    3083:  switch1_lj = cutljsq_minus_rsq_sq *
    3084:  (cut_ljsq + 2.0*rsq - 3.0*cut_lj_innersq) * denom_lj_inv;
    3085:  switch2_lj = 12.0*rsq * cutljsq_minus_rsq * 
    3086:  (rsq-cut_lj_innersq) * denom_lj_inv;
    3087:  }
    3088:  //forcelj = forcelj*switch1_lj + philj*switch2_lj;
    3089:  //fprintf(stderr,"ACCESS ERROR: reached %s:%d\n",__FILE__,__LINE__);
    ...
    
    3125:  else {
    3126:  //  Soft-core repulsive function
    3127:  if (core_singular)
    3128:  //    Ulj(r) = (_core_coeff/r^2  + _core_offset) * switch1_lj(r)
    3129:  philj = _core_coeff * r2inv + _core_offset;
    3130:  else
    3131:  //    Ulj(r) = (_core_coeff*r^2  + _core_offset) * switch1_lj(r)
    3132:  philj = _core_coeff * rsq + _core_offset;
    3133:  //fprintf(stderr,"ACCESS ERROR: reached %s:%d\n",__FILE__,__LINE__);
    ...
    
    3277:  bigint b_mol_lo, b_mol_hi, b_jmol_lo, b_jmol_hi;
    3278:  int nargs_delete = 0;
    3279:  // Is this argument a number?
    3280:  char *pc;
    3281:  strtod(vArgs[i].c_str(), &pc);
    3282:  if (strlen(pc) != 0) // then vArgs[i] is not a number
    3283:  { 
    3284:  if (vArgs[i] == "both") {
    3285:  utils::bounds(FLERR,vArgs[i+1],1,MAXTAGINT-1,b_mol_lo,b_mol_hi,error);
    3286:  utils::bounds(FLERR,vArgs[i+2],1,MAXTAGINT-1,b_jmol_lo,b_jmol_hi,error);
    ...
    
    3289:  jmol_lo = b_jmol_lo;
    3290:  jmol_hi = b_jmol_hi;
    3291:  invert_selection = 0;        //= false;
    3292:  either_irange_or_jrange = 0; //= false;
    3293:  ignore_imol_equals_jmol = 1; //= true;
    3294:  nargs_delete = 3;
    3295:  }
    3296:  else if (vArgs[i] == "nboth") {
    3297:  utils::bounds(FLERR,vArgs[i+1],1,MAXTAGINT-1,b_mol_lo,b_mol_hi,error);
    3298:  utils::bounds(FLERR,vArgs[i+2],1,MAXTAGINT-1,b_jmol_lo,b_jmol_hi,error);
    ...
    
    3301:  jmol_lo = b_jmol_lo;
    3302:  jmol_hi = b_jmol_hi;
    3303:  invert_selection = 1;        //= true;
    3304:  either_irange_or_jrange = 0; //= false;
    3305:  ignore_imol_equals_jmol = 1; //= true;
    3306:  nargs_delete = 3;
    3307:  }
    3308:  else if (vArgs[i] == "either") {
    3309:  utils::bounds(FLERR,vArgs[i+1],1,MAXTAGINT-1,b_mol_lo,b_mol_hi,error);
    ...
    
    3312:  jmol_lo = mol_lo;
    3313:  jmol_hi = mol_hi;
    3314:  invert_selection = 0;        //= false;
    3315:  either_irange_or_jrange = 1; //= true;
    3316:  ignore_imol_equals_jmol = 1; //= true;
    3317:  nargs_delete = 2;
    3318:  }
    3319:  else if (vArgs[i] == "neither") {
    3320:  utils::bounds(FLERR,vArgs[i+1],1,MAXTAGINT-1,b_mol_lo,b_mol_hi,error);
    ...
    
    3323:  jmol_lo = mol_lo;
    3324:  jmol_hi = mol_hi;
    3325:  invert_selection = 1;        //= true;
    3326:  either_irange_or_jrange = 1; //= true;
    3327:  ignore_imol_equals_jmol = 1; //= true;
    3328:  nargs_delete = 2;
    3329:  }
    3330:  else if (vArgs[i] == "nucleate") {
    3331:  utils::bounds(FLERR,vArgs[i+1],1,MAXTAGINT-1,b_mol_lo,b_mol_hi,error);
    ...
    
    3342:  //ignore_imol_equals_jmol = 0; //= false;
    3343:  mi_neq_mj_override = true;
    3344:  nargs_delete = 1;
    3345:  }
    3346:  else {
    3347:  char err_msg[2048];
    3348:  sprintf(err_msg, "Unrecognized argument to pair_style command:\n"
    3349:  "       \"%s\"\n", vArgs[i].c_str());
    3350:  error->all(FLERR,"Unrecognized argument to pair_style command");
    3351:  }
    3352:  // now delete the argument(s) we just processed
    3353:  if (i+nargs_delete > vArgs.size()) {
    3354:  error->all(FLERR,
    ...
    
    3359:  } //if (strlen(pc) != 0)
    3360:  else
    3361:  i++;
    3362:  } //while (i < vArgs.size())
    3363:  if (mi_neq_mj_override)
    3364:  ignore_imol_equals_jmol = 0; //= false;
    3365:  // What's left over are the numerical arguments:
    3366:  if ((vArgs.size() != 2) && (vArgs.size() != 4))
    3367:  error->all(FLERR, "Illegal pair_style command (wrong number of arguments)");
    ...
    
    3380:  (coeff_style == COEFF_EPS_SIG_X_1n2) ||
    3381:  (coeff_style == COEFF_EPS_SIG_X_11L) ||
    3382:  (coeff_style == COEFF_EPS_SIG_X_44L) ||
    3383:  (coeff_style == COEFF_EPS_SIG_X_12L))
    3384:  {
    3385:  // These coeff styles use U(r) = X*r^2 + offset   for small r < rc
    3386:  //                         (where rc=sqrt(aa_cut_core_sqd[i][j]))
    3387:  if (core_singular) {
    3388:  error->all(FLERR, " \"pair_style lj/charmm/coul/charmm/inter\" command:\n"
    ...
    
    3392:  "by an initial guess for the cutoff radius (in units of sigma). If you\n"
    3393:  "did NOT plan to use a soft core, then use a different coeff_style, such as\n"
    3394:  "\"es\", \"es1-2\", \"eskl\", \"esx4k4l\", or \"es1k2l\"\n");
    3395:  }
    3396:  core_singular = false;
    3397:  #ifndef ENABLE_SOFTCORE2 
    3398:  {
    3399:  char err_msg[2048];
    3400:  sprintf(err_msg, "Error in \"pair_style\" command:\n"
    3401:  "The \"coeff_style\" you selected indicates you want to use softcore potential.\n"
    3402:  "But this version of LAMMPS was not compiled with support softcore potentials.\n"
    3403:  "To enable this feature, edit the\n"
    3404:  "   \"%s\" and \"pair_lj_softcore2.cpp\" files, and \n"
    3405:  "uncomment the line(s) containing \"#define ENABLE_SOFTCORE2\"\n"
    3406:  "(near the beginning of each file).\n"
    3407:  "Then recompile.\n", __FILE__);
    3408:  error->all(FLERR, err_msg);
    3409:  }
    3410:  #endif
    3411:  }
    3412:  else {
    3413:  // All other coeff styles use U(r) = X/r^2 + offset   for small r < rc
    3414:  //                         (where rc=sqrt(aa_cut_core_sqd[i][j]))
    3415:  if (! core_singular) {
    3416:  error->all(FLERR, " \"pair_style lj/charmm/coul/charmm/inter\" command:\n"
    ...
    
    3425:  /* ----------------------------------------------------------------------
    3426:  set coeffs for one or more type pairs
    3427:  ------------------------------------------------------------------------- */
    3428:  void PairLJCharmmCoulCharmmInter::coeff(int narg, char **arg)
    3429:  {
    3430:  char err_msg[1024];
    3431:  if (coeff_style == COEFF_AB) {
    3432:  if ((narg != 2+2) && (narg != 4+2) && (narg != 6+2))
    3433:  error->all(FLERR,"Incorrect args for pair coefficients");
    3434:  }
    3435:  else if (UsesABcoeffs() || UsesEScoeffs()) 
    3436:  // ((coeff_style == COEFF_AB) ||
    3437:  //  (coeff_style == COEFF_EPS_SIG_4n4) ||
    3438:  //  (coeff_style == COEFF_EPS_SIG_1n2))
    3439:  {
    3440:  if ((narg != 2+2) && (narg != 4+2) && (narg != 6+2))
    3441:  error->all(FLERR,"Incorrect args for pair coefficients");
    3442:  }
    3443:  else if (UsesESKcoeffs())
    3444:  // ((coeff_style == COEFF_EPS_SIG_X_4n4) ||
    3445:  //  (coeff_style == COEFF_EPS_SIG_X_1n2))
    3446:  {
    3447:  if ((narg != 3+2) && (narg != 6+2) && (narg != 9+2))
    3448:  error->all(FLERR,"Incorrect args for pair coefficients");
    ...
    
    3451:  //((coeff_style == COEFF_EPS_SIG_KL) ||
    3452:  // (coeff_style == COEFF_EPS_SIG_4K4L) ||
    3453:  // (coeff_style == COEFF_EPS_SIG_1K2L) ||
    3454:  // (coeff_style == COEFF_EPS_SIG_X_11L) ||
    3455:  // (coeff_style == COEFF_EPS_SIG_X_44L) ||
    3456:  // (coeff_style == COEFF_EPS_SIG_X_12L))
    3457:  {
    3458:  if ((narg != 4+2) && (narg != 8+2) && (narg != 12+2))
    3459:  error->all(FLERR,"Incorrect args for pair coefficients");
    3460:  }
    3461:  else
    3462:  assert(false); // should not be reached
    3463:  if (!allocated) allocate();
    3464:  int ilo,ihi,jlo,jhi;
    3465:  utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error);
    3466:  utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error);
    ...
    
    3500:  #ifdef ENABLE_INTER_DIF
    3501:  ADIF_one = utils::numeric(FLERR,arg[6],false,lmp);
    3502:  BDIF_one = utils::numeric(FLERR,arg[7],false,lmp);
    3503:  #else
    3504:  sprintf(err_msg, "This version of LAMMPS was compiled without support for\n"
    3505:  "custom inter-vs-intra-molecular pairwise forces.  To fix this,\n"
    3506:  "the \"ENABLE_INTER_DIF\" macro must be defined in source\n"
    3507:  "file \"%s\".\n", __FILE__);
    3508:  error->all(FLERR, err_msg);
    ...
    
    3520:  #ifdef ENABLE_INTER_DIF
    3521:  epsDIF_one = utils::numeric(FLERR,arg[6],false,lmp);
    3522:  sigmaDIF_one = utils::numeric(FLERR,arg[7],false,lmp);
    3523:  #else
    3524:  sprintf(err_msg, "This version of LAMMPS was compiled without support for\n"
    3525:  "custom inter-vs-intra-molecular pairwise forces.  To fix this,\n"
    3526:  "the \"ENABLE_INTER_DIF\" macro must be defined in source\n"
    3527:  "file \"%s\".\n", __FILE__);
    3528:  error->all(FLERR, err_msg);
    ...
    
    3550:  epsDIF_one = utils::numeric(FLERR,arg[8],false,lmp);
    3551:  sigmaDIF_one = utils::numeric(FLERR,arg[9],false,lmp);
    3552:  kappaDIF_one = utils::numeric(FLERR,arg[10],false,lmp);
    3553:  #else
    3554:  sprintf(err_msg, "This version of LAMMPS was compiled without support for\n"
    3555:  "custom inter-vs-intra-molecular pairwise forces.  To fix this,\n"
    3556:  "the \"ENABLE_INTER_DIF\" macro must be defined in source\n"
    3557:  "file \"%s\".\n", __FILE__);
    3558:  error->all(FLERR, err_msg);
    ...
    
    3586:  sigmaDIF_one = utils::numeric(FLERR,arg[11],false,lmp);
    3587:  kappaDIF_one = utils::numeric(FLERR,arg[12],false,lmp);
    3588:  lambdaDIF_one = utils::numeric(FLERR,arg[13],false,lmp);
    3589:  #else
    3590:  sprintf(err_msg, "This version of LAMMPS was compiled without support for\n"
    3591:  "custom inter-vs-intra-molecular pairwise forces.  To fix this,\n"
    3592:  "the \"ENABLE_INTER_DIF\" macro must be defined in source\n"
    3593:  "file \"%s\".\n", __FILE__);
    3594:  error->all(FLERR, err_msg);
    ...
    
    3626:  kappaDIF[i][j] = kappaDIF_one;
    3627:  lambdaDIF[i][j] = lambdaDIF_one;
    3628:  #endif
    3629:  }
    3630:  setflag[i][j] = 1;
    3631:  count++;
    3632:  }
    3633:  }
    3634:  if (count == 0) error->all(FLERR,"Incorrect args for pair coefficients");
    3635:  } //PairLJCharmmCoulCharmmInter::coeff()
    3636:  /* ----------------------------------------------------------------------
    3637:  init specific to this pair style
    3638:  ------------------------------------------------------------------------- */
    3639:  void PairLJCharmmCoulCharmmInter::init_style()
    3640:  {
    3641:  if (!atom->q_flag)
    3642:  error->all(FLERR,
    3643:  "Pair style lj/charmm/coul/charmm/inter requires atom attribute q");
    3644:  neighbor->request(this);
    3645:  // require cut_lj_inner < cut_lj, cut_coul_inner < cut_coul
    3646:  if (((cut_lj_inner >= cut_lj) && (cut_lj_inner > 0.0))
    3647:  || 
    3648:  ((cut_coul_inner >= cut_coul) && (cut_coul_inner > 0.0)))
    3649:  {
    3650:  error->all(FLERR,"Pair inner cutoff >= Pair outer cutoff");
    ...
    
    3725:  //                          lj14_3,
    3726:  //                          lj14_4);
    3727:  if ((cut_core_sigma > 0.0) && (coeff_style != COEFF_AB))
    3728:  {
    3729:  // Here we try to insure that 1-4 interactions are explicitly 
    3730:  // turned off by the user whenever "core" cutoffs are in use.
    3731:  if ((lj14_3[i][j] > 1.0e-7 * fabs(lj3[i][j])) ||
    3732:  (lj14_4[i][j] > 1.0e-7 * fabs(lj4[i][j]))) {
    3733:  error->all(FLERR, 
    ...
    
    3738:  "         U0-k*r^2 or U0+k/r^2 approximations at small r.)\n"
    3739:  "\n"
    3740:  "YOU CAN NOT OMIT THE 1-4 PARAMETERS.  You must set them to 0.\n"
    3741:  "\n"
    3742:  "IF YOU NEED 1-4 INTERACTIONS, then use the \"special_bonds\" command.\n"
    3743:  "(For example \"special_bonds lj/coul 0.0 0.0 0.5\". This will use the ordinary\n"
    3744:  "epsilon and sigma parameters, and weight the final interaction by 0.5.)\n"
    3745:  "\n"
    3746:  "I left it this way intentionally so that you would see this error message\n"
    ...
    
    3750:  //   I can't think of any reason the core cutoff should
    3751:  //   ever be allowed to exceed any of the other lennard-jones cutoffs.
    3752:  //   I might change my mind later and uncomment this check below:
    3753:  //   -Andrew 2014-6-12
    3754:  //
    3755:  if (cut_core_sqd[i][j] > cut_lj_innersq) {
    3756:  char err_msg[4096];
    3757:  sprintf(err_msg, "Core cuttoff for atom types %d & %d exceeds the inner LJ switch cutoff radius\n", i,j);
    3758:  error->all(FLERR, err_msg);
    ...
    
    4109:  forcelj = _core_D_coeff * r2inv; //(will be divided by rij later)
    4110:  philj   = _core_coeff * r2inv + _core_offset;
    4111:  }
    4112:  else {
    4113:  //    Ulj(r) = (_core_coeff*r^2  + _core_offset) * switch1_lj(r)
    4114:  forcelj = _core_D_coeff * rsq;   //(will be divided by rij later)
    4115:  philj   = _core_coeff * rsq + _core_offset;
    4116:  }
    4117:  //fprintf(stderr,"ACCESS ERROR: reached %s:%d\n",__FILE__,__LINE__);
    ...
    
    4238:  return (((imol != jmol) && (in_selection || selection_unspecified))
    4239:  ||
    4240:  (ignore_imol_equals_jmol && in_selection));
    4241:  }
    4242:  };  //class PairLJCharmmCoulCharmmInter
    4243:  } //namespace LAMMPS_NS
    4244:  #endif //#ifndef LMP_PAIR_LJ_CHARMM_COUL_CHARMM_INTER_H
    4245:  #endif //#ifdef PAIR_CLASS
    4246:  /* ERROR/WARNING messages:
    ...
    
    4271:  #include <cstdlib>
    4272:  #include <cstring>
    4273:  #include <cassert>
    4274:  using namespace std;
    4275:  #include "atom.h"
    4276:  #include "comm.h"
    4277:  #include "force.h"
    4278:  #include "memory.h"
    4279:  #include "error.h"
    ...
    
    4397:  double Ki = sign_Ki;
    4398:  double Kj = sign_Kj;
    4399:  double Li = sign_Li;
    4400:  double Lj = sign_Lj;
    4401:  MixKL(Ki, Kj, Li, Lj, Kij, Lij);
    4402:  // Make sure their integers. 
    4403:  // (Sometimes you get fractions like 0.5 when "arithmetic" sign-mixing is used.)
    4404:  if ((Kij != floor(Kij)) or (Lij != floor(Lij)))
    4405:  error->all(FLERR,
    4406:  "Illegal coeff-style and sign-mix-style combination for pair_style. The style\n"
    4407:  "you have selected requires the ability to represent fractional K and L\n"
    4408:  "coefficients, which can't be done using negative epsilon or sigma.\n"
    4409:  "You must explicitly set K, L for each atom (using \"eskl\" or \"eskl2\").\n");
    4410:  // Make sure the result can be encoded by one of the 4 choices in table above
    4411:  // For example, there is no way to represent Lennard-Jones forces with 
    4412:  // attractive singularities using epsilon and sigma alone.  If the resulting
    4413:  // Kij=0 and Lij=-1 or 0, then print an error message.
    4414:  if ((Kij <= 0) && (Lij <=0))
    4415:  error->all(FLERR,
    ...
    
    4474:  }
    4475:  } //signKL_to_signES()
    4476:  double PairLJRemix::
    4477:  chksgn(double x, int expected_sign) const
    4478:  {
    4479:  char err_msg[2048];
    4480:  if ((expected_sign > 0) && (x < 0)) {
    4481:  sprintf(err_msg, "Negative pair coeff (%g) forbidden under these conditions.", x);
    4482:  error->all(FLERR, err_msg);
    4483:  }
    4484:  else if ((expected_sign < 0) && (x > 0)) {
    4485:  sprintf(err_msg, "Positive pair coeff (%g) forbidden under these conditions.", x);
    4486:  error->all(FLERR, err_msg);
    ...
    
    4571:  else if (vArgs[i] == "mix_es_from_ab") {
    4572:  sign_mix_style = MIX_ES_FROM_AB;
    4573:  nargs_delete = 1;
    4574:  }
    4575:  else
    4576:  i++;
    4577:  // now delete the argument(s) we just processed
    4578:  if (i+nargs_delete > vArgs.size()) {
    4579:  error->all(FLERR,
    ...
    
    4645:  ABtoEpsSig4n4(chksgn(aa_lj3[j][j]), chksgn(aa_lj4[j][j]), 
    4646:  aa_eps[j][j], aa_sigma[j][j]);
    4647:  // Now compute the mixed epsilon and sigma
    4648:  aa_eps[i][j] = mix_energy(aa_eps[i][i], aa_eps[j][j],
    4649:  aa_sigma[i][i], aa_sigma[j][j]);
    4650:  aa_sigma[i][j] = mix_distance(aa_sigma[i][i], aa_sigma[j][j]);
    4651:  } //if (sign_mix_style == MIX_ES_FROM_AB}
    4652:  else {
    4653:  error->all(FLERR,
    ...
    
    4811:  Contributing author: Andrew Jewett  (jewett.aij at gmail)
    4812:  ------------------------------------------------------------------------- */
    4813:  #ifndef LMP_PAIR_LJ_REMIX_H
    4814:  #define LMP_PAIR_LJ_REMIX_H
    4815:  #include <cmath>
    4816:  #include <string>
    4817:  #include <vector>
    4818:  using namespace std;
    4819:  #include "error.h"
    ...
    
    5005:  {
    5006:  ABKLtoEpsSig(A, B, 1.0, -2.0, epsilon, sigma);
    5007:  }
    5008:  static void signES_to_signKL(double sign_epsilon, double sign_sigma, 
    5009:  int &K, int &L);
    5010:  static void signKL_to_signES(double K, double L, 
    5011:  int &sign_e, int &sign_s);
    5012:  // Make sure the numeric argument is positive (or negative).
    5013:  // If so, return the original number.  Otherwise, print an error.
    ...
    
    5052:  #include <cstdlib>
    5053:  #include <cstring>
    5054:  #include <cassert>
    5055:  using namespace std;
    5056:  #include "atom.h"
    5057:  #include "comm.h"
    5058:  #include "force.h"
    5059:  #include "memory.h"
    5060:  #include "error.h"
    ...
    
    5062:  #define NDEBUG //(disable assert())
    5063:  #define ENABLE_SOFTCORE2
    5064:  using namespace LAMMPS_NS;
    5065:  PairLJSoftcore2::
    5066:  PairLJSoftcore2(LAMMPS *lmp) : PairLJRemix(lmp)
    5067:  {
    5068:  cut_core_sigma = -1.0;   // Dissable the softcore cutoff (default: disabled)
    5069:  core_singular = 0;       // potential energy diverges as r->0 if cut_core_sigma>0 (default: no)
    5070:  ignore_large_rcore = 0;  // Generate error messages if cutoff is too large (default: no)
    ...
    
    5120:  (vArgs[i] == "roverride"))
    5121:  {
    5122:  char err_msg[1024];
    5123:  #ifdef ENABLE_SOFTCORE2
    5124:  if (i+1 >= vArgs.size()) {
    5125:  sprintf(err_msg,"The \"%s\" keyword must be followed by a number.\n"
    5126:  "(the ratio of the core cutoff radius divided by sigma)\n",
    5127:  vArgs[i].c_str());
    5128:  error->all(FLERR, err_msg);
    ...
    
    5137:  cut_core_sigma = utils::numeric(FLERR,vArgs[i+1].c_str(),false,lmp);
    5138:  nargs_delete = 2;
    5139:  #else
    5140:  sprintf(err_msg, "This version of LAMMPS was not compiled with support for \"rsoftcore\".\n"
    5141:  "To enable softcore potentials, edit the\n"
    5142:  "   \"%s\" file, and\n"
    5143:  "uncomment the line containing \"#define ENABLE_SOFTCORE2\"\n"
    5144:  "(near the beginning of the file) and recompile\n", __FILE__);
    5145:  error->all(FLERR, err_msg);
    5146:  #endif //#ifdef ENABLE_SOFTCORE2
    5147:  } //if ((vArgs[i] == "rsoftcore") || ...
    5148:  else
    5149:  i++;
    5150:  // now delete the argument(s) we just processed
    5151:  if (i+nargs_delete > vArgs.size()) {
    5152:  error->all(FLERR,
    ...
    
    5155:  vArgs.erase(vArgs.begin() + i,
    5156:  vArgs.begin() + i + nargs_delete);
    5157:  } //if (strlen(pc) != 0)
    5158:  else
    5159:  i++;
    5160:  } //while (i < vArgs.size())
    5161:  #ifdef ENABLE_SOFTCORE2
    5162:  if ((cut_core_sigma > 0.0) && (coeff_style == COEFF_AB))
    5163:  error->all(FLERR, "pair_style arguments clash.  You can not specify a core cutoff distance\n"
    ...
    
    5179:  if (coeff_style == COEFF_AB) {
    5180:  char err_msg[1024];
    5181:  sprintf(err_msg, 
    5182:  "You have requested a softcore potential (\"rsoftcore\" or \"roverride\")\n"
    5183:  "but you appear to be using an incompatible coeff_style (such as \"ab\").\n"
    5184:  "You must use a different coeff_style which allows you to explicitly\n"
    5185:  "specify the \"sigma\" parameter, such as \"eskl\", or \"es4-4\".\n"
    5186:  "See the documentation for this pair style.\n");
    5187:  error->all(FLERR, err_msg);
    ...
    
    5208:  aa_core_coeff[i][j]=((exponent_a/2.0)*aa_lj3[i][j]/pow(rc,(exponent_a-2.0)))
    5209:  + ((-exponent_b/2.0)*aa_lj4[i][j]/pow(rc,(exponent_b-2.0)));
    5210:  aa_core_offset[i][j]     = (aa_lj3[i][j]/pow(rc,exponent_a))
    5211:  + (-aa_lj4[i][j]/pow(rc,exponent_b)) 
    5212:  + (-aa_core_coeff[i][j]/(rc*rc));
    5213:  aa_core_D_coeff[i][j]    = 2 * aa_core_coeff[i][j];    
    5214:  if (aa_core_coeff[i][j] < 0.0) 
    5215:  core_is_large = true;
    5216:  //   Error checks:
    ...
    
    5221:  "This is probably because the cutoff radius for your soft core repulsion\n"
    5222:  "(\"rsoftcore\" argument) is too large.  (Yours is %g x sigma=%g)\n"
    5223:  "Remember that the number after the \"rsoftcore\" keyword should be in units\n"
    5224:  "of \"sigma\", not in natural physical units (like Angstroms).\n"
    5225:  "\n"
    5226:  "(If you know what you are doing and wish to override this warming\n"
    5227:  "then replace \"rsoftcore\" with \"roverride\" before the numeric argument.)\n", 
    5228:  i, j, cut_core_sigma, rc);
    5229:  error->all(FLERR, err_msg);
    ...
    
    5281:  rc_lo = 0.5 * (rc_lo + rc_hi);
    5282:  //rc_hi is unchanged;
    5283:  }
    5284:  assert(rc_hi > rc_lo);
    5285:  rc = 0.5 * (rc_lo + rc_hi);
    5286:  } //while (rc_hi - rc_lo > convergence_threshold)
    5287:  if (rc < convergence_threshold) {
    5288:  char err_msg[2048];
    5289:  sprintf(err_msg, "Error in \"softcore\" parameters for\n"
    5290:  "       interactions between atom types %d and %d.\n"
    5291:  "Unable to smoothly join U(r)=C*r^2 + X to the Lennard-Jones curve\n"
    5292:  "(to keep U(r) and dU/dr continuous).\n"
    5293:  "This is probably a sign error in the other parameters (eg X or L).\n"
    5294:  "Also try increasing the \"rsoftcore\" parameter (currently %g),\n"
    5295:  "or try changing the \"X\" parameter (currently %g)\n",
    5296:  i, j, cut_core_sigma, core_offset);
    5297:  error->all(FLERR, err_msg);
    ...
    
    5399:  Contributing author: Andrew Jewett  (jewett.aij at gmail)
    5400:  ------------------------------------------------------------------------- */
    5401:  #ifndef LMP_PAIR_LJ_SOFTCORE2_H
    5402:  #define LMP_PAIR_LJ_SOFTCORE2_H
    5403:  #include <cmath>
    5404:  #include <string>
    5405:  #include <vector>
    5406:  using namespace std;
    5407:  #include "error.h"
    ...
    
    5575:  }
    5576:  /* ---------------------------------------------------------------------- */
    5577:  int MPI_Comm_size(MPI_Comm comm, int *nprocs)
    5578:  {
    5579:  *nprocs = 1;
    5580:  return 0;
    5581:  }
    5582:  /* ---------------------------------------------------------------------- */
    5583:  int MPI_Abort(MPI_Comm comm, int errorcode)
    ...
    
    8513:  con.draw_particles("find_voro_cell_p.gnu");
    8514:  // Scan a 2D slice in the container, and for each point in the slice,
    8515:  // find the Voronoi cell that the point is in. Store a vector
    8516:  FILE *f1=safe_fopen("find_voro_cell.vec","w");
    8517:  for(x=0.5*h;x<1;x+=h) for(y=0.5*h;y<1;y+=h) {
    8518:  if(con.find_voronoi_cell(x,y,0.5,rx,ry,rz,i))
    8519:  fprintf(f1,"%g %g %g %g %g %g %g\n",x,y,0.5,rx-x,ry-y,rz-0.5,
    8520:  sqrt((rx-x)*(rx-x)+(ry-y)*(ry-y)+(rz-0.5)*(rz-0.5)));
    8521:  else fprintf(stderr,"# find_voronoi_cell error for %g %g 0.5\n",x,y);
    ...
    
    8524:  // Create a blank array for storing the sampled Voronoi volumes
    8525:  int samp_v[particles];
    8526:  for(i=0;i<particles;i++) samp_v[i]=0;
    8527:  // Scan over a grid covering the entire container, finding which
    8528:  // Voronoi cell each point is in, and tallying the result as a method
    8529:  // of sampling the volume of each Voronoi cell
    8530:  for(z=0.5*h;z<1;z+=h) for(y=0.5*h;y<1;y+=h) for(x=0.5*h;x<1;x+=h) {
    8531:  if(con.find_voronoi_cell(x,y,z,rx,ry,rz,i)) samp_v[i]++;
    8532:  else fprintf(stderr,"# find_voronoi_cell error for %g %g %g\n",x,y,z);
    ...
    
    15660:  <div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;                <a class="code" href="classvoro_1_1voronoicell__base.html#a2b115cbde725e468000a1da234b2fc66">mep</a>[i]=<span class="keyword">new</span> <span class="keywordtype">int</span>[init_n_vertices*s];</div>
    15661:  <div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;                <a class="code" href="classvoro_1_1voronoicell__base.html#aafad86ca11af64de2788637b466479f6">mem</a>[i]=init_n_vertices;</div>
    15662:  <div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;<span class="preprocessor">#if VOROPP_VERBOSE &gt;=2</span></div>
    15663:  <div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;<span class="preprocessor"></span>                fprintf(stderr,<span class="stringliteral">&quot;Order %d vertex memory created\n&quot;</span>,i);</div>
    15664:  <div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;<span class="preprocessor">#endif</span></div>
    15665:  <div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;<span class="preprocessor"></span>        } <span class="keywordflow">else</span> {</div>
    15666:  <div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;                <span class="keywordtype">int</span> j=0,k,*l;</div>
    15667:  <div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;                <a class="code" href="classvoro_1_1voronoicell__base.html#aafad86ca11af64de2788637b466479f6">mem</a>[i]&lt;&lt;=1;</div>
    15668:  <div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;                <span class="keywordflow">if</span>(<a class="code" href="classvoro_1_1voronoicell__base.html#aafad86ca11af64de2788637b466479f6">mem</a>[i]&gt;max_n_vertices) voro_fatal_error(<span class="stringliteral">&quot;Point memory allocation exceeded absolute maximum&quot;</span>,<a class="code" href="config_8hh.html#a5dc0616f8a67ae3d1c2ba8a3dcf5612b">VOROPP_MEMORY_ERROR</a>);</div>
    ...
    
    15681:  <div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;                                <span class="keywordtype">int</span> *dsp;</div>
    15682:  <div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;                                <span class="keywordflow">for</span>(dsp=ds2;dsp&lt;stackp2;dsp++) {</div>
    15683:  <div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;                                        <span class="keywordflow">if</span>(<a class="code" href="classvoro_1_1voronoicell__base.html#a85fec05865342d7efca9d9fd11b60342">ed</a>[*dsp]==<a class="code" href="classvoro_1_1voronoicell__base.html#a2b115cbde725e468000a1da234b2fc66">mep</a>[i]+j) {</div>
    15684:  <div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;                                                <a class="code" href="classvoro_1_1voronoicell__base.html#a85fec05865342d7efca9d9fd11b60342">ed</a>[*dsp]=l+j;</div>
    15685:  <div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;                                                vc.n_set_to_aux1_offset(*dsp,m);</div>
    15686:  <div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;                                                <span class="keywordflow">break</span>;</div>
    15687:  <div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;                                        }</div>
    15688:  <div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;                                }</div>
    15689:  <div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;                                <span class="keywordflow">if</span>(dsp==stackp2) voro_fatal_error(<span class="stringliteral">&quot;Couldn&#39;t relocate dangling pointer&quot;</span>,<a class="code" href="config_8hh.html#ad8e0de9d48da06e86dd87884e4a2d47e">VOROPP_INTERNAL_ERROR</a>);</div>
    ...
    
    15697:  <div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;                <span class="keyword">delete</span> [] <a class="code" href="classvoro_1_1voronoicell__base.html#a2b115cbde725e468000a1da234b2fc66">mep</a>[i];</div>
    15698:  <div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;                <a class="code" href="classvoro_1_1voronoicell__base.html#a2b115cbde725e468000a1da234b2fc66">mep</a>[i]=l;</div>
    15699:  <div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;                vc.n_switch_to_aux1(i);</div>
    15700:  <div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;        }</div>
    15701:  <div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;}</div>
    15702:  <div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;<span class="comment"></span></div>
    15703:  <div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;<span class="comment">/** Doubles the maximum number of vertices allowed, by reallocating the ed, nu,</span></div>
    15704:  <div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;<span class="comment"> * and pts arrays. If the allocation exceeds the absolute maximum set in</span></div>
    15705:  <div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;<span class="comment"> * max_vertices, then the routine exits with a fatal error. If the template has</span></div>
    15706:  <div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;<span class="comment"> * been instantiated with the neighbor tracking turned on, then the routine</span></div>
    15707:  <div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;<span class="comment"> * also reallocates the ne array. */</span></div>
    15708:  <div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;<span class="keyword">template</span>&lt;<span class="keyword">class</span> vc_<span class="keyword">class</span>&gt;</div>
    15709:  <div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;<span class="keywordtype">void</span> voronoicell_base::add_memory_vertices(vc_class &amp;vc) {</div>
    15710:  <div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;        <span class="keywordtype">int</span> i=(<a class="code" href="classvoro_1_1voronoicell__base.html#ab0b624e4e72fca14c99bf1c41c430614">current_vertices</a>&lt;&lt;1),j,**pp,*pnu;</div>
    15711:  <div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;        <span class="keywordflow">if</span>(i&gt;max_vertices) voro_fatal_error(<span class="stringliteral">&quot;Vertex memory allocation exceeded absolute maximum&quot;</span>,<a class="code" href="config_8hh.html#a5dc0616f8a67ae3d1c2ba8a3dcf5612b">VOROPP_MEMORY_ERROR</a>);</div>
    ...
    
    15723:  <div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;        ppts=<span class="keyword">new</span> <span class="keywordtype">double</span>[3*i];</div>
    15724:  <div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;        <span class="keywordflow">for</span>(j=0;j&lt;3*<a class="code" href="classvoro_1_1voronoicell__base.html#ab0b624e4e72fca14c99bf1c41c430614">current_vertices</a>;j++) ppts[j]=<a class="code" href="classvoro_1_1voronoicell__base.html#aa4e3f22d4ff450097571e95caeda1b3d">pts</a>[j];</div>
    15725:  <div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;        <span class="keyword">delete</span> [] <a class="code" href="classvoro_1_1voronoicell__base.html#aa4e3f22d4ff450097571e95caeda1b3d">pts</a>;<a class="code" href="classvoro_1_1voronoicell__base.html#aa4e3f22d4ff450097571e95caeda1b3d">pts</a>=ppts;</div>
    15726:  <div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;        current_vertices=i;</div>
    15727:  <div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;}</div>
    15728:  <div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;<span class="comment"></span></div>
    15729:  <div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;<span class="comment">/** Doubles the maximum allowed vertex order, by reallocating mem, mep, and mec</span></div>
    15730:  <div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;<span class="comment"> * arrays. If the allocation exceeds the absolute maximum set in</span></div>
    15731:  <div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;<span class="comment"> * max_vertex_order, then the routine causes a fatal error. If the template has</span></div>
    15732:  <div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;<span class="comment"> * been instantiated with the neighbor tracking turned on, then the routine</span></div>
    15733:  <div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;<span class="comment"> * also reallocates the mne array. */</span></div>
    15734:  <div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;<span class="keyword">template</span>&lt;<span class="keyword">class</span> vc_<span class="keyword">class</span>&gt;</div>
    15735:  <div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;<span class="keywordtype">void</span> voronoicell_base::add_memory_vorder(vc_class &amp;vc) {</div>
    15736:  <div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;        <span class="keywordtype">int</span> i=(<a class="code" href="classvoro_1_1voronoicell__base.html#a14c97918200da778388673728da29274">current_vertex_order</a>&lt;&lt;1),j,*p1,**p2;</div>
    15737:  <div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;        <span class="keywordflow">if</span>(i&gt;max_vertex_order) voro_fatal_error(<span class="stringliteral">&quot;Vertex order memory allocation exceeded absolute maximum&quot;</span>,<a class="code" href="config_8hh.html#a5dc0616f8a67ae3d1c2ba8a3dcf5612b">VOROPP_MEMORY_ERROR</a>);</div>
    ...
    
    15748:  <div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;        <span class="keywordflow">for</span>(j=0;j&lt;<a class="code" href="classvoro_1_1voronoicell__base.html#a14c97918200da778388673728da29274">current_vertex_order</a>;j++) p1[j]=<a class="code" href="classvoro_1_1voronoicell__base.html#accebb51f721d72fc6d460f1368180571">mec</a>[j];<span class="keywordflow">while</span>(j&lt;i) p1[j++]=0;</div>
    15749:  <div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;        <span class="keyword">delete</span> [] <a class="code" href="classvoro_1_1voronoicell__base.html#accebb51f721d72fc6d460f1368180571">mec</a>;<a class="code" href="classvoro_1_1voronoicell__base.html#accebb51f721d72fc6d460f1368180571">mec</a>=p1;</div>
    15750:  <div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;        vc.n_add_memory_vorder(i);</div>
    15751:  <div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;        current_vertex_order=i;</div>
    15752:  <div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;}</div>
    15753:  <div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;<span class="comment"></span></div>
    15754:  <div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;<span class="comment">/** Doubles the size allocation of the main delete stack. If the allocation</span></div>
    15755:  <div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;<span class="comment"> * exceeds the absolute maximum set in max_delete_size, then routine causes a</span></div>
    15756:  <div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;<span class="comment"> * fatal error. */</span></div>
    15757:  <div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;<span class="keywordtype">void</span> voronoicell_base::add_memory_ds(<span class="keywordtype">int</span> *&amp;stackp) {</div>
    15758:  <div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;        <a class="code" href="classvoro_1_1voronoicell__base.html#a7dbec3b0b6ea24e22e651cf76f06dc04">current_delete_size</a>&lt;&lt;=1;</div>
    15759:  <div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;        <span class="keywordflow">if</span>(<a class="code" href="classvoro_1_1voronoicell__base.html#a7dbec3b0b6ea24e22e651cf76f06dc04">current_delete_size</a>&gt;max_delete_size) voro_fatal_error(<span class="stringliteral">&quot;Delete stack 1 memory allocation exceeded absolute maximum&quot;</span>,<a class="code" href="config_8hh.html#a5dc0616f8a67ae3d1c2ba8a3dcf5612b">VOROPP_MEMORY_ERROR</a>);</div>
    ...
    
    15763:  <div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;<span class="preprocessor"></span>        <span class="keywordtype">int</span> *dsn=<span class="keyword">new</span> <span class="keywordtype">int</span>[<a class="code" href="classvoro_1_1voronoicell__base.html#a7dbec3b0b6ea24e22e651cf76f06dc04">current_delete_size</a>],*dsnp=dsn,*dsp=ds;</div>
    15764:  <div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;        <span class="keywordflow">while</span>(dsp&lt;stackp) *(dsnp++)=*(dsp++);</div>
    15765:  <div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;        <span class="keyword">delete</span> [] ds;ds=dsn;stackp=dsnp;</div>
    15766:  <div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;        stacke=ds+<a class="code" href="classvoro_1_1voronoicell__base.html#a7dbec3b0b6ea24e22e651cf76f06dc04">current_delete_size</a>;</div>
    15767:  <div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;}</div>
    15768:  <div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;<span class="comment"></span></div>
    15769:  <div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;<span class="comment">/** Doubles the size allocation of the auxiliary delete stack. If the</span></div>
    15770:  <div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;<span class="comment"> * allocation exceeds the absolute maximum set in max_delete2_size, then the</span></div>
    15771:  <div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="comment"> * routine causes a fatal error. */</span></div>
    15772:  <div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;<span class="keywordtype">void</span> voronoicell_base::add_memory_ds2(<span class="keywordtype">int</span> *&amp;stackp2) {</div>
    15773:  <div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;        <a class="code" href="classvoro_1_1voronoicell__base.html#a2a238c710c2e91045ef9deae0faf8dc9">current_delete2_size</a>&lt;&lt;=1;</div>
    15774:  <div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;        <span class="keywordflow">if</span>(<a class="code" href="classvoro_1_1voronoicell__base.html#a2a238c710c2e91045ef9deae0faf8dc9">current_delete2_size</a>&gt;max_delete2_size) voro_fatal_error(<span class="stringliteral">&quot;Delete stack 2 memory allocation exceeded absolute maximum&quot;</span>,<a class="code" href="config_8hh.html#a5dc0616f8a67ae3d1c2ba8a3dcf5612b">VOROPP_MEMORY_ERROR</a>);</div>
    ...
    
    15852:  <div class="line"><a name="l00321"></a><span class="lineno">  321</span>&#160;        q[7]=0;q[8]=2;q[9]=3;q[10]=0;q[11]=2;q[12]=1;q[13]=1;</div>
    15853:  <div class="line"><a name="l00322"></a><span class="lineno">  322</span>&#160;        q[14]=0;q[15]=3;q[16]=1;q[17]=2;q[18]=2;q[19]=1;q[20]=2;</div>
    15854:  <div class="line"><a name="l00323"></a><span class="lineno">  323</span>&#160;        q[21]=0;q[22]=1;q[23]=2;q[24]=1;q[25]=2;q[26]=1;q[27]=3;</div>
    15855:  <div class="line"><a name="l00324"></a><span class="lineno">  324</span>&#160;        *<a class="code" href="classvoro_1_1voronoicell__base.html#a85fec05865342d7efca9d9fd11b60342">ed</a>=q;<a class="code" href="classvoro_1_1voronoicell__base.html#a85fec05865342d7efca9d9fd11b60342">ed</a>[1]=q+7;<a class="code" href="classvoro_1_1voronoicell__base.html#a85fec05865342d7efca9d9fd11b60342">ed</a>[2]=q+14;<a class="code" href="classvoro_1_1voronoicell__base.html#a85fec05865342d7efca9d9fd11b60342">ed</a>[3]=q+21;</div>
    15856:  <div class="line"><a name="l00325"></a><span class="lineno">  325</span>&#160;        *<a class="code" href="classvoro_1_1voronoicell__base.html#abc7ec6777725e0ddffbbe2ecbe81c6a1">nu</a>=<a class="code" href="classvoro_1_1voronoicell__base.html#abc7ec6777725e0ddffbbe2ecbe81c6a1">nu</a>[1]=<a class="code" href="classvoro_1_1voronoicell__base.html#abc7ec6777725e0ddffbbe2ecbe81c6a1">nu</a>[2]=<a class="code" href="classvoro_1_1voronoicell__base.html#abc7ec6777725e0ddffbbe2ecbe81c6a1">nu</a>[3]=3;</div>
    15857:  <div class="line"><a name="l00326"></a><span class="lineno">  326</span>&#160;}</div>
    15858:  <div class="line"><a name="l00327"></a><span class="lineno">  327</span>&#160;<span class="comment"></span></div>
    15859:  <div class="line"><a name="l00328"></a><span class="lineno">  328</span>&#160;<span class="comment">/** Checks that the relational table of the Voronoi cell is accurate, and</span></div>
    15860:  <div class="line"><a name="l00329"></a><span class="lineno">  329</span>&#160;<span class="comment"> * prints out any errors. This algorithm is O(p), so running it every time the</span></div>
    15861:  <div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160;<span class="comment"> * plane routine is called will result in a significant slowdown. */</span></div>
    15862:  <div class="line"><a name="l00331"></a><span class="lineno"><a class="line" href="classvoro_1_1voronoicell__base.html#ae7bb21f644a45946001beef598a1da1f">  331</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classvoro_1_1voronoicell__base.html#ae7bb21f644a45946001beef598a1da1f">voronoicell_base::check_relations</a>() {</div>
    15863:  <div class="line"><a name="l00332"></a><span class="lineno">  332</span>&#160;        <span class="keywordtype">int</span> i,j;</div>
    15864:  <div class="line"><a name="l00333"></a><span class="lineno">  333</span>&#160;        <span class="keywordflow">for</span>(i=0;i&lt;<a class="code" href="classvoro_1_1voronoicell__base.html#a7e69469f95464afbeb9feec927507243">p</a>;i++) <span class="keywordflow">for</span>(j=0;j&lt;<a class="code" href="classvoro_1_1voronoicell__base.html#abc7ec6777725e0ddffbbe2ecbe81c6a1">nu</a>[i];j++) <span class="keywordflow">if</span>(<a class="code" href="classvoro_1_1voronoicell__base.html#a85fec05865342d7efca9d9fd11b60342">ed</a>[<a class="code" href="classvoro_1_1voronoicell__base.html#a85fec05865342d7efca9d9fd11b60342">ed</a>[i][j]][<a class="code" href="classvoro_1_1voronoicell__base.html#a85fec05865342d7efca9d9fd11b60342">ed</a>[i][nu[i]+j]]!=i)</div>
    15865:  <div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;                printf(<span class="stringliteral">&quot;Relational error at point %d, edge %d.\n&quot;</span>,i,j);</div>
    15866:  <div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;}</div>
    15867:  <div class="line"><a name="l00336"></a><span class="lineno">  336</span>&#160;<span class="comment"></span></div>
    15868:  <div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160;<span class="comment">/** This routine checks for any two vertices that are connected by more than</span></div>
    15869:  <div class="line"><a name="l00338"></a><span class="lineno">  338</span>&#160;<span class="comment"> * one edge. The plane algorithm is designed so that this should not happen, so</span></div>
    15870:  <div class="line"><a name="l00339"></a><span class="lineno">  339</span>&#160;<span class="comment"> * any occurrences are most likely errors. Note that the routine is O(p), so</span></div>
    ...
    
    15879:  <div class="line"><a name="l00348"></a><span class="lineno">  348</span>&#160;<span class="comment">/** Constructs the relational table if the edges have been specified. */</span></div>
    15880:  <div class="line"><a name="l00349"></a><span class="lineno"><a class="line" href="classvoro_1_1voronoicell__base.html#af49d85cd2a3daf84d623ab09ab7037cf">  349</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classvoro_1_1voronoicell__base.html#af49d85cd2a3daf84d623ab09ab7037cf">voronoicell_base::construct_relations</a>() {</div>
    15881:  <div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160;        <span class="keywordtype">int</span> i,j,k,l;</div>
    15882:  <div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160;        <span class="keywordflow">for</span>(i=0;i&lt;<a class="code" href="classvoro_1_1voronoicell__base.html#a7e69469f95464afbeb9feec927507243">p</a>;i++) <span class="keywordflow">for</span>(j=0;j&lt;<a class="code" href="classvoro_1_1voronoicell__base.html#abc7ec6777725e0ddffbbe2ecbe81c6a1">nu</a>[i];j++) {</div>
    15883:  <div class="line"><a name="l00352"></a><span class="lineno">  352</span>&#160;                k=<a class="code" href="classvoro_1_1voronoicell__base.html#a85fec05865342d7efca9d9fd11b60342">ed</a>[i][j];</div>
    15884:  <div class="line"><a name="l00353"></a><span class="lineno">  353</span>&#160;                l=0;</div>
    15885:  <div class="line"><a name="l00354"></a><span class="lineno">  354</span>&#160;                <span class="keywordflow">while</span>(<a class="code" href="classvoro_1_1voronoicell__base.html#a85fec05865342d7efca9d9fd11b60342">ed</a>[k][l]!=i) {</div>
    15886:  <div class="line"><a name="l00355"></a><span class="lineno">  355</span>&#160;                        l++;</div>
    15887:  <div class="line"><a name="l00356"></a><span class="lineno">  356</span>&#160;                        <span class="keywordflow">if</span>(l==nu[k]) voro_fatal_error(<span class="stringliteral">&quot;Relation table construction failed&quot;</span>,<a class="code" href="config_8hh.html#ad8e0de9d48da06e86dd87884e4a2d47e">VOROPP_INTERNAL_ERROR</a>);</div>
    ...
    
    16037:  <div class="line"><a name="l00506"></a><span class="lineno">  506</span>&#160;</div>
    16038:  <div class="line"><a name="l00507"></a><span class="lineno">  507</span>&#160;                        <span class="comment">// Our original test point was on the plane, so we</span></div>
    16039:  <div class="line"><a name="l00508"></a><span class="lineno">  508</span>&#160;                        <span class="comment">// automatically head for the complicated setup</span></div>
    16040:  <div class="line"><a name="l00509"></a><span class="lineno">  509</span>&#160;                        <span class="comment">// routine</span></div>
    16041:  <div class="line"><a name="l00510"></a><span class="lineno">  510</span>&#160;                        complicated_setup=<span class="keyword">true</span>;</div>
    16042:  <div class="line"><a name="l00511"></a><span class="lineno">  511</span>&#160;                }</div>
    16043:  <div class="line"><a name="l00512"></a><span class="lineno">  512</span>&#160;        }</div>
    16044:  <div class="line"><a name="l00513"></a><span class="lineno">  513</span>&#160;        <span class="keywordflow">catch</span>(<span class="keywordtype">bool</span> except) {</div>
    16045:  <div class="line"><a name="l00514"></a><span class="lineno">  514</span>&#160;                <span class="comment">// This routine is a fall-back, in case floating point errors</span></div>
    16046:  <div class="line"><a name="l00515"></a><span class="lineno">  515</span>&#160;                <span class="comment">// cause the usual search routine to fail. In the fall-back</span></div>
    ...
    
    16663:  <div class="line"><a name="l01132"></a><span class="lineno"> 1132</span>&#160;                        ed[<a class="code" href="classvoro_1_1voronoicell__base.html#a7746d94ae036439d60c3e4a9e37f6d15">up</a>]=ed[<a class="code" href="classvoro_1_1voronoicell__base.html#a7e69469f95464afbeb9feec927507243">p</a>];</div>
    16664:  <div class="line"><a name="l01133"></a><span class="lineno"> 1133</span>&#160;                        nu[<a class="code" href="classvoro_1_1voronoicell__base.html#a7746d94ae036439d60c3e4a9e37f6d15">up</a>]=nu[<a class="code" href="classvoro_1_1voronoicell__base.html#a7e69469f95464afbeb9feec927507243">p</a>];</div>
    16665:  <div class="line"><a name="l01134"></a><span class="lineno"> 1134</span>&#160;                        <span class="keywordflow">for</span>(i=0;i&lt;nu[<a class="code" href="classvoro_1_1voronoicell__base.html#a7746d94ae036439d60c3e4a9e37f6d15">up</a>];i++) ed[ed[up][i]][ed[up][nu[up]+i]]=up;</div>
    16666:  <div class="line"><a name="l01135"></a><span class="lineno"> 1135</span>&#160;                        ed[<a class="code" href="classvoro_1_1voronoicell__base.html#a7746d94ae036439d60c3e4a9e37f6d15">up</a>][nu[<a class="code" href="classvoro_1_1voronoicell__base.html#a7746d94ae036439d60c3e4a9e37f6d15">up</a>]&lt;&lt;1]=<a class="code" href="classvoro_1_1voronoicell__base.html#a7746d94ae036439d60c3e4a9e37f6d15">up</a>;</div>
    16667:  <div class="line"><a name="l01136"></a><span class="lineno"> 1136</span>&#160;                } <span class="keywordflow">else</span> up=<a class="code" href="classvoro_1_1voronoicell__base.html#a7e69469f95464afbeb9feec927507243">p</a>++;</div>
    16668:  <div class="line"><a name="l01137"></a><span class="lineno"> 1137</span>&#160;        }</div>
    16669:  <div class="line"><a name="l01138"></a><span class="lineno"> 1138</span>&#160;</div>
    16670:  <div class="line"><a name="l01139"></a><span class="lineno"> 1139</span>&#160;        <span class="comment">// Check for any vertices of zero order</span></div>
    16671:  <div class="line"><a name="l01140"></a><span class="lineno"> 1140</span>&#160;        <span class="keywordflow">if</span>(*<a class="code" href="classvoro_1_1voronoicell__base.html#accebb51f721d72fc6d460f1368180571">mec</a>&gt;0) voro_fatal_error(<span class="stringliteral">&quot;Zero order vertex formed&quot;</span>,<a class="code" href="config_8hh.html#ad8e0de9d48da06e86dd87884e4a2d47e">VOROPP_INTERNAL_ERROR</a>);</div>
    ...
    
    17094:  <div class="line"><a name="l01563"></a><span class="lineno"> 1563</span>&#160;        <a class="code" href="classvoro_1_1voronoicell__base.html#a5d09c9e36ad159fcd23cfef8855cae61">reset_edges</a>();</div>
    17095:  <div class="line"><a name="l01564"></a><span class="lineno"> 1564</span>&#160;}</div>
    17096:  <div class="line"><a name="l01565"></a><span class="lineno"> 1565</span>&#160;<span class="comment"></span></div>
    17097:  <div class="line"><a name="l01566"></a><span class="lineno"> 1566</span>&#160;<span class="comment">/** Several routines in the class that gather cell-based statistics internally</span></div>
    17098:  <div class="line"><a name="l01567"></a><span class="lineno"> 1567</span>&#160;<span class="comment"> * track their progress by flipping edges to negative so that they know what</span></div>
    17099:  <div class="line"><a name="l01568"></a><span class="lineno"> 1568</span>&#160;<span class="comment"> * parts of the cell have already been tested. This function resets them back</span></div>
    17100:  <div class="line"><a name="l01569"></a><span class="lineno"> 1569</span>&#160;<span class="comment"> * to positive. When it is called, it assumes that every edge in the routine</span></div>
    17101:  <div class="line"><a name="l01570"></a><span class="lineno"> 1570</span>&#160;<span class="comment"> * should have already been flipped to negative, and it bails out with an</span></div>
    17102:  <div class="line"><a name="l01571"></a><span class="lineno"> 1571</span>&#160;<span class="comment"> * internal error if it encounters a positive edge. */</span></div>
    17103:  <div class="line"><a name="l01572"></a><span class="lineno"><a class="line" href="classvoro_1_1voronoicell__base.html#a5d09c9e36ad159fcd23cfef8855cae61"> 1572</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classvoro_1_1voronoicell__base.html#a5d09c9e36ad159fcd23cfef8855cae61">voronoicell_base::reset_edges</a>() {</div>
    17104:  <div class="line"><a name="l01573"></a><span class="lineno"> 1573</span>&#160;        <span class="keywordtype">int</span> i,j;</div>
    17105:  <div class="line"><a name="l01574"></a><span class="lineno"> 1574</span>&#160;        <span class="keywordflow">for</span>(i=0;i&lt;<a class="code" href="classvoro_1_1voronoicell__base.html#a7e69469f95464afbeb9feec927507243">p</a>;i++) <span class="keywordflow">for</span>(j=0;j&lt;nu[i];j++) {</div>
    17106:  <div class="line"><a name="l01575"></a><span class="lineno"> 1575</span>&#160;                <span class="keywordflow">if</span>(<a class="code" href="classvoro_1_1voronoicell__base.html#a85fec05865342d7efca9d9fd11b60342">ed</a>[i][j]&gt;=0) voro_fatal_error(<span class="stringliteral">&quot;Edge reset routine found a previously untested edge&quot;</span>,<a class="code" href="config_8hh.html#ad8e0de9d48da06e86dd87884e4a2d47e">VOROPP_INTERNAL_ERROR</a>);</div>
    ...
    
    17144:  <div class="line"><a name="l01613"></a><span class="lineno"> 1613</span>&#160;<span class="comment"> * \return -1 if the point is inside the plane, 1 if the point is outside the</span></div>
    17145:  <div class="line"><a name="l01614"></a><span class="lineno"> 1614</span>&#160;<span class="comment"> *         plane, or 0 if the point is within the plane. */</span></div>
    17146:  <div class="line"><a name="l01615"></a><span class="lineno"> 1615</span>&#160;<span class="keywordtype">int</span> voronoicell_base::check_marginal(<span class="keywordtype">int</span> n,<span class="keywordtype">double</span> &amp;ans) {</div>
    17147:  <div class="line"><a name="l01616"></a><span class="lineno"> 1616</span>&#160;        <span class="keywordtype">int</span> i;</div>
    17148:  <div class="line"><a name="l01617"></a><span class="lineno"> 1617</span>&#160;        <span class="keywordflow">for</span>(i=0;i&lt;n_marg;i+=2) <span class="keywordflow">if</span>(marg[i]==n) <span class="keywordflow">return</span> marg[i+1];</div>
    17149:  <div class="line"><a name="l01618"></a><span class="lineno"> 1618</span>&#160;        <span class="keywordflow">if</span>(n_marg==current_marginal) {</div>
    17150:  <div class="line"><a name="l01619"></a><span class="lineno"> 1619</span>&#160;                current_marginal&lt;&lt;=1;</div>
    17151:  <div class="line"><a name="l01620"></a><span class="lineno"> 1620</span>&#160;                <span class="keywordflow">if</span>(current_marginal&gt;max_marginal)</div>
    17152:  <div class="line"><a name="l01621"></a><span class="lineno"> 1621</span>&#160;                        voro_fatal_error(<span class="stringliteral">&quot;Marginal case buffer allocation exceeded absolute maximum&quot;</span>,<a class="code" href="config_8hh.html#a5dc0616f8a67ae3d1c2ba8a3dcf5612b">VOROPP_MEMORY_ERROR</a>);</div>
    ...
    
    17693:  <div class="line"><a name="l02162"></a><span class="lineno"> 2162</span>&#160;                k=<a class="code" href="classvoro_1_1voronoicell__base.html#a85fec05865342d7efca9d9fd11b60342">ed</a>[i][j];</div>
    17694:  <div class="line"><a name="l02163"></a><span class="lineno"> 2163</span>&#160;                <span class="keywordflow">if</span>(k&gt;=0) {</div>
    17695:  <div class="line"><a name="l02164"></a><span class="lineno"> 2164</span>&#160;                        <a class="code" href="classvoro_1_1voronoicell__base.html#a85fec05865342d7efca9d9fd11b60342">ed</a>[i][j]=-1-k;</div>
    17696:  <div class="line"><a name="l02165"></a><span class="lineno"> 2165</span>&#160;                        q=<a class="code" href="classvoro_1_1voronoicell__neighbor.html#a7c061d08eac012b23588032779603a19">ne</a>[i][j];</div>
    17697:  <div class="line"><a name="l02166"></a><span class="lineno"> 2166</span>&#160;                        l=<a class="code" href="classvoro_1_1voronoicell__base.html#a1d86762311d8860960a45cc409b14f0f">cycle_up</a>(<a class="code" href="classvoro_1_1voronoicell__base.html#a85fec05865342d7efca9d9fd11b60342">ed</a>[i][nu[i]+j],k);</div>
    17698:  <div class="line"><a name="l02167"></a><span class="lineno"> 2167</span>&#160;                        <span class="keywordflow">do</span> {</div>
    17699:  <div class="line"><a name="l02168"></a><span class="lineno"> 2168</span>&#160;                                m=<a class="code" href="classvoro_1_1voronoicell__base.html#a85fec05865342d7efca9d9fd11b60342">ed</a>[k][l];</div>
    17700:  <div class="line"><a name="l02169"></a><span class="lineno"> 2169</span>&#160;                                <a class="code" href="classvoro_1_1voronoicell__base.html#a85fec05865342d7efca9d9fd11b60342">ed</a>[k][l]=-1-m;</div>
    17701:  <div class="line"><a name="l02170"></a><span class="lineno"> 2170</span>&#160;                                <span class="keywordflow">if</span>(<a class="code" href="classvoro_1_1voronoicell__neighbor.html#a7c061d08eac012b23588032779603a19">ne</a>[k][l]!=q) fprintf(stderr,<span class="stringliteral">&quot;Facet error at (%d,%d)=%d, started from (%d,%d)=%d\n&quot;</span>,k,l,<a class="code" href="classvoro_1_1voronoicell__neighbor.html#a7c061d08eac012b23588032779603a19">ne</a>[k][l],i,j,q);</div>
    ...
    
    17742:  <div class="line"><a name="l02211"></a><span class="lineno"> 2211</span>&#160;                                k=m;</div>
    17743:  <div class="line"><a name="l02212"></a><span class="lineno"> 2212</span>&#160;                        } <span class="keywordflow">while</span> (k!=i);</div>
    17744:  <div class="line"><a name="l02213"></a><span class="lineno"> 2213</span>&#160;                }</div>
    17745:  <div class="line"><a name="l02214"></a><span class="lineno"> 2214</span>&#160;        }</div>
    17746:  <div class="line"><a name="l02215"></a><span class="lineno"> 2215</span>&#160;        <a class="code" href="classvoro_1_1voronoicell__base.html#a5d09c9e36ad159fcd23cfef8855cae61">reset_edges</a>();</div>
    17747:  <div class="line"><a name="l02216"></a><span class="lineno"> 2216</span>&#160;}</div>
    17748:  <div class="line"><a name="l02217"></a><span class="lineno"> 2217</span>&#160;<span class="comment"></span></div>
    17749:  <div class="line"><a name="l02218"></a><span class="lineno"> 2218</span>&#160;<span class="comment">/** Prints the vertices, their edges, the relation table, and also notifies if</span></div>
    17750:  <div class="line"><a name="l02219"></a><span class="lineno"> 2219</span>&#160;<span class="comment"> * any memory errors are visible. */</span></div>
    ...
    
    17754:  <div class="line"><a name="l02223"></a><span class="lineno"> 2223</span>&#160;        <span class="keywordflow">for</span>(<span class="keywordtype">int</span> i=0;i&lt;<a class="code" href="classvoro_1_1voronoicell__base.html#a7e69469f95464afbeb9feec927507243">p</a>;i++,ptsp+=3) {</div>
    17755:  <div class="line"><a name="l02224"></a><span class="lineno"> 2224</span>&#160;                printf(<span class="stringliteral">&quot;%d %d  &quot;</span>,i,nu[i]);</div>
    17756:  <div class="line"><a name="l02225"></a><span class="lineno"> 2225</span>&#160;                <span class="keywordflow">for</span>(j=0;j&lt;nu[i];j++) printf(<span class="stringliteral">&quot; %d&quot;</span>,<a class="code" href="classvoro_1_1voronoicell__base.html#a85fec05865342d7efca9d9fd11b60342">ed</a>[i][j]);</div>
    17757:  <div class="line"><a name="l02226"></a><span class="lineno"> 2226</span>&#160;                printf(<span class="stringliteral">&quot;  &quot;</span>);</div>
    17758:  <div class="line"><a name="l02227"></a><span class="lineno"> 2227</span>&#160;                <span class="keywordflow">while</span>(j&lt;(nu[i]&lt;&lt;1)) printf(<span class="stringliteral">&quot; %d&quot;</span>,<a class="code" href="classvoro_1_1voronoicell__base.html#a85fec05865342d7efca9d9fd11b60342">ed</a>[i][j]);</div>
    17759:  <div class="line"><a name="l02228"></a><span class="lineno"> 2228</span>&#160;               ...

    Copy link
    Contributor Author

    dependabot bot commented on behalf of github Nov 5, 2024

    Superseded by #136.

    @dependabot dependabot bot closed this Nov 5, 2024
    @dependabot dependabot bot deleted the dependabot/npm_and_yarn/multi-f756921a80 branch November 5, 2024 09:45
    Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
    Labels
    dependencies Pull requests that update a dependency file
    Projects
    None yet
    Development

    Successfully merging this pull request may close these issues.

    0 participants