examples: enhance the call_v_from_python example, with a fn accepting 2 f64 params (#13480)

pull/13493/head
Mihai Galos 2022-02-16 08:12:49 +01:00 committed by GitHub
parent 3ac4155f0c
commit b8d656b308
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 13 additions and 3 deletions

View File

@ -1,8 +1,11 @@
from ctypes import *
import os
import math, os
so_file="./test.so"
if os.name=="nt":
so_file="./test.dll"
my_functions = CDLL(so_file)
print(my_functions.square(10))
lib = CDLL(so_file)
assert lib.square(10) == 100, "Cannot validate V square()."
lib.sqrt_of_sum_of_squares.restype = c_double
assert lib.sqrt_of_sum_of_squares(c_double(1.1), c_double(2.2)) == math.sqrt(1.1*1.1 + 2.2*2.2), "Cannot validate V sqrt_of_sum_of_squares()."

View File

@ -1,6 +1,13 @@
module test
import math
[export: 'square']
fn square(i int) int {
return i * i
}
[export: 'sqrt_of_sum_of_squares']
fn sqrt_of_sum_of_squares(x f64, y f64) f64 {
return math.sqrt(x * x + y * y)
}