Skip to content

Commit

Permalink
Merge pull request #5 from Clonkk/devel
Browse files Browse the repository at this point in the history
Fixed somes type, improve tests
  • Loading branch information
Clonkk authored Feb 26, 2021
2 parents ccea0ae + 874d469 commit 7cd3a4b
Show file tree
Hide file tree
Showing 4 changed files with 15 additions and 14 deletions.
1 change: 1 addition & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
legacy/* linguist-vendored
4 changes: 2 additions & 2 deletions nimjl/boxunbox.nim
Original file line number Diff line number Diff line change
Expand Up @@ -61,13 +61,13 @@ proc julia_box[T](value: T): JlValue =

proc jlUnbox*[T: SomeNumber|string|bool|pointer](x: JlValue): T =
when T is string:
result = jlval_to_string(v)
result = jlval_to_string(x)
else:
result = julia_unbox[T](x)

proc jlBox*[T: SomeNumber|string|bool|pointer](val: T): JlValue =
when T is string:
result = jlval_from_string(v)
result = jlval_from_string(val)
else:
result = julia_box[T](val)

6 changes: 3 additions & 3 deletions tests/test.jl
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,12 @@ module custom_module
end

function modString(inputStr)
println("Input string: ", inputStr)
println("Julia says... Input string: ", inputStr)
return inputStr * " This is an amazing string"
end

function printDict(dict, key1, val1, key2, val2)
println(dict)
println("Julia says...", dict)
if dict[key1] == val1 && dict[key2] == val2
return true
else
Expand All @@ -21,7 +21,7 @@ module custom_module

function squareMeBaby(A)
## Square array and return the result
println(typeof(A))
println("Julia says...", typeof(A))
B = A.*A
return B
end
Expand Down
18 changes: 9 additions & 9 deletions tests/testfull.nim
Original file line number Diff line number Diff line change
Expand Up @@ -147,7 +147,7 @@ proc makeTupleTest() =

proc stringModTest() =
var inputStr = "This is a nice string, isn't it ?"
var res : string = jlUnbox[string](jlCall("modString", (jlBox(inputStr)))
var res : string = jlUnbox[string](jlCall("modString", (jlBox(inputStr))))
check inputStr & " This is an amazing string" == res

proc printDictTest() =
Expand Down Expand Up @@ -258,8 +258,8 @@ proc runArrayArgsTest() =

### Tensor Args
proc tensorSquareMeBaby() =
var orig: Tensor[float64]
orig = ones[float64](3, 4, 5)
let dims = [18, 21, 33]
var orig: Tensor[float64] = ones[float64](dims)
var index = 0
for i in orig.mitems:
i = index.float64 / 3.0
Expand All @@ -283,14 +283,14 @@ proc tensorSquareMeBaby() =
var rank_ret = ndims(ret)
check rank_ret == 3
var data_ret = dataArray(ret)
var tensorData: Tensor[float64] = newTensor[float64](3, 4, 5)
var tensorData: Tensor[float64] = newTensor[float64](dims)
copyMem(tensorData.dataArray(), data_ret, len_ret*sizeof(float64))
for i, v in enumerate(tensorData):
check v == (i/3)*(i/3)

proc tensorMutateMeBaby() =
var orig : Tensor[float64]
orig = ones[float64](4, 6, 8)
let dims = [14, 12, 10]
var orig : Tensor[float64] = ones[float64](dims)
var index = 0
for i in orig.mitems:
inc(index)
Expand All @@ -305,7 +305,7 @@ proc tensorMutateMeBaby() =
var rank_ret = ndims(ret)
check rank_ret == 3
var data_ret = dataArray(ret)
var tensorData: Tensor[float64] = newTensor[float64](4, 6, 8)
var tensorData: Tensor[float64] = newTensor[float64](dims)
copyMem(tensorData.dataArray(), data_ret, len_ret*sizeof(float64))
check tensorData == orig

Expand All @@ -321,8 +321,8 @@ proc tensorBuiltinRot180() =

var d0 = dim(xArray, 0).int
var d1 = dim(xArray, 1).int
check d0 == 4
check d1 == 3
check d0 == orig_tensor.shape[0]
check d1 == orig_tensor.shape[1]

var ret = toJlArray[float64](jlCall("rot180", xArray.toJlValue()))
check not isNil(ret.data)
Expand Down

0 comments on commit 7cd3a4b

Please sign in to comment.