Changeset View
Changeset View
Standalone View
Standalone View
intern/cycles/util/ssef.h
| Show First 20 Lines • Show All 900 Lines • ▼ Show 20 Lines | |||||
| # if defined(__KERNEL_SSE41__) | # if defined(__KERNEL_SSE41__) | ||||
| _mm_stream_ps((float *)ptr, v); | _mm_stream_ps((float *)ptr, v); | ||||
| # else | # else | ||||
| _mm_store_ps((float *)ptr, v); | _mm_store_ps((float *)ptr, v); | ||||
| # endif | # endif | ||||
| } | } | ||||
| //////////////////////////////////////////////////////////////////////////////// | //////////////////////////////////////////////////////////////////////////////// | ||||
| /// Euclidian Space Operators | /// Euclidean Space Operators | ||||
| //////////////////////////////////////////////////////////////////////////////// | //////////////////////////////////////////////////////////////////////////////// | ||||
| __forceinline float dot(const ssef &a, const ssef &b) | __forceinline float dot(const ssef &a, const ssef &b) | ||||
| { | { | ||||
| return reduce_add(a * b); | return reduce_add(a * b); | ||||
| } | } | ||||
| /* calculate shuffled cross product, useful when order of components does not matter */ | /* calculate shuffled cross product, useful when order of components does not matter */ | ||||
| ▲ Show 20 Lines • Show All 187 Lines • Show Last 20 Lines | |||||