text: /* Include files */
  
  #include "Quadrotor_sfun.h"
  #include "c1_Quadrotor.h"
  #include "c2_Quadrotor.h"
  #include "c3_Quadrotor.h"
  
  /* Type Definitions */
  
  /* Named Constants */
  
  /* Variable Declarations */
  
  /* Variable Definitions */
  uint32_T _QuadrotorMachineNumber_;
  real_T _sfTime_;
  
  /* Function Declarations */
  
  /* Function Definitions */
  void Quadrotor_initializer(void)
  {
  }
  
  void Quadrotor_terminator(void)
  {
  }
  
  /* SFunction Glue Code */
  unsigned int sf_Quadrotor_method_dispatcher(SimStruct *simstructPtr, unsigned
    int chartFileNumber, const char* specsCksum, int_T method, void *data)
  {
    if (chartFileNumber==1) {
      c1_Quadrotor_method_dispatcher(simstructPtr, method, data);
      return 1;
    }
  
    if (chartFileNumber==2) {
      c2_Quadrotor_method_dispatcher(simstructPtr, method, data);
      return 1;
    }
  
    if (chartFileNumber==3) {
      c3_Quadrotor_method_dispatcher(simstructPtr, method, data);
      return 1;
    }
  
    return 0;
  }
  
  unsigned int sf_Quadrotor_process_check_sum_call( int nlhs, mxArray * plhs[],
    int nrhs, const mxArray * prhs[] )
  {
  
  #ifdef MATLAB_MEX_FILE
  
    char commandName[20];
    if (nrhs<1 || !mxIsChar(prhs[0]) )
      return 0;
  
    /* Possible call to get the checksum */
    mxGetString(prhs[0], commandName,sizeof(commandName)/sizeof(char));
    commandName[(sizeof(commandName)/sizeof(char)-1)] = '\0';
    if (strcmp(commandName,"sf_get_check_sum"))
      return 0;
    plhs[0] = mxCreateDoubleMatrix( 1,4,mxREAL);
    if (nrhs>1 && mxIsChar(prhs[1])) {
      mxGetString(prhs[1], commandName,sizeof(commandName)/sizeof(char));
      commandName[(sizeof(commandName)/sizeof(char)-1)] = '\0';
      if (!strcmp(commandName,"machine")) {
        ((real_T *)mxGetPr((plhs[0])))[0] = (real_T)(3163696211U);
        ((real_T *)mxGetPr((plhs[0])))[1] = (real_T)(4153267841U);
        ((real_T *)mxGetPr((plhs[0])))[2] = (real_T)(1442149580U);
        ((real_T *)mxGetPr((plhs[0])))[3] = (real_T)(3471402606U);
      } else if (!strcmp(commandName,"exportedFcn")) {
        ((real_T *)mxGetPr((plhs[0])))[0] = (real_T)(0U);
        ((real_T *)mxGetPr((plhs[0])))[1] = (real_T)(0U);
        ((real_T *)mxGetPr((plhs[0])))[2] = (real_T)(0U);
        ((real_T *)mxGetPr((plhs[0])))[3] = (real_T)(0U);
      } else if (!strcmp(commandName,"makefile")) {
        ((real_T *)mxGetPr((plhs[0])))[0] = (real_T)(1122722054U);
        ((real_T *)mxGetPr((plhs[0])))[1] = (real_T)(2870310370U);
        ((real_T *)mxGetPr((plhs[0])))[2] = (real_T)(4245621283U);
        ((real_T *)mxGetPr((plhs[0])))[3] = (real_T)(1788426798U);
      } else if (nrhs==3 && !strcmp(commandName,"chart")) {
        unsigned int chartFileNumber;
        chartFileNumber = (unsigned int)mxGetScalar(prhs[2]);
        switch (chartFileNumber) {
         case 1:
          {
            extern void sf_c1_Quadrotor_get_check_sum(mxArray *plhs[]);
            sf_c1_Quadrotor_get_check_sum(plhs);
            break;
          }
  
         case 2:
          {
            extern void sf_c2_Quadrotor_get_check_sum(mxArray *plhs[]);
            sf_c2_Quadrotor_get_check_sum(plhs);
            break;
          }
  
         case 3:
          {
            extern void sf_c3_Quadrotor_get_check_sum(mxArray *plhs[]);
            sf_c3_Quadrotor_get_check_sum(plhs);
            break;
          }
  
         default:
          ((real_T *)mxGetPr((plhs[0])))[0] = (real_T)(0.0);
          ((real_T *)mxGetPr((plhs[0])))[1] = (real_T)(0.0);
          ((real_T *)mxGetPr((plhs[0])))[2] = (real_T)(0.0);
          ((real_T *)mxGetPr((plhs[0])))[3] = (real_T)(0.0);
        }
      } else if (!strcmp(commandName,"target")) {
        ((real_T *)mxGetPr((plhs[0])))[0] = (real_T)(3564696471U);
        ((real_T *)mxGetPr((plhs[0])))[1] = (real_T)(678668628U);
        ((real_T *)mxGetPr((plhs[0])))[2] = (real_T)(1090454852U);
        ((real_T *)mxGetPr((plhs[0])))[3] = (real_T)(3896867807U);
      } else {
        return 0;
      }
    } else {
      ((real_T *)mxGetPr((plhs[0])))[0] = (real_T)(2412742883U);
      ((real_T *)mxGetPr((plhs[0])))[1] = (real_T)(1930217932U);
      ((real_T *)mxGetPr((plhs[0])))[2] = (real_T)(2702624804U);
      ((real_T *)mxGetPr((plhs[0])))[3] = (real_T)(142716140U);
    }
  
    return 1;
  
  #else
  
    return 0;
  
  #endif
  
  }
  
  unsigned int sf_Quadrotor_autoinheritance_info( int nlhs, mxArray * plhs[], int
    nrhs, const mxArray * prhs[] )
  {
  
  #ifdef MATLAB_MEX_FILE
  
    char commandName[32];
    char aiChksum[64];
    if (nrhs<3 || !mxIsChar(prhs[0]) )
      return 0;
  
    /* Possible call to get the autoinheritance_info */
    mxGetString(prhs[0], commandName,sizeof(commandName)/sizeof(char));
    commandName[(sizeof(commandName)/sizeof(char)-1)] = '\0';
    if (strcmp(commandName,"get_autoinheritance_info"))
      return 0;
    mxGetString(prhs[2], aiChksum,sizeof(aiChksum)/sizeof(char));
    aiChksum[(sizeof(aiChksum)/sizeof(char)-1)] = '\0';
  
    {
      unsigned int chartFileNumber;
      chartFileNumber = (unsigned int)mxGetScalar(prhs[1]);
      switch (chartFileNumber) {
       case 1:
        {
          if (strcmp(aiChksum, "GZgZ7Vm21Ej0dwnpGrJwIE") == 0) {
            extern mxArray *sf_c1_Quadrotor_get_autoinheritance_info(void);
            plhs[0] = sf_c1_Quadrotor_get_autoinheritance_info();
            break;
          }
  
          plhs[0] = mxCreateDoubleMatrix(0,0,mxREAL);
          break;
        }
  
       case 2:
        {
          if (strcmp(aiChksum, "CS6CFBeQPsPD5UrZJUZLqG") == 0) {
            extern mxArray *sf_c2_Quadrotor_get_autoinheritance_info(void);
            plhs[0] = sf_c2_Quadrotor_get_autoinheritance_info();
            break;
          }
  
          plhs[0] = mxCreateDoubleMatrix(0,0,mxREAL);
          break;
        }
  
       case 3:
        {
          if (strcmp(aiChksum, "54PsOtPhDhzllmAGkvESz") == 0) {
            extern mxArray *sf_c3_Quadrotor_get_autoinheritance_info(void);
            plhs[0] = sf_c3_Quadrotor_get_autoinheritance_info();
            break;
          }
  
          plhs[0] = mxCreateDoubleMatrix(0,0,mxREAL);
          break;
        }
  
       default:
        plhs[0] = mxCreateDoubleMatrix(0,0,mxREAL);
      }
    }
  
    return 1;
  
  #else
  
    return 0;
  
  #endif
  
  }
  
  unsigned int sf_Quadrotor_get_eml_resolved_functions_info( int nlhs, mxArray *
    plhs[], int nrhs, const mxArray * prhs[] )
  {
  
  #ifdef MATLAB_MEX_FILE
  
    char commandName[64];
    if (nrhs<2 || !mxIsChar(prhs[0]))
      return 0;
  
    /* Possible call to get the get_eml_resolved_functions_info */
    mxGetString(prhs[0], commandName,sizeof(commandName)/sizeof(char));
    commandName[(sizeof(commandName)/sizeof(char)-1)] = '\0';
    if (strcmp(commandName,"get_eml_resolved_functions_info"))
      return 0;
  
    {
      unsigned int chartFileNumber;
      chartFileNumber = (unsigned int)mxGetScalar(prhs[1]);
      switch (chartFileNumber) {
       case 1:
        {
          extern const mxArray *sf_c1_Quadrotor_get_eml_resolved_functions_info
            (void);
          mxArray *persistentMxArray = (mxArray *)
            sf_c1_Quadrotor_get_eml_resolved_functions_info();
          plhs[0] = mxDuplicateArray(persistentMxArray);
          mxDestroyArray(persistentMxArray);
          break;
        }
  
       case 2:
        {
          extern const mxArray *sf_c2_Quadrotor_get_eml_resolved_functions_info
            (void);
          mxArray *persistentMxArray = (mxArray *)
            sf_c2_Quadrotor_get_eml_resolved_functions_info();
          plhs[0] = mxDuplicateArray(persistentMxArray);
          mxDestroyArray(persistentMxArray);
          break;
        }
  
       case 3:
        {
          extern const mxArray *sf_c3_Quadrotor_get_eml_resolved_functions_info
            (void);
          mxArray *persistentMxArray = (mxArray *)
            sf_c3_Quadrotor_get_eml_resolved_functions_info();
          plhs[0] = mxDuplicateArray(persistentMxArray);
          mxDestroyArray(persistentMxArray);
          break;
        }
  
       default:
        plhs[0] = mxCreateDoubleMatrix(0,0,mxREAL);
      }
    }
  
    return 1;
  
  #else
  
    return 0;
  
  #endif
  
  }
  
  void Quadrotor_debug_initialize(void)
  {
    _QuadrotorMachineNumber_ = sf_debug_initialize_machine("Quadrotor","sfun",0,3,
      0,0,0);
    sf_debug_set_machine_event_thresholds(_QuadrotorMachineNumber_,0,0);
    sf_debug_set_machine_data_thresholds(_QuadrotorMachineNumber_,0);
  }
  
  void Quadrotor_register_exported_symbols(SimStruct* S)
  {
  }
  
  static mxArray* sRtwOptimizationInfoStruct= NULL;
  mxArray* load_Quadrotor_optimization_info(void)
  {
    if (sRtwOptimizationInfoStruct==NULL) {
      sRtwOptimizationInfoStruct = sf_load_rtw_optimization_info("Quadrotor",
        "Quadrotor");
      mexMakeArrayPersistent(sRtwOptimizationInfoStruct);
    }
  
    return(sRtwOptimizationInfoStruct);
  }
  
  void unload_Quadrotor_optimization_info(void)
  {
    if (sRtwOptimizationInfoStruct!=NULL) {
      mxDestroyArray(sRtwOptimizationInfoStruct);
      sRtwOptimizationInfoStruct = NULL;
    }
  }
  