ফাংশন সংক্ষিপ্ত
math.ldexp(x, i) ফাংশনটি x * (2 ** i) রিটার্ন করে। অর্থাৎ x কে 2 এর i ঘাত দিয়ে গুণ করে। এটি ফ্লোটিং পয়েন্ট ম্যাথের জন্য অপ্টিমাইজড।
সিনট্যাক্স
math.ldexp(x, i)
# x: ফ্লোট বা ইন্টিজার
# i: ইন্টিজার (পাওয়ার অফ ২)
উদাহরণ
import math
print(math.ldexp(1, 4)) # 16.0 (1 * 2^4)
print(math.ldexp(5, -4)) # 0.3125 (5 * 2^-4 = 5/16)
print(math.ldexp(-3, -1)) # -1.5 (-3 * 2^-1 = -3/2)
এরর হ্যান্ডলিং
দ্বিতীয় আর্গুমেন্ট অবশ্যই ইন্টিজার হতে হবে:
import math
print(math.ldexp(1, '4')) # TypeError: Expected an int as second argument to ldexp.
ব্যবহার ক্ষেত্র
- বাইনারি ফ্লোটিং পয়েন্ট ম্যানিপুলেশন
- সাইন্টিফিক কম্পিউটিং, সিগন্যাল প্রসেসিং
frexp()এর বিপরীত অপারেশন (mantissa, exponent আলাদা করে)
সামঞ্জস্যপূর্ণ ফাংশন
import math
x = 16.0
mantissa, exponent = math.frexp(x) # x = mantissa * 2**exponent
print(mantissa, exponent) # 0.5, 5
reconstructed = math.ldexp(mantissa, exponent)
print(reconstructed) # 16.0
উপসংহার
math.ldexp() হলো লো-লেভেল ফ্লোটিং পয়েন্ট অপারেশন যা ২-এর ঘাত দিয়ে গুণ/ভাগ করার জন্য অপ্টিমাইজড। সাধারণ গুণোত্তরের চেয়ে দ্রুত এবং সঠিক।