Releases: HyperSphereStudio/JdotNET
Releases · HyperSphereStudio/JdotNET
Version 4.1
//Native Pointer of Specialized Methods. (FASTEST) This is unsafe so you should periodically check for exceptions
var f = Julia.Eval(@"add(a, b) = a + b"); //Gets the julia function pointer add
public delegate int Add(int a, int b); /*Declared somewhere*/
Add add = f.GetDelegate<Add>(); //Compile f to a sharp function pointer Add
var aAdd = f.GetDelegate<int, int, int>(); //Compile f to a sharp anonymous function pointer. Does not require a declared delegate
int answer = add(3, 4);
int answer2 = aAdd(4, 5);
Julia.CheckExceptions();
Array Improvement
GC Fix
Version 4
v4.0.0 Update README.md
Version 3.0.0
Major Changes to Julia -> C# Interop.
Enabled Julia to Initialize .NET and initialize JuliaInterface
Created a Julia package
Renamed Library to JuliadotNet
Increased speed of array conversions
increased JuliaInterface.jl / NativeSharp interface safety
Fixed jlexception messages
Bug Fixes
Version 2.5.0
Added GC_PUSH, GC_POP
Removed broken GC_PUSH1...GC_PUSH2 from Julia and Juliacalls
Improved method of fetching julia lib location
Improved @netusing and other functions in JuliaInterface
v2.0.0
Many internal changes.
Added large Julia to C# support
v1.5.0
Garbage Collection Pinning!
CSharp Garbage Collector Pinning:
Julia.Init();
JLArray myArr = new JLArray(JLType.Int64, 5); //Allocate Int64 array of length 5
var handle = myArr.Pin(); //Pin the Object
//Stuff calling Julia Functions
handle.Free(); //Optional, handle destructor will auto call it. This is in case you want it freed earlier
Julia.Exit(0);
Julia Garbage Collector Pinning:
myBasicType = SharpType("MyBasicType")
myBasicCon = SharpConstructor(myBasicType)
myBasicObj = myBasicCon()
handle = pin(myBasicObj)
#Stuff calling Sharp Functions
free(handle) #Will also auto free. You can also treat it like stream and put it in do end block
v1.0.1
Multi-Platform Release & Several New features