Volume 4 | Issue 5 | 2023 ISSN: 2181-1385 ISI: 0,967 | Cite-Factor: 0,89 | SIS: 1,9 | ASI: 1,3 | SJIF: 5,771 | UIF: 6,1 sa 519 May, 2023 https://t.me/ares_uz Multidisciplinary Scientific Journal 7.
Strength reduction (Quvvatni pasaytirish) . Qimmatbaho operatsiyalarni
(ko'paytirish yoki bo'lish kabi) arzonroq ekvivalent operatsiyalar bilan almashtiradi
(masalan, qo'shish yoki bitni almashtirish).
Bu yerda Strength Reduction(Quvvatni pasaytirish) metodi uchun umumiy
algorithm(kod)
def strength_reduction_optimization(loop_body):
new_loop_body = []
for stmt in loop_body:
if is_expensive_op(stmt):
new_stmt = replace_expensive_op_with_cheap_op(stmt)
new_loop_body.append(new_stmt)
else:
new_loop_body.append(stmt)
return new_loop_body
def is_expensive_op(stmt):
return True or False
def replace_expensive_op_with_cheap_op(stmt):
return new_stmt
Ushbu kodda bizda uchta funktsiya mavjud. ”strength_reduction_optimization”
funksiyasi kirish sifatida “loop_body” ni oladi. Funktsiyaning ichida quvvatni
pasaytirishni optimallashtirishdan so'ng “new loop body” ini saqlash uchun
“new_loop_body” deb nomlangan bo'sh ro'yxat yaratiladi. Statement “loop_body”
dagi har bir statement ustida takrorlanadi.
Har bir statement uchun kod “is_expensive_op” funksiyasidan foydalangan
holda statementni qimmat operatsiya mavjudligini tekshiradi. Agar u qimmat
operatsiya ekanligi aniqlansa , kod qimmat operatsiyani arzonroq operatsiya bilan
almashtiradi. Natijada yangi statement “new_loop_body” ga qo'shiladi.
Agar statement qimmat operatsiyani o'z ichiga olmasa, original statement
new_loop_body ga avvalgidek qo'shiladi. Va nihoyat, funktsiya quvvatni
pasaytirishni optimallashtirish qo'llanilgandan so'ng sikl tanasini ifodalovchi
new_loop_body ni qaytaradi.
“is_expensive_op” funksiyasi berilgan statementda qimmat operatsiya
mavjudligini aniqlaydigan to'ldiruvchidir. Agar statement qimmat operatsiyani o'z
ichiga olsa, u "True" ni, aks holda "False" ni qaytarishi kerak.
“replace_expensive_op_with_cheap_op”
funksiyasi
malum
statementdagi qimmat operatsiyani arzonroq operatsiya bilan
almashtiruvchi to'ldiruvchidir. O'zgartirishni amalga oshirish va