round, roundf, roundl, lround, lroundf, lroundl, llround, llroundf, llroundl

From Get docs
< Numerics‎ | mathC/docs/latest/numeric/math/round


round, roundf, roundl, lround, lroundf, lroundl, llround, llroundf, llroundl

Defined in header <math.h>
float       roundf( float arg );
(1) (since C99)
double      round( double arg );
(2) (since C99)
long double roundl( long double arg );
(3) (since C99)
Defined in header <tgmath.h>
#define round( arg )
(4) (since C99)
Defined in header <math.h>
long      lroundf( float arg );
(5) (since C99)
long      lround( double arg );
(6) (since C99)
long      lroundl( long double arg );
(7) (since C99)
Defined in header <tgmath.h>
#define lround( arg )
(8) (since C99)
Defined in header <math.h>
long long llroundf( float arg );
(9) (since C99)
long long llround( double arg );
(10) (since C99)
long long llroundl( long double arg );
(11) (since C99)
Defined in header <tgmath.h>
#define llround( arg )
(12) (since C99)

1-3) Computes the nearest integer value to arg (in floating-point format), rounding halfway cases away from zero, regardless of the current rounding mode.

5-7, 9-11) Computes the nearest integer value to arg (in integer format), rounding halfway cases away from zero, regardless of the current rounding mode.

4,8,12) Type-generic macros: If arg has type long double, roundl, lroundl, llroundl is called. Otherwise, if arg has integer type or the type double, round, lround, llround is called. Otherwise, roundf, lroundf, llroundf is called, respectively.

Parameters

arg - floating point value

Return value

If no errors occur, the nearest integer value to arg, rounding halfway cases away from zero, is returned.

Return value

[[../File:data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+CjwhLS0gQ3JlYXRlZCB3aXRoIG1hdHBsb3RsaWIgKGh0dHA6Ly9tYXRwbG90bGliLnNvdXJjZWZvcmdlLm5ldC8pIC0tPgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIGhlaWdodD0iMjAwcHgiIHZlcnNpb249IjEuMSIgdmlld0JveD0iMCAwIDIwMCAyMDAiIHdpZHRoPSIyMDBweCI+CiA8ZGVmcz4KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoqe3N0cm9rZS1saW5lY2FwOnNxdWFyZTtzdHJva2UtbGluZWpvaW46cm91bmQ7fQogIDwvc3R5bGU+CiA8L2RlZnM+CiA8ZyBpZD0iZmlndXJlXzEiPgogIDxnIGlkPSJwYXRjaF8xIj4KICAgPHBhdGggZD0iIE0wIDIwMCBMMjAwIDIwMCBMMjAwIDAgTDAgMCB6ICIgc3R5bGU9ImZpbGw6I2ZmZmZmZjsiLz4KICA8L2c+CiAgPGcgaWQ9ImF4ZXNfMSI+CiAgIDxnIGlkPSJwYXRjaF8yIj4KICAgIDxwYXRoIGQ9IiBNMjUgMTc3LjUgTDE4MCAxNzcuNSBMMTgwIDIyLjUgTDI1IDIyLjUgeiAiIHN0eWxlPSJmaWxsOiNmZmZmZmY7Ii8+CiAgIDwvZz4KICAgPGcgaWQ9Im1hdHBsb3RsaWIuYXhpc18xIj4KICAgIDxnIGlkPSJ4dGlja18xIj4KICAgICA8ZyBpZD0ibGluZTJkXzEiPgogICAgICA8cGF0aCBjbGlwLXBhdGg9InVybCgjcDQwZmVjMTE1M2YpIiBkPSIgTTM2LjA3MTQgMTc3LjUgTDM2LjA3MTQgMjIuNSIgc3R5bGU9ImZpbGw6bm9uZTtzdHJva2U6IzAwMDAwMDtzdHJva2UtZGFzaGFycmF5OjEuMDAwMDAwLDMuMDAwMDAwO3N0cm9rZS1kYXNob2Zmc2V0OjAuMDtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS13aWR0aDowLjU7Ii8+CiAgICAgPC9nPgogICAgIDxnIGlkPSJsaW5lMmRfMiI+CiAgICAgIDxkZWZzPgogICAgICAgPHBhdGggZD0iIE0wIDAgTDAgLTQiIGlkPSJtMDAxMmRkNGVlZiIgc3R5bGU9InN0cm9rZTojMDAwMDAwO3N0cm9rZS1saW5lY2FwOmJ1dHQ7c3Ryb2tlLXdpZHRoOjAuNTsiLz4KICAgICAgPC9kZWZzPgogICAgICA8Zz4KICAgICAgIDx1c2Ugc3R5bGU9InN0cm9rZTojMDAwMDAwO3N0cm9rZS1saW5lY2FwOmJ1dHQ7c3Ryb2tlLXdpZHRoOjAuNTsiIHg9IjM2LjA3MTQyODU3MTQiIHhsaW5rOmhyZWY9IiNtMDAxMmRkNGVlZiIgeT0iMTc3LjUiLz4KICAgICAgPC9nPgogICAgIDwvZz4KICAgICA8ZyBpZD0ibGluZTJkXzMiPgogICAgICA8ZGVmcz4KICAgICAgIDxwYXRoIGQ9IiBNMCAwIEwwIDQiIGlkPSJtNDc2MzQ0OTY5YyIgc3R5bGU9InN0cm9rZTojMDAwMDAwO3N0cm9rZS1saW5lY2FwOmJ1dHQ7c3Ryb2tlLXdpZHRoOjAuNTsiLz4KICAgICAgPC9kZWZzPgogICAgICA8Zz4KICAgICAgIDx1c2Ugc3R5bGU9InN0cm9rZTojMDAwMDAwO3N0cm9rZS1saW5lY2FwOmJ1dHQ7c3Ryb2tlLXdpZHRoOjAuNTsiIHg9IjM2LjA3MTQyODU3MTQiIHhsaW5rOmhyZWY9IiNtNDc2MzQ0OTY5YyIgeT0iMjIuNSIvPgogICAgICA8L2c+CiAgICAgPC9nPgogICAgIDxnIGlkPSJ0ZXh0XzEiPgogICAgICA8IS0tIOKIkjMgLS0+CiAgICAgIDxkZWZzPgogICAgICAgPHBhdGggZD0iIE00MC41NzgxIDM5LjMxMjUgUTQ3LjY1NjIgMzcuNzk2OSA1MS42MjUgMzMgUTU1LjYwOTQgMjguMjE4OCA1NS42MDk0IDIxLjE4NzUgUTU1LjYwOTQgMTAuNDA2MiA0OC4xODc1IDQuNDg0MzggUTQwLjc2NTYgLTEuNDIxODggMjcuMDkzOCAtMS40MjE4OCBRMjIuNTE1NiAtMS40MjE4OCAxNy42NTYyIC0wLjUxNTYyNSBRMTIuNzk2OSAwLjM5MDYyNSA3LjYyNSAyLjIwMzEyIEw3LjYyNSAxMS43MTg4IFExMS43MTg4IDkuMzI4MTIgMTYuNTkzOCA4LjEwOTM4IFEyMS40ODQ0IDYuODkwNjIgMjYuODEyNSA2Ljg5MDYyIFEzNi4wNzgxIDYuODkwNjIgNDAuOTM3NSAxMC41NDY5IFE0NS43OTY5IDE0LjIwMzEgNDUuNzk2OSAyMS4xODc1IFE0NS43OTY5IDI3LjY0MDYgNDEuMjgxMiAzMS4yNjU2IFEzNi43NjU2IDM0LjkwNjIgMjguNzE4OCAzNC45MDYyIEwyMC4yMTg4IDM0LjkwNjIgTDIwLjIxODggNDMuMDE1NiBMMjkuMTA5NCA0My4wMTU2IFEzNi4zNzUgNDMuMDE1NiA0MC4yMzQ0IDQ1LjkyMTkgUTQ0LjA5MzggNDguODI4MSA0NC4wOTM4IDU0LjI5NjkgUTQ0LjA5MzggNTkuOTA2MiA0MC4xMDk0IDYyLjkwNjIgUTM2LjE0MDYgNjUuOTIxOSAyOC43MTg4IDY1LjkyMTkgUTI0LjY1NjIgNjUuOTIxOSAyMC4wMTU2IDY1LjAzMTIgUTE1LjM3NSA2NC4xNTYyIDkuODEyNSA2Mi4zMTI1IEw5LjgxMjUgNzEuMDkzOCBRMTUuNDM3NSA3Mi42NTYyIDIwLjM0MzggNzMuNDM3NSBRMjUuMjUgNzQuMjE4OCAyOS41OTM4IDc0LjIxODggUTQwLjgyODEgNzQuMjE4OCA0Ny4zNTk0IDY5LjEwOTQgUTUzLjkwNjIgNjQuMDE1NiA1My45MDYyIDU1LjMyODEgUTUzLjkwNjIgNDkuMjY1NiA1MC40Mzc1IDQ1LjA5MzggUTQ2Ljk2ODggNDAuOTIxOSA0MC41NzgxIDM5LjMxMjUiIGlkPSJEZWphVnVTYW5zLTMzIi8+CiAgICAgICA8cGF0aCBkPSIgTTEwLjU5MzggMzUuNSBMNzMuMTg3NSAzNS41IEw3My4xODc1IDI3LjIwMzEgTDEwLjU5MzggMjcuMjAzMSB6ICIgaWQ9IkRlamFWdVNhbnMtMjIxMiIvPgogICAgICA8L2RlZnM+CiAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDMwLjI3NDg2NjA3MTQgMTkxLjY3OTY4NzUpc2NhbGUoMC4wOSAtMC4wOSkiPgogICAgICAgPHVzZSB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy0yMjEyIi8+CiAgICAgICA8dXNlIHg9IjgzLjc4OTA2MjUiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTMzIi8+CiAgICAgIDwvZz4KICAgICA8L2c+CiAgICA8L2c+CiAgICA8ZyBpZD0ieHRpY2tfMiI+CiAgICAgPGcgaWQ9ImxpbmUyZF80Ij4KICAgICAgPHBhdGggY2xpcC1wYXRoPSJ1cmwoI3A0MGZlYzExNTNmKSIgZD0iIE01OC4yMTQzIDE3Ny41IEw1OC4yMTQzIDIyLjUiIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLWRhc2hhcnJheToxLjAwMDAwMCwzLjAwMDAwMDtzdHJva2UtZGFzaG9mZnNldDowLjA7c3Ryb2tlLWxpbmVjYXA6YnV0dDtzdHJva2Utd2lkdGg6MC41OyIvPgogICAgIDwvZz4KICAgICA8ZyBpZD0ibGluZTJkXzUiPgogICAgICA8Zz4KICAgICAgIDx1c2Ugc3R5bGU9InN0cm9rZTojMDAwMDAwO3N0cm9rZS1saW5lY2FwOmJ1dHQ7c3Ryb2tlLXdpZHRoOjAuNTsiIHg9IjU4LjIxNDI4NTcxNDMiIHhsaW5rOmhyZWY9IiNtMDAxMmRkNGVlZiIgeT0iMTc3LjUiLz4KICAgICAgPC9nPgogICAgIDwvZz4KICAgICA8ZyBpZD0ibGluZTJkXzYiPgogICAgICA8Zz4KICAgICAgIDx1c2Ugc3R5bGU9InN0cm9rZTojMDAwMDAwO3N0cm9rZS1saW5lY2FwOmJ1dHQ7c3Ryb2tlLXdpZHRoOjAuNTsiIHg9IjU4LjIxNDI4NTcxNDMiIHhsaW5rOmhyZWY9IiNtNDc2MzQ0OTY5YyIgeT0iMjIuNSIvPgogICAgICA8L2c+CiAgICAgPC9nPgogICAgIDxnIGlkPSJ0ZXh0XzIiPgogICAgICA8IS0tIOKIkjIgLS0+CiAgICAgIDxkZWZzPgogICAgICAgPHBhdGggZD0iIE0xOS4xODc1IDguMjk2ODggTDUzLjYwOTQgOC4yOTY4OCBMNTMuNjA5NCAwIEw3LjMyODEyIDAgTDcuMzI4MTIgOC4yOTY4OCBRMTIuOTM3NSAxNC4xMDk0IDIyLjYyNSAyMy44OTA2IFEzMi4zMjgxIDMzLjY4NzUgMzQuODEyNSAzNi41MzEyIFEzOS41NDY5IDQxLjg0MzggNDEuNDIxOSA0NS41MzEyIFE0My4zMTI1IDQ5LjIxODggNDMuMzEyNSA1Mi43ODEyIFE0My4zMTI1IDU4LjU5MzggMzkuMjM0NCA2Mi4yNSBRMzUuMTU2MiA2NS45MjE5IDI4LjYwOTQgNjUuOTIxOSBRMjMuOTY4OCA2NS45MjE5IDE4LjgxMjUgNjQuMzEyNSBRMTMuNjcxOSA2Mi43MDMxIDcuODEyNSA1OS40MjE5IEw3LjgxMjUgNjkuMzkwNiBRMTMuNzY1NiA3MS43ODEyIDE4LjkzNzUgNzMgUTI0LjEyNSA3NC4yMTg4IDI4LjQyMTkgNzQuMjE4OCBRMzkuNzUgNzQuMjE4OCA0Ni40ODQ0IDY4LjU0NjkgUTUzLjIxODggNjIuODkwNiA1My4yMTg4IDUzLjQyMTkgUTUzLjIxODggNDguOTIxOSA1MS41MzEyIDQ0Ljg5MDYgUTQ5Ljg1OTQgNDAuODc1IDQ1LjQwNjIgMzUuNDA2MiBRNDQuMTg3NSAzMy45ODQ0IDM3LjY0MDYgMjcuMjE4OCBRMzEuMTA5NCAyMC40NTMxIDE5LjE4NzUgOC4yOTY4OCIgaWQ9IkRlamFWdVNhbnMtMzIiLz4KICAgICAgPC9kZWZzPgogICAgICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg1Mi41MDc3MjMyMTQzIDE5MS42Nzk2ODc1KXNjYWxlKDAuMDkgLTAuMDkpIj4KICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtMjIxMiIvPgogICAgICAgPHVzZSB4PSI4My43ODkwNjI1IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy0zMiIvPgogICAgICA8L2c+CiAgICAgPC9nPgogICAgPC9nPgogICAgPGcgaWQ9Inh0aWNrXzMiPgogICAgIDxnIGlkPSJsaW5lMmRfNyI+CiAgICAgIDxwYXRoIGNsaXAtcGF0aD0idXJsKCNwNDBmZWMxMTUzZikiIGQ9IiBNODAuMzU3MSAxNzcuNSBMODAuMzU3MSAyMi41IiBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojMDAwMDAwO3N0cm9rZS1kYXNoYXJyYXk6MS4wMDAwMDAsMy4wMDAwMDA7c3Ryb2tlLWRhc2hvZmZzZXQ6MC4wO3N0cm9rZS1saW5lY2FwOmJ1dHQ7c3Ryb2tlLXdpZHRoOjAuNTsiLz4KICAgICA8L2c+CiAgICAgPGcgaWQ9ImxpbmUyZF84Ij4KICAgICAgPGc+CiAgICAgICA8dXNlIHN0eWxlPSJzdHJva2U6IzAwMDAwMDtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS13aWR0aDowLjU7IiB4PSI4MC4zNTcxNDI4NTcxIiB4bGluazpocmVmPSIjbTAwMTJkZDRlZWYiIHk9IjE3Ny41Ii8+CiAgICAgIDwvZz4KICAgICA8L2c+CiAgICAgPGcgaWQ9ImxpbmUyZF85Ij4KICAgICAgPGc+CiAgICAgICA8dXNlIHN0eWxlPSJzdHJva2U6IzAwMDAwMDtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS13aWR0aDowLjU7IiB4PSI4MC4zNTcxNDI4NTcxIiB4bGluazpocmVmPSIjbTQ3NjM0NDk2OWMiIHk9IjIyLjUiLz4KICAgICAgPC9nPgogICAgIDwvZz4KICAgICA8ZyBpZD0idGV4dF8zIj4KICAgICAgPCEtLSDiiJIxIC0tPgogICAgICA8ZGVmcz4KICAgICAgIDxwYXRoIGQ9IiBNMTIuNDA2MiA4LjI5Njg4IEwyOC41MTU2IDguMjk2ODggTDI4LjUxNTYgNjMuOTIxOSBMMTAuOTg0NCA2MC40MDYyIEwxMC45ODQ0IDY5LjM5MDYgTDI4LjQyMTkgNzIuOTA2MiBMMzguMjgxMiA3Mi45MDYyIEwzOC4yODEyIDguMjk2ODggTDU0LjM5MDYgOC4yOTY4OCBMNTQuMzkwNiAwIEwxMi40MDYyIDAgeiAiIGlkPSJEZWphVnVTYW5zLTMxIi8+CiAgICAgIDwvZGVmcz4KICAgICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNzQuNjE1NDI0MTA3MSAxOTEuNTYxNTYyNSlzY2FsZSgwLjA5IC0wLjA5KSI+CiAgICAgICA8dXNlIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTIyMTIiLz4KICAgICAgIDx1c2UgeD0iODMuNzg5MDYyNSIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtMzEiLz4KICAgICAgPC9nPgogICAgIDwvZz4KICAgIDwvZz4KICAgIDxnIGlkPSJ4dGlja180Ij4KICAgICA8ZyBpZD0ibGluZTJkXzEwIj4KICAgICAgPHBhdGggY2xpcC1wYXRoPSJ1cmwoI3A0MGZlYzExNTNmKSIgZD0iIE0xMDIuNSAxNzcuNSBMMTAyLjUgMjIuNSIgc3R5bGU9ImZpbGw6bm9uZTtzdHJva2U6IzAwMDAwMDtzdHJva2UtZGFzaGFycmF5OjEuMDAwMDAwLDMuMDAwMDAwO3N0cm9rZS1kYXNob2Zmc2V0OjAuMDtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS13aWR0aDowLjU7Ii8+CiAgICAgPC9nPgogICAgIDxnIGlkPSJsaW5lMmRfMTEiPgogICAgICA8Zz4KICAgICAgIDx1c2Ugc3R5bGU9InN0cm9rZTojMDAwMDAwO3N0cm9rZS1saW5lY2FwOmJ1dHQ7c3Ryb2tlLXdpZHRoOjAuNTsiIHg9IjEwMi41IiB4bGluazpocmVmPSIjbTAwMTJkZDRlZWYiIHk9IjE3Ny41Ii8+CiAgICAgIDwvZz4KICAgICA8L2c+CiAgICAgPGcgaWQ9ImxpbmUyZF8xMiI+CiAgICAgIDxnPgogICAgICAgPHVzZSBzdHlsZT0ic3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLWxpbmVjYXA6YnV0dDtzdHJva2Utd2lkdGg6MC41OyIgeD0iMTAyLjUiIHhsaW5rOmhyZWY9IiNtNDc2MzQ0OTY5YyIgeT0iMjIuNSIvPgogICAgICA8L2c+CiAgICAgPC9nPgogICAgIDxnIGlkPSJ0ZXh0XzQiPgogICAgICA8IS0tIDAgLS0+CiAgICAgIDxkZWZzPgogICAgICAgPHBhdGggZD0iIE0zMS43ODEyIDY2LjQwNjIgUTI0LjE3MTkgNjYuNDA2MiAyMC4zMjgxIDU4LjkwNjIgUTE2LjUgNTEuNDIxOSAxNi41IDM2LjM3NSBRMTYuNSAyMS4zOTA2IDIwLjMyODEgMTMuODkwNiBRMjQuMTcxOSA2LjM5MDYyIDMxLjc4MTIgNi4zOTA2MiBRMzkuNDUzMSA2LjM5MDYyIDQzLjI4MTIgMTMuODkwNiBRNDcuMTI1IDIxLjM5MDYgNDcuMTI1IDM2LjM3NSBRNDcuMTI1IDUxLjQyMTkgNDMuMjgxMiA1OC45MDYyIFEzOS40NTMxIDY2LjQwNjIgMzEuNzgxMiA2Ni40MDYyIE0zMS43ODEyIDc0LjIxODggUTQ0LjA0NjkgNzQuMjE4OCA1MC41MTU2IDY0LjUxNTYgUTU2Ljk4NDQgNTQuODI4MSA1Ni45ODQ0IDM2LjM3NSBRNTYuOTg0NCAxNy45Njg4IDUwLjUxNTYgOC4yNjU2MiBRNDQuMDQ2OSAtMS40MjE4OCAzMS43ODEyIC0xLjQyMTg4IFExOS41MzEyIC0xLjQyMTg4IDEzLjA2MjUgOC4yNjU2MiBRNi41OTM3NSAxNy45Njg4IDYuNTkzNzUgMzYuMzc1IFE2LjU5Mzc1IDU0LjgyODEgMTMuMDYyNSA2NC41MTU2IFExOS41MzEyIDc0LjIxODggMzEuNzgxMiA3NC4yMTg4IiBpZD0iRGVqYVZ1U2Fucy0zMCIvPgogICAgICA8L2RlZnM+CiAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEwMC4yMzI0MjE4NzUgMTkxLjY3OTY4NzUpc2NhbGUoMC4wOSAtMC4wOSkiPgogICAgICAgPHVzZSB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy0zMCIvPgogICAgICA8L2c+CiAgICAgPC9nPgogICAgPC9nPgogICAgPGcgaWQ9Inh0aWNrXzUiPgogICAgIDxnIGlkPSJsaW5lMmRfMTMiPgogICAgICA8cGF0aCBjbGlwLXBhdGg9InVybCgjcDQwZmVjMTE1M2YpIiBkPSIgTTEyNC42NDMgMTc3LjUgTDEyNC42NDMgMjIuNSIgc3R5bGU9ImZpbGw6bm9uZTtzdHJva2U6IzAwMDAwMDtzdHJva2UtZGFzaGFycmF5OjEuMDAwMDAwLDMuMDAwMDAwO3N0cm9rZS1kYXNob2Zmc2V0OjAuMDtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS13aWR0aDowLjU7Ii8+CiAgICAgPC9nPgogICAgIDxnIGlkPSJsaW5lMmRfMTQiPgogICAgICA8Zz4KICAgICAgIDx1c2Ugc3R5bGU9InN0cm9rZTojMDAwMDAwO3N0cm9rZS1saW5lY2FwOmJ1dHQ7c3Ryb2tlLXdpZHRoOjAuNTsiIHg9IjEyNC42NDI4NTcxNDMiIHhsaW5rOmhyZWY9IiNtMDAxMmRkNGVlZiIgeT0iMTc3LjUiLz4KICAgICAgPC9nPgogICAgIDwvZz4KICAgICA8ZyBpZD0ibGluZTJkXzE1Ij4KICAgICAgPGc+CiAgICAgICA8dXNlIHN0eWxlPSJzdHJva2U6IzAwMDAwMDtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS13aWR0aDowLjU7IiB4PSIxMjQuNjQyODU3MTQzIiB4bGluazpocmVmPSIjbTQ3NjM0NDk2OWMiIHk9IjIyLjUiLz4KICAgICAgPC9nPgogICAgIDwvZz4KICAgICA8ZyBpZD0idGV4dF81Ij4KICAgICAgPCEtLSAxIC0tPgogICAgICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMjIuNjg5NTc1ODkzIDE5MS41NjE1NjI1KXNjYWxlKDAuMDkgLTAuMDkpIj4KICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtMzEiLz4KICAgICAgPC9nPgogICAgIDwvZz4KICAgIDwvZz4KICAgIDxnIGlkPSJ4dGlja182Ij4KICAgICA8ZyBpZD0ibGluZTJkXzE2Ij4KICAgICAgPHBhdGggY2xpcC1wYXRoPSJ1cmwoI3A0MGZlYzExNTNmKSIgZD0iIE0xNDYuNzg2IDE3Ny41IEwxNDYuNzg2IDIyLjUiIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLWRhc2hhcnJheToxLjAwMDAwMCwzLjAwMDAwMDtzdHJva2UtZGFzaG9mZnNldDowLjA7c3Ryb2tlLWxpbmVjYXA6YnV0dDtzdHJva2Utd2lkdGg6MC41OyIvPgogICAgIDwvZz4KICAgICA8ZyBpZD0ibGluZTJkXzE3Ij4KICAgICAgPGc+CiAgICAgICA8dXNlIHN0eWxlPSJzdHJva2U6IzAwMDAwMDtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS13aWR0aDowLjU7IiB4PSIxNDYuNzg1NzE0Mjg2IiB4bGluazpocmVmPSIjbTAwMTJkZDRlZWYiIHk9IjE3Ny41Ii8+CiAgICAgIDwvZz4KICAgICA8L2c+CiAgICAgPGcgaWQ9ImxpbmUyZF8xOCI+CiAgICAgIDxnPgogICAgICAgPHVzZSBzdHlsZT0ic3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLWxpbmVjYXA6YnV0dDtzdHJva2Utd2lkdGg6MC41OyIgeD0iMTQ2Ljc4NTcxNDI4NiIgeGxpbms6aHJlZj0iI200NzYzNDQ5NjljIiB5PSIyMi41Ii8+CiAgICAgIDwvZz4KICAgICA8L2c+CiAgICAgPGcgaWQ9InRleHRfNiI+CiAgICAgIDwhLS0gMiAtLT4KICAgICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTQ0LjcwMzA1ODAzNiAxOTEuNjc5Njg3NSlzY2FsZSgwLjA5IC0wLjA5KSI+CiAgICAgICA8dXNlIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTMyIi8+CiAgICAgIDwvZz4KICAgICA8L2c+CiAgICA8L2c+CiAgICA8ZyBpZD0ieHRpY2tfNyI+CiAgICAgPGcgaWQ9ImxpbmUyZF8xOSI+CiAgICAgIDxwYXRoIGNsaXAtcGF0aD0idXJsKCNwNDBmZWMxMTUzZikiIGQ9IiBNMTY4LjkyOSAxNzcuNSBMMTY4LjkyOSAyMi41IiBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojMDAwMDAwO3N0cm9rZS1kYXNoYXJyYXk6MS4wMDAwMDAsMy4wMDAwMDA7c3Ryb2tlLWRhc2hvZmZzZXQ6MC4wO3N0cm9rZS1saW5lY2FwOmJ1dHQ7c3Ryb2tlLXdpZHRoOjAuNTsiLz4KICAgICA8L2c+CiAgICAgPGcgaWQ9ImxpbmUyZF8yMCI+CiAgICAgIDxnPgogICAgICAgPHVzZSBzdHlsZT0ic3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLWxpbmVjYXA6YnV0dDtzdHJva2Utd2lkdGg6MC41OyIgeD0iMTY4LjkyODU3MTQyOSIgeGxpbms6aHJlZj0iI20wMDEyZGQ0ZWVmIiB5PSIxNzcuNSIvPgogICAgICA8L2c+CiAgICAgPC9nPgogICAgIDxnIGlkPSJsaW5lMmRfMjEiPgogICAgICA8Zz4KICAgICAgIDx1c2Ugc3R5bGU9InN0cm9rZTojMDAwMDAwO3N0cm9rZS1saW5lY2FwOmJ1dHQ7c3Ryb2tlLXdpZHRoOjAuNTsiIHg9IjE2OC45Mjg1NzE0MjkiIHhsaW5rOmhyZWY9IiNtNDc2MzQ0OTY5YyIgeT0iMjIuNSIvPgogICAgICA8L2c+CiAgICAgPC9nPgogICAgIDxnIGlkPSJ0ZXh0XzciPgogICAgICA8IS0tIDMgLS0+CiAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE2Ni43NjkyNzQ1NTQgMTkxLjY3OTY4NzUpc2NhbGUoMC4wOSAtMC4wOSkiPgogICAgICAgPHVzZSB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy0zMyIvPgogICAgICA8L2c+CiAgICAgPC9nPgogICAgPC9nPgogICA8L2c+CiAgIDxnIGlkPSJtYXRwbG90bGliLmF4aXNfMiI+CiAgICA8ZyBpZD0ieXRpY2tfMSI+CiAgICAgPGcgaWQ9ImxpbmUyZF8yMiI+CiAgICAgIDxwYXRoIGNsaXAtcGF0aD0idXJsKCNwNDBmZWMxMTUzZikiIGQ9IiBNMjUgMTY2LjQyOSBMMTgwIDE2Ni40MjkiIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLWRhc2hhcnJheToxLjAwMDAwMCwzLjAwMDAwMDtzdHJva2UtZGFzaG9mZnNldDowLjA7c3Ryb2tlLWxpbmVjYXA6YnV0dDtzdHJva2Utd2lkdGg6MC41OyIvPgogICAgIDwvZz4KICAgICA8ZyBpZD0ibGluZTJkXzIzIj4KICAgICAgPGRlZnM+CiAgICAgICA8cGF0aCBkPSIgTTAgMCBMNCAwIiBpZD0ibWU4YTg1ZjdiZjYiIHN0eWxlPSJzdHJva2U6IzAwMDAwMDtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS13aWR0aDowLjU7Ii8+CiAgICAgIDwvZGVmcz4KICAgICAgPGc+CiAgICAgICA8dXNlIHN0eWxlPSJzdHJva2U6IzAwMDAwMDtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS13aWR0aDowLjU7IiB4PSIyNS4wIiB4bGluazpocmVmPSIjbWU4YTg1ZjdiZjYiIHk9IjE2Ni40Mjg1NzE0MjkiLz4KICAgICAgPC9nPgogICAgIDwvZz4KICAgICA8ZyBpZD0ibGluZTJkXzI0Ij4KICAgICAgPGRlZnM+CiAgICAgICA8cGF0aCBkPSIgTTAgMCBMLTQgMCIgaWQ9Im0xYTMyMDA1ZGVhIiBzdHlsZT0ic3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLWxpbmVjYXA6YnV0dDtzdHJva2Utd2lkdGg6MC41OyIvPgogICAgICA8L2RlZnM+CiAgICAgIDxnPgogICAgICAgPHVzZSBzdHlsZT0ic3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLWxpbmVjYXA6YnV0dDtzdHJva2Utd2lkdGg6MC41OyIgeD0iMTgwLjAiIHhsaW5rOmhyZWY9IiNtMWEzMjAwNWRlYSIgeT0iMTY2LjQyODU3MTQyOSIvPgogICAgICA8L2c+CiAgICAgPC9nPgogICAgIDxnIGlkPSJ0ZXh0XzgiPgogICAgICA8IS0tIOKIkjMgLS0+CiAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDUuOTA2ODc1IDE2OS43MDQ0MzA4MDQpc2NhbGUoMC4wOSAtMC4wOSkiPgogICAgICAgPHVzZSB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy0yMjEyIi8+CiAgICAgICA8dXNlIHg9IjgzLjc4OTA2MjUiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTMzIi8+CiAgICAgIDwvZz4KICAgICA8L2c+CiAgICA8L2c+CiAgICA8ZyBpZD0ieXRpY2tfMiI+CiAgICAgPGcgaWQ9ImxpbmUyZF8yNSI+CiAgICAgIDxwYXRoIGNsaXAtcGF0aD0idXJsKCNwNDBmZWMxMTUzZikiIGQ9IiBNMjUgMTQ0LjI4NiBMMTgwIDE0NC4yODYiIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLWRhc2hhcnJheToxLjAwMDAwMCwzLjAwMDAwMDtzdHJva2UtZGFzaG9mZnNldDowLjA7c3Ryb2tlLWxpbmVjYXA6YnV0dDtzdHJva2Utd2lkdGg6MC41OyIvPgogICAgIDwvZz4KICAgICA8ZyBpZD0ibGluZTJkXzI2Ij4KICAgICAgPGc+CiAgICAgICA8dXNlIHN0eWxlPSJzdHJva2U6IzAwMDAwMDtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS13aWR0aDowLjU7IiB4PSIyNS4wIiB4bGluazpocmVmPSIjbWU4YTg1ZjdiZjYiIHk9IjE0NC4yODU3MTQyODYiLz4KICAgICAgPC9nPgogICAgIDwvZz4KICAgICA8ZyBpZD0ibGluZTJkXzI3Ij4KICAgICAgPGc+CiAgICAgICA8dXNlIHN0eWxlPSJzdHJva2U6IzAwMDAwMDtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS13aWR0aDowLjU7IiB4PSIxODAuMCIgeGxpbms6aHJlZj0iI20xYTMyMDA1ZGVhIiB5PSIxNDQuMjg1NzE0Mjg2Ii8+CiAgICAgIDwvZz4KICAgICA8L2c+CiAgICAgPGcgaWQ9InRleHRfOSI+CiAgICAgIDwhLS0g4oiSMiAtLT4KICAgICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNi4wODY4NzUgMTQ3LjYyNTU1ODAzNilzY2FsZSgwLjA5IC0wLjA5KSI+CiAgICAgICA8dXNlIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTIyMTIiLz4KICAgICAgIDx1c2UgeD0iODMuNzg5MDYyNSIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtMzIiLz4KICAgICAgPC9nPgogICAgIDwvZz4KICAgIDwvZz4KICAgIDxnIGlkPSJ5dGlja18zIj4KICAgICA8ZyBpZD0ibGluZTJkXzI4Ij4KICAgICAgPHBhdGggY2xpcC1wYXRoPSJ1cmwoI3A0MGZlYzExNTNmKSIgZD0iIE0yNSAxMjIuMTQzIEwxODAgMTIyLjE0MyIgc3R5bGU9ImZpbGw6bm9uZTtzdHJva2U6IzAwMDAwMDtzdHJva2UtZGFzaGFycmF5OjEuMDAwMDAwLDMuMDAwMDAwO3N0cm9rZS1kYXNob2Zmc2V0OjAuMDtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS13aWR0aDowLjU7Ii8+CiAgICAgPC9nPgogICAgIDxnIGlkPSJsaW5lMmRfMjkiPgogICAgICA8Zz4KICAgICAgIDx1c2Ugc3R5bGU9InN0cm9rZTojMDAwMDAwO3N0cm9rZS1saW5lY2FwOmJ1dHQ7c3Ryb2tlLXdpZHRoOjAuNTsiIHg9IjI1LjAiIHhsaW5rOmhyZWY9IiNtZThhODVmN2JmNiIgeT0iMTIyLjE0Mjg1NzE0MyIvPgogICAgICA8L2c+CiAgICAgPC9nPgogICAgIDxnIGlkPSJsaW5lMmRfMzAiPgogICAgICA8Zz4KICAgICAgIDx1c2Ugc3R5bGU9InN0cm9rZTojMDAwMDAwO3N0cm9rZS1saW5lY2FwOmJ1dHQ7c3Ryb2tlLXdpZHRoOjAuNTsiIHg9IjE4MC4wIiB4bGluazpocmVmPSIjbTFhMzIwMDVkZWEiIHk9IjEyMi4xNDI4NTcxNDMiLz4KICAgICAgPC9nPgogICAgIDwvZz4KICAgICA8ZyBpZD0idGV4dF8xMCI+CiAgICAgIDwhLS0g4oiSMSAtLT4KICAgICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNi4wMTY1NjI1IDEyNS40MjM2MzgzOTMpc2NhbGUoMC4wOSAtMC4wOSkiPgogICAgICAgPHVzZSB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy0yMjEyIi8+CiAgICAgICA8dXNlIHg9IjgzLjc4OTA2MjUiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTMxIi8+CiAgICAgIDwvZz4KICAgICA8L2c+CiAgICA8L2c+CiAgICA8ZyBpZD0ieXRpY2tfNCI+CiAgICAgPGcgaWQ9ImxpbmUyZF8zMSI+CiAgICAgIDxwYXRoIGNsaXAtcGF0aD0idXJsKCNwNDBmZWMxMTUzZikiIGQ9IiBNMjUgMTAwIEwxODAgMTAwIiBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojMDAwMDAwO3N0cm9rZS1kYXNoYXJyYXk6MS4wMDAwMDAsMy4wMDAwMDA7c3Ryb2tlLWRhc2hvZmZzZXQ6MC4wO3N0cm9rZS1saW5lY2FwOmJ1dHQ7c3Ryb2tlLXdpZHRoOjAuNTsiLz4KICAgICA8L2c+CiAgICAgPGcgaWQ9ImxpbmUyZF8zMiI+CiAgICAgIDxnPgogICAgICAgPHVzZSBzdHlsZT0ic3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLWxpbmVjYXA6YnV0dDtzdHJva2Utd2lkdGg6MC41OyIgeD0iMjUuMCIgeGxpbms6aHJlZj0iI21lOGE4NWY3YmY2IiB5PSIxMDAuMCIvPgogICAgICA8L2c+CiAgICAgPC9nPgogICAgIDxnIGlkPSJsaW5lMmRfMzMiPgogICAgICA8Zz4KICAgICAgIDx1c2Ugc3R5bGU9InN0cm9rZTojMDAwMDAwO3N0cm9rZS1saW5lY2FwOmJ1dHQ7c3Ryb2tlLXdpZHRoOjAuNTsiIHg9IjE4MC4wIiB4bGluazpocmVmPSIjbTFhMzIwMDVkZWEiIHk9IjEwMC4wIi8+CiAgICAgIDwvZz4KICAgICA8L2c+CiAgICAgPGcgaWQ9InRleHRfMTEiPgogICAgICA8IS0tIDAgLS0+CiAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEyLjk2NDg0Mzc1IDEwMy4yNzU4NTkzNzUpc2NhbGUoMC4wOSAtMC4wOSkiPgogICAgICAgPHVzZSB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy0zMCIvPgogICAgICA8L2c+CiAgICAgPC9nPgogICAgPC9nPgogICAgPGcgaWQ9Inl0aWNrXzUiPgogICAgIDxnIGlkPSJsaW5lMmRfMzQiPgogICAgICA8cGF0aCBjbGlwLXBhdGg9InVybCgjcDQwZmVjMTE1M2YpIiBkPSIgTTI1IDc3Ljg1NzEgTDE4MCA3Ny44NTcxIiBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojMDAwMDAwO3N0cm9rZS1kYXNoYXJyYXk6MS4wMDAwMDAsMy4wMDAwMDA7c3Ryb2tlLWRhc2hvZmZzZXQ6MC4wO3N0cm9rZS1saW5lY2FwOmJ1dHQ7c3Ryb2tlLXdpZHRoOjAuNTsiLz4KICAgICA8L2c+CiAgICAgPGcgaWQ9ImxpbmUyZF8zNSI+CiAgICAgIDxnPgogICAgICAgPHVzZSBzdHlsZT0ic3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLWxpbmVjYXA6YnV0dDtzdHJva2Utd2lkdGg6MC41OyIgeD0iMjUuMCIgeGxpbms6aHJlZj0iI21lOGE4NWY3YmY2IiB5PSI3Ny44NTcxNDI4NTcxIi8+CiAgICAgIDwvZz4KICAgICA8L2c+CiAgICAgPGcgaWQ9ImxpbmUyZF8zNiI+CiAgICAgIDxnPgogICAgICAgPHVzZSBzdHlsZT0ic3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLWxpbmVjYXA6YnV0dDtzdHJva2Utd2lkdGg6MC41OyIgeD0iMTgwLjAiIHhsaW5rOmhyZWY9IiNtMWEzMjAwNWRlYSIgeT0iNzcuODU3MTQyODU3MSIvPgogICAgICA8L2c+CiAgICAgPC9nPgogICAgIDxnIGlkPSJ0ZXh0XzEyIj4KICAgICAgPCEtLSAxIC0tPgogICAgICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMy41OTM0Mzc1IDgxLjEzNzkyNDEwNzEpc2NhbGUoMC4wOSAtMC4wOSkiPgogICAgICAgPHVzZSB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy0zMSIvPgogICAgICA8L2c+CiAgICAgPC9nPgogICAgPC9nPgogICAgPGcgaWQ9Inl0aWNrXzYiPgogICAgIDxnIGlkPSJsaW5lMmRfMzciPgogICAgICA8cGF0aCBjbGlwLXBhdGg9InVybCgjcDQwZmVjMTE1M2YpIiBkPSIgTTI1IDU1LjcxNDMgTDE4MCA1NS43MTQzIiBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojMDAwMDAwO3N0cm9rZS1kYXNoYXJyYXk6MS4wMDAwMDAsMy4wMDAwMDA7c3Ryb2tlLWRhc2hvZmZzZXQ6MC4wO3N0cm9rZS1saW5lY2FwOmJ1dHQ7c3Ryb2tlLXdpZHRoOjAuNTsiLz4KICAgICA8L2c+CiAgICAgPGcgaWQ9ImxpbmUyZF8zOCI+CiAgICAgIDxnPgogICAgICAgPHVzZSBzdHlsZT0ic3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLWxpbmVjYXA6YnV0dDtzdHJva2Utd2lkdGg6MC41OyIgeD0iMjUuMCIgeGxpbms6aHJlZj0iI21lOGE4NWY3YmY2IiB5PSI1NS43MTQyODU3MTQzIi8+CiAgICAgIDwvZz4KICAgICA8L2c+CiAgICAgPGcgaWQ9ImxpbmUyZF8zOSI+CiAgICAgIDxnPgogICAgICAgPHVzZSBzdHlsZT0ic3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLWxpbmVjYXA6YnV0dDtzdHJva2Utd2lkdGg6MC41OyIgeD0iMTgwLjAiIHhsaW5rOmhyZWY9IiNtMWEzMjAwNWRlYSIgeT0iNTUuNzE0Mjg1NzE0MyIvPgogICAgICA8L2c+CiAgICAgPC9nPgogICAgIDxnIGlkPSJ0ZXh0XzEzIj4KICAgICAgPCEtLSAyIC0tPgogICAgICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMy4zMzQ2ODc1IDU5LjA1NDEyOTQ2NDMpc2NhbGUoMC4wOSAtMC4wOSkiPgogICAgICAgPHVzZSB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy0zMiIvPgogICAgICA8L2c+CiAgICAgPC9nPgogICAgPC9nPgogICAgPGcgaWQ9Inl0aWNrXzciPgogICAgIDxnIGlkPSJsaW5lMmRfNDAiPgogICAgICA8cGF0aCBjbGlwLXBhdGg9InVybCgjcDQwZmVjMTE1M2YpIiBkPSIgTTI1IDMzLjU3MTQgTDE4MCAzMy41NzE0IiBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojMDAwMDAwO3N0cm9rZS1kYXNoYXJyYXk6MS4wMDAwMDAsMy4wMDAwMDA7c3Ryb2tlLWRhc2hvZmZzZXQ6MC4wO3N0cm9rZS1saW5lY2FwOmJ1dHQ7c3Ryb2tlLXdpZHRoOjAuNTsiLz4KICAgICA8L2c+CiAgICAgPGcgaWQ9ImxpbmUyZF80MSI+CiAgICAgIDxnPgogICAgICAgPHVzZSBzdHlsZT0ic3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLWxpbmVjYXA6YnV0dDtzdHJva2Utd2lkdGg6MC41OyIgeD0iMjUuMCIgeGxpbms6aHJlZj0iI21lOGE4NWY3YmY2IiB5PSIzMy41NzE0Mjg1NzE0Ii8+CiAgICAgIDwvZz4KICAgICA8L2c+CiAgICAgPGcgaWQ9ImxpbmUyZF80MiI+CiAgICAgIDxnPgogICAgICAgPHVzZSBzdHlsZT0ic3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLWxpbmVjYXA6YnV0dDtzdHJva2Utd2lkdGg6MC41OyIgeD0iMTgwLjAiIHhsaW5rOmhyZWY9IiNtMWEzMjAwNWRlYSIgeT0iMzMuNTcxNDI4NTcxNCIvPgogICAgICA8L2c+CiAgICAgPC9nPgogICAgIDxnIGlkPSJ0ZXh0XzE0Ij4KICAgICAgPCEtLSAzIC0tPgogICAgICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMy4xODE0MDYyNSAzNi44NDcyODc5NDY0KXNjYWxlKDAuMDkgLTAuMDkpIj4KICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtMzMiLz4KICAgICAgPC9nPgogICAgIDwvZz4KICAgIDwvZz4KICAgPC9nPgogICA8ZyBpZD0ibGluZTJkXzQzIj4KICAgIDxwYXRoIGNsaXAtcGF0aD0idXJsKCNwNDBmZWMxMTUzZikiIGQ9IiBNMjUgMTY2LjQyOSBMNDcuMTQyOSAxNjYuNDI5IiBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojMDAwMGZmO3N0cm9rZS13aWR0aDowLjU7Ii8+CiAgIDwvZz4KICAgPGcgaWQ9ImxpbmUyZF80NCI+CiAgICA8cGF0aCBjbGlwLXBhdGg9InVybCgjcDQwZmVjMTE1M2YpIiBkPSIgTTQ3LjE0MjkgMTQ0LjI4NiBMNjkuMjg1NyAxNDQuMjg2IiBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojMDAwMGZmO3N0cm9rZS13aWR0aDowLjU7Ii8+CiAgIDwvZz4KICAgPGcgaWQ9ImxpbmUyZF80NSI+CiAgICA8cGF0aCBjbGlwLXBhdGg9InVybCgjcDQwZmVjMTE1M2YpIiBkPSIgTTY5LjI4NTcgMTIyLjE0MyBMOTEuNDI4NiAxMjIuMTQzIiBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojMDAwMGZmO3N0cm9rZS13aWR0aDowLjU7Ii8+CiAgIDwvZz4KICAgPGcgaWQ9ImxpbmUyZF80NiI+CiAgICA8cGF0aCBjbGlwLXBhdGg9InVybCgjcDQwZmVjMTE1M2YpIiBkPSIgTTkxLjQyODYgMTAwIEwxMTMuNTcxIDEwMCIgc3R5bGU9ImZpbGw6bm9uZTtzdHJva2U6IzAwMDBmZjtzdHJva2Utd2lkdGg6MC41OyIvPgogICA8L2c+CiAgIDxnIGlkPSJsaW5lMmRfNDciPgogICAgPHBhdGggY2xpcC1wYXRoPSJ1cmwoI3A0MGZlYzExNTNmKSIgZD0iIE0xMTMuNTcxIDc3Ljg1NzEgTDEzNS43MTQgNzcuODU3MSIgc3R5bGU9ImZpbGw6bm9uZTtzdHJva2U6IzAwMDBmZjtzdHJva2Utd2lkdGg6MC41OyIvPgogICA8L2c+CiAgIDxnIGlkPSJsaW5lMmRfNDgiPgogICAgPHBhdGggY2xpcC1wYXRoPSJ1cmwoI3A0MGZlYzExNTNmKSIgZD0iIE0xMzUuNzE0IDU1LjcxNDMgTDE1Ny44NTcgNTUuNzE0MyIgc3R5bGU9ImZpbGw6bm9uZTtzdHJva2U6IzAwMDBmZjtzdHJva2Utd2lkdGg6MC41OyIvPgogICA8L2c+CiAgIDxnIGlkPSJsaW5lMmRfNDkiPgogICAgPHBhdGggY2xpcC1wYXRoPSJ1cmwoI3A0MGZlYzExNTNmKSIgZD0iIE0xNTcuODU3IDMzLjU3MTQgTDE4MCAzMy41NzE0IiBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojMDAwMGZmO3N0cm9rZS13aWR0aDowLjU7Ii8+CiAgIDwvZz4KICAgPGcgaWQ9ImxpbmUyZF81MCI+CiAgICA8cGF0aCBjbGlwLXBhdGg9InVybCgjcDQwZmVjMTE1M2YpIiBkPSIgTTI1IDE2Ni40MjkiIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiMwMDAwZmY7Ii8+CiAgICA8ZGVmcz4KICAgICA8cGF0aCBkPSIgTTAgMy43NSBDMC45OTQ1MTIgMy43NSAxLjk0ODQyIDMuMzU0ODggMi42NTE2NSAyLjY1MTY1IEMzLjM1NDg4IDEuOTQ4NDIgMy43NSAwLjk5NDUxMiAzLjc1IDAgQzMuNzUgLTAuOTk0NTEyIDMuMzU0ODggLTEuOTQ4NDIgMi42NTE2NSAtMi42NTE2NSBDMS45NDg0MiAtMy4zNTQ4OCAwLjk5NDUxMiAtMy43NSAwIC0zLjc1IEMtMC45OTQ1MTIgLTMuNzUgLTEuOTQ4NDIgLTMuMzU0ODggLTIuNjUxNjUgLTIuNjUxNjUgQy0zLjM1NDg4IC0xLjk0ODQyIC0zLjc1IC0wLjk5NDUxMiAtMy43NSAwIEMtMy43NSAwLjk5NDUxMiAtMy4zNTQ4OCAxLjk0ODQyIC0yLjY1MTY1IDIuNjUxNjUgQy0xLjk0ODQyIDMuMzU0ODggLTAuOTk0NTEyIDMuNzUgMCAzLjc1IHogIiBpZD0ibWUyNzgwNjQyZTIiIHN0eWxlPSJzdHJva2U6IzAwMDBmZjtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS13aWR0aDowLjU7Ii8+CiAgICA8L2RlZnM+CiAgICA8ZyBjbGlwLXBhdGg9InVybCgjcDQwZmVjMTE1M2YpIj4KICAgICA8dXNlIHN0eWxlPSJmaWxsOiNmZmZmZmY7c3Ryb2tlOiMwMDAwZmY7c3Ryb2tlLWxpbmVjYXA6YnV0dDtzdHJva2Utd2lkdGg6MC41OyIgeD0iMjUuMCIgeGxpbms6aHJlZj0iI21lMjc4MDY0MmUyIiB5PSIxNjYuNDI4NTcxNDI5Ii8+CiAgICA8L2c+CiAgIDwvZz4KICAgPGcgaWQ9ImxpbmUyZF81MSI+CiAgICA8cGF0aCBjbGlwLXBhdGg9InVybCgjcDQwZmVjMTE1M2YpIiBkPSIgTTQ3LjE0MjkgMTY2LjQyOSIgc3R5bGU9ImZpbGw6bm9uZTtzdHJva2U6IzAwODAwMDsiLz4KICAgIDxkZWZzPgogICAgIDxwYXRoIGQ9IiBNMCAzLjc1IEMwLjk5NDUxMiAzLjc1IDEuOTQ4NDIgMy4zNTQ4OCAyLjY1MTY1IDIuNjUxNjUgQzMuMzU0ODggMS45NDg0MiAzLjc1IDAuOTk0NTEyIDMuNzUgMCBDMy43NSAtMC45OTQ1MTIgMy4zNTQ4OCAtMS45NDg0MiAyLjY1MTY1IC0yLjY1MTY1IEMxLjk0ODQyIC0zLjM1NDg4IDAuOTk0NTEyIC0zLjc1IDAgLTMuNzUgQy0wLjk5NDUxMiAtMy43NSAtMS45NDg0MiAtMy4zNTQ4OCAtMi42NTE2NSAtMi42NTE2NSBDLTMuMzU0ODggLTEuOTQ4NDIgLTMuNzUgLTAuOTk0NTEyIC0zLjc1IDAgQy0zLjc1IDAuOTk0NTEyIC0zLjM1NDg4IDEuOTQ4NDIgLTIuNjUxNjUgMi42NTE2NSBDLTEuOTQ4NDIgMy4zNTQ4OCAtMC45OTQ1MTIgMy43NSAwIDMuNzUgeiAiIGlkPSJtZTUzYjdiYjZkMiIgc3R5bGU9InN0cm9rZTojMDAwMGZmO3N0cm9rZS1saW5lY2FwOmJ1dHQ7c3Ryb2tlLXdpZHRoOjAuNTsiLz4KICAgIDwvZGVmcz4KICAgIDxnIGNsaXAtcGF0aD0idXJsKCNwNDBmZWMxMTUzZikiPgogICAgIDx1c2Ugc3R5bGU9ImZpbGw6IzAwMDBmZjtzdHJva2U6IzAwMDBmZjtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS13aWR0aDowLjU7IiB4PSI0Ny4xNDI4NTcxNDI5IiB4bGluazpocmVmPSIjbWU1M2I3YmI2ZDIiIHk9IjE2Ni40Mjg1NzE0MjkiLz4KICAgIDwvZz4KICAgPC9nPgogICA8ZyBpZD0ibGluZTJkXzUyIj4KICAgIDxwYXRoIGNsaXAtcGF0aD0idXJsKCNwNDBmZWMxMTUzZikiIGQ9IiBNNDcuMTQyOSAxNDQuMjg2IiBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojZmYwMDAwOyIvPgogICAgPGcgY2xpcC1wYXRoPSJ1cmwoI3A0MGZlYzExNTNmKSI+CiAgICAgPHVzZSBzdHlsZT0iZmlsbDojZmZmZmZmO3N0cm9rZTojMDAwMGZmO3N0cm9rZS1saW5lY2FwOmJ1dHQ7c3Ryb2tlLXdpZHRoOjAuNTsiIHg9IjQ3LjE0Mjg1NzE0MjkiIHhsaW5rOmhyZWY9IiNtZTI3ODA2NDJlMiIgeT0iMTQ0LjI4NTcxNDI4NiIvPgogICAgPC9nPgogICA8L2c+CiAgIDxnIGlkPSJsaW5lMmRfNTMiPgogICAgPHBhdGggY2xpcC1wYXRoPSJ1cmwoI3A0MGZlYzExNTNmKSIgZD0iIE02OS4yODU3IDE0NC4yODYiIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiMwMGJmYmY7Ii8+CiAgICA8ZyBjbGlwLXBhdGg9InVybCgjcDQwZmVjMTE1M2YpIj4KICAgICA8dXNlIHN0eWxlPSJmaWxsOiMwMDAwZmY7c3Ryb2tlOiMwMDAwZmY7c3Ryb2tlLWxpbmVjYXA6YnV0dDtzdHJva2Utd2lkdGg6MC41OyIgeD0iNjkuMjg1NzE0Mjg1NyIgeGxpbms6aHJlZj0iI21lNTNiN2JiNmQyIiB5PSIxNDQuMjg1NzE0Mjg2Ii8+CiAgICA8L2c+CiAgIDwvZz4KICAgPGcgaWQ9ImxpbmUyZF81NCI+CiAgICA8cGF0aCBjbGlwLXBhdGg9InVybCgjcDQwZmVjMTE1M2YpIiBkPSIgTTY5LjI4NTcgMTIyLjE0MyIgc3R5bGU9ImZpbGw6bm9uZTtzdHJva2U6I2JmMDBiZjsiLz4KICAgIDxnIGNsaXAtcGF0aD0idXJsKCNwNDBmZWMxMTUzZikiPgogICAgIDx1c2Ugc3R5bGU9ImZpbGw6I2ZmZmZmZjtzdHJva2U6IzAwMDBmZjtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS13aWR0aDowLjU7IiB4PSI2OS4yODU3MTQyODU3IiB4bGluazpocmVmPSIjbWUyNzgwNjQyZTIiIHk9IjEyMi4xNDI4NTcxNDMiLz4KICAgIDwvZz4KICAgPC9nPgogICA8ZyBpZD0ibGluZTJkXzU1Ij4KICAgIDxwYXRoIGNsaXAtcGF0aD0idXJsKCNwNDBmZWMxMTUzZikiIGQ9IiBNOTEuNDI4NiAxMjIuMTQzIiBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojYmZiZjAwOyIvPgogICAgPGcgY2xpcC1wYXRoPSJ1cmwoI3A0MGZlYzExNTNmKSI+CiAgICAgPHVzZSBzdHlsZT0iZmlsbDojMDAwMGZmO3N0cm9rZTojMDAwMGZmO3N0cm9rZS1saW5lY2FwOmJ1dHQ7c3Ryb2tlLXdpZHRoOjAuNTsiIHg9IjkxLjQyODU3MTQyODYiIHhsaW5rOmhyZWY9IiNtZTUzYjdiYjZkMiIgeT0iMTIyLjE0Mjg1NzE0MyIvPgogICAgPC9nPgogICA8L2c+CiAgIDxnIGlkPSJsaW5lMmRfNTYiPgogICAgPHBhdGggY2xpcC1wYXRoPSJ1cmwoI3A0MGZlYzExNTNmKSIgZD0iIE05MS40Mjg2IDEwMCIgc3R5bGU9ImZpbGw6bm9uZTtzdHJva2U6IzAwMDAwMDsiLz4KICAgIDxnIGNsaXAtcGF0aD0idXJsKCNwNDBmZWMxMTUzZikiPgogICAgIDx1c2Ugc3R5bGU9ImZpbGw6I2ZmZmZmZjtzdHJva2U6IzAwMDBmZjtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS13aWR0aDowLjU7IiB4PSI5MS40Mjg1NzE0Mjg2IiB4bGluazpocmVmPSIjbWUyNzgwNjQyZTIiIHk9IjEwMC4wIi8+CiAgICA8L2c+CiAgIDwvZz4KICAgPGcgaWQ9ImxpbmUyZF81NyI+CiAgICA8cGF0aCBjbGlwLXBhdGg9InVybCgjcDQwZmVjMTE1M2YpIiBkPSIgTTExMy41NzEgMTAwIiBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojMDAwMGZmOyIvPgogICAgPGcgY2xpcC1wYXRoPSJ1cmwoI3A0MGZlYzExNTNmKSI+CiAgICAgPHVzZSBzdHlsZT0iZmlsbDojZmZmZmZmO3N0cm9rZTojMDAwMGZmO3N0cm9rZS1saW5lY2FwOmJ1dHQ7c3Ryb2tlLXdpZHRoOjAuNTsiIHg9IjExMy41NzE0Mjg1NzEiIHhsaW5rOmhyZWY9IiNtZTI3ODA2NDJlMiIgeT0iMTAwLjAiLz4KICAgIDwvZz4KICAgPC9nPgogICA8ZyBpZD0ibGluZTJkXzU4Ij4KICAgIDxwYXRoIGNsaXAtcGF0aD0idXJsKCNwNDBmZWMxMTUzZikiIGQ9IiBNMTEzLjU3MSA3Ny44NTcxIiBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojMDA4MDAwOyIvPgogICAgPGcgY2xpcC1wYXRoPSJ1cmwoI3A0MGZlYzExNTNmKSI+CiAgICAgPHVzZSBzdHlsZT0iZmlsbDojMDAwMGZmO3N0cm9rZTojMDAwMGZmO3N0cm9rZS1saW5lY2FwOmJ1dHQ7c3Ryb2tlLXdpZHRoOjAuNTsiIHg9IjExMy41NzE0Mjg1NzEiIHhsaW5rOmhyZWY9IiNtZTUzYjdiYjZkMiIgeT0iNzcuODU3MTQyODU3MSIvPgogICAgPC9nPgogICA8L2c+CiAgIDxnIGlkPSJsaW5lMmRfNTkiPgogICAgPHBhdGggY2xpcC1wYXRoPSJ1cmwoI3A0MGZlYzExNTNmKSIgZD0iIE0xMzUuNzE0IDc3Ljg1NzEiIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiNmZjAwMDA7Ii8+CiAgICA8ZyBjbGlwLXBhdGg9InVybCgjcDQwZmVjMTE1M2YpIj4KICAgICA8dXNlIHN0eWxlPSJmaWxsOiNmZmZmZmY7c3Ryb2tlOiMwMDAwZmY7c3Ryb2tlLWxpbmVjYXA6YnV0dDtzdHJva2Utd2lkdGg6MC41OyIgeD0iMTM1LjcxNDI4NTcxNCIgeGxpbms6aHJlZj0iI21lMjc4MDY0MmUyIiB5PSI3Ny44NTcxNDI4NTcxIi8+CiAgICA8L2c+CiAgIDwvZz4KICAgPGcgaWQ9ImxpbmUyZF82MCI+CiAgICA8cGF0aCBjbGlwLXBhdGg9InVybCgjcDQwZmVjMTE1M2YpIiBkPSIgTTEzNS43MTQgNTUuNzE0MyIgc3R5bGU9ImZpbGw6bm9uZTtzdHJva2U6IzAwYmZiZjsiLz4KICAgIDxnIGNsaXAtcGF0aD0idXJsKCNwNDBmZWMxMTUzZikiPgogICAgIDx1c2Ugc3R5bGU9ImZpbGw6IzAwMDBmZjtzdHJva2U6IzAwMDBmZjtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS13aWR0aDowLjU7IiB4PSIxMzUuNzE0Mjg1NzE0IiB4bGluazpocmVmPSIjbWU1M2I3YmI2ZDIiIHk9IjU1LjcxNDI4NTcxNDMiLz4KICAgIDwvZz4KICAgPC9nPgogICA8ZyBpZD0ibGluZTJkXzYxIj4KICAgIDxwYXRoIGNsaXAtcGF0aD0idXJsKCNwNDBmZWMxMTUzZikiIGQ9IiBNMTU3Ljg1NyA1NS43MTQzIiBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojYmYwMGJmOyIvPgogICAgPGcgY2xpcC1wYXRoPSJ1cmwoI3A0MGZlYzExNTNmKSI+CiAgICAgPHVzZSBzdHlsZT0iZmlsbDojZmZmZmZmO3N0cm9rZTojMDAwMGZmO3N0cm9rZS1saW5lY2FwOmJ1dHQ7c3Ryb2tlLXdpZHRoOjAuNTsiIHg9IjE1Ny44NTcxNDI4NTciIHhsaW5rOmhyZWY9IiNtZTI3ODA2NDJlMiIgeT0iNTUuNzE0Mjg1NzE0MyIvPgogICAgPC9nPgogICA8L2c+CiAgIDxnIGlkPSJsaW5lMmRfNjIiPgogICAgPHBhdGggY2xpcC1wYXRoPSJ1cmwoI3A0MGZlYzExNTNmKSIgZD0iIE0xNTcuODU3IDMzLjU3MTQiIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiNiZmJmMDA7Ii8+CiAgICA8ZyBjbGlwLXBhdGg9InVybCgjcDQwZmVjMTE1M2YpIj4KICAgICA8dXNlIHN0eWxlPSJmaWxsOiMwMDAwZmY7c3Ryb2tlOiMwMDAwZmY7c3Ryb2tlLWxpbmVjYXA6YnV0dDtzdHJva2Utd2lkdGg6MC41OyIgeD0iMTU3Ljg1NzE0Mjg1NyIgeGxpbms6aHJlZj0iI21lNTNiN2JiNmQyIiB5PSIzMy41NzE0Mjg1NzE0Ii8+CiAgICA8L2c+CiAgIDwvZz4KICAgPGcgaWQ9ImxpbmUyZF82MyI+CiAgICA8cGF0aCBjbGlwLXBhdGg9InVybCgjcDQwZmVjMTE1M2YpIiBkPSIgTTE4MCAzMy41NzE0IiBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojMDAwMDAwOyIvPgogICAgPGcgY2xpcC1wYXRoPSJ1cmwoI3A0MGZlYzExNTNmKSI+CiAgICAgPHVzZSBzdHlsZT0iZmlsbDojZmZmZmZmO3N0cm9rZTojMDAwMGZmO3N0cm9rZS1saW5lY2FwOmJ1dHQ7c3Ryb2tlLXdpZHRoOjAuNTsiIHg9IjE4MC4wIiB4bGluazpocmVmPSIjbWUyNzgwNjQyZTIiIHk9IjMzLjU3MTQyODU3MTQiLz4KICAgIDwvZz4KICAgPC9nPgogICA8ZyBpZD0icGF0Y2hfMyI+CiAgICA8cGF0aCBkPSIgTTI1IDIyLjUgTDE4MCAyMi41IiBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojMDAwMDAwOyIvPgogICA8L2c+CiAgIDxnIGlkPSJwYXRjaF80Ij4KICAgIDxwYXRoIGQ9IiBNMTgwIDE3Ny41IEwxODAgMjIuNSIgc3R5bGU9ImZpbGw6bm9uZTtzdHJva2U6IzAwMDAwMDsiLz4KICAgPC9nPgogICA8ZyBpZD0icGF0Y2hfNSI+CiAgICA8cGF0aCBkPSIgTTI1IDE3Ny41IEwxODAgMTc3LjUiIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiMwMDAwMDA7Ii8+CiAgIDwvZz4KICAgPGcgaWQ9InBhdGNoXzYiPgogICAgPHBhdGggZD0iIE0yNSAxNzcuNSBMMjUgMjIuNSIgc3R5bGU9ImZpbGw6bm9uZTtzdHJva2U6IzAwMDAwMDsiLz4KICAgPC9nPgogIDwvZz4KIDwvZz4KIDxkZWZzPgogIDxjbGlwUGF0aCBpZD0icDQwZmVjMTE1M2YiPgogICA8cmVjdCBoZWlnaHQ9IjE1NS4wIiB3aWR0aD0iMTU1LjAiIHg9IjI1LjAiIHk9IjIyLjUiLz4KICA8L2NsaXBQYXRoPgogPC9kZWZzPgo8L3N2Zz4K|200x200px|math-round away zero.svg]]

Argument

If a domain error occurs, an implementation-defined value is returned.

Error handling

Errors are reported as specified in math_errhandling.

If the result of lround or llround is outside the range representable by the return type, a domain error or a range error may occur.

If the implementation supports IEEE floating-point arithmetic (IEC 60559), For the round, roundf, and roundl function:

  • The current rounding mode has no effect.
  • If arg is ±∞, it is returned, unmodified
  • If arg is ±0, it is returned, unmodified
  • If arg is NaN, NaN is returned

lroundllround

  • FE_INEXACT is never raised
  • The current rounding mode has no effect.
  • If arg is ±∞, FE_INVALID is raised and an implementation-defined value is returned
  • If the result of the rounding is outside the range of the return type, FE_INVALID is raised and an implementation-defined value is returned
  • If arg is NaN, FE_INVALID is raised and an implementation-defined value is returned

Notes

FE_INEXACT may be (but isn't required to be) raised by round when rounding a non-integer finite value.

The largest representable floating-point values are exact integers in all standard floating-point formats, so round never overflows on its own; however the result may overflow any integer type (including intmax_t), when stored in an integer variable.

POSIX specifies that all cases where lround or llround raise FE_INEXACT are domain errors.

The double version of round behaves as if implemented as follows:

#include <math.h>
#include <fenv.h>
#pragma STDC FENV_ACCESS ON
double round(double x)
{
    fenv_t save_env;
    feholdexcept(&save_env);
    double result = rint(x);
    if (fetestexcept(FE_INEXACT)) {
        fesetround(FE_TOWARDZERO);
        result = rint(copysign(0.5 + fabs(x), x));
    }
    feupdateenv(&save_env);
    return result;
}

Example

#include <stdio.h>
#include <math.h>
#include <fenv.h>
#include <limits.h>
 
#pragma STDC FENV_ACCESS ON
 
int main(void)
{
    // round
    printf("round(+2.3) = %+.1f  ", round(2.3));
    printf("round(+2.5) = %+.1f  ", round(2.5));
    printf("round(+2.7) = %+.1f\n", round(2.7));
    printf("round(-2.3) = %+.1f  ", round(-2.3));
    printf("round(-2.5) = %+.1f  ", round(-2.5));
    printf("round(-2.7) = %+.1f\n", round(-2.7));
 
    printf("round(-0.0) = %+.1f\n", round(-0.0));
    printf("round(-Inf) = %+f\n",   round(-INFINITY));
 
    // lround
    printf("lround(+2.3) = %ld  ", lround(2.3));
    printf("lround(+2.5) = %ld  ", lround(2.5));
    printf("lround(+2.7) = %ld\n", lround(2.7));
    printf("lround(-2.3) = %ld  ", lround(-2.3));
    printf("lround(-2.5) = %ld  ", lround(-2.5));
    printf("lround(-2.7) = %ld\n", lround(-2.7));
 
    printf("lround(-0.0) = %ld\n", lround(-0.0));
    printf("lround(-Inf) = %ld\n", lround(-INFINITY)); // FE_INVALID raised
 
    // error handling
    feclearexcept(FE_ALL_EXCEPT);
    printf("lround(LONG_MAX+1.5) = %ld\n", lround(LONG_MAX+1.5));
    if(fetestexcept(FE_INVALID)) puts("    FE_INVALID was raised");
}

Possible output:

round(+2.3) = +2.0  round(+2.5) = +3.0  round(+2.7) = +3.0
round(-2.3) = -2.0  round(-2.5) = -3.0  round(-2.7) = -3.0
round(-0.0) = -0.0
round(-Inf) = -inf
lround(+2.3) = 2  lround(+2.5) = 3  lround(+2.7) = 3
lround(-2.3) = -2  lround(-2.5) = -3  lround(-2.7) = -3
lround(-0.0) = 0
lround(-Inf) = -9223372036854775808
lround(LONG_MAX+1.5) = -9223372036854775808
    FE_INVALID was raised

References

C11 standard (ISO/IEC 9899:2011):

  • 7.12.9.6 The round functions (p: 253)
  • 7.12.9.7 The lround and llround functions (p: 253)
  • 7.25 Type-generic math (p: 373-375)
  • F.10.6.6 The round functions (p: 527)
  • F.10.6.7 The lround and llround functions (p: 528)

C99 standard (ISO/IEC 9899:1999):

  • 7.12.9.6 The round functions (p: 233)
  • 7.12.9.7 The lround and llround functions (p: 234)
  • 7.22 Type-generic math (p: 335-337)
  • F.9.6.6 The round functions (p: 464)
  • F.9.6.7 The lround and llround functions (p: 464)

See also

(C99)(C99)

computes largest integer not greater than the given value

(function)

(C99)(C99)

computes smallest integer not less than the given value

(function)

(C99)(C99)(C99)

rounds to nearest integer not greater in magnitude than the given value

(function)

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
http://en.cppreference.com/w/c/numeric/math/round