Commit ca5e3b80 authored by Giovanni La Mura's avatar Giovanni La Mura
Browse files

Redefine complex algebraic functions as C macros

parent 9899fb9c
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
LDADD=libnptm/libnptm.la -L/usr/lib64 ${USER_LDFLAGS} ${HDF5_LDFLAGS} ${LAPACKLDFLAGS} ${MAGMALDFLAGS}
lib_LTLIBRARIES=libnptm/libnptm.la
libnptm_libnptm_la_SOURCES=../src/libnptm/algebraic.cpp ../src/libnptm/clu_subs.cpp ../src/libnptm/Commons.cpp ../src/libnptm/Configuration.cpp ../src/libnptm/file_io.cpp ../src/libnptm/lapack_calls.cpp ../src/libnptm/logging.cpp ../src/libnptm/magma_calls.cpp ../src/libnptm/Parsers.cpp ../src/libnptm/sph_subs.cpp ../src/libnptm/tfrfme.cpp ../src/libnptm/TransitionMatrix.cpp ../src/libnptm/tra_subs.cpp ../src/libnptm/types.cpp
libnptm_libnptm_la_SOURCES=../src/libnptm/algebraic.cpp ../src/libnptm/clu_subs.cpp ../src/libnptm/Commons.cpp ../src/libnptm/Configuration.cpp ../src/libnptm/file_io.cpp ../src/libnptm/lapack_calls.cpp ../src/libnptm/logging.cpp ../src/libnptm/magma_calls.cpp ../src/libnptm/Parsers.cpp ../src/libnptm/sph_subs.cpp ../src/libnptm/tfrfme.cpp ../src/libnptm/TransitionMatrix.cpp ../src/libnptm/tra_subs.cpp
bin_PROGRAMS=cluster/edfb_clu cluster/clu cluster/np_cluster sphere/edfb_sph sphere/sph sphere/np_sphere trapping/frfme trapping/lffft trapping/np_trapping testing/test_TEDF testing/test_TTMS
cluster_edfb_clu_SOURCES=../src/cluster/edfb_clu.f
cluster_clu_SOURCES=../src/cluster/clu.f
+2 −9
Original line number Diff line number Diff line
@@ -145,8 +145,7 @@ am_libnptm_libnptm_la_OBJECTS = ../src/libnptm/algebraic.lo \
	../src/libnptm/lapack_calls.lo ../src/libnptm/logging.lo \
	../src/libnptm/magma_calls.lo ../src/libnptm/Parsers.lo \
	../src/libnptm/sph_subs.lo ../src/libnptm/tfrfme.lo \
	../src/libnptm/TransitionMatrix.lo ../src/libnptm/tra_subs.lo \
	../src/libnptm/types.lo
	../src/libnptm/TransitionMatrix.lo ../src/libnptm/tra_subs.lo
libnptm_libnptm_la_OBJECTS = $(am_libnptm_libnptm_la_OBJECTS)
AM_V_lt = $(am__v_lt_@AM_V@)
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
@@ -254,7 +253,6 @@ am__depfiles_remade = ../src/cluster/$(DEPDIR)/cluster.Po \
	../src/libnptm/$(DEPDIR)/sph_subs.Plo \
	../src/libnptm/$(DEPDIR)/tfrfme.Plo \
	../src/libnptm/$(DEPDIR)/tra_subs.Plo \
	../src/libnptm/$(DEPDIR)/types.Plo \
	../src/sphere/$(DEPDIR)/np_sphere.Po \
	../src/sphere/$(DEPDIR)/sphere.Po \
	../src/testing/$(DEPDIR)/test_TEDF.Po \
@@ -522,7 +520,7 @@ top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
LDADD = libnptm/libnptm.la -L/usr/lib64 ${USER_LDFLAGS} ${HDF5_LDFLAGS} ${LAPACKLDFLAGS} ${MAGMALDFLAGS}
lib_LTLIBRARIES = libnptm/libnptm.la
libnptm_libnptm_la_SOURCES = ../src/libnptm/algebraic.cpp ../src/libnptm/clu_subs.cpp ../src/libnptm/Commons.cpp ../src/libnptm/Configuration.cpp ../src/libnptm/file_io.cpp ../src/libnptm/lapack_calls.cpp ../src/libnptm/logging.cpp ../src/libnptm/magma_calls.cpp ../src/libnptm/Parsers.cpp ../src/libnptm/sph_subs.cpp ../src/libnptm/tfrfme.cpp ../src/libnptm/TransitionMatrix.cpp ../src/libnptm/tra_subs.cpp ../src/libnptm/types.cpp
libnptm_libnptm_la_SOURCES = ../src/libnptm/algebraic.cpp ../src/libnptm/clu_subs.cpp ../src/libnptm/Commons.cpp ../src/libnptm/Configuration.cpp ../src/libnptm/file_io.cpp ../src/libnptm/lapack_calls.cpp ../src/libnptm/logging.cpp ../src/libnptm/magma_calls.cpp ../src/libnptm/Parsers.cpp ../src/libnptm/sph_subs.cpp ../src/libnptm/tfrfme.cpp ../src/libnptm/TransitionMatrix.cpp ../src/libnptm/tra_subs.cpp
cluster_edfb_clu_SOURCES = ../src/cluster/edfb_clu.f
cluster_clu_SOURCES = ../src/cluster/clu.f
cluster_np_cluster_SOURCES = ../src/cluster/np_cluster.cpp ../src/cluster/cluster.cpp
@@ -687,8 +685,6 @@ clean-libLTLIBRARIES:
	../src/libnptm/$(DEPDIR)/$(am__dirstamp)
../src/libnptm/tra_subs.lo: ../src/libnptm/$(am__dirstamp) \
	../src/libnptm/$(DEPDIR)/$(am__dirstamp)
../src/libnptm/types.lo: ../src/libnptm/$(am__dirstamp) \
	../src/libnptm/$(DEPDIR)/$(am__dirstamp)
libnptm/$(am__dirstamp):
	@$(MKDIR_P) libnptm
	@: > libnptm/$(am__dirstamp)
@@ -834,7 +830,6 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@../src/libnptm/$(DEPDIR)/sph_subs.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@../src/libnptm/$(DEPDIR)/tfrfme.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@../src/libnptm/$(DEPDIR)/tra_subs.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@../src/libnptm/$(DEPDIR)/types.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@../src/sphere/$(DEPDIR)/np_sphere.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@../src/sphere/$(DEPDIR)/sphere.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@../src/testing/$(DEPDIR)/test_TEDF.Po@am__quote@ # am--include-marker
@@ -1203,7 +1198,6 @@ distclean: distclean-am
	-rm -f ../src/libnptm/$(DEPDIR)/sph_subs.Plo
	-rm -f ../src/libnptm/$(DEPDIR)/tfrfme.Plo
	-rm -f ../src/libnptm/$(DEPDIR)/tra_subs.Plo
	-rm -f ../src/libnptm/$(DEPDIR)/types.Plo
	-rm -f ../src/sphere/$(DEPDIR)/np_sphere.Po
	-rm -f ../src/sphere/$(DEPDIR)/sphere.Po
	-rm -f ../src/testing/$(DEPDIR)/test_TEDF.Po
@@ -1273,7 +1267,6 @@ maintainer-clean: maintainer-clean-am
	-rm -f ../src/libnptm/$(DEPDIR)/sph_subs.Plo
	-rm -f ../src/libnptm/$(DEPDIR)/tfrfme.Plo
	-rm -f ../src/libnptm/$(DEPDIR)/tra_subs.Plo
	-rm -f ../src/libnptm/$(DEPDIR)/types.Plo
	-rm -f ../src/sphere/$(DEPDIR)/np_sphere.Po
	-rm -f ../src/sphere/$(DEPDIR)/sphere.Po
	-rm -f ../src/testing/$(DEPDIR)/test_TEDF.Po
+1 −1
Original line number Diff line number Diff line
@@ -75,7 +75,7 @@ double cg1(int lmpml, int mu, int l, int m);
 * \param z: `complex double` The input complex number.
 * \return result: `complex double` The conjugate of the input number.
 */
dcomplex dconjg(dcomplex z);
// dcomplex dconjg(dcomplex z);

/*! \brief Comute the continuous variation of the refractive index and of its radial derivative.
 *
+3 −13
Original line number Diff line number Diff line
@@ -62,17 +62,7 @@ typedef __complex__ double dcomplex;
#endif // lapack_int
#endif // np_int

/*! \brief Get the real part of a complex number.
 *
 * \param z: `complex double` The argument of the function.
 * \return rz: `double` The real part of the argument.
 */
double real(dcomplex z);

/*! \brief Get the imaginary part of a complex number.
 *
 * \param z: `complex double` The argument of the function.
 * \return iz: `double` The imaginary part of the argument.
 */
double imag(dcomplex z);
#define imag(z) ( __imag__ (z) )
#define real(z) ( __real__ (z) )
#define dconjg(z) ( (__real__ (z) - I * (__imag__ (z))) )
#endif
+2 −0
Original line number Diff line number Diff line
@@ -197,6 +197,7 @@ double cg1(int lmpml, int mu, int l, int m) {
  return result;
}

/*
#ifdef USE_TARGET_OFFLOAD
#pragma omp begin declare target device_type(any)
#endif
@@ -208,6 +209,7 @@ dcomplex dconjg(dcomplex z) {
#ifdef USE_TARGET_OFFLOAD
#pragma omp end declare target
#endif
*/

void diel(int npntmo, int ns, int i, int ic, double vk, C1 *c1, C2 *c2) {
  const double dif = c1->rc[i - 1][ns] - c1->rc[i - 1][ns - 1];
Loading