LABS(3P)

πŸ’– LABS(3P) β€” bestie edition πŸ’–

okay so this is labs(3P), and it lives in the POSIX Programmer's Manual. yes that whole manual. we're fancy now. ✨


🚨 PROLOG 🚨

ngl this is the important part, don't skip it:

This manual page is part of the POSIX Programmer's Manual. The Linux implementation of this interface may differ (consult the corresponding Linux manual page for details of Linux behavior), or the interface may not be implemented on Linux.

like. read that again. Linux might do its own thing or not have it at all, so check the Linux page too. πŸ’…


✨ NAME ✨

labs, llabs β€” return a long integer absolute value

(that's the whole vibe: you hand it a number, it hands you the number without the minus sign. iconic.) 🫢


πŸŽ€ SYNOPSIS πŸŽ€

#include <stdlib.h>

long labs(long i);
long long llabs(long long i);

look at those two. siblings. one's the long, one's the long long. both absolute-value girlies. πŸ‘‘


🌸 DESCRIPTION 🌸

The functionality described on this reference page is aligned with the ISO C standard. Any conflict between the requirements described here and the ISO C standard is unintentional. This volume of POSIX.1‐2017 defers to the ISO C standard.

translation bestie: this page follows the ISO C standard, and if anything here ever looks like it beefs with ISO C, that was not on purpose, and POSIX.1‐2017 just lets ISO C be the referee. no drama intended. πŸ™ˆ

So here's what the functions actually do:

  • The labs() function shall compute the absolute value of the long integer operand i.
  • The llabs() function shall compute the absolute value of the long long integer operand i.

and now the scary bit, say it with me:

If the result cannot be represented, the behavior is undefined. πŸ’€ no cap. don't test it.

πŸ’œ RETURN VALUE πŸ’œ

  • The labs() function shall return the absolute value of the long integer operand.
  • The llabs() function shall return the absolute value of the long long integer operand.

you give it a number, you get the positive version back. that's the whole plot. ✨


πŸ¦‹ ERRORS πŸ¦‹

No errors are defined.

not a single one. clean sheet. the following sections are informative:


πŸ“ EXAMPLES πŸ“

None.

(it's giving "we forgot to write examples" but it's fine, you got this.)


🌈 APPLICATION USAGE 🌈

None.


πŸ’… RATIONALE πŸ’…

None.


⭐ FUTURE DIRECTIONS ⭐

None.


πŸ‘‘ SEE ALSO πŸ‘‘

  • abs()
  • The Base Definitions volume of POSIX.1‐2017, <stdlib.h>

okay legal bestie moment, stay with me:

Portions of this text are reprinted and reproduced in electronic form from IEEE Std 1003.1-2017, Standard for Information Technology -- Portable Operating System Interface (POSIX), The Open Group Base Specifications Issue 7, 2018 Edition, Copyright (C) 2018 by the Institute of Electrical and Electronics Engineers, Inc and The Open Group. In the event of any discrepancy between this version and the original IEEE and The Open Group Standard, the original IEEE and The Open Group Standard is the referee document. The original Standard can be obtained online at http://www.opengroup.org/unix/online.html .

Any typographical or formatting errors that appear in this page are most likely to have been introduced during the conversion of the source files to man page format. To report such errors, see https://www.kernel.org/doc/man-pages/reporting_bugs.html .


and that's the page!! brought to you by IEEE/The Open Group, dated 2017, and this whole LABS(3P) moment was yours truly. go take the absolute value of something. slay. πŸ’–βœ¨πŸŽ€

πŸ“¦ where this page comes from