X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/2803826a2373620dbfce8a5bff1e6a01dd594953..e8e64a4f1d76aaeac3defa13243505cccd25c078:/lunaix-os/includes/lunaix/spike.h?ds=sidebyside diff --git a/lunaix-os/includes/lunaix/spike.h b/lunaix-os/includes/lunaix/spike.h index 48a1904..777a457 100644 --- a/lunaix-os/includes/lunaix/spike.h +++ b/lunaix-os/includes/lunaix/spike.h @@ -6,6 +6,8 @@ // 除法向上取整 #define CEIL(v, k) (((v) + (1 << (k)) - 1) >> (k)) +#define ICEIL(x, y) ((x) / (y) + ((x) % (y) != 0)) + // 除法向下取整 #define FLOOR(v, k) ((v) >> (k)) @@ -52,4 +54,12 @@ panick(const char* msg); while (!(cond)) \ ; +#define wait_until_expire(cond, max) \ + ({ \ + unsigned int __wcounter__ = (max); \ + while (!(cond) && __wcounter__-- > 1) \ + ; \ + __wcounter__; \ + }) + #endif /* __LUNAIX_SPIKE_H */