Implemented decode_image_flags and its unit test; updated documentation
This commit is contained in:
@ -110,3 +110,25 @@ FUNCTION f_lammps_get_image_flags_bigint(ix, iy, iz) BIND(C)
|
||||
|
||||
f_lammps_get_image_flags_bigint = lmp%encode_image_flags(ix, iy, iz)
|
||||
END FUNCTION f_lammps_get_image_flags_bigint
|
||||
|
||||
SUBROUTINE f_lammps_decode_image_flags(image, flag) BIND(C)
|
||||
USE, INTRINSIC :: ISO_C_BINDING, ONLY : c_int
|
||||
USE keepstuff, ONLY : lmp
|
||||
USE LIBLAMMPS
|
||||
IMPLICIT NONE
|
||||
INTEGER(c_int), INTENT(IN), VALUE :: image
|
||||
INTEGER(c_int), INTENT(OUT) :: flag(3)
|
||||
|
||||
CALL lmp%decode_image_flags(image, flag)
|
||||
END SUBROUTINE f_lammps_decode_image_flags
|
||||
|
||||
SUBROUTINE f_lammps_decode_image_flags_bigbig(image, flag) BIND(C)
|
||||
USE, INTRINSIC :: ISO_C_BINDING, ONLY : c_int, c_int64_t
|
||||
USE keepstuff, ONLY : lmp
|
||||
USE LIBLAMMPS
|
||||
IMPLICIT NONE
|
||||
INTEGER(c_int64_t), INTENT(IN), VALUE :: image
|
||||
INTEGER(c_int), INTENT(OUT) :: flag(3)
|
||||
|
||||
CALL lmp%decode_image_flags(image, flag)
|
||||
END SUBROUTINE f_lammps_decode_image_flags_bigbig
|
||||
|
||||
@ -21,6 +21,8 @@ int f_lammps_has_error();
|
||||
int f_lammps_get_last_error_message(char *, int);
|
||||
int f_lammps_get_image_flags_int(int, int, int);
|
||||
int64_t f_lammps_get_image_flags_bigint(int, int, int);
|
||||
void f_lammps_decode_image_flags(int, int*);
|
||||
void f_lammps_decode_image_flags_bigbig(int64_t, int*);
|
||||
}
|
||||
|
||||
namespace LAMMPS_NS {
|
||||
@ -156,20 +158,35 @@ TEST_F(LAMMPS_properties, has_error)
|
||||
TEST_F(LAMMPS_properties, get_image_flags)
|
||||
{
|
||||
#ifdef LAMMPS_BIGBIG
|
||||
int64_t image = f_lammps_get_image_flags_bigint(0,0,0);
|
||||
int64_t Cimage = lammps_encode_image_flags(0,0,0);
|
||||
EXPECT_EQ(image, Cimage);
|
||||
image = f_lammps_get_image_flags_bigint(1,-1,1);
|
||||
Cimage = lammps_encode_image_flags(1,-1,1);
|
||||
EXPECT_EQ(image, Cimage);
|
||||
int64_t image = f_lammps_get_image_flags_bigint(0,0,0);
|
||||
int64_t Cimage = lammps_encode_image_flags(0,0,0);
|
||||
EXPECT_EQ(image, Cimage);
|
||||
image = f_lammps_get_image_flags_bigint(1,-1,1);
|
||||
Cimage = lammps_encode_image_flags(1,-1,1);
|
||||
EXPECT_EQ(image, Cimage);
|
||||
#else
|
||||
int image = f_lammps_get_image_flags_int(0,0,0);
|
||||
int Cimage = lammps_encode_image_flags(0,0,0);
|
||||
EXPECT_EQ(image, Cimage);
|
||||
image = f_lammps_get_image_flags_int(1,-1,1);
|
||||
Cimage = lammps_encode_image_flags(1,-1,1);
|
||||
EXPECT_EQ(image, Cimage);
|
||||
int image = f_lammps_get_image_flags_int(0,0,0);
|
||||
int Cimage = lammps_encode_image_flags(0,0,0);
|
||||
EXPECT_EQ(image, Cimage);
|
||||
image = f_lammps_get_image_flags_int(1,-1,1);
|
||||
Cimage = lammps_encode_image_flags(1,-1,1);
|
||||
EXPECT_EQ(image, Cimage);
|
||||
#endif
|
||||
}
|
||||
|
||||
TEST_F(LAMMPS_properties, decode_image_flags)
|
||||
{
|
||||
int flag[3];
|
||||
#ifdef LAMMPS_BIGBIG
|
||||
int64_t image = f_lammps_get_image_flags_bigint(1,3,-2);
|
||||
f_lammps_decode_image_flags_bigbig(image, flag);
|
||||
#else
|
||||
int image = f_lammps_get_image_flags_int(1,3,-2);
|
||||
f_lammps_decode_image_flags(image, flag);
|
||||
#endif
|
||||
EXPECT_EQ(flag[0], 1);
|
||||
EXPECT_EQ(flag[1], 3);
|
||||
EXPECT_EQ(flag[2], -2);
|
||||
};
|
||||
|
||||
} // namespace LAMMPS_NS
|
||||
|
||||
Reference in New Issue
Block a user