Lines Matching refs:q

80 void C_QUATAdd( const Quaternion *p, const Quaternion *q, Quaternion *r )  in C_QUATAdd()  argument
83 ASSERTMSG( ( q != 0 ), QUAT_ADD_2 ); in C_QUATAdd()
86 r->x = p->x + q->x; in C_QUATAdd()
87 r->y = p->y + q->y; in C_QUATAdd()
88 r->z = p->z + q->z; in C_QUATAdd()
89 r->w = p->w + q->w; in C_QUATAdd()
101 const register Quaternion * q, in PSQUATAdd() argument
110 psq_l qxy, 0(q), 0, 0 in PSQUATAdd()
115 psq_l qzw, 8(q), 0, 0 in PSQUATAdd()
136 void C_QUATSubtract( const Quaternion *p, const Quaternion *q, Quaternion *r ) in C_QUATSubtract() argument
139 ASSERTMSG( ( q != 0 ), QUAT_SUBTRACT_2 ); in C_QUATSubtract()
142 r->x = p->x - q->x; in C_QUATSubtract()
143 r->y = p->y - q->y; in C_QUATSubtract()
144 r->z = p->z - q->z; in C_QUATSubtract()
145 r->w = p->w - q->w; in C_QUATSubtract()
157 const register Quaternion * q, in PSQUATSubtract() argument
166 psq_l qxy, 0(q), 0, 0 in PSQUATSubtract()
171 psq_l qzw, 8(q), 0, 0 in PSQUATSubtract()
193 void C_QUATMultiply( const Quaternion *p, const Quaternion *q, Quaternion *pq ) in C_QUATMultiply() argument
199 ASSERTMSG( ( q != 0 ), QUAT_MULTIPLY_2 ); in C_QUATMultiply()
202 if ( p == pq || q == pq ) in C_QUATMultiply()
211 r->w = p->w*q->w - p->x*q->x - p->y*q->y - p->z*q->z; in C_QUATMultiply()
212 r->x = p->w*q->x + p->x*q->w + p->y*q->z - p->z*q->y; in C_QUATMultiply()
213 r->y = p->w*q->y + p->y*q->w + p->z*q->x - p->x*q->z; in C_QUATMultiply()
214 r->z = p->w*q->z + p->z*q->w + p->x*q->y - p->y*q->x; in C_QUATMultiply()
231 const register Quaternion *q, in PSQUATMultiply() argument
247 psq_l qxy, 0(q), 0, 0 in PSQUATMultiply()
251 psq_l qzw, 8(q), 0, 0 in PSQUATMultiply()
309 void C_QUATScale( const Quaternion *q, Quaternion *r, f32 scale ) in C_QUATScale() argument
311 ASSERTMSG( ( q != 0 ), QUAT_SCALE_1 ); in C_QUATScale()
314 r->x = q->x * scale; in C_QUATScale()
315 r->y = q->y * scale; in C_QUATScale()
316 r->z = q->z * scale; in C_QUATScale()
317 r->w = q->w * scale; in C_QUATScale()
328 const register Quaternion *q, in PSQUATScale() argument
337 psq_l rxy, 0(q), 0, 0 in PSQUATScale()
338 psq_l rzw, 8(q), 0, 0 in PSQUATScale()
360 f32 C_QUATDotProduct( const Quaternion *p, const Quaternion *q ) in C_QUATDotProduct() argument
363 ASSERTMSG( ( q != 0 ), QUAT_DOTPRODUCT_2 ); in C_QUATDotProduct()
365 return (q->x*p->x + q->y*p->y + q->z*p->z + q->w*p->w); in C_QUATDotProduct()
374 f32 PSQUATDotProduct( const register Quaternion *p, const register Quaternion *q ) in PSQUATDotProduct() argument
381 psq_l qxy, 0(q), 0, 0 in PSQUATDotProduct()
385 psq_l qzw, 8(q), 0, 0 in PSQUATDotProduct()
607 void C_QUATDivide( const Quaternion *p, const Quaternion *q, Quaternion *r ) in C_QUATDivide() argument
612 ASSERTMSG( ( q != 0 ), QUAT_DIVIDE_2 ); in C_QUATDivide()
615 C_QUATInverse(q, &qtmp); in C_QUATDivide()
625 void PSQUATDivide( const Quaternion *p, const Quaternion *q, Quaternion *r ) in PSQUATDivide() argument
629 PSQUATInverse(q, &qtmp); in PSQUATDivide()
644 void C_QUATExp( const Quaternion *q, Quaternion *r ) in C_QUATExp() argument
648 ASSERTMSG( ( q != 0 ), QUAT_EXP_1 ); in C_QUATExp()
652 ASSERTMSG( ( q->w == 0.0F ), QUAT_EXP_3 ); in C_QUATExp()
654 theta = sqrtf( q->x*q->x + q->y*q->y + q->z*q->z ); in C_QUATExp()
660 r->x = scale * q->x; in C_QUATExp()
661 r->y = scale * q->y; in C_QUATExp()
662 r->z = scale * q->z; in C_QUATExp()
677 void C_QUATLogN( const Quaternion *q, Quaternion *r ) in C_QUATLogN() argument
681 ASSERTMSG( ( q != 0 ), QUAT_LOGN_1 ); in C_QUATLogN()
684 scale = q->x*q->x + q->y*q->y + q->z*q->z; in C_QUATLogN()
690 mag = scale + q->z*q->z; in C_QUATLogN()
699 theta = atan2f( scale, q->w ); in C_QUATLogN()
704 r->x = scale*q->x; in C_QUATLogN()
705 r->y = scale*q->y; in C_QUATLogN()
706 r->z = scale*q->z; in C_QUATLogN()
723 void C_QUATMakeClosest( const Quaternion *q, const Quaternion *qto, Quaternion *r ) in C_QUATMakeClosest() argument
727 ASSERTMSG( ( q != 0 ), QUAT_MAKECLOSEST_1 ); in C_QUATMakeClosest()
731 dot = q->x*qto->x + q->y*qto->y + q->z*qto->z + q->w*qto->w; in C_QUATMakeClosest()
735 r->x = -q->x; in C_QUATMakeClosest()
736 r->y = -q->y; in C_QUATMakeClosest()
737 r->z = -q->z; in C_QUATMakeClosest()
738 r->w = -q->w; in C_QUATMakeClosest()
742 *r = *q; in C_QUATMakeClosest()
794 f32 q[3]; in C_QUATMtx() local
817 q[i] = s * 0.5f; in C_QUATMtx()
823 q[j] = (m[i][j] + m[j][i]) * s; in C_QUATMtx()
824 q[k] = (m[i][k] + m[k][i]) * s; in C_QUATMtx()
826 r->x = q[0]; in C_QUATMtx()
827 r->y = q[1]; in C_QUATMtx()
828 r->z = q[2]; in C_QUATMtx()
845 void C_QUATLerp( const Quaternion *p, const Quaternion *q, Quaternion *r, f32 t ) in C_QUATLerp() argument
848 ASSERTMSG( ( q != 0 ), QUAT_LERP_2 ); in C_QUATLerp()
851 r->x = t * ( q->x - p->x ) + p->x; in C_QUATLerp()
852 r->y = t * ( q->y - p->y ) + p->y; in C_QUATLerp()
853 r->z = t * ( q->z - p->z ) + p->z; in C_QUATLerp()
854 r->w = t * ( q->w - p->w ) + p->w; in C_QUATLerp()
870 void C_QUATSlerp( const Quaternion *p, const Quaternion *q, Quaternion *r, f32 t ) in C_QUATSlerp() argument
875 ASSERTMSG( ( q != 0 ), QUAT_SLERP_2 ); in C_QUATSlerp()
878 cos_th = p->x * q->x + p->y * q->y + p->z * q->z + p->w * q->w; in C_QUATSlerp()
901 r->x = tp * p->x + tq * q->x; in C_QUATSlerp()
902 r->y = tp * p->y + tq * q->y; in C_QUATSlerp()
903 r->z = tp * p->z + tq * q->z; in C_QUATSlerp()
904 r->w = tp * p->w + tq * q->w; in C_QUATSlerp()
927 const Quaternion *q, Quaternion *r, f32 t ) in C_QUATSquad() argument
935 ASSERTMSG( ( q != 0 ), QUAT_SQUAD_4 ); in C_QUATSquad()
939 C_QUATSlerp(p, q, &pq, t); in C_QUATSquad()
959 void C_QUATCompA( const Quaternion *qprev, const Quaternion *q, const Quaternion *qnext, Quaternion… in C_QUATCompA() argument
964 ASSERTMSG( ( q != 0 ), QUAT_COMPA_2 ); in C_QUATCompA()
968 C_QUATDivide(qprev, q, &qm); in C_QUATCompA()
970 C_QUATDivide(qnext, q, &qp); in C_QUATCompA()
977 C_QUATMultiply(q, &exq, a); in C_QUATCompA()