bancada-motores/Control/VF Control/slprj/speedgoat/_sharedutils/rt_look1d.cpp
Pedro Jose Romero Gombau 447269b383 Si
2024-10-28 11:36:48 +01:00

44 lines
1.1 KiB
C++

/*
* rt_look1d.cpp
*
* Academic License - for use in teaching, academic research, and meeting
* course requirements at degree granting institutions only. Not for
* government, commercial, or other organizational use.
*
* Code generation for model "VFControl".
*
* Model version : 1.1
* Simulink Coder version : 24.1 (R2024a) 19-Nov-2023
* C++ source code generated on : Wed Oct 16 10:45:53 2024
*/
#include "rt_look.h"
#include "rtwtypes.h"
#include "rt_look1d.h"
#ifdef __cplusplus
extern "C"
{
#endif
/* 1D lookup routine for data type of real_T. */
real_T rt_Lookup(const real_T *x, int_T xlen, real_T u, const real_T *y)
{
int_T idx = rt_GetLookupIndex(x, xlen, u);
real_T num = y[idx+1] - y[idx];
real_T den = x[idx+1] - x[idx];
/* Due to the way the binary search is implemented
in rt_look.c (rt_GetLookupIndex), den cannot be
0. Equivalently, m cannot be inf or nan. */
real_T m = num/den;
return (y[idx] + (m * (u - x[idx])));
}
#ifdef __cplusplus
} /* extern "C" */
#endif