لقد تم تكليفك بتنفيذ وظيفة تقوم بتنفيذ الاستيفاء الخطي بين قيمتين في جدول موجة معين.

يتم تمثيل جدول الموجات "sample_table" بمصفوفة من أرقام الفاصلة العائمة، حيث يمثل كل عنصر قيمة عينة. سيتم إعطاء الوظيفة المعلمات التالية:
- `index0`: عدد صحيح يمثل فهرس العينة الأولى في جدول الموجات.
- `index1`: عدد صحيح يمثل مؤشر العينة الثانية في جدول الموجات.
- `frac`: رقم الفاصلة العائمة الذي يمثل الجزء الكسري من الفهرس الموجود بين `index0` و`index1`.

مهمتك هي تنفيذ الدالة `linear_interpolation(index0: int, Index1: int, frac: float) -> float` التي تُرجع القيمة المحرفة خطيًا بين `sample_table[index0]` و`sample_table[index1]` بناءً على المعطى الجزء الكسري "فارك". يتم حساب القيمة المحرفة باستخدام الصيغة:

```
القيمة = Sample_table[index0] + فارك * (sample_table[index1] - Sample_table[index0])
```

يمكنك افتراض أن `index0` و`index1` المحددين هما مؤشرات صالحة ضمن نطاق `sample_table`، وأن `frac` هو قيمة تتراوح بين 0 و1 (شاملاً).

اكتب كود الدالة `linear_interpolation` لحل هذه المشكلة.
{"evolved_from": null, "kind": "synthetic", "source": "argilla/DistiCoder-dpo-binarized"}