This commit is contained in:
PanSi21 2025-01-05 00:30:17 +01:00
parent 0b13972f36
commit bd0893c21f
Signed by untrusted user who does not match committer: PanSi21
GPG key ID: 755F8874C65EF462
4 changed files with 100 additions and 35 deletions

View file

@ -1,39 +1,14 @@
import { cc } from "bun:ffi";
import source from "./test.c" with { type: "file" };
import { dlopen, FFIType, suffix } from "bun:ffi";
const path = `./libfibonacci.so`;
const {
symbols: { fibonacci },
} = cc({
source,
symbols: {
fibonacci: {
args: [],
returns: "uint64_t",
},
const { symbols } = dlopen(path, {
fibonacci_gmp: {
args: [],
returns: FFIType.cstring,
},
});
const risultato = fibonacci();
const result = symbols.fibonacci_gmp();
console.log("Fibonacci(25000) =", result);
console.log("fibonacci serie 250 000: ", risultato );
//
function fibonacci_js() {
const n = 250000;
let a = 0n;
let b = 1n;
let c;
for (let i = 2; i <= n; i++) {
c = a + b;
a = b;
b = c;
}
return b;
}
const result_js = fibonacci_js();
console.log("Fibonacci(250 000) =", result_js.toString());