/lib/ode/ode_source/ode/src/fastdot.c

http://narutortsproject.googlecode.com/ · C · 30 lines · 26 code · 3 blank · 1 comment · 2 complexity · 4271ee06699c2f5bd09d6c6aba08ba5c MD5 · raw file

  1. /* generated code, do not edit. */
  2. #include "ode/matrix.h"
  3. dReal dDot (const dReal *a, const dReal *b, int n)
  4. {
  5. dReal p0,q0,m0,p1,q1,m1,sum;
  6. sum = 0;
  7. n -= 2;
  8. while (n >= 0) {
  9. p0 = a[0]; q0 = b[0];
  10. m0 = p0 * q0;
  11. p1 = a[1]; q1 = b[1];
  12. m1 = p1 * q1;
  13. sum += m0;
  14. sum += m1;
  15. a += 2;
  16. b += 2;
  17. n -= 2;
  18. }
  19. n += 2;
  20. while (n > 0) {
  21. sum += (*a) * (*b);
  22. a++;
  23. b++;
  24. n--;
  25. }
  26. return sum;
  27. }