You are tasked with implementing a function that performs linear interpolation between two values in a given wavetable.

A wavetable `sample_table` is represented by an array of floating-point numbers, where each element represents a sample value. The function will be given the following parameters:
- `index0`: An integer representing the index of the first sample in the wavetable.
- `index1`: An integer representing the index of the second sample in the wavetable.
- `frac`: A floating-point number representing the fractional part of the index between `index0` and `index1`.

Your task is to implement the function `linear_interpolation(index0: int, index1: int, frac: float) -> float` which returns the linearly interpolated value between `sample_table[index0]` and `sample_table[index1]` based on the given fractional part `frac`. The interpolated value is calculated using the formula:

```
value = sample_table[index0] + frac * (sample_table[index1] - sample_table[index0])
```

You can assume that the given `index0` and `index1` are valid indices within the range of the `sample_table`, and `frac` is a value between 0 and 1 (inclusive).

Write the code for the `linear_interpolation` function to solve this problem.
f4d8878d-e378-4087-a99b-c31dad5f0609
Ανέλαβες την υλοποίηση μιας συνάρτησης που εκτελεί γραμμική παρεμβολή μεταξύ δύο τιμών σε έναν δωσμένο πίνακα κυμάτων.

Ένας πίνακας κυμάτων `sample_table` αντιπροσωπεύεται από έναν πίνακα πραγματικών αριθμών, όπου κάθε στοιχείο αντιπροσωπεύει μια τιμή δείγματος. Στη συνάρτηση θα δοθούν οι ακόλουθες παράμετροι:

- `index0`: Ένας ακέραιος αριθμός που αντιπροσωπεύει τον δείκτη του πρώτου δείγματος στον πίνακα κυμάτων.
- `index1`: Ένας ακέραιος αριθμός που αντιπροσωπεύει τον δείκτη του δεύτερου δείγματος στον πίνακα κυμάτων.
- `frac`: Ένας πραγματικός αριθμός που αντιπροσωπεύει το κλασματικό τμήμα του δείκτη μεταξύ «index0» και «index1».

Η αποστολή σου είναι να εφαρμόσεις τη συνάρτηση `linear_interpolation(index0: int, index1: int, frac: float) -> float` η οποία επιστρέφει τη γραμμικά παρεμβαλλόμενη τιμή μεταξύ του `sample_table[index0]` και του `sample_table[index1]` βάσει του δωσμένου κλασματικού μέρους `frac`. Η παρεμβαλλόμενη τιμή υπολογίζεται χρησιμοποιώντας τον τύπο:

```
value = sample_table[index0] + frac * (sample_table[index1] - sample_table[index0])
```

Μπορείς να υποθέσεις ότι τα `index0` και `index1` είναι έγκυροι δείκτες εντός του εύρους του `sample_table` και το `frac` είναι μια τιμή μεταξύ 0 και 1 (συμπεριλαμβανομένου).

Γράψε τον κώδικα για τη συνάρτηση `linear_interpolation` για να λύσεις αυτό το πρόβλημα.

submitted
{"evolved_from": null, "kind": "synthetic", "source": "argilla/DistiCoder-dpo-binarized"}