@@ -26,11 +23,12 @@ unsigned long long get_fibonacci_value_at(unsigned int index) {
unsignedlonglonga=1;
unsignedlonglongb=0;
for(current_i=0;current_i<index;current_i++){
if(*fibonacci_head==NULL){
push(fibonacci_head,next_fibonacci_number(a,b));
if(current_item==NULL){
push(fibonacci_ll,next_fibonacci_number(a,b));
current_item=fibonacci_ll->tail;
}
current_value=(*fibonacci_head)->value;
current_value=current_item->value;
// overflow check
if(current_value<a||current_value<b){
@@ -39,14 +37,18 @@ unsigned long long get_fibonacci_value_at(unsigned int index) {
}
if(current_i%2==0){
a=(*fibonacci_head)->value;
a=current_item->value;
}else{
b=(*fibonacci_head)->value;
b=current_item->value;
}
// iterate to next element
fibonacci_head=&(*fibonacci_head)->next;
current_item=current_item->next;
}
// fibonacci_ll-> tail != NULL && printf("fibonacci tail value is %llu\n", fibonacci_ll->tail->value); // test to ensure that tail value is updating correctly
printf("fibonacci_ll size is %u\n",fibonacci_ll->size);