Lines Matching refs:r
81 void C_QUATAdd( const Quaternion *p, const Quaternion *q, Quaternion *r ) in C_QUATAdd() argument
85 ASSERTMSG( ( r != 0 ), QUAT_ADD_3 ); 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()
103 register Quaternion * r in PSQUATAdd() argument
113 psq_st rxy, 0(r), 0, 0 in PSQUATAdd()
118 psq_st rzw, 8(r), 0, 0 in PSQUATAdd()
137 void C_QUATSubtract( const Quaternion *p, const Quaternion *q, Quaternion *r ) in C_QUATSubtract() argument
141 ASSERTMSG( ( r != 0 ), QUAT_SUBTRACT_3 ); 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()
159 register Quaternion * r in PSQUATSubtract() argument
169 psq_st rxy, 0(r), 0, 0 in PSQUATSubtract()
174 psq_st rzw, 8(r), 0, 0 in PSQUATSubtract()
196 Quaternion *r; in C_QUATMultiply() local
205 r = &pqTmp; in C_QUATMultiply()
209 r = 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()
217 if ( r == &pqTmp ) in C_QUATMultiply()
310 void C_QUATScale( const Quaternion *q, Quaternion *r, f32 scale ) in C_QUATScale() argument
313 ASSERTMSG( ( r != 0 ), QUAT_SCALE_2 ); 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()
330 register Quaternion *r, in PSQUATScale() argument
341 psq_st rxy, 0(r), 0, 0 in PSQUATScale()
343 psq_st rzw, 8(r), 0, 0 in PSQUATScale()
608 void C_QUATDivide( const Quaternion *p, const Quaternion *q, Quaternion *r ) in C_QUATDivide() argument
614 ASSERTMSG( ( r != 0 ), QUAT_DIVIDE_3 ); in C_QUATDivide()
617 C_QUATMultiply(&qtmp, p, r); in C_QUATDivide()
626 void PSQUATDivide( const Quaternion *p, const Quaternion *q, Quaternion *r ) in PSQUATDivide() argument
631 PSQUATMultiply(&qtmp, p, r); in PSQUATDivide()
645 void C_QUATExp( const Quaternion *q, Quaternion *r ) in C_QUATExp() argument
650 ASSERTMSG( ( r != 0 ), QUAT_EXP_2 ); 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()
664 r->w = (f32)cosf(theta); in C_QUATExp()
678 void C_QUATLogN( const Quaternion *q, Quaternion *r ) in C_QUATLogN() argument
683 ASSERTMSG( ( r != 0 ), QUAT_LOGN_2 ); 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()
708 r->w = 0.0F; in C_QUATLogN()
724 void C_QUATMakeClosest( const Quaternion *q, const Quaternion *qto, Quaternion *r ) in C_QUATMakeClosest() argument
730 ASSERTMSG( ( r != 0 ), QUAT_MAKECLOSEST_3 ); 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()
759 void C_QUATRotAxisRad( Quaternion *r, const Vec *axis, f32 rad ) in C_QUATRotAxisRad() argument
764 ASSERTMSG( ( r != 0 ), QUAT_ROTAXISRAD_1 ); in C_QUATRotAxisRad()
773 r->x = sh * nAxis.x; in C_QUATRotAxisRad()
774 r->y = sh * nAxis.y; in C_QUATRotAxisRad()
775 r->z = sh * nAxis.z; in C_QUATRotAxisRad()
776 r->w = ch; in C_QUATRotAxisRad()
790 void C_QUATMtx( Quaternion *r, const Mtx m ) in C_QUATMtx() argument
797 ASSERTMSG( ( r != 0 ), QUAT_MTX_1 ); in C_QUATMtx()
804 r->w = s * 0.5f; in C_QUATMtx()
806 r->x = (m[2][1] - m[1][2]) * s; in C_QUATMtx()
807 r->y = (m[0][2] - m[2][0]) * s; in C_QUATMtx()
808 r->z = (m[1][0] - m[0][1]) * s; in C_QUATMtx()
823 r->w = (m[k][j] - m[j][k]) * 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
850 ASSERTMSG( ( r != 0 ), QUAT_LERP_3 ); 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
877 ASSERTMSG( ( r != 0 ), QUAT_SLERP_3 ); 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
937 ASSERTMSG( ( r != 0 ), QUAT_SQUAD_5 ); in C_QUATSquad()
942 C_QUATSlerp(&pq, &ab, r, t2); in C_QUATSquad()