MATH_BEGIN_NAMESPACE Quat::Quat(const float *data) { assume(data); #ifndef MATH_ENABLE_INSECURE_OPTIMIZATIONS if (!data) return; #endif #if defined(MATH_AUTOMATIC_SSE) q = loadu_ps(data); #else x = data[0]; y = data[1]; z = data[2]; w = data[3]; #endif }
void float3x4::SetRow(int rowIndex, const float *data) { assume(data); #ifndef MATH_ENABLE_INSECURE_OPTIMIZATIONS if (!data) return; #endif #ifdef MATH_SIMD #ifndef MATH_ENABLE_INSECURE_OPTIMIZATIONS if (rowIndex < 0 || rowIndex >= Rows) return; // Benign failure #endif this->row[rowIndex] = loadu_ps(data); // Assume unaligned load, since we don't know if data is 16-byte-aligned. #else SetRow(rowIndex, data[0], data[1], data[2], data[3]); #endif }