summaryrefslogtreecommitdiff
path: root/rushs/evalexpr/functional_programming/foldl.c
blob: ac222a7ee0d724e02bca192425190f9bddc26821 (plain)
1
2
3
4
5
6
7
8
9
10
11
#include "functional_programming.h"

int foldl(int *array, size_t len, int (*func)(int, int))
{
    int acc = 0;
    for (size_t i = 0; i < len; i++)
    {
        acc = (*func)(acc, array[i]);
    }
    return acc;
}