field-positive-f32-t300.nx source
↩ module page · 4 lines · 695 B
1import "nx_syscalls.nx"
2struct Single{a:f32,b:f32,guard:i64}
3struct Holder{ptr:*Single}
4func main(argc:i64,argv:*i64)->i64{let s:*Single=sys_mmap_try(__size_of(Single)) as *Single;let h:*Holder=sys_mmap_try(__size_of(Holder)) as *Holder;if (s as i64)<=0{return 90};if (h as i64)<=0{return 91};h.ptr=s;s.guard=123456789;s.b=2.5f32;s.a=1.25f32;if s.a!=1.25f32{return 1};if s.b!=2.5f32{return 2};if s.guard!=123456789{return 3};h.ptr[0].a=3.75f32;if s.a!=3.75f32{return 4};if s.b!=2.5f32{return 5};h.ptr.b=0.5f32;if s.a!=3.75f32{return 6};if s.b!=0.5f32{return 7};if s.guard!=123456789{return 8};sys_munmap_direct(h as *u8,__size_of(Holder));sys_munmap_direct(s as *u8,__size_of(Single));return 0}