m3g/m3gcore11/src/m3g_math.c
branchRCL_3
changeset 70 5e51caaeeb72
parent 33 25f95128741d
equal deleted inserted replaced
41:de3d5b6102ac 70:5e51caaeeb72
  1840  * \param start    initial value
  1840  * \param start    initial value
  1841  * \param end      target value
  1841  * \param end      target value
  1842  */
  1842  */
  1843 #if defined(M3G_HW_FLOAT_VFPV2)
  1843 #if defined(M3G_HW_FLOAT_VFPV2)
  1844 
  1844 
  1845 M3G_API __asm void m3gLerp(M3Gint size,
  1845 __weak __asm void m3gLerp(M3Gint size,
  1846 				   M3Gfloat *vec,
  1846 				   M3Gfloat *vec,
  1847 				   M3Gfloat s,
  1847 				   M3Gfloat s,
  1848 				   const M3Gfloat *start, const M3Gfloat *end)
  1848 				   const M3Gfloat *start, const M3Gfloat *end)
  1849 {
  1849 {
  1850 // r0 = size
  1850 // r0 = size
  1851 // r1 = *vec
  1851 // r1 = *vec
  1852 // r2 = s
  1852 // r2 = s
  1853 // r3 = *start
  1853 // r3 = *start
  1854 // sp[0] = *end
  1854 // sp[0] = *end
  1855 
  1855 
       
  1856 		EXPORT	m3gLerp[DYNAMIC]
  1856 		CODE32
  1857 		CODE32
  1857 /*
  1858 /*
  1858     M3Gfloat sCompl = 1.0 - s;
  1859     M3Gfloat sCompl = 1.0 - s;
  1859     for (i = 0; i < size; ++i) {
  1860     for (i = 0; i < size; ++i) {
  1860         vec[i] = sCompl*start[i] + s*end[i];
  1861         vec[i] = sCompl*start[i] + s*end[i];