Lines Matching refs:q

81 void C_QUATAdd( const Quaternion *p, const Quaternion *q, Quaternion *r )  in C_QUATAdd()  argument
84 ASSERTMSG( ( q != 0 ), QUAT_ADD_2 ); in C_QUATAdd()
87 r->x = p->x + q->x; in C_QUATAdd()
88 r->y = p->y + q->y; in C_QUATAdd()
89 r->z = p->z + q->z; in C_QUATAdd()
90 r->w = p->w + q->w; in C_QUATAdd()
102 const register Quaternion * q, in PSQUATAdd() argument
111 psq_l qxy, 0(q), 0, 0 in PSQUATAdd()
116 psq_l qzw, 8(q), 0, 0 in PSQUATAdd()
137 void C_QUATSubtract( const Quaternion *p, const Quaternion *q, Quaternion *r ) in C_QUATSubtract() argument
140 ASSERTMSG( ( q != 0 ), QUAT_SUBTRACT_2 ); in C_QUATSubtract()
143 r->x = p->x - q->x; in C_QUATSubtract()
144 r->y = p->y - q->y; in C_QUATSubtract()
145 r->z = p->z - q->z; in C_QUATSubtract()
146 r->w = p->w - q->w; in C_QUATSubtract()
158 const register Quaternion * q, in PSQUATSubtract() argument
167 psq_l qxy, 0(q), 0, 0 in PSQUATSubtract()
172 psq_l qzw, 8(q), 0, 0 in PSQUATSubtract()
194 void C_QUATMultiply( const Quaternion *p, const Quaternion *q, Quaternion *pq ) in C_QUATMultiply() argument
200 ASSERTMSG( ( q != 0 ), QUAT_MULTIPLY_2 ); in C_QUATMultiply()
203 if ( p == pq || q == pq ) in C_QUATMultiply()
212 r->w = p->w*q->w - p->x*q->x - p->y*q->y - p->z*q->z; in C_QUATMultiply()
213 r->x = p->w*q->x + p->x*q->w + p->y*q->z - p->z*q->y; in C_QUATMultiply()
214 r->y = p->w*q->y + p->y*q->w + p->z*q->x - p->x*q->z; in C_QUATMultiply()
215 r->z = p->w*q->z + p->z*q->w + p->x*q->y - p->y*q->x; in C_QUATMultiply()
232 const register Quaternion *q, in PSQUATMultiply() argument
248 psq_l qxy, 0(q), 0, 0 in PSQUATMultiply()
252 psq_l qzw, 8(q), 0, 0 in PSQUATMultiply()
310 void C_QUATScale( const Quaternion *q, Quaternion *r, f32 scale ) in C_QUATScale() argument
312 ASSERTMSG( ( q != 0 ), QUAT_SCALE_1 ); in C_QUATScale()
315 r->x = q->x * scale; in C_QUATScale()
316 r->y = q->y * scale; in C_QUATScale()
317 r->z = q->z * scale; in C_QUATScale()
318 r->w = q->w * scale; in C_QUATScale()
329 const register Quaternion *q, in PSQUATScale() argument
338 psq_l rxy, 0(q), 0, 0 in PSQUATScale()
339 psq_l rzw, 8(q), 0, 0 in PSQUATScale()
361 f32 C_QUATDotProduct( const Quaternion *p, const Quaternion *q ) in C_QUATDotProduct() argument
364 ASSERTMSG( ( q != 0 ), QUAT_DOTPRODUCT_2 ); in C_QUATDotProduct()
366 return (q->x*p->x + q->y*p->y + q->z*p->z + q->w*p->w); in C_QUATDotProduct()
375 f32 PSQUATDotProduct( const register Quaternion *p, const register Quaternion *q ) in PSQUATDotProduct() argument
382 psq_l qxy, 0(q), 0, 0 in PSQUATDotProduct()
386 psq_l qzw, 8(q), 0, 0 in PSQUATDotProduct()
608 void C_QUATDivide( const Quaternion *p, const Quaternion *q, Quaternion *r ) in C_QUATDivide() argument
613 ASSERTMSG( ( q != 0 ), QUAT_DIVIDE_2 ); in C_QUATDivide()
616 C_QUATInverse(q, &qtmp); in C_QUATDivide()
626 void PSQUATDivide( const Quaternion *p, const Quaternion *q, Quaternion *r ) in PSQUATDivide() argument
630 PSQUATInverse(q, &qtmp); in PSQUATDivide()
645 void C_QUATExp( const Quaternion *q, Quaternion *r ) in C_QUATExp() argument
649 ASSERTMSG( ( q != 0 ), QUAT_EXP_1 ); in C_QUATExp()
653 ASSERTMSG( ( q->w == 0.0F ), QUAT_EXP_3 ); in C_QUATExp()
655 theta = sqrtf( q->x*q->x + q->y*q->y + q->z*q->z ); in C_QUATExp()
661 r->x = scale * q->x; in C_QUATExp()
662 r->y = scale * q->y; in C_QUATExp()
663 r->z = scale * q->z; in C_QUATExp()
678 void C_QUATLogN( const Quaternion *q, Quaternion *r ) in C_QUATLogN() argument
682 ASSERTMSG( ( q != 0 ), QUAT_LOGN_1 ); in C_QUATLogN()
685 scale = q->x*q->x + q->y*q->y + q->z*q->z; in C_QUATLogN()
691 mag = scale + q->z*q->z; in C_QUATLogN()
700 theta = atan2f( scale, q->w ); in C_QUATLogN()
705 r->x = scale*q->x; in C_QUATLogN()
706 r->y = scale*q->y; in C_QUATLogN()
707 r->z = scale*q->z; in C_QUATLogN()
724 void C_QUATMakeClosest( const Quaternion *q, const Quaternion *qto, Quaternion *r ) in C_QUATMakeClosest() argument
728 ASSERTMSG( ( q != 0 ), QUAT_MAKECLOSEST_1 ); in C_QUATMakeClosest()
732 dot = q->x*qto->x + q->y*qto->y + q->z*qto->z + q->w*qto->w; in C_QUATMakeClosest()
736 r->x = -q->x; in C_QUATMakeClosest()
737 r->y = -q->y; in C_QUATMakeClosest()
738 r->z = -q->z; in C_QUATMakeClosest()
739 r->w = -q->w; in C_QUATMakeClosest()
743 *r = *q; in C_QUATMakeClosest()
795 f32 q[3]; in C_QUATMtx() local
818 q[i] = s * 0.5f; in C_QUATMtx()
824 q[j] = (m[i][j] + m[j][i]) * s; in C_QUATMtx()
825 q[k] = (m[i][k] + m[k][i]) * s; in C_QUATMtx()
827 r->x = q[0]; in C_QUATMtx()
828 r->y = q[1]; in C_QUATMtx()
829 r->z = q[2]; in C_QUATMtx()
846 void C_QUATLerp( const Quaternion *p, const Quaternion *q, Quaternion *r, f32 t ) in C_QUATLerp() argument
849 ASSERTMSG( ( q != 0 ), QUAT_LERP_2 ); in C_QUATLerp()
852 r->x = t * ( q->x - p->x ) + p->x; in C_QUATLerp()
853 r->y = t * ( q->y - p->y ) + p->y; in C_QUATLerp()
854 r->z = t * ( q->z - p->z ) + p->z; in C_QUATLerp()
855 r->w = t * ( q->w - p->w ) + p->w; in C_QUATLerp()
871 void C_QUATSlerp( const Quaternion *p, const Quaternion *q, Quaternion *r, f32 t ) in C_QUATSlerp() argument
876 ASSERTMSG( ( q != 0 ), QUAT_SLERP_2 ); in C_QUATSlerp()
879 cos_th = p->x * q->x + p->y * q->y + p->z * q->z + p->w * q->w; in C_QUATSlerp()
902 r->x = tp * p->x + tq * q->x; in C_QUATSlerp()
903 r->y = tp * p->y + tq * q->y; in C_QUATSlerp()
904 r->z = tp * p->z + tq * q->z; in C_QUATSlerp()
905 r->w = tp * p->w + tq * q->w; in C_QUATSlerp()
928 const Quaternion *q, Quaternion *r, f32 t ) in C_QUATSquad() argument
936 ASSERTMSG( ( q != 0 ), QUAT_SQUAD_4 ); in C_QUATSquad()
940 C_QUATSlerp(p, q, &pq, t); in C_QUATSquad()
960 void C_QUATCompA( const Quaternion *qprev, const Quaternion *q, const Quaternion *qnext, Quaternion… in C_QUATCompA() argument
965 ASSERTMSG( ( q != 0 ), QUAT_COMPA_2 ); in C_QUATCompA()
969 C_QUATDivide(qprev, q, &qm); in C_QUATCompA()
971 C_QUATDivide(qnext, q, &qp); in C_QUATCompA()
978 C_QUATMultiply(q, &exq, a); in C_QUATCompA()