mirror of
https://github.com/dnlbauer/xdrfile.git
synced 2026-09-11 06:35:30 +00:00
165 lines
5.2 KiB
Rust
165 lines
5.2 KiB
Rust
use super::xdrfile::*;
|
|
|
|
pub const _STDINT_H: u32 = 1;
|
|
pub const _FEATURES_H: u32 = 1;
|
|
pub const _DEFAULT_SOURCE: u32 = 1;
|
|
pub const __USE_ISOC11: u32 = 1;
|
|
pub const __USE_ISOC99: u32 = 1;
|
|
pub const __USE_ISOC95: u32 = 1;
|
|
pub const __USE_POSIX_IMPLICITLY: u32 = 1;
|
|
pub const _POSIX_SOURCE: u32 = 1;
|
|
pub const _POSIX_C_SOURCE: u32 = 200809;
|
|
pub const __USE_POSIX: u32 = 1;
|
|
pub const __USE_POSIX2: u32 = 1;
|
|
pub const __USE_POSIX199309: u32 = 1;
|
|
pub const __USE_POSIX199506: u32 = 1;
|
|
pub const __USE_XOPEN2K: u32 = 1;
|
|
pub const __USE_XOPEN2K8: u32 = 1;
|
|
pub const _ATFILE_SOURCE: u32 = 1;
|
|
pub const __USE_MISC: u32 = 1;
|
|
pub const __USE_ATFILE: u32 = 1;
|
|
pub const __USE_FORTIFY_LEVEL: u32 = 0;
|
|
pub const _STDC_PREDEF_H: u32 = 1;
|
|
pub const __STDC_IEC_559__: u32 = 1;
|
|
pub const __STDC_IEC_559_COMPLEX__: u32 = 1;
|
|
pub const __STDC_ISO_10646__: u32 = 201605;
|
|
pub const __STDC_NO_THREADS__: u32 = 1;
|
|
pub const __GNU_LIBRARY__: u32 = 6;
|
|
pub const __GLIBC__: u32 = 2;
|
|
pub const __GLIBC_MINOR__: u32 = 24;
|
|
pub const _SYS_CDEFS_H: u32 = 1;
|
|
pub const __WORDSIZE: u32 = 64;
|
|
pub const __WORDSIZE_TIME64_COMPAT32: u32 = 1;
|
|
pub const __SYSCALL_WORDSIZE: u32 = 64;
|
|
pub const _BITS_WCHAR_H: u32 = 1;
|
|
pub const INT8_MIN: i32 = -128;
|
|
pub const INT16_MIN: i32 = -32768;
|
|
pub const INT32_MIN: i32 = -2147483648;
|
|
pub const INT8_MAX: u32 = 127;
|
|
pub const INT16_MAX: u32 = 32767;
|
|
pub const INT32_MAX: u32 = 2147483647;
|
|
pub const UINT8_MAX: u32 = 255;
|
|
pub const UINT16_MAX: u32 = 65535;
|
|
pub const UINT32_MAX: u32 = 4294967295;
|
|
pub const INT_LEAST8_MIN: i32 = -128;
|
|
pub const INT_LEAST16_MIN: i32 = -32768;
|
|
pub const INT_LEAST32_MIN: i32 = -2147483648;
|
|
pub const INT_LEAST8_MAX: u32 = 127;
|
|
pub const INT_LEAST16_MAX: u32 = 32767;
|
|
pub const INT_LEAST32_MAX: u32 = 2147483647;
|
|
pub const UINT_LEAST8_MAX: u32 = 255;
|
|
pub const UINT_LEAST16_MAX: u32 = 65535;
|
|
pub const UINT_LEAST32_MAX: u32 = 4294967295;
|
|
pub const INT_FAST8_MIN: i32 = -128;
|
|
pub const INT_FAST16_MIN: i64 = -9223372036854775808;
|
|
pub const INT_FAST32_MIN: i64 = -9223372036854775808;
|
|
pub const INT_FAST8_MAX: u32 = 127;
|
|
pub const INT_FAST16_MAX: u64 = 9223372036854775807;
|
|
pub const INT_FAST32_MAX: u64 = 9223372036854775807;
|
|
pub const UINT_FAST8_MAX: u32 = 255;
|
|
pub const UINT_FAST16_MAX: i32 = -1;
|
|
pub const UINT_FAST32_MAX: i32 = -1;
|
|
pub const INTPTR_MIN: i64 = -9223372036854775808;
|
|
pub const INTPTR_MAX: u64 = 9223372036854775807;
|
|
pub const UINTPTR_MAX: i32 = -1;
|
|
pub const PTRDIFF_MIN: i64 = -9223372036854775808;
|
|
pub const PTRDIFF_MAX: u64 = 9223372036854775807;
|
|
pub const SIG_ATOMIC_MIN: i32 = -2147483648;
|
|
pub const SIG_ATOMIC_MAX: u32 = 2147483647;
|
|
pub const SIZE_MAX: i32 = -1;
|
|
pub const WINT_MIN: u32 = 0;
|
|
pub const WINT_MAX: u32 = 4294967295;
|
|
pub const DIM: u32 = 3;
|
|
pub type int_least8_t = ::std::os::raw::c_schar;
|
|
pub type int_least16_t = ::std::os::raw::c_short;
|
|
pub type int_least32_t = ::std::os::raw::c_int;
|
|
pub type int_least64_t = ::std::os::raw::c_long;
|
|
pub type uint_least8_t = ::std::os::raw::c_uchar;
|
|
pub type uint_least16_t = ::std::os::raw::c_ushort;
|
|
pub type uint_least32_t = ::std::os::raw::c_uint;
|
|
pub type uint_least64_t = ::std::os::raw::c_ulong;
|
|
pub type int_fast8_t = ::std::os::raw::c_schar;
|
|
pub type int_fast16_t = ::std::os::raw::c_long;
|
|
pub type int_fast32_t = ::std::os::raw::c_long;
|
|
pub type int_fast64_t = ::std::os::raw::c_long;
|
|
pub type uint_fast8_t = ::std::os::raw::c_uchar;
|
|
pub type uint_fast16_t = ::std::os::raw::c_ulong;
|
|
pub type uint_fast32_t = ::std::os::raw::c_ulong;
|
|
pub type uint_fast64_t = ::std::os::raw::c_ulong;
|
|
pub type intmax_t = ::std::os::raw::c_long;
|
|
pub type uintmax_t = ::std::os::raw::c_ulong;
|
|
|
|
extern "C" {
|
|
pub fn xdr_tell(xd: *mut XDRFILE) -> i64;
|
|
}
|
|
extern "C" {
|
|
pub fn xdr_seek(
|
|
xd: *mut XDRFILE,
|
|
pos: i64,
|
|
whence: ::std::os::raw::c_int,
|
|
) -> ::std::os::raw::c_int;
|
|
}
|
|
extern "C" {
|
|
pub fn xdr_flush(xd: *mut XDRFILE) -> ::std::os::raw::c_int;
|
|
}
|
|
|
|
#[cfg(test)]
|
|
mod tests {
|
|
|
|
use super::super::xdrfile_xtc::*;
|
|
use super::*;
|
|
use std::ffi::CString;
|
|
|
|
#[test]
|
|
fn test_xdr_tell() {
|
|
let path = CString::new("tests/1l2y.xtc").unwrap();
|
|
let num_atoms = 304;
|
|
let mut time: f32 = 2.0;
|
|
let mut step: i32 = 5;
|
|
let box_vec = [[0.0; 3]; 3];
|
|
let x_p = std::ptr::null_mut();
|
|
let mut prec: f32 = 0.0;
|
|
|
|
unsafe {
|
|
let mode = CString::new("r").unwrap();
|
|
let xdr = xdrfile_open(path.as_ptr(), mode.as_ptr());
|
|
assert!(!xdr.is_null());
|
|
|
|
let tell = xdr_tell(xdr);
|
|
assert!(tell == 0, "{}", tell);
|
|
|
|
read_xtc(
|
|
xdr,
|
|
num_atoms,
|
|
&mut step,
|
|
&mut time,
|
|
box_vec.as_ptr() as *mut Matrix,
|
|
x_p,
|
|
&mut prec,
|
|
);
|
|
|
|
let tell = xdr_tell(xdr);
|
|
assert!(tell > 0, "{}", tell);
|
|
}
|
|
}
|
|
|
|
#[test]
|
|
fn test_xdr_seek() {
|
|
let path = CString::new("tests/1l2y.xtc").unwrap();
|
|
|
|
unsafe {
|
|
let mode = CString::new("r").unwrap();
|
|
let xdr = xdrfile_open(path.as_ptr(), mode.as_ptr());
|
|
assert!(!xdr.is_null());
|
|
|
|
let tell = xdr_tell(xdr);
|
|
assert!(tell == 0, "{}", tell);
|
|
|
|
xdr_seek(xdr, 500, 0);
|
|
|
|
let tell = xdr_tell(xdr);
|
|
assert!(tell == 500, "{}", tell);
|
|
}
|
|
}
|
|
}
|