equal
deleted
inserted
replaced
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]; |