mirror of
https://github.com/TREX-CoE/trexio.git
synced 2025-04-16 13:49:19 +02:00
Adapting determinants
This commit is contained in:
parent
52eae38230
commit
2cea87a123
@ -554,7 +554,7 @@ pub fn read_{group_l}_{element_l}(&self, offset: usize, buffer_size:usize) -> Re
|
||||
let offset: i64 = offset.try_into().expect("try_into failed in read_{group}_{element} (offset)");
|
||||
let mut buffer_size_read: i64 = buffer_size.try_into().expect("try_into failed in read_{group}_{element} (buffer_size)");
|
||||
let rc = unsafe {{ c::trexio_read_safe_{group}_{element}(self.ptr,
|
||||
offset, &mut buffer_size_read, idx_ptr, buffer_size_read, val_ptr, buffer_size_read)
|
||||
offset, &mut buffer_size_read, idx_ptr, idx.len().try_into().unwrap(), val_ptr, val.len().try_into().unwrap())
|
||||
}};
|
||||
let rc = match ExitCode::from(rc) {{
|
||||
ExitCode::End => ExitCode::to_c(&ExitCode::Success),
|
||||
@ -605,9 +605,9 @@ pub fn write_{group_l}_{element_l}(&self, offset: usize, data: &[{typ}]) -> Resu
|
||||
}}
|
||||
|
||||
let size_max: i64 = data.len().try_into().expect("try_into failed in write_{group}_{element} (size_max)");
|
||||
let size_max_val: i64 = size_max / ({size}+1);
|
||||
let size_max_idx: i64 = {size} * size_max_val;
|
||||
let buffer_size = size_max_val;
|
||||
let size_max_val: i64 = val.len().try_into().expect("try_into failed in write_{group}_{element} (size_max)");
|
||||
let size_max_idx: i64 = idx.len().try_into().expect("try_into failed in write_{group}_{element} (size_max)");
|
||||
let buffer_size = size_max;
|
||||
let idx_ptr = idx.as_ptr() as *const i32;
|
||||
let val_ptr = val.as_ptr() as *const f64;
|
||||
let offset: i64 = offset.try_into().expect("try_into failed in write_{group}_{element} (offset)");
|
||||
|
@ -95,14 +95,18 @@ fn write(file_name: &str, back_end: BackEnd) {
|
||||
}
|
||||
|
||||
// Determinants
|
||||
let nup = 8;
|
||||
let ndn = 6;
|
||||
trex_file.write_electron_up_num(nup).unwrap();
|
||||
trex_file.write_electron_dn_num(ndn).unwrap();
|
||||
let det_num = 50;
|
||||
let mut det_list = Vec::with_capacity(det_num);
|
||||
let mut det_occ_alpha = [ 0, 1, 2, 3, 75, 127, 128, 142 ];
|
||||
let mut det_occ_beta = [ 0, 2, 3, 79, 80, 138 ];
|
||||
let mut det_list = Vec::with_capacity(det_num*6);
|
||||
for i in 0..det_num {
|
||||
let mut d = [0i64; 6];
|
||||
for j in 0..6 {
|
||||
d[j] = 6 * (i as i64) + (j as i64);
|
||||
}
|
||||
det_list.push(Bitfield::from_vec(&d));
|
||||
let (alpha, _) = Bitfield::from(3, &det_occ_alpha);
|
||||
let (beta, _) = Bitfield::from(3, &det_occ_beta);
|
||||
det_list.push(Bitfield::from_alpha_beta(&alpha, &beta));
|
||||
}
|
||||
|
||||
let n_buffers = 5;
|
||||
|
Loading…
x
Reference in New Issue
Block a user