Compute.Bindings.IntelMKL by Allister Beharry

<PackageReference Include="Compute.Bindings.IntelMKL" Version="0.1.2" />

 MKL_Complex8

public struct MKL_Complex8
using System; using System.Runtime.InteropServices; using System.Security; namespace IntelMKL { public struct MKL_Complex8 { [StructLayout(LayoutKind.Explicit, Size = 8)] public struct __Internal { [FieldOffset(0)] internal float real; [FieldOffset(4)] internal float imag; [DllImport("mkl_rt", CallingConvention = CallingConvention.Cdecl, EntryPoint = "??0_MKL_Complex8@@QEAA@AEBU0@@Z")] [SuppressUnmanagedCodeSecurity] internal static extern IntPtr cctor(IntPtr instance, IntPtr _0); } private __Internal __instance; internal __Internal __Instance => __instance; public float Real { get { return __instance.real; } set { __instance.real = value; } } public float Imag { get { return __instance.imag; } set { __instance.imag = value; } } internal unsafe static MKL_Complex8 __CreateInstance(IntPtr native, bool skipVTables = false) { return new MKL_Complex8(native.ToPointer(), skipVTables); } internal static MKL_Complex8 __CreateInstance(__Internal native, bool skipVTables = false) { return new MKL_Complex8(native, skipVTables); } private MKL_Complex8(__Internal native, bool skipVTables = false) { this = default(MKL_Complex8); __instance = native; } private unsafe MKL_Complex8(void* native, bool skipVTables = false) { this = default(MKL_Complex8); __instance = *(__Internal*)native; } public unsafe MKL_Complex8(MKL_Complex8 _0) { this = default(MKL_Complex8); __Internal _Instance = _0.__Instance; IntPtr _ = new IntPtr(&_Instance); fixed (__Internal* value = &__instance) { __Internal.cctor(new IntPtr(value), _); } } } }