Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: roystgnr/MetaPhysicL
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: master
Choose a base ref
...
head repository: libMesh/MetaPhysicL
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: master
Choose a head ref
Loading
Showing with 2,850 additions and 616 deletions.
  1. +2 −1 .gitignore
  2. +0 −70 CHANGES
  3. +2 −2 ChangeLog
  4. +3 −3 INSTALL
  5. +1 −1 Makefile.am
  6. +29 −0 NEWS
  7. +28 −4 configure.ac
  8. +1 −1 m4/autoconf-submodule
  9. +4 −4 m4/common/acx_pthread.m4
  10. +1 −1 m4/common/ax_check_cl.m4
  11. +347 −85 m4/common/boost.m4
  12. +7 −5 m4/common/masa.m4
  13. +6 −6 m4/common/metaphysicl.m4
  14. +9 −7 m4/common/timpi.m4
  15. +16 −0 m4/common/timpi_control_args.m4
  16. +13 −8 m4/common/vexcl.m4
  17. +4 −2 m4/config_summary.m4
  18. +37 −0 m4/feexcept.m4
  19. +9 −1 src/Makefile.am
  20. +2 −2 src/core/include/metaphysicl/ct_set.h
  21. +47 −0 src/core/include/metaphysicl/ct_types.h
  22. +27 −0 src/core/include/metaphysicl/metaphysicl_common.h
  23. +2 −2 src/graphs/include/metaphysicl/physics.h
  24. +31 −8 src/numerics/include/metaphysicl/dualexpression.h
  25. +76 −20 src/numerics/include/metaphysicl/dualnumber.h
  26. +24 −11 src/numerics/include/metaphysicl/dualnumber_decl.h
  27. +2 −5 src/numerics/include/metaphysicl/dualnumber_surrogate.h
  28. +0 −2 src/numerics/include/metaphysicl/dualnumber_surrogate_decl.h
  29. +4 −0 src/numerics/include/metaphysicl/dynamicsparsenumberarray.h
  30. +14 −6 src/numerics/include/metaphysicl/dynamicsparsenumberarray_decl.h
  31. +11 −8 src/numerics/include/metaphysicl/dynamicsparsenumberbase.h
  32. +20 −16 src/numerics/include/metaphysicl/dynamicsparsenumberbase_decl.h
  33. +3 −0 src/numerics/include/metaphysicl/dynamicsparsenumbervector.h
  34. +13 −6 src/numerics/include/metaphysicl/dynamicsparsenumbervector_decl.h
  35. +4 −4 src/numerics/include/metaphysicl/nddualnumber.h
  36. +25 −7 src/numerics/include/metaphysicl/numberarray.h
  37. +6 −0 src/numerics/include/metaphysicl/numbervector.h
  38. +175 −70 src/numerics/include/metaphysicl/parallel_dualnumber.h
  39. +5 −5 src/numerics/include/metaphysicl/parallel_dynamicsparsenumberarray.h
  40. +176 −0 src/numerics/include/metaphysicl/parallel_numberarray.h
  41. +177 −0 src/numerics/include/metaphysicl/parallel_semidynamicsparsenumberarray.h
  42. +13 −1 src/numerics/include/metaphysicl/raw_type.h
  43. +5 −0 src/numerics/include/metaphysicl/semidynamicsparsenumberarray_decl.h
  44. +7 −5 src/numerics/include/metaphysicl/sparsenumberstruct.h
  45. +34 −11 src/utilities/include/metaphysicl/dynamic_std_array_wrapper.h
  46. +129 −0 src/utilities/include/metaphysicl/ignore_warnings.h
  47. +18 −1 src/utilities/include/metaphysicl/metaphysicl_asserts.h
  48. +5 −0 src/utilities/include/metaphysicl/metaphysicl_exceptions.h
  49. +0 −1 src/utilities/include/metaphysicl/metaphysicl_version.h.in
  50. +1 −1 src/utilities/include/metaphysicl/metaprogramming.h
  51. +101 −0 src/utilities/include/metaphysicl/parallel_dynamic_std_array_wrapper.h
  52. +44 −0 src/utilities/include/metaphysicl/restore_warnings.h
  53. +54 −0 src/utilities/src/metaphysicl_exceptions.C
  54. +8 −7 src/utilities/src/metaphysicl_version.C
  55. +18 −44 test/Makefile.am
  56. +73 −0 test/avoid_spurious_fpe_unit.C
  57. +4 −1 test/complex_derivs_unit.C
  58. +113 −0 test/ct_types_unit.C
  59. +43 −7 test/derivs_unit.C
  60. +13 −2 test/divgrad_unit.C
  61. +5 −1 test/dualnamedarray_unit.C
  62. +20 −0 test/dynamic_sparse_number_base_unit.C
  63. +67 −0 test/dynamic_std_array_wrapper_unit.C
  64. +14 −3 test/identities_unit.C
  65. +32 −26 test/instantiations_unit.C
  66. +7 −4 test/main_unit.C
  67. +5 −0 test/namedindexarray_unit.C
  68. +36 −16 test/navier_unit.h
  69. +25 −6 test/nd_derivs_unit.C
  70. +409 −13 test/parallel_unit.C
  71. +21 −21 test/pde_unit.C
  72. +12 −8 test/pde_unit.h
  73. +3 −0 test/physics_unit.C
  74. +34 −0 test/run_unit_tests.sh.in
  75. +44 −28 test/sparse_derivs_unit.C
  76. +58 −35 test/sparse_identities_unit.C
  77. +12 −1 test/testopt_unit.C
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -13,8 +13,9 @@ m4/ltversion.m4
m4/lt~obsolete.m4
src/Makefile.in
test/Makefile.in
test/run_unit_tests.sh
*~
build
installed
.clang-format
TAGS
.clang-format
70 changes: 0 additions & 70 deletions CHANGES

This file was deleted.

4 changes: 2 additions & 2 deletions ChangeLog
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
To see recent upstream changes, visit
To see changes, run

https://github.com/roystgnr/MetaPhysicL/commits/master
$ git log
6 changes: 3 additions & 3 deletions INSTALL
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
Installation Instructions
*************************

Copyright (C) 1994-1996, 1999-2002, 2004-2016 Free Software
Foundation, Inc.
Copyright (C) 1994-1996, 1999-2002, 2004-2017, 2020-2021 Free
Software Foundation, Inc.

Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
@@ -225,7 +225,7 @@ order to use an ANSI C compiler:

and if that doesn't work, install pre-built binaries of GCC for HP-UX.

HP-UX 'make' updates targets which have the same time stamps as their
HP-UX 'make' updates targets which have the same timestamps as their
prerequisites, which makes it generally unusable when shipped generated
files such as 'configure' are involved. Use GNU 'make' instead.

2 changes: 1 addition & 1 deletion Makefile.am
Original file line number Diff line number Diff line change
@@ -6,7 +6,7 @@ AUTOMAKE_OPTIONS = gnu
ACLOCAL_AMFLAGS = -I m4 -I m4/common -I m4/autoconf-submodule

SUBDIRS = src test doxygen
EXTRA_DIST = CHANGES LICENSE COPYING share docs
EXTRA_DIST = LICENSE COPYING share docs

aclocaldir = $(prefix)/share/aclocal
aclocal_DATA = $(top_srcdir)/share/aclocal/*
29 changes: 29 additions & 0 deletions NEWS
Original file line number Diff line number Diff line change
@@ -1,3 +1,32 @@
1.3.3 -> 1.4.0
* Throw exception in opt mode if DynamicStdArrayWrapper size exceeded
* Add tolerance argument to DynamicSparseNumberBase::sparsity_trim()
* ReplaceAlgebraicType metafunction
* ValueType overloads for std::array, std::vector
* MPI reduce support for DualNumber, SemiDynamicNumberArray, NumberArray
* More flexible assertion macros
* std::isinf overloads for DualNumber, DualExpression
* Unit testing with FP exceptions enabled
* Improved binary DualNumber operation speed + FPE safety
* Assorted bug fixes, compiler workarounds, unit tests, unit test fixes

1.3.2 -> 1.3.3
* TIMPI configuration bugfix

1.3.1 -> 1.3.2
* Unit test options for disabling long double tests
* Use SemiPermanent for derived StandardTypes
* Fix assertions in wrapper constructor/assignment
* --with-timpi-method configure option

1.3.0 -> 1.3.1
* Build system fixes for "make check/distcheck" in some configurations

1.2.2 -> 1.3.0
* StandardType specialization for SemiDynamicSparseNumberArray
* StandardType specialization for DynamicStdArrayWrapper
* Add template boolean parameter for StandardType and Packing of DualNumber

1.2.1 -> 1.2.2
* Restrict implicit conversions (fix for Eigen compatibility)

32 changes: 28 additions & 4 deletions configure.ac
Original file line number Diff line number Diff line change
@@ -2,10 +2,10 @@
dnl Process this file with autoconf to produce a configure script.

AC_PREREQ(2.61)
AC_INIT(metaphysicl, 1.2.2, roystgnr@ices.utexas.edu)
AC_INIT(metaphysicl, 1.4.0, roystgnr@ices.utexas.edu)
AC_CONFIG_MACRO_DIR([m4])

AC_CONFIG_HEADER(src/utilities/include/metaphysicl/metaphysicl_config.h.tmp)
AC_CONFIG_HEADERS([src/utilities/include/metaphysicl/metaphysicl_config.h.tmp])
dnl Prefixes everything in the temporary file with METAPHYSICL_
AX_PREFIX_CONFIG_H(src/utilities/include/metaphysicl/metaphysicl_config.h,METAPHYSICL,src/utilities/include/metaphysicl/metaphysicl_config.h.tmp)

@@ -85,9 +85,30 @@ AM_CONDITIONAL(CXX14_ENABLED,test x$HAVE_CXX14 = x1)

AM_CONDITIONAL(CXX11_ENABLED,test x$HAVE_CXX11 = x1)

dnl Get CXXFLAGS and optional flags for this compiler
ACSM_SET_CXX_FLAGS

dnl Make sure it's safe to turn on FP exceptions
ACSM_SET_FPE_SAFETY_FLAGS

dnl provide the resulting flags to our Makefiles
AC_SUBST(ACSM_CXXFLAGS_OPT)

dnl Workaround for ACSM bug
WERROR_FLAGS="$ACSM_WERROR_FLAGS"

dnl -Wall warnings, -Wall the time.
AX_CXXFLAGS_WARN_ALL

dnl More warnings, for our own testing
ACSM_ENABLE_PARANOID

dnl And those tests should fail, not just whine
ACSM_ENABLE_WERROR

dnl See if we *can* turn on FP exceptions
AC_HAVE_FEEXCEPT

LT_INIT

dnl---------------------------------------------------------
@@ -129,8 +150,9 @@ AS_IF([test "$enable_installed_timpi" = yes],
HAVE_TIMPI_LIB=1
AC_DEFINE(HAVE_TIMPI,1,[Define if TIMPI headers are available])
AC_DEFINE(HAVE_TIMPI_LIB,1,[Define if a TIMPI library is available])
TIMPI_CPPFLAGS="-I$TIMPI_PREFIX/include $TIMPI_CPPFLAGS"
TIMPI_LIBS="-L$TIMPI_PREFIX/lib -ltimpi_opt $TIMPI_LIBS"
TIMPI_CPPFLAGS=""
TIMPI_LIBS="-ltimpi_$timpi_method"
],
[])

@@ -203,6 +225,8 @@ AC_CONFIG_FILES([
test/Makefile
])

AC_CONFIG_FILES(test/run_unit_tests.sh, [chmod +x test/run_unit_tests.sh])

# Must still call AC_OUTPUT() after generating all the files
AC_OUTPUT()

8 changes: 4 additions & 4 deletions m4/common/acx_pthread.m4
Original file line number Diff line number Diff line change
@@ -48,7 +48,7 @@ dnl @author Steven G. Johnson <stevenj@alum.mit.edu>
AC_DEFUN([ACX_PTHREAD], [
AC_REQUIRE([AC_CANONICAL_HOST])
AC_LANG_SAVE
AC_LANG_C
AC_LANG([C])
acx_pthread_ok=no
# We used to check for pthread.h first, but this fails if pthread.h
@@ -162,13 +162,13 @@ for flag in $acx_pthread_flags; do
# pthread_cleanup_push because it is one of the few pthread
# functions on Solaris that doesn't have a non-functional libc stub.
# We try pthread_create on general principles.
AC_TRY_LINK([#include <pthread.h>],
AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <pthread.h>],
[pthread_t th; pthread_join(th, (void**) 0);
pthread_attr_init((pthread_attr_t*) 0);
pthread_cleanup_push((void(*)(void *)) 0, (void*) 0);
pthread_create((pthread_t*) 0, (pthread_attr_t*) 0,
(void*(*)(void *)) 0, (void*) 0);
pthread_cleanup_pop(0); ],
pthread_cleanup_pop(0); ])],
[acx_pthread_ok=yes])
LIBS="$save_LIBS"
@@ -195,7 +195,7 @@ if test "x$acx_pthread_ok" = xyes; then
AC_MSG_CHECKING([for joinable pthread attribute])
attr_name=unknown
for attr in PTHREAD_CREATE_JOINABLE PTHREAD_CREATE_UNDETACHED; do
AC_TRY_LINK([#include <pthread.h>], [int attr=$attr; return attr;],
AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <pthread.h>], [int attr=$attr; return attr;])],
[attr_name=$attr; break])
done
AC_MSG_RESULT($attr_name)
2 changes: 1 addition & 1 deletion m4/common/ax_check_cl.m4
Original file line number Diff line number Diff line change
@@ -42,7 +42,7 @@ AC_REQUIRE([AC_PROG_SED])dnl
AC_REQUIRE([ACX_PTHREAD])dnl
AC_ARG_ENABLE([opencl],
[AC_HELP_STRING([--disable-opencl],
[AS_HELP_STRING([--disable-opencl],
[do not use OpenCL])],
[enable_opencl=$enableval],
[enable_opencl='yes'])
Loading