3 #include "ScaleSTL/FortranTestMacros.h"
11 type(origen_concentrations) :: concs,prev
12 type(origen_nuclideset) :: nucset
14 type(scalestl_vec_int) :: ivec
15 type(scalestl_vec_dbl) :: dvec
17 integer,
parameter :: l=c_size_t
18 integer(C_SIZE_T) :: i,n,nn
21 call state % initialize()
22 call state % getptr_concs(concs)
26 call ivec % initialize_size(3_l)
27 call ivec%set(1_l,10010)
28 call ivec%set(2_l,10020)
29 call ivec%set(3_l,10030)
30 call nucset%initialize_legacy_vec(1,1,1,ivec)
33 call dvec % initialize_size(3_l)
34 call dvec%set(1_l,0.1d0)
35 call dvec%set(2_l,0.2d0)
36 call dvec%set(3_l,0.3d0)
39 call concs % initialize()
40 call concs % set_nuclide_set(nucset)
41 call concs % set_vals_vec(dvec);
44 expect_eq(10001001,nucset%ids_at(1_l))
45 expect_eq(20001002,nucset%ids_at(2_l))
46 expect_eq(30001003,nucset%ids_at(3_l))
50 expect_eq(0.1d0,concs%vals_at(1_l))
51 expect_eq(0.2d0,concs%vals_at(2_l))
52 expect_eq(0.3d0,concs%vals_at(3_l))
53 expect_eq(3_l,concs%vals_size())
55 expect_true(nucset%has_sublibs())
56 expect_eq(3_l,nucset%count_sublibs())
71 do i=nucset%sublib_begin(s),nucset%sublib_end(s)
84 prev%instance_ptr = concs%instance_ptr
87 call state % manageptr_concs(concs)
90 concs%instance_ptr = c_null_ptr
91 call state % getptr_concs(concs)
93 assert_c_assoc2(concs,prev)
96 concs%instance_ptr = c_null_ptr
97 prev%instance_ptr = c_null_ptr
100 call dvec % destroy()
101 call state % destroy()