1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105
|
#
# CIF data structure, attempt 3
#
my @cif = (
\%cif_datablock_1, \%cif_datablock_2
);
## my %cif = (
## datablock_names => [
## "datablock_name_1", "datablock_name_2"
## ],
## datablocks => {
## datablock_name_1 => \@cif_datablock_1,
## datablock_name_2 => \@cif_datablock_2
## }
## );
my %cif_datablock_1 = (
name => "datablock_name_1",
values => {
_tag => [ "value" ],
_tag2 => [ "10.1" ],
_looped_tag_1 => [ "val1", "val2", "val3" ],
_looped_tag_2 => [ "1.2(2)", "2.3", "3.40(12)" ],
_looped_tag_3 => [ "val1", "val2", "val3" ],
_looped_tag_4 => [ "11.2(2)", "22.3", "13.40(12)" ],
},
precisions => {
_tag2 => [ 0.33 ],
_looped_tag_2 => [ 0.2, undef, 0.12 ],
_looped_tag_4 => [ 0.2, undef, 0.12 ],
},
types => {
_tag => [ "DQSTRING" ],
_tag2 => [ "FLOAT" ],
_looped_tag_1 => [ "DQSTRING", "SQSTRING", "UQSTRING" ],
_looped_tag_2 => [ "FLOAT", "FLOAT", "FLOAT" ],
_looped_tag_3 => [ "DQSTRING", "DQSTRING", "DQSTRING" ],
_looped_tag_4 => [ "FLOAT", "FLOAT", "FLOAT" ],
},
tags => [
"_tag", "_tag2", "_looped_tag_1", "_looped_tag_2",
"_looped_tag_3", "_looped_tag_4"
],
loops => [
[ "_looped_tag_1", "_looped_tag_2" ],
[ "_looped_tag_3", "_looped_tag_4" ],
],
inloop => {
_looped_tag_1 => 0, # [ 0, "_looped_tag_1", "_looped_tag_2" ],
_looped_tag_2 => 0, # [ 0, "_looped_tag_1", "_looped_tag_2" ],
_looped_tag_3 => 1, # [ 1, "_looped_tag_3", "_looped_tag_4" ],
_looped_tag_4 => 1, # [ 1, "_looped_tag_3", "_looped_tag_4" ],
},
save_blocks => [
\%save_datablock_has_the_same_structure_as_a_cif_datablock,
\%another_save_datablock
]
);
my %cif_values = (
_tag => [ "value" ],
_tag2 => [ "10.1" ],
_looped_tag_1 => [ "val1", "val2", "val3" ],
_looped_tag_2 => [ "1.2", "2.3", "3.4" ],
);
my %cif_precisionss = (
_tag2 => [ "0.33" ],
_looped_tag_2 => [ 0.2, undef, 0.12 ],
);
|