Skip to content

Releases: HyperSphereStudio/JdotNET

Version 4.1

06 Jan 02:36
8211f03
Compare
Choose a tag to compare
//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

03 Jan 20:15
9a38adf
Compare
Choose a tag to compare
v4.0.0

Update README.md

Version 3.0.0

28 Jul 07:10
5b794d2
Compare
Choose a tag to compare

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

17 Jul 21:56
Compare
Choose a tag to compare

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

16 Jan 07:28
8e3e2cf
Compare
Choose a tag to compare

Many internal changes.

Added large Julia to C# support

v1.5.0

12 Jan 01:12
Compare
Choose a tag to compare

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

11 Jan 20:35
Compare
Choose a tag to compare

Multi-Platform Release & Several New features