Files
stgsharp/源代码/StgShqrpGraphic/linear.c
T

49 lines
868 B
C

#include "GLenv/include/glad/glad.h"
#include "GLenv/include/GLFW/glfw3.h"
#include "StgSharpGraphic.h"
#include "SSGinternal.h"
#include <stdio.h>
#include <xmmintrin.h>
STGSHARPGRAPHIC_API float* InitBigM128Map(int floatCount)
{
float* BigMapBeginPtr = malloc(floatCount*sizeof(float));
return BigMapBeginPtr;
}
STGSHARPGRAPHIC_API void DeinitBigM128Map(float* mapPtr)
{
free(mapPtr);
}
STGSHARPGRAPHIC_API __m128 VecAddVec(__m128 vec1, __m128 vec2)
{
return _mm_add_ps(vec1, vec2);
}
STGSHARPGRAPHIC_API __m128 VecSubVec(__m128 vec1, __m128 vec2)
{
return _mm_sub_ps(vec1, vec2);
}
STGSHARPGRAPHIC_API float VecMulVec(__m128 vec1, __m128 vec2)
{
__m128 cache = _mm_mul_ps(vec1, vec2);
float ret = cache.m128_f32[0] +
cache.m128_f32[1] +
cache.m128_f32[2] +
cache.m128_f32[3];
return ret;
}