-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmain.odin
More file actions
41 lines (32 loc) · 1.26 KB
/
Copy pathmain.odin
File metadata and controls
41 lines (32 loc) · 1.26 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
package main
import "base:runtime"
import "core:fmt"
import "core:os"
import npyload "npyodin"
default_context : runtime.Context
main :: proc() {
// context.allocator = context.temp_allocator
default_context = context
file_name : string = os.args[1]
defer delete(file_name)
np_header, ndarray, ok := npyload.load_npy(file_name, allocator=default_context.allocator)
if ok != nil do fmt.panicf("Wth")
defer npyload.delete_ndarray(ndarray)
defer npyload.delete_header(&np_header)
fmt.printfln("file: %v", file_name)
fmt.println("\tHeader")
fmt.printfln("\t magic: %s", np_header.magic)
fmt.printfln("\t ver. : %v", np_header.version)
fmt.printfln("\t head_length : %v", np_header.header_length)
fmt.printfln("\t descr : %v", np_header.descr)
fmt.printfln("\t fortran_order : %v", np_header.fortran_order)
fmt.printfln("\t shape : %v", np_header.shape)
fmt.printfln("\t endianess : %v", np_header.endianess)
fmt.println("\tData")
fmt.printfln("\t data: %v", ndarray.data[:5])
fmt.printfln("\t size: %v", ndarray.size)
fmt.printfln("\t len : %v, %v", ndarray.length, typeid_of(type_of(f32(64))))
fmt.printfln("\t size of : %v", size_of(ndarray))
fmt.printfln("\t length of: %v", ndarray.length)
return
}