⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rt_atan2.c

📁 使用c语言及c++来实现matlab编程
💻 C
字号:
/*
 * rt_atan2.c
 *
 * Embedded MATLAB Coder code generation for M-function 'PointingAngleCalc2'
 *
 * C source code generated on: Thu May 22 09:59:50 2008
 *
 */

#include "rt_atan2.h"
/* Function: rt_atan2 =======================================================
 * Abstract:
 *   Calls ATAN2, with guards against domain error and non-finites
 */
real_T rt_atan2(real_T a, real_T b) 
{
    real_T retValue;

    if (((boolean_T) rtIsNaN(a)) || ((boolean_T) rtIsNaN(b))) {
      retValue = rtNaN;
    } else {
      if (((boolean_T)rtIsInf(a)) && ((boolean_T)rtIsInf(b))) {
        if (b > 0.0) {
          b = 1.0;
        } else {
          b = -1.0;
        }
        if (a > 0.0) {
          a = 1.0;
        } else {
          a = -1.0;
        }
        retValue = atan2(a,b);
        
      } else if (b == 0.0) {
        if (a > 0.0) {
          retValue = 1.5707963267948966E+00;
        } else if (a < 0.0) {
          retValue = -1.5707963267948966E+00;
        } else {
          retValue = 0.0;
        }
      } else {
        retValue = atan2(a,b);
      }
    }
    return retValue;

} /* end rt_atan2 */
/* Function: rt_atan232 =====================================================
 * Abstract:
 *   Calls single-precision version of ATAN2, with guard against domain error 
 *   and guards against non-finites
 */
real32_T rt_atan232(real32_T a, real32_T b) 
{
    real32_T retValue;
    if (((boolean_T) rtIsNaNF(a)) || ((boolean_T) rtIsNaNF(b))) {
      retValue = ((real32_T) rtNaN);    } else {
      if (((boolean_T)rtIsInfF(a)) && ((boolean_T)rtIsInfF(b))) {
        if (b > 0.0F) {
          b = 1.0F;
        } else {
          b = -1.0F;
        }
        if (a > 0.0F) {
          a = 1.0F;
        } else {
          a = -1.0F;
        }
        retValue = (real32_T) atan2(a,b);

      } else if (b == 0.0F) {
        if (a > 0.0F) {
          retValue = 1.5707963267948966E+00F;
        } else if (a < 0.0F) {
          retValue = -1.5707963267948966E+00F;
        } else {
          retValue = 0.0F;
        }
      } else {
        retValue = (real32_T) atan2(a,b);
      }
    }
    return retValue;

} /* end rt_atan232 */
/* End of Embedded MATLAB Coder code generation (rt_atan2.c) */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -