// File: /workspace/github_c_makefile_star2_O0/stonezwr[P]SpiKL-IP/readout.C
// Function: Readout::LoadData(char*)
void Readout::LoadData(char * filename){ //Load the data from the file of speech results into multidata 
    ifstream f_in(filename);
    if(f_in.is_open() == false){
        cout<<"Cannot open file: "<<filename<<endl;
        exit(-1);
    }
    // string neuron_idx, t;

    // while(f_in>>neuron_index>>t){
    // 	int neuron_index = atoi(neuron_idx.c_str());
    // 	int time_f = atoi(t.c_str());
    multidata1.clear();
    multidata2.clear();
    int neuron_index, time_f;
    int count = 1;
    while(f_in>>neuron_index>>time_f){
        if(!(neuron_index >= -1 && neuron_index <= 25)){
            cout<<neuron_index<<"\t"<<time_f<<"\t"<<count<<endl;
            cout<<"The neuron index is possily out of bound!\n Exit!"<<endl;
            exit(EXIT_FAILURE);
        }

        assert(neuron_index >= -1 && neuron_index <= 25);
        multidata1.push_back(neuron_index);
        multidata2.push_back(time_f);
        count++;
    }
    f_in.close();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x2b0, %rsp            # imm = 0x2B0
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x248(%rbp)
movq -0x10(%rbp), %rsi
leaq -0x218(%rbp), %rdi
movq %rdi, -0x240(%rbp)
movl $0x8, %edx
callq 0x4750
movq -0x240(%rbp), %rdi
callq 0x4620
movb %al, -0x231(%rbp)
jmp 0x2cd1e
movb -0x231(%rbp), %al
andb $0x1, %al
movzbl %al, %eax
cmpl $0x0, %eax
jne 0x2cda5
movq 0x20293(%rip), %rdi     # 0x4cfc8
leaq 0x9c0b(%rip), %rsi      # 0x36947
callq 0x4360
movq %rax, -0x250(%rbp)
jmp 0x2cd4a
movq -0x250(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x4360
movq %rax, -0x258(%rbp)
jmp 0x2cd63
movq -0x258(%rbp), %rdi
movq 0x20247(%rip), %rsi     # 0x4cfb8
callq 0x43b0
jmp 0x2cd78
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x4440
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x220(%rbp)
movl %eax, -0x224(%rbp)
leaq -0x218(%rbp), %rdi
callq 0x40f0
jmp 0x2cfda
movq -0x248(%rbp), %rdi
addq $0x28, %rdi
callq 0x5860
movq -0x248(%rbp), %rdi
addq $0x40, %rdi
callq 0x5860
movl $0x1, -0x230(%rbp)
leaq -0x218(%rbp), %rdi
leaq -0x228(%rbp), %rsi
callq 0x41f0
movq %rax, -0x260(%rbp)
jmp 0x2cdeb
movq -0x260(%rbp), %rdi
leaq -0x22c(%rbp), %rsi
callq 0x41f0
movq %rax, -0x268(%rbp)
jmp 0x2ce07
movq -0x268(%rbp), %rdi
movq (%rdi), %rax
movq -0x18(%rax), %rax
addq %rax, %rdi
callq 0x44a0
movb %al, -0x269(%rbp)
jmp 0x2ce25
movb -0x269(%rbp), %al
testb $0x1, %al
jne 0x2ce34
jmp 0x2cfb7
cmpl $-0x1, -0x228(%rbp)
jl 0x2ce4a
cmpl $0x19, -0x228(%rbp)
jle 0x2cf23
movl -0x228(%rbp), %esi
movq 0x20171(%rip), %rdi     # 0x4cfc8
callq 0x46c0
movq %rax, -0x278(%rbp)
jmp 0x2ce65
movq -0x278(%rbp), %rdi
leaq 0x71b5(%rip), %rsi      # 0x34028
callq 0x4360
movq %rax, -0x280(%rbp)
jmp 0x2ce81
movq -0x280(%rbp), %rdi
movl -0x22c(%rbp), %esi
callq 0x46c0
movq %rax, -0x288(%rbp)
jmp 0x2ce9c
movq -0x288(%rbp), %rdi
leaq 0x717e(%rip), %rsi      # 0x34028
callq 0x4360
movq %rax, -0x290(%rbp)
jmp 0x2ceb8
movq -0x290(%rbp), %rdi
movl -0x230(%rbp), %esi
callq 0x46c0
movq %rax, -0x298(%rbp)
jmp 0x2ced3
movq -0x298(%rbp), %rdi
movq 0x200d7(%rip), %rsi     # 0x4cfb8
callq 0x43b0
jmp 0x2cee8
movq 0x200d9(%rip), %rdi     # 0x4cfc8
leaq 0x9a64(%rip), %rsi      # 0x3695a
callq 0x4360
movq %rax, -0x2a0(%rbp)
jmp 0x2cf04
movq -0x2a0(%rbp), %rdi
movq 0x200a6(%rip), %rsi     # 0x4cfb8
callq 0x43b0
jmp 0x2cf19
movl $0x1, %edi
callq 0x4440
xorl %eax, %eax
cmpl $-0x1, -0x228(%rbp)
movb %al, -0x2a1(%rbp)
jl 0x2cf44
cmpl $0x19, -0x228(%rbp)
setle %al
movb %al, -0x2a1(%rbp)
movb -0x2a1(%rbp), %al
testb $0x1, %al
jne 0x2cf50
jmp 0x2cf52
jmp 0x2cf71
leaq 0x9a32(%rip), %rdi      # 0x3698b
leaq 0x9a54(%rip), %rsi      # 0x369b4
movl $0x7b, %edx
leaq 0x9a52(%rip), %rcx      # 0x369be
callq 0x4210
movq -0x248(%rbp), %rdi
addq $0x28, %rdi
leaq -0x228(%rbp), %rsi
callq 0x5640
jmp 0x2cf8a
movq -0x248(%rbp), %rdi
addq $0x40, %rdi
leaq -0x22c(%rbp), %rsi
callq 0x5640
jmp 0x2cfa3
movl -0x230(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x230(%rbp)
jmp 0x2cdcf
leaq -0x218(%rbp), %rdi
callq 0x40c0
jmp 0x2cfc5
leaq -0x218(%rbp), %rdi
callq 0x40f0
addq $0x2b0, %rsp            # imm = 0x2B0
popq %rbp
retq
movq -0x220(%rbp), %rdi
callq 0x46d0
nopw %cs:(%rax,%rax)