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

LIBINT2_MAX_AM_default2 definition #149

Merged
merged 1 commit into from Oct 4, 2019

Conversation

@loriab
Copy link
Contributor

commented Oct 3, 2019

In linking against libint2 built with derivatives, Psi4 folks have noticed errors like the below

/home/psilocaluser/gits/hrw-quaternary/objdir_dev10_gcc4/stage/include/libint2/engine.impl.h: In member function 'void libint2::Engine::_initialize()':
/home/psilocaluser/gits/hrw-quaternary/objdir_dev10_gcc4/stage/include/libint2/engine.impl.h:627:3: error: 'LIBINT2_MAX_AM_default1' was not declared in this scope
   BOOST_PP_LIST_FOR_EACH_PRODUCT(
   ^
/home/psilocaluser/gits/hrw-quaternary/objdir_dev10_gcc4/stage/include/libint2/engine.impl.h:627:3: note: suggested alternative: 'LIBINT2_MAX_AM_default'

We've been patching them up and proceeding (step (5) of psi4/psi4#1721 (comment)). This is an attempt at a more permanent solution. It does write the extra defines to libint2_params.h, but maybe it's doing untold harm somewhere else. And the fact that it's using the max ERI deriv level instead of the max of all integrals classes is admittedly bad.

#ifndef LIBINT2_MAX_AM_default					#ifndef LIBINT2_MAX_AM_default
# define LIBINT2_MAX_AM_default 4				# define LIBINT2_MAX_AM_default 4
#endif								#endif

							      >	#ifndef LIBINT2_MAX_AM_default1
							      >	# define LIBINT2_MAX_AM_default1 4
							      >	#endif
							      >
							      >	#ifndef LIBINT2_MAX_AM_default2
							      >	# define LIBINT2_MAX_AM_default2 4
							      >	#endif
							      >
#ifndef LIBINT2_MAX_AM_overlap					#ifndef LIBINT2_MAX_AM_overlap
# define LIBINT2_MAX_AM_overlap 4				# define LIBINT2_MAX_AM_overlap 4
#endif								#endif
@andysim

This comment has been minimized.

Copy link

commented Oct 4, 2019

Thanks for handling this, @loriab. My solution was inspired by this section of code in the Fortran interface - if you don't like the idea of dumping the max value in there, perhaps it could just be assigned to whatever the non-derivative integrals have instead?

@evaleev
evaleev approved these changes Oct 4, 2019
Copy link
Owner

left a comment

this is correct, thank you!

@evaleev evaleev merged commit 7388436 into evaleev:master Oct 4, 2019
1 check failed
1 check failed
continuous-integration/travis-ci/pr The Travis CI build could not complete due to an error
Details
@loriab loriab deleted the loriab:patch-1 branch Oct 4, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
3 participants
You can’t perform that action at this time.