/usr/include/allegro/inline/matrix.inl is in liballegro4-dev 2:4.4.2-4.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | /* ______ ___ ___
* /\ _ \ /\_ \ /\_ \
* \ \ \L\ \\//\ \ \//\ \ __ __ _ __ ___
* \ \ __ \ \ \ \ \ \ \ /'__`\ /'_ `\/\`'__\/ __`\
* \ \ \/\ \ \_\ \_ \_\ \_/\ __//\ \L\ \ \ \//\ \L\ \
* \ \_\ \_\/\____\/\____\ \____\ \____ \ \_\\ \____/
* \/_/\/_/\/____/\/____/\/____/\/___L\ \/_/ \/___/
* /\____/
* \_/__/
*
* Matrix math inline functions (generic C).
*
* By Shawn Hargreaves.
*
* See readme.txt for copyright information.
*/
#ifndef ALLEGRO_MATRIX_INL
#define ALLEGRO_MATRIX_INL
#ifdef __cplusplus
extern "C" {
#endif
#define CALC_ROW(n) (fixmul(x, m->v[n][0]) + \
fixmul(y, m->v[n][1]) + \
fixmul(z, m->v[n][2]) + \
m->t[n])
AL_INLINE(void, apply_matrix, (MATRIX *m, fixed x, fixed y, fixed z, fixed *xout, fixed *yout, fixed *zout),
{
*xout = CALC_ROW(0);
*yout = CALC_ROW(1);
*zout = CALC_ROW(2);
})
#undef CALC_ROW
#ifdef __cplusplus
}
#endif
#endif /* ifndef ALLEGRO_MATRIX_INL */
|