دالة sign القياسية (signum, sgn) في C++: هل هي موجودة وكيفية تنفيذها؟
مرحباً أيها الزملاء! أنا أكتب برنامجاً صغيراً بلغة C++ للتحليل العددي، واحتجت إلى دالة تُرجع إشارة الرقم: -1 للأعداد السالبة، 0 للصفر، و1 للأعداد الموجبة. في الرياضيات تُسمى signum أو sgn.
لقد بحثت في توثيق و ، لكنني لم أجد شيئاً مشابهاً. في Python يوجد numpy.sign()، وفي MATLAB يوجد sign()، أما في C++ فالصمت. هل حقاً لا توجد في المكتبة القياسية لـ C++ مثل هذه الوظيفة الأساسية؟
إليك مثالاً لما أريد فعله:
```cpp
#include
#include // ربما هنا؟
int main() {
double x = -5.7;
// أتمنى كتابة شيء مثل:
// int s = sign(x);
// لكن المترجم يشتكي من أن sign غير معلن.
// أضطر لكتابة حلول بديلة:
int s;
if (x > 0) s = 1;
else i