Skip to content

Commit

Permalink
Change version to 3.3.1 (#218)
Browse files Browse the repository at this point in the history
In the HTML doc, following items are added
* Changes in 3.3.1
* Update input domain of trigonometric functions

Changes in 3.3.1 is added to CHANGELOG.md
  • Loading branch information
shibatch authored Aug 22, 2018
1 parent 02d5fd3 commit ff0672d
Show file tree
Hide file tree
Showing 11 changed files with 68 additions and 90 deletions.
10 changes: 9 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,15 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).

## Next Release
## 3.3.1 - 2018-08-20
### Added
- FreeBSD support is added
### Changed
- i386 build problem is fixed
- Trigonometric functions now evaluate correctly with full FP
domain.
https://github.com/shibatch/sleef/pull/210">#210</a>)</li>
## 3.3 - 2018-07-06
### Added
- SVE target support is added to libsleef.
https://github.com/shibatch/sleef/pull/180
Expand Down
7 changes: 4 additions & 3 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,12 @@ enable_testing()

set(SLEEF_VERSION_MAJOR 3)
set(SLEEF_VERSION_MINOR 3)
set(SLEEF_VERSION_PATCHLEVEL 1)
set(SLEEF_VERSION ${SLEEF_VERSION_MAJOR}.${SLEEF_VERSION_MINOR}.${SLEEF_VERSION_PATCHLEVEL})
set(SLEEF_SOVERSION ${SLEEF_VERSION_MAJOR})

project(SLEEF
VERSION ${SLEEF_VERSION_MAJOR}.${SLEEF_VERSION_MINOR}
VERSION ${SLEEF_VERSION}
LANGUAGES C)

# Sanity check for in-source builds which we do not want to happen
Expand Down Expand Up @@ -113,8 +115,7 @@ add_subdirectory("src")
# Extra messages at configuration time. By default is active, it can be
# turned off by invoking cmake with "-DSLEEF_SHOW_CONFIG=OFF".
if(SLEEF_SHOW_CONFIG)
message(STATUS "Configuring build for \
${PROJECT_NAME}-v${SLEEF_VERSION_MAJOR}.${SLEEF_VERSION_MINOR}")
message(STATUS "Configuring build for ${PROJECT_NAME}-v${SLEEF_VERSION}")
message(" Target system: ${CMAKE_SYSTEM}")
message(" Target processor: ${CMAKE_SYSTEM_PROCESSOR}")
message(" Host system: ${CMAKE_HOST_SYSTEM}")
Expand Down
15 changes: 4 additions & 11 deletions Configure.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,10 @@ find_path(MPFR_INCLUDE_DIR
NAMES mpfr.h
ONLY_CMAKE_FIND_ROOT_PATH)

find_path(FFTW3_INCLUDE_DIR
NAMES fftw3.h
ONLY_CMAKE_FIND_ROOT_PATH)

if (NOT LIBM)
set(LIBM "")
endif()
Expand Down Expand Up @@ -408,17 +412,6 @@ CHECK_C_SOURCE_COMPILES("
}"
COMPILER_SUPPORTS_BUILTIN_MATH)

# Check if compilation with FFTW3 really succeeds
if(LIBFFTW3)
set (CMAKE_REQUIRED_LIBRARIES ${LIBFFTW3})
CHECK_C_SOURCE_COMPILES("
#include <fftw3.h>
int main() {
fftw_complex *in = (fftw_complex*) fftw_malloc(sizeof(fftw_complex) * 16);
}"
COMPILER_SUPPORTS_FFTW3)
endif(LIBFFTW3)

# Reset used flags
set(CMAKE_REQUIRED_FLAGS)
set(CMAKE_REQUIRED_LIBRARIES)
Expand Down
4 changes: 0 additions & 4 deletions doc/html/benchmark.xhtml
Original file line number Diff line number Diff line change
Expand Up @@ -28,10 +28,6 @@
<li><a class="underlined" href="additional.xhtml">Additional notes</a></li>
</ul>

<p style="font-size:1.1em; margin-top:1.0cm; color:#a00000;">
<b><a class="underlined" style="color:#a00000;" href="https://github.com/shibatch/sleef/wiki/DFT-Performance">New : Results of preliminary performance evaluation of DFT</a> is available now.</b>.
</p>

<h2>Benchmark results</h2>

<p class="noindent" style="font-size:1em; margin-top:0.5cm;">
Expand Down
11 changes: 10 additions & 1 deletion doc/html/index.xhtml
Original file line number Diff line number Diff line change
Expand Up @@ -360,7 +360,16 @@ information about Boost Software License.

<h2 id="history">History</h2>

<h4>3.3 (Not released yet)</h4>
<h4>3.3.1 (Released on Aug 21, 2018)</h4>
<ul class="disc">
<li>i386 build problem is fixed</li>
<li>FreeBSD support is added</li>
<li>Trigonometric functions now evaluate correctly with full FP
domain. (PR <a class="underlined"
href="https://github.com/shibatch/sleef/pull/197">#210</a>)</li>
</ul>

<h4>3.3 (Released on July 6, 2018)</h4>
<ul class="disc">
<li>AArch64 SVE target support is added (PR <a class="underlined"
href="https://github.com/shibatch/sleef/pull/180">#180</a>, <a class="underlined"
Expand Down
76 changes: 24 additions & 52 deletions doc/html/purec.xhtml
Original file line number Diff line number Diff line change
Expand Up @@ -119,12 +119,8 @@ extended-precision (80-bit) floating point values, which is defined in

<p class="noindent">
These functions evaluates the sine function of a value
in <i class="var">a</i>. The error bound of the returned value is 1.0 ULP
if <i class="var">a</i> is in [-1e+299, 1e+299]
for the double-precision function or [-1e+28, 1e+28]
for the single-precision function. If <i class="var">a</i> is a finite
value out of this range, an arbitrary value within [-1, 1] is
returned. These functions treat the non-number arguments and return
in <i class="var">a</i>. The error bound of the returned value is
1.0 ULP. These functions treat the non-number arguments and return
non-numbers as specified in the C99 specification. These functions
do not set errno nor raise an exception.
</p>
Expand All @@ -149,12 +145,8 @@ extended-precision (80-bit) floating point values, which is defined in

<p class="noindent">
These functions evaluates the sine function of a value
in <i class="var">a</i>. The error bound of the returned value is 3.5 ULP
if <i class="var">a</i> is in [-1e+299, 1e+299]
for the double-precision function or [-1e+28, 1e+28]
for the single-precision function. If <i class="var">a</i> is a finite
value out of this range, an arbitrary value within [-1, 1] is
returned. These functions treat the non-number arguments and return
in <i class="var">a</i>. The error bound of the returned value is
3.5 ULP. These functions treat the non-number arguments and return
non-numbers as specified in the C99 specification. These functions
do not set errno nor raise an exception.
</p>
Expand All @@ -179,12 +171,8 @@ extended-precision (80-bit) floating point values, which is defined in

<p class="noindent">
These functions evaluates the cosine function of a value
in <i class="var">a</i>. The error bound of the returned value is 1.0 ULP
if <i class="var">a</i> is in [-1e+299, 1e+299]
for the double-precision function or [-1e+28, 1e+28]
for the single-precision function. If <i class="var">a</i> is a finite
value out of this range, an arbitrary value within [-1, 1] is
returned. These functions treat the non-number arguments and return
in <i class="var">a</i>. The error bound of the returned value is
1.0 ULP. These functions treat the non-number arguments and return
non-numbers as specified in the C99 specification. These functions
do not set errno nor raise an exception.
</p>
Expand All @@ -209,12 +197,8 @@ extended-precision (80-bit) floating point values, which is defined in

<p class="noindent">
These functions evaluates the cosine function of a value
in <i class="var">a</i>. The error bound of the returned value is 3.5 ULP
if <i class="var">a</i> is in [-1e+299, 1e+299]
for the double-precision function or [-1e+28, 1e+28]
for the single-precision function. If <i class="var">a</i> is a finite
value out of this range, an arbitrary value within [-1, 1] is
returned. These functions treat the non-number arguments and return
in <i class="var">a</i>. The error bound of the returned value is
3.5 ULP. These functions treat the non-number arguments and return
non-numbers as specified in the C99 specification. These functions
do not set errno nor raise an exception.
</p>
Expand All @@ -238,14 +222,12 @@ extended-precision (80-bit) floating point values, which is defined in
<p class="header">Description</p>

<p class="noindent">
Evaluates the sine and cosine functions of a value in <i class="var">a</i> at a
time, and store the two values in <i class="var">x</i> and <i class="var">y</i> elements in
the returned value, respectively. The error bound of the returned
values is 1.0 ULP if <i class="var">a</i> is in [-1e+299, 1e+299]
for the double-precision function or [-1e+28, 1e+28]
for the single-precision function. If <i class="var">a</i> is a finite
value out of this range, an arbitrary value within [-1, 1] is
returned. If <i class="var">a</i> is a NaN or infinity, a NaN is returned.
Evaluates the sine and cosine functions of a value
in <i class="var">a</i> at a time, and store the two values
in <i class="var">x</i> and <i class="var">y</i> elements in the
returned value, respectively. The error bound of the returned values
is 1.0 ULP. If <i class="var">a</i> is a NaN or infinity, a NaN is
returned.
</p>

<hr/>
Expand All @@ -267,14 +249,12 @@ extended-precision (80-bit) floating point values, which is defined in
<p class="header">Description</p>

<p class="noindent">
Evaluates the sine and cosine functions of a value in <i class="var">a</i> at a
time, and store the two values in <i class="var">x</i> and <i class="var">y</i> elements in
the returned value, respectively. The error bound of the returned
values is 3.5 ULP if <i class="var">a</i> is in [-1e+299, 1e+299]
for the double-precision function or [-1e+28, 1e+28]
for the single-precision function. If <i class="var">a</i> is a finite
value out of this range, an arbitrary value within [-1, 1] is
returned. If <i class="var">a</i> is a NaN or infinity, a NaN is returned.
Evaluates the sine and cosine functions of a value
in <i class="var">a</i> at a time, and store the two values
in <i class="var">x</i> and <i class="var">y</i> elements in the
returned value, respectively. The error bound of the returned values
is 3.5 ULP. If <i class="var">a</i> is a NaN or infinity, a NaN is
returned.
</p>

<hr/>
Expand Down Expand Up @@ -419,12 +399,8 @@ extended-precision (80-bit) floating point values, which is defined in

<p class="noindent">
These functions evaluates the tangent function of a value
in <i class="var">a</i>. The error bound of the returned value is 1.0 ULP
if <i class="var">a</i> is in [-1e+299, 1e+299]
for the double-precision function or [-1e+28, 1e+28]
for the single-precision function. If <i class="var">a</i> is a finite
value out of this range, an arbitrary value within [-1, 1] is
returned. These functions treat the non-number arguments and return
in <i class="var">a</i>. The error bound of the returned value is
1.0 ULP. These functions treat the non-number arguments and return
non-numbers as specified in the C99 specification. These functions
do not set errno nor raise an exception.
</p>
Expand All @@ -449,12 +425,8 @@ extended-precision (80-bit) floating point values, which is defined in

<p class="noindent">
These functions evaluates the tangent function of a value
in <i class="var">a</i>. The error bound of the returned value is 3.5 ULP
if <i class="var">a</i> is in [-1e+299, 1e+299]
for the double-precision function or [-1e+28, 1e+28]
for the single-precision function. If <i class="var">a</i> is a finite
value out of this range, an arbitrary value within [-1, 1] is
returned. These functions treat the non-number arguments and return
in <i class="var">a</i>. The error bound of the returned value is
3.5 ULP. These functions treat the non-number arguments and return
non-numbers as specified in the C99 specification. These functions
do not set errno nor raise an exception.
</p>
Expand Down
14 changes: 1 addition & 13 deletions src/common/misc.h
Original file line number Diff line number Diff line change
Expand Up @@ -271,21 +271,9 @@ typedef struct {
#endif
#endif

static INLINE CONST int isinff(float x) { return x == SLEEF_INFINITYf || x == -SLEEF_INFINITYf; }
static INLINE CONST int isinfl(long double x) { return x == SLEEF_INFINITYl || x == -SLEEF_INFINITYl; }
static INLINE CONST int isnanf(float x) { return x != x; }
static INLINE CONST int isnanl(long double x) { return x != x; }

#endif // defined(_MSC_VER)

#if defined(__APPLE__) || defined(__MINGW32__) || defined(__MINGW64__)
static INLINE CONST int isinff(float x) { return x == SLEEF_INFINITYf || x == -SLEEF_INFINITYf; }
static INLINE CONST int isinfl(long double x) { return x == SLEEF_INFINITYl || x == -SLEEF_INFINITYl; }
static INLINE CONST int isnanf(float x) { return x != x; }
static INLINE CONST int isnanl(long double x) { return x != x; }
#endif

#if defined(__FreeBSD__)
#if !defined(__linux__)
#define isinff(x) ((x) == SLEEF_INFINITYf || (x) == -SLEEF_INFINITYf)
#define isinfl(x) ((x) == SLEEF_INFINITYl || (x) == -SLEEF_INFINITYl)
#define isnanf(x) ((x) != (x))
Expand Down
9 changes: 6 additions & 3 deletions src/dft-tester/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,9 @@ endfunction()

include_directories(${PROJECT_SOURCE_DIR}/include) # sleefdft.h
include_directories(${CMAKE_BINARY_DIR}/include) # sleef.h
if (FFTW3_INCLUDE_DIR)
include_directories(${FFTW3_INCLUDE_DIR}) # fftw3.h
endif()

# Link directories

Expand Down Expand Up @@ -104,7 +107,7 @@ target_compile_definitions(${TARGET_ROUNDTRIPTEST2DSP} PRIVATE ${COMMON_TARGET_D
target_link_libraries(${TARGET_ROUNDTRIPTEST2DSP} ${COMMON_LINK_LIBRARIES})
set_target_properties(${TARGET_ROUNDTRIPTEST2DSP} PROPERTIES ${COMMON_TARGET_PROPERTIES})

if (COMPILER_SUPPORTS_FFTW3)
if (LIBFFTW3)
# Target executable fftwtest1ddp
set(TARGET_FFTWTEST1DDP "fftwtest1ddp")
add_executable(${TARGET_FFTWTEST1DDP} fftwtest1d.c ${PROJECT_SOURCE_DIR}/include/sleefdft.h)
Expand Down Expand Up @@ -158,7 +161,7 @@ if (COMPILER_SUPPORTS_FFTW3)
add_test_dft(${TARGET_FFTWTEST2DSP}_8_8 $<TARGET_FILE:${TARGET_FFTWTEST2DSP}> 8 8)
add_test_dft(${TARGET_FFTWTEST2DSP}_10_10 $<TARGET_FILE:${TARGET_FFTWTEST2DSP}> 10 10)
add_test_dft(${TARGET_FFTWTEST2DSP}_5_15 $<TARGET_FILE:${TARGET_FFTWTEST2DSP}> 5 15)
else(COMPILER_SUPPORTS_FFTW3)
else(LIBFFTW3)
if(MSVC)
# Test roundtriptestdp
add_test_dft(${TARGET_ROUNDTRIPTEST1DDP}_1 $<TARGET_FILE:${TARGET_ROUNDTRIPTEST1DDP}> 1 10)
Expand Down Expand Up @@ -195,4 +198,4 @@ else(COMPILER_SUPPORTS_FFTW3)
add_test_dft(${TARGET_ROUNDTRIPTEST2DSP}_8_8 $<TARGET_FILE:${TARGET_ROUNDTRIPTEST2DSP}> 8 8 10)
add_test_dft(${TARGET_ROUNDTRIPTEST2DSP}_10_10 $<TARGET_FILE:${TARGET_ROUNDTRIPTEST2DSP}> 10 10 2)
add_test_dft(${TARGET_ROUNDTRIPTEST2DSP}_5_15 $<TARGET_FILE:${TARGET_ROUNDTRIPTEST2DSP}> 5 15 2)
endif(COMPILER_SUPPORTS_FFTW3)
endif(LIBFFTW3)
2 changes: 1 addition & 1 deletion src/dft/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -344,7 +344,7 @@ foreach(T ${LIST_SUPPORTED_FPTYPE})
endforeach()

set_target_properties(${TARGET_LIBDFT} PROPERTIES
VERSION ${SLEEF_VERSION_MAJOR}.${SLEEF_VERSION_MINOR}
VERSION ${SLEEF_VERSION}
SOVERSION ${SLEEF_SOVERSION}
${COMMON_TARGET_PROPERTIES}
)
Expand Down
8 changes: 8 additions & 0 deletions src/libm-tester/gnuabi_compatibility.c
Original file line number Diff line number Diff line change
Expand Up @@ -221,6 +221,10 @@ DECLARE_SP(fminf, vv);
DECLARE_SP(fmodf, vv);
DECLARE_SP(frfrexpf, v);
DECLARE_SP(hypotf, vv);
#ifndef ENABLE_AVX
DECLARE_SP(expfrexpf, v);
DECLARE_SP(ilogbf, v);
#endif
DECLARE_SP(ldexpf, vv);
DECLARE_SP(lgammaf, v);
DECLARE_SP(logf, v);
Expand Down Expand Up @@ -395,6 +399,10 @@ int main(void) {
CALL_SP(fmodf, vv);
CALL_SP(frfrexpf, v);
CALL_SP(hypotf, vv);
#ifndef ENABLE_AVX
CALL_SP(expfrexpf, v);
CALL_SP(ilogbf, v);
#endif
CALL_SP(ldexpf, vv);
CALL_SP(lgammaf, v);
CALL_SP(logf, v);
Expand Down
2 changes: 1 addition & 1 deletion src/libm/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -169,7 +169,7 @@ endif()

add_library(${TARGET_LIBSLEEF} ${STANDARD_SOURCES})
set_target_properties(${TARGET_LIBSLEEF} PROPERTIES
VERSION ${SLEEF_VERSION_MAJOR}.${SLEEF_VERSION_MINOR}
VERSION ${SLEEF_VERSION}
SOVERSION ${SLEEF_SOVERSION}
${COMMON_TARGET_PROPERTIES}
)
Expand Down

0 comments on commit ff0672d

Please sign in to comment.