<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic NXP 3250 Library - Math Library for the IAR compiler in C++ in LPC Microcontrollers</title>
    <link>https://community.nxp.com/t5/LPC-Microcontrollers/NXP-3250-Library-Math-Library-for-the-IAR-compiler-in-C/m-p/544042#M12816</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by trichloramine on Tue Nov 04 13:47:03 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;I have written a series of math functions in C++ for the IAR compiler.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;lowpass filter, convolution, least squares curve fit, no lag smoothing filter, discrete FFT, discrete derivative... small and fast.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;float * curvreg(float * vx, float * vy, unsigned n, unsigned terms,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; float *mse);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; void&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; vfree(float * v);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; float * least_sq(int (*f)(float, float *, unsigned), float * vx,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; float * vy, unsigned n, unsigned nord1, float *mse);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; float * lineqn(float * m, float * v, unsigned n);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; void&amp;nbsp; lineqn_(float * b, float * work, float * a, unsigned n);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;bool DiscreteDerivative(float* dataVector, int originalVectorLength, float *solutionVector, float delta);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;bool Convolve(float *&amp;nbsp; data, float *solutionVector ,int originalVectorLength, float* weights, int nweights,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int decimationFactor, int filterType, int symmetry,&amp;nbsp; int *usefulVectorLength);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;bool smooth(float* data, int ndata, float *smoothed, int factor);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;float besi0_(float x);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;float vmaxval(float* v, unsigned n, unsigned *imx);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;float vminval(float* v, unsigned n, unsigned *imx);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;void FFT(void *d, int nfft);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;void Dfft(void *d, int nn);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;unsigned short GetNextCrc(unsigned char ch,unsigned short lastcrc);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;unsigned short GetCrc(unsigned char *Buf,unsigned long count);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;void AppendCrc(unsigned char *crcData, unsigned long length);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;bool CheckCrc(unsigned char *crcData, unsigned long length);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;char *ftoa(float f,char *buffer);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;char* _itoa(int value, char* result, int base);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;if you are interested in any or all of the NXP library, please contact me.&lt;/SPAN&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 15 Jun 2016 18:27:57 GMT</pubDate>
    <dc:creator>lpcware</dc:creator>
    <dc:date>2016-06-15T18:27:57Z</dc:date>
    <item>
      <title>NXP 3250 Library - Math Library for the IAR compiler in C++</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/NXP-3250-Library-Math-Library-for-the-IAR-compiler-in-C/m-p/544042#M12816</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by trichloramine on Tue Nov 04 13:47:03 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;I have written a series of math functions in C++ for the IAR compiler.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;lowpass filter, convolution, least squares curve fit, no lag smoothing filter, discrete FFT, discrete derivative... small and fast.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;float * curvreg(float * vx, float * vy, unsigned n, unsigned terms,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; float *mse);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; void&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; vfree(float * v);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; float * least_sq(int (*f)(float, float *, unsigned), float * vx,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; float * vy, unsigned n, unsigned nord1, float *mse);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; float * lineqn(float * m, float * v, unsigned n);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; void&amp;nbsp; lineqn_(float * b, float * work, float * a, unsigned n);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;bool DiscreteDerivative(float* dataVector, int originalVectorLength, float *solutionVector, float delta);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;bool Convolve(float *&amp;nbsp; data, float *solutionVector ,int originalVectorLength, float* weights, int nweights,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int decimationFactor, int filterType, int symmetry,&amp;nbsp; int *usefulVectorLength);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;bool smooth(float* data, int ndata, float *smoothed, int factor);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;float besi0_(float x);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;float vmaxval(float* v, unsigned n, unsigned *imx);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;float vminval(float* v, unsigned n, unsigned *imx);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;void FFT(void *d, int nfft);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;void Dfft(void *d, int nn);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;unsigned short GetNextCrc(unsigned char ch,unsigned short lastcrc);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;unsigned short GetCrc(unsigned char *Buf,unsigned long count);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;void AppendCrc(unsigned char *crcData, unsigned long length);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;bool CheckCrc(unsigned char *crcData, unsigned long length);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;char *ftoa(float f,char *buffer);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;char* _itoa(int value, char* result, int base);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;if you are interested in any or all of the NXP library, please contact me.&lt;/SPAN&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 18:27:57 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/NXP-3250-Library-Math-Library-for-the-IAR-compiler-in-C/m-p/544042#M12816</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T18:27:57Z</dc:date>
    </item>
  </channel>
</rss>

