/* arguments: ip = ip address, e.g. 192.168.1.1 -> {192,168,1,1} mask = address mask, e.g. 255.255.255.0 -> {255,255,255,0} */ ipcalc(ip, mask)= ( net={}, broadcast={}, for(i=0; i<4; ++i; net=PushBack(net, ip[i]& mask[i]), broadcast=PushBack(broadcast, ip[i]| (u8) ~mask[i]) ), {net, broadcast} );