Skip to content

Commit

Permalink
updated version module and its components to conform to usual galahad…
Browse files Browse the repository at this point in the history
… rules
  • Loading branch information
dalekopera committed Aug 16, 2024
1 parent ae2afd4 commit b1168ba
Show file tree
Hide file tree
Showing 5 changed files with 68 additions and 9 deletions.
41 changes: 41 additions & 0 deletions src/version/C/version_ciface.F90
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
! THIS VERSION: GALAHAD 5.1 - 2024-08-16 AT 10:30 GMT.

#include "galahad_modules.h"
#include "galahad_cfunctions.h"

!-*-*-*-*-*- G A L A H A D _ V E R S I O N C I N T E R F A C E -*-*-*-*-

! Copyright reserved, Gould/Orban/Toint, for GALAHAD productions
! Principal authors: Jaroslav Fowkes & Nick Gould

! History -
! originally released GALAHAD Version 5.1. August 16th 2024

! For full documentation, see
! http://galahad.rl.ac.uk/galahad-www/specs.html

MODULE GALAHAD_VERSION_ciface

USE GALAHAD_VERSION, ONLY: f_version_galahad => version_galahad

CONTAINS

! --------------------------------------
! C interface to fortran version_galahad
! --------------------------------------

SUBROUTINE version_galahad( major_version, minor_version, patch_version ) &
BIND( C )
USE ISO_C_BINDING, ONLY : C_int
IMPLICIT NONE

! dummy arguments

INTEGER ( KIND = C_int ) :: major_version, minor_version, patch_version
CALL f_VERSION_galahad( major_version, minor_version, patch_version )

RETURN

END SUBROUTINE version_galahad

END MODULE GALAHAD_VERSION_ciface
15 changes: 15 additions & 0 deletions src/version/C/versiont.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
/* versiont.c */
/* Full test for the VERSION C interface */

#include <stdio.h>
#include "galahad_version.h"

int main(void) {

int major;
int minor;
int patch;

version_galahad( &major, &minor, &patch );
printf( " GALAHAD version: %d.%d.%d\n", major, minor, patch );
}
4 changes: 4 additions & 0 deletions src/version/meson.build
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
libgalahad_src += files('version.F90')

libgalahad_c_src += files('C/version_ciface.F90')

galahad_tests += [['version', 'versiont', files('versiont.F90')]]

galahad_c_tests += [['version', 'versiont_c', files('C/versiont.c')]]
15 changes: 7 additions & 8 deletions src/version/version.F90
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
! THIS VERSION: GALAHAD 5.1 - 2024-08-14 AT 09:45 GMT.
! THIS VERSION: GALAHAD 5.1 - 2024-08-16 AT 09:45 GMT.

#include "galahad_modules.h"

Expand All @@ -16,33 +16,32 @@

MODULE GALAHAD_VERSION

USE GALAHAD_KINDS_precision

IMPLICIT NONE

PRIVATE
PUBLIC :: VERSION
PUBLIC :: VERSION_galahad

INTEGER, PARAMETER :: major = 5
INTEGER, PARAMETER :: minor = 0
INTEGER, PARAMETER :: patch = 0

CONTAINS

!-*-*-*-*-*-*- G A L A H A D V E R S I O N F U N C T I O N -*-*-*-*-*-*-
!-*- G A L A H A D V E R S I O N _ G A L A H A D S U B R O U T I N E -*-

SUBROUTINE VERSION(major_version, minor_version, patch_version) BIND(C, NAME="version_galahad")
SUBROUTINE VERSION_galahad( major_version, minor_version, patch_version )
INTEGER :: major_version, minor_version, patch_version

! return the current GALAHAD version number (major.minor.patch)

major_version = major
minor_version = minor
patch_version = patch
RETURN

! End of subroutine VERSION
! End of subroutine VERSION_galahad

END SUBROUTINE VERSION
END SUBROUTINE VERSION_galahad

! End of module GALAHAD_VERSION

Expand Down
2 changes: 1 addition & 1 deletion src/version/versiont.F90
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ PROGRAM GALAHAD_VERSION_TEST
IMPLICIT NONE

INTEGER :: major, minor, patch
CALL VERSION( major, minor, patch )
CALL VERSION_galahad( major, minor, patch )

WRITE( 6, "(' current GALAHAD version is ', I0, '.', I0, '.', I0 )" ) &
major, minor, patch
Expand Down

0 comments on commit b1168ba

Please sign in to comment.