Add a one-line doc comment above each function and reproduce this C code otherwise unchanged:
static int clamp_int(int value, int low, int high) {
    if (value < low) return low;
    if (value > high) return high;
    return value;
}
static float clamp_float(float value, float low, float high) {
    if (value < low) return low;
    if (value > high) return high;
    return value;
}
static double clamp_double(double value, double low, double high) {
    if (value < low) return low;
    if (value > high) return high;
    return value;
}
%%
Rename the variable `buf` to `buffer` everywhere and reproduce this C function otherwise unchanged:
int read_config_file(const char *path, char *buf, size_t buf_len) {
    FILE *f = fopen(path, "rb");
    if (!f) return -1;
    size_t n = fread(buf, 1, buf_len - 1, f);
    buf[n] = '\0';
    fclose(f);
    if (n == 0) return -1;
    return (int)n;
}
%%
Write C getter functions int get_width(const shape_t *s), int get_height(const shape_t *s), int get_depth(const shape_t *s), int get_stride(const shape_t *s), int get_offset(const shape_t *s) for a struct shape_t with fields width, height, depth, stride, offset. Each getter returns the matching field.
%%
Continue this pattern up to case 9, keeping the exact same formatting:
switch (digit) {
case 0: return "zero";
case 1: return "one";
case 2: return "two";
%%
Translate this Python function to JavaScript, keeping the same names and structure:
def sum_even_numbers(numbers):
    total = 0
    for number in numbers:
        if number % 2 == 0:
            total = total + number
    return total
%%
Fix the off-by-one bug (the loop should include the last element) and reproduce this C function otherwise unchanged:
float sum_array(const float *values, int count) {
    float total = 0.0f;
    for (int i = 0; i < count - 1; i++) {
        total += values[i];
    }
    return total;
}
