add vlang binding (#67)
This commit is contained in:
@@ -0,0 +1,13 @@
|
||||
module main
|
||||
|
||||
import ruapu
|
||||
|
||||
fn main() {
|
||||
ruapu.ruapu_init()
|
||||
mut avx2_status := ruapu.ruapu_supports('avx2')
|
||||
if avx2_status {
|
||||
println('avx2: ' + avx2_status.str())
|
||||
}
|
||||
|
||||
println(ruapu.ruapu_rua())
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
module ruapu
|
||||
|
||||
#flag -I @VMODROOT/../
|
||||
#flag -D RUAPU_IMPLEMENTATION
|
||||
#include "ruapu.h"
|
||||
|
||||
fn C.ruapu_init()
|
||||
|
||||
fn C.ruapu_supports(&char) int
|
||||
|
||||
fn C.ruapu_rua() &&char
|
||||
|
||||
pub fn ruapu_init() {
|
||||
C.ruapu_init()
|
||||
}
|
||||
|
||||
pub fn ruapu_supports(isa string) bool {
|
||||
return C.ruapu_supports(unsafe { isa.str }) == 1
|
||||
}
|
||||
|
||||
pub fn ruapu_rua() []string {
|
||||
mut cstr_array := C.ruapu_rua()
|
||||
mut v_strings := []string{}
|
||||
|
||||
unsafe {
|
||||
for i := 0; cstr_array[i] != 0; i++ {
|
||||
str := cstring_to_vstring(cstr_array[i])
|
||||
v_strings << str
|
||||
}
|
||||
}
|
||||
|
||||
return v_strings
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
Module {
|
||||
name: 'ruapu',
|
||||
description: 'Detect CPU ISA features with single-file.',
|
||||
dependencies: []
|
||||
}
|
||||
Reference in New Issue
Block a user