#pragma once
#include "../../common/sys/platform.h"
#include "../../common/sys/sysinfo.h"
#include "../../common/sys/thread.h"
#include "../../common/sys/alloc.h"
#include "../../common/sys/ref.h"
#include "../../common/sys/intrinsics.h"
#include "../../common/sys/atomic.h"
#include "../../common/sys/mutex.h"
#include "../../common/sys/vector.h"
#include "../../common/sys/array.h"
#include "../../common/sys/estring.h"
#include "../../common/sys/regression.h"
#include "../../common/sys/vector.h"
#include "../../common/math/emath.h"
#include "../../common/math/transcendental.h"
#include "../../common/simd/simd.h"
#include "../../common/math/vec2.h"
#include "../../common/math/vec3.h"
#include "../../common/math/vec4.h"
#include "../../common/math/vec2fa.h"
#include "../../common/math/vec3fa.h"
#include "../../common/math/interval.h"
#include "../../common/math/bbox.h"
#include "../../common/math/obbox.h"
#include "../../common/math/lbbox.h"
#include "../../common/math/linearspace2.h"
#include "../../common/math/linearspace3.h"
#include "../../common/math/affinespace.h"
#include "../../common/math/range.h"
#include "../../common/lexers/tokenstream.h"
#define COMMA …
#include "../config.h"
#include "isa.h"
#include "stat.h"
#include "profile.h"
#include "rtcore.h"
#include "vector.h"
#include "state.h"
#include "instance_stack.h"
#include <vector>
#include <map>
#include <algorithm>
#include <functional>
#include <utility>
#include <sstream>
namespace embree
{
Vec2vf;
Vec2vd;
Vec2vr;
Vec2vi;
Vec2vl;
Vec2vb;
Vec2vbf;
Vec2vbd;
Vec2vf4;
Vec2vd4;
Vec2vr4;
Vec2vi4;
Vec2vl4;
Vec2vb4;
Vec2vbf4;
Vec2vbd4;
Vec2vf8;
Vec2vd8;
Vec2vr8;
Vec2vi8;
Vec2vl8;
Vec2vb8;
Vec2vbf8;
Vec2vbd8;
Vec2vf16;
Vec2vd16;
Vec2vr16;
Vec2vi16;
Vec2vl16;
Vec2vb16;
Vec2vbf16;
Vec2vbd16;
Vec2vfx;
Vec2vdx;
Vec2vrx;
Vec2vix;
Vec2vlx;
Vec2vbx;
Vec2vbfx;
Vec2vbdx;
Vec3vf;
Vec3vd;
Vec3vr;
Vec3vi;
Vec3vl;
Vec3vb;
Vec3vbf;
Vec3vbd;
Vec3vf4;
Vec3vd4;
Vec3vr4;
Vec3vi4;
Vec3vl4;
Vec3vb4;
Vec3vbf4;
Vec3vbd4;
Vec3vf8;
Vec3vd8;
Vec3vr8;
Vec3vi8;
Vec3vl8;
Vec3vb8;
Vec3vbf8;
Vec3vbd8;
Vec3vf16;
Vec3vd16;
Vec3vr16;
Vec3vi16;
Vec3vl16;
Vec3vb16;
Vec3vbf16;
Vec3vbd16;
Vec3vfx;
Vec3vdx;
Vec3vrx;
Vec3vix;
Vec3vlx;
Vec3vbx;
Vec3vbfx;
Vec3vbdx;
Vec4vf;
Vec4vd;
Vec4vr;
Vec4vi;
Vec4vl;
Vec4vb;
Vec4vbf;
Vec4vbd;
Vec4vf4;
Vec4vd4;
Vec4vr4;
Vec4vi4;
Vec4vl4;
Vec4vb4;
Vec4vbf4;
Vec4vbd4;
Vec4vf8;
Vec4vd8;
Vec4vr8;
Vec4vi8;
Vec4vl8;
Vec4vb8;
Vec4vbf8;
Vec4vbd8;
Vec4vf16;
Vec4vd16;
Vec4vr16;
Vec4vi16;
Vec4vl16;
Vec4vb16;
Vec4vbf16;
Vec4vbd16;
Vec4vfx;
Vec4vdx;
Vec4vrx;
Vec4vix;
Vec4vlx;
Vec4vbx;
Vec4vbfx;
Vec4vbdx;
BBox3vf;
BBox3vf4;
BBox3vf8;
BBox3vf16;
__forceinline int getTimeSegment(float time, float numTimeSegments, float& ftime)
{ … }
__forceinline int getTimeSegment(float time, float start_time, float end_time, float numTimeSegments, float& ftime)
{ … }
template<int N>
__forceinline vint<N> getTimeSegment(const vfloat<N>& time, const vfloat<N>& numTimeSegments, vfloat<N>& ftime)
{ … }
template<int N>
__forceinline vint<N> getTimeSegment(const vfloat<N>& time, const vfloat<N>& start_time, const vfloat<N>& end_time, const vfloat<N>& numTimeSegments, vfloat<N>& ftime)
{ … }
__forceinline range<int> getTimeSegmentRange(const BBox1f& time_range, float numTimeSegments)
{ … }
__forceinline range<int> getTimeSegmentRange(const BBox1f& range, BBox1f time_range, float numTimeSegments)
{ … }
}