zenith/
zenith.rs

1
2//-----------------------------------------------------------------------------//
3pub fn create_atom(num_protons: u32, num_neutrons: u32, num_electrons: u32) -> Atom {
4	
5	Atom {
6		amount_protons: num_protons,
7		amount_neutrons: num_neutrons,
8		amount_electrons: num_electrons,
9	}
10}
11
12//-----------------------------------------------------------------------------//
13pub fn create_molecule(_atoms: Vec<u32>) -> Molecule {
14	
15	Molecule {
16		atoms: _atoms,
17	}
18}
19
20//-----------------------------------------------------------------------------//
21
22pub struct Atom {
23	
24	//----------------//
25	amount_protons: u32,
26	
27	//----------------//
28	amount_neutrons: u32,
29	
30	//----------------//
31	amount_electrons: u32,
32	
33	//----------------//
34}
35
36impl Atom {
37
38	//----------------------------------//
39	pub fn set_electrons(mut self, amount: u32) {
40		self.amount_electrons = amount;
41		
42	}
43	pub fn add_electrons(mut self, amount: u32) {
44		self.amount_electrons += amount;
45		
46	}
47	pub fn sub_electrons(mut self, amount: u32) {
48		self.amount_electrons -= amount;
49		
50	}
51	pub fn amount_electrons(self) -> u32 {
52		
53		self.amount_electrons
54	}
55
56	//----------------------------------//
57	pub fn set_neutrons(mut self, amount: u32) {
58		self.amount_neutrons = amount;
59		
60	}
61	pub fn add_neutrons(mut self, amount: u32) {
62		self.amount_neutrons += amount;
63		
64	}
65	pub fn sub_neutrons(mut self, amount: u32) {
66		self.amount_neutrons -= amount;
67		
68	}
69	pub fn amount_neutrons(self) -> u32 {
70		
71		self.amount_neutrons
72	}
73	
74	//----------------------------------//
75	pub fn amount_protons(self) -> u32 {
76		
77		self.amount_protons
78	}
79	
80	//----------------------------------//
81}
82
83//-----------------------------------------------------------------------------//
84pub struct Molecule {
85
86	//----------------//
87	atoms: std::vec::Vec<u32>,
88	
89	//----------------//
90}
91
92impl Molecule {
93
94	//----------------------------------//
95	pub fn set_atoms(mut self, _atoms: Vec<u32>) {
96		self.atoms = _atoms;
97		
98	}
99	
100	pub fn atoms(self) -> Vec<u32> {
101		
102		self.atoms
103	}
104	
105	//----------------------------------//
106}
107
108//-----------------------------------------------------------------------------//