Skip to content

Commit 7baf93f

Browse files
committed
Don't set kind parameters in case stdlib is not supporting them
- remove EULERS_NUMBER_QP export if quadruple precision is not enabled
1 parent 83ad829 commit 7baf93f

File tree

4 files changed

+11
-5
lines changed

4 files changed

+11
-5
lines changed

src/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ set(fppFiles
77
stdlib_bitsets_64.fypp
88
stdlib_bitsets_large.fypp
99
stdlib_io.fypp
10+
stdlib_kinds.fypp
1011
stdlib_linalg.fypp
1112
stdlib_linalg_diag.fypp
1213
stdlib_linalg_outer_product.fypp
@@ -60,7 +61,6 @@ fypp_f90("${fyppFlags}" "${fppFiles}" outFiles)
6061

6162
set(SRC
6263
stdlib_error.f90
63-
stdlib_kinds.f90
6464
stdlib_logger.f90
6565
stdlib_system.F90
6666
stdlib_specialfunctions.f90

src/Makefile.manual

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ SRCFYPP = \
44
stdlib_bitsets_large.fypp \
55
stdlib_bitsets.fypp \
66
stdlib_io.fypp \
7+
stdlib_kinds.fypp \
78
stdlib_linalg.fypp \
89
stdlib_linalg_diag.fypp \
910
stdlib_linalg_outer_product.fypp \
@@ -41,7 +42,6 @@ SRC = f18estop.f90 \
4142
stdlib_specialfunctions.f90 \
4243
stdlib_specialfunctions_legendre.f90 \
4344
stdlib_io.f90 \
44-
stdlib_kinds.f90 \
4545
stdlib_logger.f90 \
4646
stdlib_quadrature_gauss.f90 \
4747
stdlib_strings.f90 \

src/stdlib_kinds.f90 renamed to src/stdlib_kinds.fypp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
#:include "common.fypp"
12
!> Version: experimental
23
!>
34
!> The specification of this module is available [here](../page/specs/stdlib_kinds.html).
@@ -15,10 +16,10 @@ module stdlib_kinds
1516
integer, parameter :: dp = selected_real_kind(15)
1617

1718
!> Extended double precision real numbers
18-
integer, parameter :: xdp = selected_real_kind(18)
19+
integer, parameter :: xdp = #{if WITH_XDP}#selected_real_kind(18)#{else}#-1#{endif}#
1920

2021
!> Quadruple precision real numbers
21-
integer, parameter :: qp = selected_real_kind(33)
22+
integer, parameter :: qp = #{if WITH_QP}#selected_real_kind(33)#{else}#-1#{endif}#
2223

2324
!> Default logical kind parameter
2425
integer, parameter :: lk = kind(.true.)

src/stdlib_math.fypp

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,10 @@ module stdlib_math
99
implicit none
1010
private
1111
public :: clip, gcd, linspace, logspace
12-
public :: EULERS_NUMBER_SP, EULERS_NUMBER_DP, EULERS_NUMBER_QP
12+
public :: EULERS_NUMBER_SP, EULERS_NUMBER_DP
13+
#:if WITH_QP
14+
public :: EULERS_NUMBER_QP
15+
#:endif
1316
public :: DEFAULT_LINSPACE_LENGTH, DEFAULT_LOGSPACE_BASE, DEFAULT_LOGSPACE_LENGTH
1417
public :: arange
1518

@@ -20,7 +23,9 @@ module stdlib_math
2023
! Useful constants for lnspace
2124
real(sp), parameter :: EULERS_NUMBER_SP = exp(1.0_sp)
2225
real(dp), parameter :: EULERS_NUMBER_DP = exp(1.0_dp)
26+
#:if WITH_QP
2327
real(qp), parameter :: EULERS_NUMBER_QP = exp(1.0_qp)
28+
#:endif
2429

2530
interface clip
2631
#:for k1, t1 in IR_KINDS_TYPES

0 commit comments

Comments
 (0)