// File: nwieder[P]SSTS/src/System/Gillespie_Sys.cpp
// Function: nw::Gillespie_Sys::print_system_state()
void Gillespie_Sys::print_system_state(){

//	print current system state
	cout << "---System State---\n";
	info_output_file << "---System State---\n";
	for (long i = 0; i < (long)vxl_vec->size();i++){
		cout << "Voxel " << i << ": ";
		info_output_file << "Voxel " << i << ": ";
		for (long j = 0; j < (long)vxl_vec->at(i)->get_state_vec()->size(); j++){
			cout << vxl_vec->at(i)->get_state_vec()->at(j)->get_n_molecules() << ",";
			info_output_file << vxl_vec->at(i)->get_state_vec()->at(j)->get_n_molecules() << ",";
		}
		cout << endl;
		info_output_file << endl;
	}
	cout << "------------------\n";
	info_output_file << "------------------\n";
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x20(%rbp)
movq 0x430f5(%rip), %rdi     # 0x5dfd0
leaq 0x2abc7(%rip), %rsi     # 0x45aa9
callq 0x5300
movq -0x20(%rbp), %rdi
addq $0x890, %rdi            # imm = 0x890
leaq 0x2abb0(%rip), %rsi     # 0x45aa9
callq 0x5300
movq $0x0, -0x10(%rbp)
movq -0x20(%rbp), %rax
movq -0x10(%rbp), %rcx
movq %rcx, -0x28(%rbp)
movq 0xef8(%rax), %rdi
callq 0x7af0
movq %rax, %rcx
movq -0x28(%rbp), %rax
cmpq %rcx, %rax
jge 0x1b0c7
movq 0x4309b(%rip), %rdi     # 0x5dfd0
leaq 0x2ab81(%rip), %rsi     # 0x45abd
callq 0x5300
movq %rax, %rdi
movq -0x10(%rbp), %rsi
callq 0x56a0
movq %rax, %rdi
leaq 0x2a1e8(%rip), %rsi     # 0x4513f
callq 0x5300
movq -0x20(%rbp), %rdi
addq $0x890, %rdi            # imm = 0x890
leaq 0x2ab4f(%rip), %rsi     # 0x45abd
callq 0x5300
movq %rax, %rdi
movq -0x10(%rbp), %rsi
callq 0x56a0
movq %rax, %rdi
leaq 0x2a1b6(%rip), %rsi     # 0x4513f
callq 0x5300
movq $0x0, -0x18(%rbp)
movq -0x20(%rbp), %rax
movq -0x18(%rbp), %rcx
movq %rcx, -0x30(%rbp)
movq 0xef8(%rax), %rdi
movq -0x10(%rbp), %rsi
callq 0x7b10
movq (%rax), %rdi
callq 0x6070
movq %rax, %rdi
callq 0x68d0
movq %rax, %rcx
movq -0x30(%rbp), %rax
cmpq %rcx, %rax
jge 0x1b08c
movq -0x20(%rbp), %rax
movq 0xef8(%rax), %rdi
movq -0x10(%rbp), %rsi
callq 0x7b10
movq (%rax), %rdi
callq 0x6070
movq %rax, %rdi
movq -0x18(%rbp), %rsi
callq 0x6090
movq (%rax), %rdi
movq (%rdi), %rax
callq *0x10(%rax)
movq %rax, %rsi
movq 0x42fc3(%rip), %rdi     # 0x5dfd0
callq 0x56a0
movq %rax, %rdi
leaq 0x2a3b0(%rip), %rsi     # 0x453cc
callq 0x5300
movq -0x20(%rbp), %rax
movq %rax, %rcx
addq $0x890, %rcx            # imm = 0x890
movq %rcx, -0x38(%rbp)
movq 0xef8(%rax), %rdi
movq -0x10(%rbp), %rsi
callq 0x7b10
movq (%rax), %rdi
callq 0x6070
movq %rax, %rdi
movq -0x18(%rbp), %rsi
callq 0x6090
movq (%rax), %rdi
movq (%rdi), %rax
callq *0x10(%rax)
movq -0x38(%rbp), %rdi
movq %rax, %rsi
callq 0x56a0
movq %rax, %rdi
leaq 0x2a356(%rip), %rsi     # 0x453cc
callq 0x5300
movq -0x18(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x18(%rbp)
jmp 0x1af96
movq 0x42f3d(%rip), %rdi     # 0x5dfd0
movq 0x42f06(%rip), %rsi     # 0x5dfa0
callq 0x5340
movq -0x20(%rbp), %rdi
addq $0x890, %rdi            # imm = 0x890
movq 0x42eef(%rip), %rsi     # 0x5dfa0
callq 0x5340
movq -0x10(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x10(%rbp)
jmp 0x1af06
movq 0x42f02(%rip), %rdi     # 0x5dfd0
leaq 0x2a9ef(%rip), %rsi     # 0x45ac4
callq 0x5300
movq -0x20(%rbp), %rdi
addq $0x890, %rdi            # imm = 0x890
leaq 0x2a9d8(%rip), %rsi     # 0x45ac4
callq 0x5300
addq $0x40, %rsp
popq %rbp
retq
nopw (%rax,%rax)