name change to libsharp2
This commit is contained in:
parent
eef25f6845
commit
90f63915c2
31 changed files with 221 additions and 208 deletions
8
.gitignore
vendored
8
.gitignore
vendored
|
@ -9,10 +9,10 @@
|
|||
.libs
|
||||
**/.deps
|
||||
**/.dirstamp
|
||||
libsharp-uninstalled.pc
|
||||
libsharp-uninstalled.sh
|
||||
libsharp.pc
|
||||
libsharp.pc.in
|
||||
libsharp2-uninstalled.pc
|
||||
libsharp2-uninstalled.sh
|
||||
libsharp2.pc
|
||||
libsharp2.pc.in
|
||||
perf.data*
|
||||
/auto
|
||||
/autom4te.cache
|
||||
|
|
10
COMPILE
10
COMPILE
|
@ -1,6 +1,6 @@
|
|||
Libsharp is configured, compiled and installed using GNU autotools.
|
||||
Libsharp2 is configured, compiled and installed using GNU autotools.
|
||||
|
||||
If you have cloned the libsharp repository, you have to run
|
||||
If you have cloned the libsharp2 repository, you have to run
|
||||
"autoreconf -i" before starting the configuration, which requires several
|
||||
GNU developer tools to be available on your system.
|
||||
|
||||
|
@ -20,8 +20,8 @@ since it allows the compiler to fuse multiplications and additions into FMA
|
|||
instructions, which is forbidden by the C99 standard. Since FMAs are a central
|
||||
aspect of the algorithm, they are needed for optimum performance.
|
||||
|
||||
If you are calling libsharp from other code which requires strict adherence
|
||||
to the C99 standard, you should still be able to compile libsharp with
|
||||
If you are calling libsharp2 from other code which requires strict adherence
|
||||
to the C99 standard, you should still be able to compile libsharp2 with
|
||||
"-ffast-math" without any problems.
|
||||
|
||||
|
||||
|
@ -36,7 +36,7 @@ at runtime.
|
|||
This is enabled by passing "-DMULTIARCH" as part of the CFLAGS.
|
||||
If this is enabled, please do _not_ specify "-march=native" or
|
||||
"-mtarget=avx" or similar!
|
||||
If you are compiling libsharp for a particular target CPU only, or if you are
|
||||
If you are compiling libsharp2 for a particular target CPU only, or if you are
|
||||
using a different compiler, however, "-march-native" should be used. The
|
||||
resulting binary will most likely not run on other computers, though.
|
||||
|
||||
|
|
64
Makefile.am
64
Makefile.am
|
@ -1,22 +1,22 @@
|
|||
ACLOCAL_AMFLAGS = -I m4
|
||||
|
||||
lib_LTLIBRARIES = libsharp.la
|
||||
lib_LTLIBRARIES = libsharp2.la
|
||||
|
||||
libsharp_la_SOURCES = \
|
||||
pocketfft/pocketfft.c \
|
||||
pocketfft/pocketfft.h \
|
||||
libsharp/sharp_utils.c \
|
||||
libsharp/sharp_utils.h \
|
||||
libsharp/sharp.c \
|
||||
libsharp/sharp_almhelpers.c \
|
||||
libsharp/sharp_core.c \
|
||||
libsharp/sharp_geomhelpers.c \
|
||||
libsharp/sharp_legendre_roots.c \
|
||||
libsharp/sharp_ylmgen_c.c \
|
||||
libsharp/sharp_internal.h \
|
||||
libsharp/sharp_legendre_roots.h \
|
||||
libsharp/sharp_vecsupport.h \
|
||||
libsharp/sharp_ylmgen_c.h
|
||||
libsharp2_la_SOURCES = \
|
||||
libsharp2/pocketfft.c \
|
||||
libsharp2/pocketfft.h \
|
||||
libsharp2/sharp_utils.c \
|
||||
libsharp2/sharp_utils.h \
|
||||
libsharp2/sharp.c \
|
||||
libsharp2/sharp_almhelpers.c \
|
||||
libsharp2/sharp_core.c \
|
||||
libsharp2/sharp_geomhelpers.c \
|
||||
libsharp2/sharp_legendre_roots.c \
|
||||
libsharp2/sharp_ylmgen_c.c \
|
||||
libsharp2/sharp_internal.h \
|
||||
libsharp2/sharp_legendre_roots.h \
|
||||
libsharp2/sharp_vecsupport.h \
|
||||
libsharp2/sharp_ylmgen_c.h
|
||||
|
||||
# format is "current:revision:age"
|
||||
# any change: increase revision
|
||||
|
@ -24,17 +24,17 @@ libsharp_la_SOURCES = \
|
|||
# any backward-compatible change: increase age
|
||||
# any backward-incompatible change: age=0
|
||||
# ==> age <= current
|
||||
libsharp_la_LDFLAGS = -version-info 0:0:0
|
||||
libsharp2_la_LDFLAGS = -version-info 0:0:0
|
||||
|
||||
AM_CFLAGS = @AM_CFLAGS@
|
||||
|
||||
if HAVE_MULTIARCH
|
||||
|
||||
libavx_la_SOURCES = libsharp/sharp_core_inc.c
|
||||
libavx2_la_SOURCES = libsharp/sharp_core_inc.c
|
||||
libfma_la_SOURCES = libsharp/sharp_core_inc.c
|
||||
libfma4_la_SOURCES = libsharp/sharp_core_inc.c
|
||||
libavx512f_la_SOURCES = libsharp/sharp_core_inc.c
|
||||
libavx_la_SOURCES = libsharp2/sharp_core_inc.c
|
||||
libavx2_la_SOURCES = libsharp2/sharp_core_inc.c
|
||||
libfma_la_SOURCES = libsharp2/sharp_core_inc.c
|
||||
libfma4_la_SOURCES = libsharp2/sharp_core_inc.c
|
||||
libavx512f_la_SOURCES = libsharp2/sharp_core_inc.c
|
||||
|
||||
noinst_LTLIBRARIES = libavx.la libavx2.la libfma.la libfma4.la libavx512f.la
|
||||
|
||||
|
@ -44,23 +44,23 @@ libfma_la_CFLAGS = ${AM_CFLAGS} -mfma -DARCH=fma
|
|||
libfma4_la_CFLAGS = ${AM_CFLAGS} -mfma4 -DARCH=fma4
|
||||
libavx512f_la_CFLAGS = ${AM_CFLAGS} -mavx512f -DARCH=avx512f
|
||||
|
||||
libsharp_la_LIBADD = libavx.la libavx2.la libfma.la libfma4.la libavx512f.la
|
||||
libsharp2_la_LIBADD = libavx.la libavx2.la libfma.la libfma4.la libavx512f.la
|
||||
|
||||
endif
|
||||
|
||||
nobase_include_HEADERS = \
|
||||
libsharp/sharp.h \
|
||||
libsharp/sharp_mpi.h \
|
||||
libsharp/sharp_geomhelpers.h \
|
||||
libsharp/sharp_almhelpers.h \
|
||||
libsharp/sharp_cxx.h
|
||||
libsharp2/sharp.h \
|
||||
libsharp2/sharp_mpi.h \
|
||||
libsharp2/sharp_geomhelpers.h \
|
||||
libsharp2/sharp_almhelpers.h \
|
||||
libsharp2/sharp_cxx.h
|
||||
|
||||
EXTRA_DIST = \
|
||||
runtest.sh fortran/sharp.f90 fortran/test_sharp.f90 libsharp/sharp_mpi.c
|
||||
runtest.sh fortran/sharp.f90 fortran/test_sharp.f90 libsharp2/sharp_mpi.c
|
||||
|
||||
check_PROGRAMS = sharp_testsuite
|
||||
sharp_testsuite_SOURCES = test/sharp_testsuite.c test/memusage.c test/memusage.h
|
||||
sharp_testsuite_LDADD = libsharp.la -lm
|
||||
check_PROGRAMS = sharp2_testsuite
|
||||
sharp2_testsuite_SOURCES = test/sharp2_testsuite.c test/memusage.c test/memusage.h
|
||||
sharp2_testsuite_LDADD = libsharp2.la -lm
|
||||
|
||||
TESTS = runtest.sh
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# Libsharp
|
||||
# Libsharp2
|
||||
|
||||
Library for efficient spherical harmonic transforms at arbitrary spins,
|
||||
supporting CPU vectorization, OpenMP and MPI.
|
||||
|
@ -20,10 +20,10 @@ These improvements reduce the fraction of CPU time spent on evaluating the
|
|||
recurrences for Y_lm coefficients, which means that computing multiple
|
||||
simultaneous SHTs no longer has a big performance advantage compared to SHTs
|
||||
done one after the other.
|
||||
As a consequence, libsharp support for simultaneous SHTs was dropped, making
|
||||
As a consequence, libsharp's support for simultaneous SHTs was dropped, making
|
||||
its interface much simpler.
|
||||
|
||||
With the proper compilers and flags (see the file COMPILE for details) libsharp
|
||||
With the proper compilers and flags (see the file COMPILE for details) libsharp2
|
||||
is now built with support for SSE2, AVX, AVX2, FMA3, FMA4 and AVX512f and the
|
||||
appropriate implementation is selected dynamically at runtime. This should
|
||||
provide a very significant performance boost for everyone using pre-compiled
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
AC_INIT([libsharp], [1.0.0])
|
||||
AC_INIT([libsharp2], [1.0.0])
|
||||
AM_INIT_AUTOMAKE([foreign subdir-objects -Wall -Werror])
|
||||
AM_MAINTAINER_MODE([enable])
|
||||
|
||||
|
@ -29,7 +29,7 @@ AM_CONDITIONAL([HAVE_MULTIARCH], [test $tmpval -gt 0])
|
|||
|
||||
AM_CFLAGS="$AM_CFLAGS $OPENMP_CFLAGS"
|
||||
|
||||
PACKAGE_LIBS="-lsharp"
|
||||
PACKAGE_LIBS="-lsharp2"
|
||||
PACKAGE_CFLAGS="$PACKAGE_CFLAGS $OPENMP_CFLAGS"
|
||||
PACKAGE_LDFLAGS="$PACKAGE_LDFLAGS $OPENMP_CFLAGS"
|
||||
|
||||
|
|
|
@ -1,17 +1,17 @@
|
|||
/*! \mainpage libsharp documentation
|
||||
/*! \mainpage libsharp2 documentation
|
||||
<ul>
|
||||
<li>\ref introduction "Introduction"
|
||||
<li><a href="modules.html">Programming interface</a>
|
||||
</ul>
|
||||
*/
|
||||
|
||||
/*! \page introduction Introduction to libsharp
|
||||
/*! \page introduction Introduction to libsharp2
|
||||
|
||||
"SHARP" is an acronym for <i>Spherical HARmonic Package</i>.
|
||||
All user-visible data types and functions in this library start with
|
||||
the prefix "sharp_" to avoid pollution of the global C namespace.
|
||||
|
||||
<i>libsharp</i>'s main functionality is the conversion between <i>maps</i>
|
||||
<i>libsharp2</i>'s main functionality is the conversion between <i>maps</i>
|
||||
on the sphere and <i>spherical harmonic coefficients</i> (or <i>a_lm</i>).
|
||||
A map is defined as a set of <i>rings</i>, which in turn consist of
|
||||
individual pixels that
|
||||
|
@ -56,7 +56,7 @@
|
|||
for generating often-used pixelisations like ECP grids, Gaussian grids,
|
||||
and Healpix grids.
|
||||
|
||||
Currently, libsharp supports the following kinds of transforms:
|
||||
Currently, libsharp2 supports the following kinds of transforms:
|
||||
<ul>
|
||||
<li>scalar a_lm to map</li>
|
||||
<li>scalar map to a_lm</li>
|
||||
|
@ -67,10 +67,10 @@
|
|||
<li>scalar a_lm to maps of first derivatives</li>
|
||||
</ul>
|
||||
|
||||
libsharp supports shared-memory parallelisation via OpenMP; this feature will
|
||||
libsharp2 supports shared-memory parallelisation via OpenMP; this feature will
|
||||
be automatically enabled if the compiler supports it.
|
||||
|
||||
Libsharp will also make use of SSE2/AVX/AVX512 instructions when compiled
|
||||
Libsharp2 will also make use of SSE2/AVX/AVX512 instructions when compiled
|
||||
for a platform known to support them.
|
||||
|
||||
Support for MPI-parallel transforms is also available; in this mode,
|
|
@ -13,7 +13,7 @@
|
|||
#include <math.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "pocketfft/pocketfft.h"
|
||||
#include "libsharp2/pocketfft.h"
|
||||
|
||||
#define RALLOC(type,num) \
|
||||
((type *)malloc((num)*sizeof(type)))
|
||||
|
@ -31,6 +31,8 @@
|
|||
#define WARN_UNUSED_RESULT
|
||||
#endif
|
||||
|
||||
#pragma GCC visibility push(hidden)
|
||||
|
||||
// adapted from https://stackoverflow.com/questions/42792939/
|
||||
// CAUTION: this function only works for arguments in the range [-0.25; 0.25]!
|
||||
static void my_sincosm1pi (double a, double *restrict res)
|
||||
|
@ -2192,3 +2194,5 @@ int pocketfft_forward_r(pocketfft_plan_r plan, double c[], double fct)
|
|||
else // if (plan->blueplan)
|
||||
return rfftblue_forward(plan->blueplan,c,fct);
|
||||
}
|
||||
|
||||
#pragma GCC visibility pop
|
|
@ -1,22 +1,22 @@
|
|||
/*
|
||||
* This file is part of libsharp.
|
||||
* This file is part of libsharp2.
|
||||
*
|
||||
* libsharp is free software; you can redistribute it and/or modify
|
||||
* libsharp2 is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* libsharp is distributed in the hope that it will be useful,
|
||||
* libsharp2 is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with libsharp; if not, write to the Free Software
|
||||
* along with libsharp2; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
|
||||
/* libsharp is being developed at the Max-Planck-Institut fuer Astrophysik */
|
||||
/* libsharp2 is being developed at the Max-Planck-Institut fuer Astrophysik */
|
||||
|
||||
/*! \file sharp.c
|
||||
* Spherical transform library
|
||||
|
@ -27,12 +27,12 @@
|
|||
|
||||
#include <math.h>
|
||||
#include <string.h>
|
||||
#include "pocketfft/pocketfft.h"
|
||||
#include "libsharp/sharp_ylmgen_c.h"
|
||||
#include "libsharp/sharp_internal.h"
|
||||
#include "libsharp/sharp_utils.h"
|
||||
#include "libsharp/sharp_almhelpers.h"
|
||||
#include "libsharp/sharp_geomhelpers.h"
|
||||
#include "libsharp2/pocketfft.h"
|
||||
#include "libsharp2/sharp_ylmgen_c.h"
|
||||
#include "libsharp2/sharp_internal.h"
|
||||
#include "libsharp2/sharp_utils.h"
|
||||
#include "libsharp2/sharp_almhelpers.h"
|
||||
#include "libsharp2/sharp_geomhelpers.h"
|
||||
|
||||
typedef complex double dcmplx;
|
||||
typedef complex float fcmplx;
|
|
@ -1,22 +1,22 @@
|
|||
/*
|
||||
* This file is part of libsharp.
|
||||
* This file is part of libsharp2.
|
||||
*
|
||||
* libsharp is free software; you can redistribute it and/or modify
|
||||
* libsharp2 is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* libsharp is distributed in the hope that it will be useful,
|
||||
* libsharp2 is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with libsharp; if not, write to the Free Software
|
||||
* along with libsharp2; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
|
||||
/* libsharp is being developed at the Max-Planck-Institut fuer Astrophysik */
|
||||
/* libsharp2 is being developed at the Max-Planck-Institut fuer Astrophysik */
|
||||
|
||||
/*! \file sharp.h
|
||||
* Portable interface for the spherical transform library.
|
||||
|
@ -169,7 +169,7 @@ void sharp_destroy_geom_info (sharp_geom_info *info);
|
|||
|
||||
/*! \} */
|
||||
|
||||
/*! \defgroup lowlevelgroup Low-level libsharp SHT interface */
|
||||
/*! \defgroup lowlevelgroup Low-level libsharp2 SHT interface */
|
||||
/*! \{ */
|
||||
|
||||
/*! Enumeration of SHARP job types. */
|
||||
|
@ -197,7 +197,7 @@ typedef enum { SHARP_DP = 1<<4,
|
|||
SHARP_USE_WEIGHTS = 1<<20, /* internal use only */
|
||||
} sharp_jobflags;
|
||||
|
||||
/*! Performs a libsharp SHT job. The interface deliberately does not use
|
||||
/*! Performs a libsharp2 SHT job. The interface deliberately does not use
|
||||
the C99 "complex" data type, in order to be callable from C89 and C++.
|
||||
\param type the type of SHT
|
||||
\param spin the spin of the quantities to be transformed
|
||||
|
@ -231,10 +231,10 @@ void sharp_set_nchunks_max(int new_nchunks_max);
|
|||
|
||||
|
||||
typedef enum { SHARP_ERROR_NO_MPI = 1,
|
||||
/*!< libsharp not compiled with MPI support */
|
||||
/*!< libsharp2 not compiled with MPI support */
|
||||
} sharp_errors;
|
||||
|
||||
/*! Works like sharp_execute_mpi, but is always present whether or not libsharp
|
||||
/*! Works like sharp_execute_mpi, but is always present whether or not libsharp2
|
||||
is compiled with USE_MPI. This is primarily useful for wrapper code etc.
|
||||
|
||||
Note that \a pcomm has the type MPI_Comm*, except we declare void* to avoid
|
|
@ -1,22 +1,22 @@
|
|||
/*
|
||||
* This file is part of libsharp.
|
||||
* This file is part of libsharp2.
|
||||
*
|
||||
* libsharp is free software; you can redistribute it and/or modify
|
||||
* libsharp2 is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* libsharp is distributed in the hope that it will be useful,
|
||||
* libsharp2 is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with libsharp; if not, write to the Free Software
|
||||
* along with libsharp2; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
|
||||
/* libsharp is being developed at the Max-Planck-Institut fuer Astrophysik */
|
||||
/* libsharp2 is being developed at the Max-Planck-Institut fuer Astrophysik */
|
||||
|
||||
/*! \file sharp_almhelpers.c
|
||||
* Spherical transform library
|
||||
|
@ -25,8 +25,8 @@
|
|||
* \author Martin Reinecke
|
||||
*/
|
||||
|
||||
#include "libsharp/sharp_almhelpers.h"
|
||||
#include "libsharp/sharp_utils.h"
|
||||
#include "libsharp2/sharp_almhelpers.h"
|
||||
#include "libsharp2/sharp_utils.h"
|
||||
|
||||
void sharp_make_triangular_alm_info (int lmax, int mmax, int stride,
|
||||
sharp_alm_info **alm_info)
|
|
@ -1,22 +1,22 @@
|
|||
/*
|
||||
* This file is part of libsharp.
|
||||
* This file is part of libsharp2.
|
||||
*
|
||||
* libsharp is free software; you can redistribute it and/or modify
|
||||
* libsharp2 is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* libsharp is distributed in the hope that it will be useful,
|
||||
* libsharp2 is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with libsharp; if not, write to the Free Software
|
||||
* along with libsharp2; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
|
||||
/* libsharp is being developed at the Max-Planck-Institut fuer Astrophysik */
|
||||
/* libsharp2 is being developed at the Max-Planck-Institut fuer Astrophysik */
|
||||
|
||||
/*! \file sharp_almhelpers.h
|
||||
* SHARP helper function for the creation of a_lm data structures
|
||||
|
@ -25,10 +25,10 @@
|
|||
* \author Martin Reinecke
|
||||
*/
|
||||
|
||||
#ifndef SHARP_ALMHELPERS_H
|
||||
#define SHARP_ALMHELPERS_H
|
||||
#ifndef SHARP2_ALMHELPERS_H
|
||||
#define SHARP2_ALMHELPERS_H
|
||||
|
||||
#include "libsharp/sharp.h"
|
||||
#include "libsharp2/sharp.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
|
@ -1,22 +1,22 @@
|
|||
/*
|
||||
* This file is part of libsharp.
|
||||
* This file is part of libsharp2.
|
||||
*
|
||||
* libsharp is free software; you can redistribute it and/or modify
|
||||
* libsharp2 is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* libsharp is distributed in the hope that it will be useful,
|
||||
* libsharp2 is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with libsharp; if not, write to the Free Software
|
||||
* along with libsharp2; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
|
||||
/* libsharp is being developed at the Max-Planck-Institut fuer Astrophysik */
|
||||
/* libsharp2 is being developed at the Max-Planck-Institut fuer Astrophysik */
|
||||
|
||||
/*! \file sharp_core.c
|
||||
* Spherical transform library
|
||||
|
@ -27,7 +27,7 @@
|
|||
|
||||
#define ARCH default
|
||||
#define GENERIC_ARCH
|
||||
#include "libsharp/sharp_core_inc.c"
|
||||
#include "libsharp2/sharp_core_inc.c"
|
||||
#undef GENERIC_ARCH
|
||||
#undef ARCH
|
||||
|
|
@ -1,22 +1,22 @@
|
|||
/*
|
||||
* This file is part of libsharp.
|
||||
* This file is part of libsharp2.
|
||||
*
|
||||
* libsharp is free software; you can redistribute it and/or modify
|
||||
* libsharp2 is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* libsharp is distributed in the hope that it will be useful,
|
||||
* libsharp2 is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with libsharp; if not, write to the Free Software
|
||||
* along with libsharp2; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
|
||||
/* libsharp is being developed at the Max-Planck-Institut fuer Astrophysik */
|
||||
/* libsharp2 is being developed at the Max-Planck-Institut fuer Astrophysik */
|
||||
|
||||
/*! \file sharp_core_inc.c
|
||||
* Computational core
|
||||
|
@ -37,10 +37,10 @@
|
|||
#include <complex.h>
|
||||
#include <math.h>
|
||||
#include <string.h>
|
||||
#include "libsharp/sharp_vecsupport.h"
|
||||
#include "libsharp/sharp.h"
|
||||
#include "libsharp/sharp_internal.h"
|
||||
#include "libsharp/sharp_utils.h"
|
||||
#include "libsharp2/sharp_vecsupport.h"
|
||||
#include "libsharp2/sharp.h"
|
||||
#include "libsharp2/sharp_internal.h"
|
||||
#include "libsharp2/sharp_utils.h"
|
||||
|
||||
#pragma GCC visibility push(hidden)
|
||||
|
|
@ -1,22 +1,22 @@
|
|||
/*
|
||||
* This file is part of libsharp.
|
||||
* This file is part of libsharp2.
|
||||
*
|
||||
* libsharp is free software; you can redistribute it and/or modify
|
||||
* libsharp2 is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* libsharp is distributed in the hope that it will be useful,
|
||||
* libsharp2 is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with libsharp; if not, write to the Free Software
|
||||
* along with libsharp2; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
|
||||
/* libsharp is being developed at the Max-Planck-Institut fuer Astrophysik */
|
||||
/* libsharp2 is being developed at the Max-Planck-Institut fuer Astrophysik */
|
||||
|
||||
/*! \file sharp_cxx.h
|
||||
* Spherical transform library
|
||||
|
@ -25,13 +25,13 @@
|
|||
* \author Martin Reinecke
|
||||
*/
|
||||
|
||||
#ifndef SHARP_CXX_H
|
||||
#define SHARP_CXX_H
|
||||
#ifndef SHARP2_CXX_H
|
||||
#define SHARP2_CXX_H
|
||||
|
||||
#include <complex>
|
||||
#include "libsharp/sharp.h"
|
||||
#include "libsharp/sharp_geomhelpers.h"
|
||||
#include "libsharp/sharp_almhelpers.h"
|
||||
#include "libsharp2/sharp.h"
|
||||
#include "libsharp2/sharp_geomhelpers.h"
|
||||
#include "libsharp2/sharp_almhelpers.h"
|
||||
|
||||
class sharp_base
|
||||
{
|
|
@ -1,22 +1,22 @@
|
|||
/*
|
||||
* This file is part of libsharp.
|
||||
* This file is part of libsharp2.
|
||||
*
|
||||
* libsharp is free software; you can redistribute it and/or modify
|
||||
* libsharp2 is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* libsharp is distributed in the hope that it will be useful,
|
||||
* libsharp2 is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with libsharp; if not, write to the Free Software
|
||||
* along with libsharp2; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
|
||||
/* libsharp is being developed at the Max-Planck-Institut fuer Astrophysik */
|
||||
/* libsharp2 is being developed at the Max-Planck-Institut fuer Astrophysik */
|
||||
|
||||
/*! \file sharp_geomhelpers.c
|
||||
* Spherical transform library
|
||||
|
@ -26,10 +26,10 @@
|
|||
*/
|
||||
|
||||
#include <math.h>
|
||||
#include "libsharp/sharp_geomhelpers.h"
|
||||
#include "libsharp/sharp_legendre_roots.h"
|
||||
#include "libsharp/sharp_utils.h"
|
||||
#include "pocketfft/pocketfft.h"
|
||||
#include "libsharp2/sharp_geomhelpers.h"
|
||||
#include "libsharp2/sharp_legendre_roots.h"
|
||||
#include "libsharp2/sharp_utils.h"
|
||||
#include "libsharp2/pocketfft.h"
|
||||
|
||||
void sharp_make_subset_healpix_geom_info (int nside, int stride, int nrings,
|
||||
const int *rings, const double *weight, sharp_geom_info **geom_info)
|
|
@ -1,22 +1,22 @@
|
|||
/*
|
||||
* This file is part of libsharp.
|
||||
* This file is part of libsharp2.
|
||||
*
|
||||
* libsharp is free software; you can redistribute it and/or modify
|
||||
* libsharp2 is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* libsharp is distributed in the hope that it will be useful,
|
||||
* libsharp2 is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with libsharp; if not, write to the Free Software
|
||||
* along with libsharp2; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
|
||||
/* libsharp is being developed at the Max-Planck-Institut fuer Astrophysik */
|
||||
/* libsharp2 is being developed at the Max-Planck-Institut fuer Astrophysik */
|
||||
|
||||
/*! \file sharp_geomhelpers.h
|
||||
* SHARP helper function for the creation of grid geometries
|
||||
|
@ -25,10 +25,10 @@
|
|||
* \author Martin Reinecke
|
||||
*/
|
||||
|
||||
#ifndef SHARP_GEOMHELPERS_H
|
||||
#define SHARP_GEOMHELPERS_H
|
||||
#ifndef SHARP2_GEOMHELPERS_H
|
||||
#define SHARP2_GEOMHELPERS_H
|
||||
|
||||
#include "libsharp/sharp.h"
|
||||
#include "libsharp2/sharp.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
|
@ -1,22 +1,22 @@
|
|||
/*
|
||||
* This file is part of libsharp.
|
||||
* This file is part of libsharp2.
|
||||
*
|
||||
* libsharp is free software; you can redistribute it and/or modify
|
||||
* libsharp2 is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* libsharp is distributed in the hope that it will be useful,
|
||||
* libsharp2 is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with libsharp; if not, write to the Free Software
|
||||
* along with libsharp2; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
|
||||
/* libsharp is being developed at the Max-Planck-Institut fuer Astrophysik */
|
||||
/* libsharp2 is being developed at the Max-Planck-Institut fuer Astrophysik */
|
||||
|
||||
/*! \file sharp_internal.h
|
||||
* Internally used functionality for the spherical transform library.
|
||||
|
@ -25,16 +25,16 @@
|
|||
* \author Martin Reinecke \author Dag Sverre Seljebotn
|
||||
*/
|
||||
|
||||
#ifndef SHARP_INTERNAL_H
|
||||
#define SHARP_INTERNAL_H
|
||||
#ifndef SHARP2_INTERNAL_H
|
||||
#define SHARP2_INTERNAL_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
#error This header file cannot be included from C++, only from C
|
||||
#endif
|
||||
|
||||
#include <complex.h>
|
||||
#include "libsharp/sharp.h"
|
||||
#include "libsharp/sharp_ylmgen_c.h"
|
||||
#include "libsharp2/sharp.h"
|
||||
#include "libsharp2/sharp_ylmgen_c.h"
|
||||
|
||||
typedef struct
|
||||
{
|
|
@ -7,8 +7,8 @@
|
|||
- tweaked Newton iteration to obtain higher accuracy */
|
||||
|
||||
#include <math.h>
|
||||
#include "libsharp/sharp_legendre_roots.h"
|
||||
#include "libsharp/sharp_utils.h"
|
||||
#include "libsharp2/sharp_legendre_roots.h"
|
||||
#include "libsharp2/sharp_utils.h"
|
||||
|
||||
static inline double one_minus_x2 (double x)
|
||||
{ return (fabs(x)>0.1) ? (1.+x)*(1.-x) : 1.-x*x; }
|
|
@ -1,22 +1,22 @@
|
|||
/*
|
||||
* This file is part of libsharp.
|
||||
* This file is part of libsharp2.
|
||||
*
|
||||
* libsharp is free software; you can redistribute it and/or modify
|
||||
* libsharp2 is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* libsharp is distributed in the hope that it will be useful,
|
||||
* libsharp2 is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with libsharp; if not, write to the Free Software
|
||||
* along with libsharp2; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
|
||||
/* libsharp is being developed at the Max-Planck-Institut fuer Astrophysik */
|
||||
/* libsharp2 is being developed at the Max-Planck-Institut fuer Astrophysik */
|
||||
|
||||
/*! \file sharp_legendre_roots.h
|
||||
*
|
||||
|
@ -24,8 +24,8 @@
|
|||
* \author Martin Reinecke
|
||||
*/
|
||||
|
||||
#ifndef SHARP_LEGENDRE_ROOTS_H
|
||||
#define SHARP_LEGENDRE_ROOTS_H
|
||||
#ifndef SHARP2_LEGENDRE_ROOTS_H
|
||||
#define SHARP2_LEGENDRE_ROOTS_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
|
@ -1,22 +1,22 @@
|
|||
/*
|
||||
* This file is part of libsharp.
|
||||
* This file is part of libsharp2.
|
||||
*
|
||||
* libsharp is free software; you can redistribute it and/or modify
|
||||
* libsharp2 is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* libsharp is distributed in the hope that it will be useful,
|
||||
* libsharp2 is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with libsharp; if not, write to the Free Software
|
||||
* along with libsharp2; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
|
||||
/* libsharp is being developed at the Max-Planck-Institut fuer Astrophysik */
|
||||
/* libsharp2 is being developed at the Max-Planck-Institut fuer Astrophysik */
|
||||
|
||||
/*! \file sharp_mpi.c
|
||||
* Functionality only needed for MPI-parallel transforms
|
||||
|
@ -27,7 +27,7 @@
|
|||
|
||||
#ifdef USE_MPI
|
||||
|
||||
#include "libsharp/sharp_mpi.h"
|
||||
#include "libsharp2/sharp_mpi.h"
|
||||
|
||||
typedef struct
|
||||
{
|
|
@ -1,22 +1,22 @@
|
|||
/*
|
||||
* This file is part of libsharp.
|
||||
* This file is part of libsharp2.
|
||||
*
|
||||
* libsharp is free software; you can redistribute it and/or modify
|
||||
* libsharp2 is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* libsharp is distributed in the hope that it will be useful,
|
||||
* libsharp2 is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with libsharp; if not, write to the Free Software
|
||||
* along with libsharp2; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
|
||||
/* libsharp is being developed at the Max-Planck-Institut fuer Astrophysik */
|
||||
/* libsharp2 is being developed at the Max-Planck-Institut fuer Astrophysik */
|
||||
|
||||
/*! \file sharp_mpi.h
|
||||
* Interface for the spherical transform library with MPI support.
|
||||
|
@ -29,13 +29,13 @@
|
|||
#define SHARP_MPI_H
|
||||
|
||||
#include <mpi.h>
|
||||
#include "libsharp/sharp.h"
|
||||
#include "libsharp2/sharp.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/*! Performs an MPI parallel libsharp SHT job. The interface deliberately does
|
||||
/*! Performs an MPI parallel libsharp2 SHT job. The interface deliberately does
|
||||
not use the C99 "complex" data type, in order to be callable from C89 and C++.
|
||||
\param comm the MPI communicator to be used for this SHT
|
||||
\param type the type of SHT
|
|
@ -1,22 +1,22 @@
|
|||
/*
|
||||
* This file is part of libsharp.
|
||||
* This file is part of libsharp2.
|
||||
*
|
||||
* libsharp is free software; you can redistribute it and/or modify
|
||||
* libsharp2 is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* libsharp is distributed in the hope that it will be useful,
|
||||
* libsharp2 is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with libsharp; if not, write to the Free Software
|
||||
* along with libsharp2; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
|
||||
/* libsharp is being developed at the Max-Planck-Institut fuer Astrophysik */
|
||||
/* libsharp2 is being developed at the Max-Planck-Institut fuer Astrophysik */
|
||||
|
||||
/*
|
||||
* Convenience functions
|
||||
|
@ -26,8 +26,9 @@
|
|||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include "libsharp/sharp_utils.h"
|
||||
#include "libsharp2/sharp_utils.h"
|
||||
|
||||
#pragma GCC visibility push(hidden)
|
||||
void sharp_fail_ (const char *file, int line, const char *func, const char *msg)
|
||||
{
|
||||
fprintf(stderr,"%s, %i (%s):\n%s\n",file,line,func,msg);
|
||||
|
@ -46,9 +47,11 @@ static size_t manipsize(size_t sz)
|
|||
if (((sz+overhead)%critical_stride)>(2*cacheline)) return sz;
|
||||
return sz+2*cacheline;
|
||||
}
|
||||
#pragma GCC visibility pop
|
||||
|
||||
#ifdef __SSE__
|
||||
#include <xmmintrin.h>
|
||||
#pragma GCC visibility push(hidden)
|
||||
void *sharp_malloc_ (size_t sz)
|
||||
{
|
||||
void *res;
|
||||
|
@ -59,7 +62,9 @@ void *sharp_malloc_ (size_t sz)
|
|||
}
|
||||
void sharp_free_ (void *ptr)
|
||||
{ if ((ptr)!=NULL) _mm_free(ptr); }
|
||||
#pragma GCC visibility pop
|
||||
#else
|
||||
#pragma GCC visibility push(hidden)
|
||||
void *sharp_malloc_ (size_t sz)
|
||||
{
|
||||
void *res;
|
||||
|
@ -70,6 +75,7 @@ void *sharp_malloc_ (size_t sz)
|
|||
}
|
||||
void sharp_free_ (void *ptr)
|
||||
{ if ((ptr)!=NULL) free(ptr); }
|
||||
#pragma GCC visibility pop
|
||||
#endif
|
||||
|
||||
#if defined (_OPENMP)
|
||||
|
@ -83,6 +89,7 @@ void sharp_free_ (void *ptr)
|
|||
#include <stdlib.h>
|
||||
#endif
|
||||
|
||||
#pragma GCC visibility push(hidden)
|
||||
double sharp_wallTime(void)
|
||||
{
|
||||
#if defined (_OPENMP)
|
||||
|
@ -106,3 +113,4 @@ double sharp_wallTime(void)
|
|||
return t.tv_sec + 1e-6*t.tv_usec;
|
||||
#endif
|
||||
}
|
||||
#pragma GCC visibility pop
|
|
@ -1,22 +1,22 @@
|
|||
/*
|
||||
* This file is part of libsharp.
|
||||
* This file is part of libsharp2.
|
||||
*
|
||||
* libsharp is free software; you can redistribute it and/or modify
|
||||
* libsharp2 is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* libsharp is distributed in the hope that it will be useful,
|
||||
* libsharp2 is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with libsharp; if not, write to the Free Software
|
||||
* along with libsharp2; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
|
||||
/* libsharp is being developed at the Max-Planck-Institut fuer Astrophysik */
|
||||
/* libsharp2 is being developed at the Max-Planck-Institut fuer Astrophysik */
|
||||
|
||||
/* \file sharp_vecsupport.h
|
||||
* Convenience functions for vector arithmetics
|
||||
|
@ -25,8 +25,8 @@
|
|||
* Author: Martin Reinecke
|
||||
*/
|
||||
|
||||
#ifndef SHARP_VECSUPPORT_H
|
||||
#define SHARP_VECSUPPORT_H
|
||||
#ifndef SHARP2_VECSUPPORT_H
|
||||
#define SHARP2_VECSUPPORT_H
|
||||
|
||||
#include <math.h>
|
||||
|
|
@ -1,22 +1,22 @@
|
|||
/*
|
||||
* This file is part of libsharp.
|
||||
* This file is part of libsharp2.
|
||||
*
|
||||
* libsharp is free software; you can redistribute it and/or modify
|
||||
* libsharp2 is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* libsharp is distributed in the hope that it will be useful,
|
||||
* libsharp2 is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with libsharp; if not, write to the Free Software
|
||||
* along with libsharp2; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
|
||||
/* libsharp is being developed at the Max-Planck-Institut fuer Astrophysik */
|
||||
/* libsharp2 is being developed at the Max-Planck-Institut fuer Astrophysik */
|
||||
|
||||
/*
|
||||
* Helper code for efficient calculation of Y_lm(theta,phi=0)
|
||||
|
@ -27,8 +27,8 @@
|
|||
|
||||
#include <math.h>
|
||||
#include <stdlib.h>
|
||||
#include "libsharp/sharp_ylmgen_c.h"
|
||||
#include "libsharp/sharp_utils.h"
|
||||
#include "libsharp2/sharp_ylmgen_c.h"
|
||||
#include "libsharp2/sharp_utils.h"
|
||||
|
||||
#pragma GCC visibility push(hidden)
|
||||
|
|
@ -1,22 +1,22 @@
|
|||
/*
|
||||
* This file is part of libsharp.
|
||||
* This file is part of libsharp2.
|
||||
*
|
||||
* libsharp is free software; you can redistribute it and/or modify
|
||||
* libsharp2 is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* libsharp is distributed in the hope that it will be useful,
|
||||
* libsharp2 is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with libsharp; if not, write to the Free Software
|
||||
* along with libsharp2; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
|
||||
/* libsharp is being developed at the Max-Planck-Institut fuer Astrophysik */
|
||||
/* libsharp2 is being developed at the Max-Planck-Institut fuer Astrophysik */
|
||||
|
||||
/*! \file sharp_ylmgen_c.h
|
||||
* Code for efficient calculation of Y_lm(phi=0,theta)
|
||||
|
@ -25,8 +25,8 @@
|
|||
* \author Martin Reinecke
|
||||
*/
|
||||
|
||||
#ifndef SHARP_YLMGEN_C_H
|
||||
#define SHARP_YLMGEN_C_H
|
||||
#ifndef SHARP2_YLMGEN_C_H
|
||||
#define SHARP2_YLMGEN_C_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
|
@ -1,25 +1,25 @@
|
|||
/*
|
||||
* This file is part of libsharp.
|
||||
* This file is part of libsharp2.
|
||||
*
|
||||
* libsharp is free software; you can redistribute it and/or modify
|
||||
* libsharp2 is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* libsharp is distributed in the hope that it will be useful,
|
||||
* libsharp2 is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with libsharp; if not, write to the Free Software
|
||||
* along with libsharp2; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*
|
||||
* For more information about HEALPix, see http://healpix.sourceforge.net
|
||||
*/
|
||||
|
||||
/*
|
||||
* libsharp is being developed at the Max-Planck-Institut fuer Astrophysik
|
||||
* libsharp2 is being developed at the Max-Planck-Institut fuer Astrophysik
|
||||
*/
|
||||
|
||||
/*
|
||||
|
@ -34,8 +34,8 @@
|
|||
#include <complex>
|
||||
#include <string>
|
||||
|
||||
#include "libsharp/sharp_cxx.h"
|
||||
#include "libsharp/sharp_legendre_roots.h"
|
||||
#include "libsharp2/sharp_cxx.h"
|
||||
#include "libsharp2/sharp_legendre_roots.h"
|
||||
|
||||
using namespace std;
|
||||
|
||||
|
@ -169,7 +169,7 @@ a_d_c GL_thetas(int64_t nlat)
|
|||
|
||||
|
||||
const char *pysharp_DS = R"""(
|
||||
Python interface for libsharp
|
||||
Python interface for libsharp2
|
||||
|
||||
All angles are interpreted as radians.
|
||||
The theta coordinate is measured as co-latitude, ranging from 0 (North Pole)
|
||||
|
|
|
@ -59,7 +59,7 @@ def get_extension_modules():
|
|||
|
||||
setup(name='pysharp',
|
||||
version='0.0.1',
|
||||
description='Python bindings for libsharp',
|
||||
description='Python bindings for libsharp2',
|
||||
include_package_data=True,
|
||||
author='Martin Reinecke',
|
||||
author_email='martin@mpa-garching.mpg.de',
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
#!/bin/sh
|
||||
|
||||
./sharp_testsuite acctest
|
||||
./sharp2_testsuite acctest
|
||||
|
||||
|
|
|
@ -1,22 +1,22 @@
|
|||
/*
|
||||
* This file is part of libsharp.
|
||||
* This file is part of libsharp2.
|
||||
*
|
||||
* libsharp is free software; you can redistribute it and/or modify
|
||||
* libsharp2 is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* libsharp is distributed in the hope that it will be useful,
|
||||
* libsharp2 is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with libsharp; if not, write to the Free Software
|
||||
* along with libsharp2; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
|
||||
/* libsharp is being developed at the Max-Planck-Institut fuer Astrophysik */
|
||||
/* libsharp2 is being developed at the Max-Planck-Institut fuer Astrophysik */
|
||||
|
||||
/* \file sharp_testsuite.c
|
||||
*
|
||||
|
@ -29,15 +29,16 @@
|
|||
#include <complex.h>
|
||||
#ifdef USE_MPI
|
||||
#include "mpi.h"
|
||||
#include "libsharp/sharp_mpi.h"
|
||||
#include "libsharp2/sharp_mpi.h"
|
||||
#endif
|
||||
#ifdef _OPENMP
|
||||
#include <omp.h>
|
||||
#endif
|
||||
#include "libsharp/sharp.h"
|
||||
#include "libsharp/sharp_geomhelpers.h"
|
||||
#include "libsharp/sharp_almhelpers.h"
|
||||
#include "libsharp/sharp_utils.h"
|
||||
#include "libsharp2/sharp.h"
|
||||
#include "libsharp2/sharp_geomhelpers.h"
|
||||
#include "libsharp2/sharp_almhelpers.h"
|
||||
#include "libsharp2/sharp_utils.h"
|
||||
#include "libsharp2/sharp_utils.c"
|
||||
#include "test/memusage.h"
|
||||
|
||||
static void OpenMP_status(void)
|
Loading…
Add table
Add a link
Reference in a new issue