using StgSharp.Math; using System; using System.Collections.Generic; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; namespace StgSharp { internal static partial class internalIO { #region load [DllImport(dllName: "StgSharpGraphic.dll", EntryPoint = "load", CallingConvention = CallingConvention.Cdecl)] [MethodImpl(MethodImplOptions.AggressiveInlining)] internal static extern ref M128 load_internal(float x,float y, float z, float w); [DllImport(dllName: "StgSharpGraphic.dll", EntryPoint = "load", CallingConvention = CallingConvention.Cdecl)] [MethodImpl(MethodImplOptions.AggressiveInlining)] internal static unsafe extern M128* loadptr_internal(float x, float y, float z, float w); [DllImport("StgSharpGraphic.dll",EntryPoint = "load_matmap", CallingConvention = CallingConvention.Cdecl)] internal static extern IntPtr load_mat(IntPtr c0, IntPtr c1, IntPtr c2, IntPtr c3); [DllImport("StgSharpGraphic.dll", EntryPoint = "load_cpy", CallingConvention = CallingConvention.Cdecl)] internal static extern IntPtr load_cpy_internal(IntPtr ptr); #endregion #region add sub [DllImport("StgSharpGraphic.dll", EntryPoint = "addps", CallingConvention = CallingConvention.Cdecl)] internal static extern IntPtr addps_internal(IntPtr ptr1, IntPtr ptr2); [DllImport("StgSharpGraphic.dll", EntryPoint = "subps", CallingConvention = CallingConvention.Cdecl)] internal static extern IntPtr subps_internal(IntPtr ptr1, IntPtr ptr2); #endregion #region mulps [DllImport("StgSharpGraphic.dll", EntryPoint = "mulps", CallingConvention = CallingConvention.Cdecl)] internal static extern IntPtr mulps_internal(IntPtr ptr1, IntPtr ptr2); [DllImport("StgSharpGraphic.dll", EntryPoint = "mulps_const", CallingConvention = CallingConvention.Cdecl)] [MethodImpl(MethodImplOptions.AggressiveInlining)] internal static extern IntPtr mulps_const_internal(IntPtr ptr, float value); [DllImport("StgSharpGraphic.dll", EntryPoint = "mulps_sum", CallingConvention = CallingConvention.Cdecl)] internal static extern float mulps_sum_internal(IntPtr ptr1, IntPtr ptr2); [DllImport("StgSharpGraphic.dll", EntryPoint = "mulps_sum", CallingConvention = CallingConvention.Cdecl)] internal static extern unsafe float mulps_sum_internal(M128* ptr1, M128* ptr2); #endregion #region div [DllImport("StgSharpGraphic.dll", EntryPoint = "mulps", CallingConvention = CallingConvention.Cdecl)] internal static extern IntPtr divps_internal(IntPtr ptr1, IntPtr ptr2); [DllImport("StgSharpGraphic.dll", EntryPoint = "divps_const", CallingConvention = CallingConvention.Cdecl)] internal static extern IntPtr divps_const_internal(IntPtr ptr, float value); #endregion [DllImport("StgSharpGraphic.dll", EntryPoint = "sqrtss_const", CallingConvention = CallingConvention.Cdecl)] internal static extern float sqrtss_const_internal(float a); [DllImport("StgSharpGraphic.dll", EntryPoint = "set_m128ptr_default", CallingConvention = CallingConvention.Cdecl)] internal static extern IntPtr set_m128ptr_default_internal(); #region deinit m128 [DllImport( "msvcrt.dll", EntryPoint = "_aligned_free", CallingConvention = CallingConvention.Cdecl)] [MethodImpl(MethodImplOptions.AggressiveInlining)] internal static extern unsafe void deinit_internal(M128* ptr); [DllImport( "msvcrt.dll", EntryPoint = "_aligned_free", CallingConvention = CallingConvention.Cdecl)] [MethodImpl(MethodImplOptions.AggressiveInlining)] internal static extern unsafe void deinit_internal(Mat2* ptr); /* [DllImport( "msvcrt.dll", EntryPoint = "_aligned_free", CallingConvention = CallingConvention.Cdecl)] [MethodImpl(MethodImplOptions.AggressiveInlining)] internal static extern unsafe void deinit_internal(Mat3* ptr); */ [DllImport( "msvcrt.dll", EntryPoint = "_aligned_free", CallingConvention = CallingConvention.Cdecl)] [MethodImpl(MethodImplOptions.AggressiveInlining)] internal static extern unsafe void deinit_internal(Mat4* ptr); [DllImport("StgSharpGraphic.dll", EntryPoint = "deinitM128", CallingConvention = CallingConvention.Cdecl)] internal static extern void deinitM128_internal(ref M128 vec); [DllImport("StgSharpGraphic.dll", EntryPoint = "deinitM128", CallingConvention = CallingConvention.Cdecl)] internal static extern unsafe void deinitM128_internal(M128* vec); #endregion [DllImport("StgSharpGraphic.dll", EntryPoint = "deinit_matmapPtr_sse", CallingConvention = CallingConvention.Cdecl)] internal static extern void deinitMatmapPtr_sse_internal(ref M128matMap mapPtr); [DllImport("StgSharpGraphic.dll", EntryPoint = "deinit_matmap_sse", CallingConvention = CallingConvention.Cdecl)] internal static extern void deinitMatmap_sse_internal(ref M128matMap mapPtr); } }