ฉันพยายามทำความเข้าใจว่า machine epsilon คืออะไร ตามวิกิพีเดียสามารถคำนวณได้ดังนี้:
def machineEpsilon(func=float):
machine_epsilon = func(1)
while func(1)+func(machine_epsilon) != func(1):
machine_epsilon_last = machine_epsilon
machine_epsilon = func(machine_epsilon) / func(2)
return machine_epsilon_last
อย่างไรก็ตามเหมาะสำหรับตัวเลขที่มีความแม่นยำสองเท่าเท่านั้น ฉันสนใจที่จะแก้ไขเพื่อรองรับตัวเลขที่มีความแม่นยำเดียว ฉันอ่านแล้วว่าสามารถใช้ numpy ได้โดยเฉพาะnumpy.float32
คลาส ใครสามารถช่วยแก้ไขฟังก์ชันได้หรือไม่?
numpy.float32
เป็นอาร์กิวเมนต์ไปยังฟังก์ชัน!