## Limits of Basic Types

Limits of Basic Types — portable method of determining the limits of the standard types

## Synopsis

    #include <glib.h>

    #define             G_MININT
    #define             G_MAXINT
    #define             G_MAXUINT

    #define             G_MINSHORT
    #define             G_MAXSHORT
    #define             G_MAXUSHORT

    #define             G_MINLONG
    #define             G_MAXLONG
    #define             G_MAXULONG

    #define             G_MININT8
    #define             G_MAXINT8
    #define             G_MAXUINT8

    #define             G_MININT16
    #define             G_MAXINT16
    #define             G_MAXUINT16

    #define             G_MININT32
    #define             G_MAXINT32
    #define             G_MAXUINT32

    #define             G_MININT64
    #define             G_MAXINT64
    #define             G_MAXUINT64

    #define             G_MAXSIZE
    #define             G_MINSSIZE
    #define             G_MAXSSIZE

    #define             G_MINOFFSET
    #define             G_MAXOFFSET

    #define             G_MINFLOAT
    #define             G_MAXFLOAT

    #define             G_MINDOUBLE
    #define             G_MAXDOUBLE

## Description

These macros provide a portable method to determine the limits of some of the standard integer and floating point types.

## Details

### G_MININT

    #define G_MININT	INT_MIN

The minimum value which can be held in a gint.

### G_MAXINT

    #define G_MAXINT	INT_MAX

The maximum value which can be held in a gint.

### G_MAXUINT

    #define G_MAXUINT	UINT_MAX

The maximum value which can be held in a guint.

### G_MINSHORT

    #define G_MINSHORT	SHRT_MIN

The minimum value which can be held in a gshort.

### G_MAXSHORT

    #define G_MAXSHORT	SHRT_MAX

The maximum value which can be held in a gshort.

### G_MAXUSHORT

    #define G_MAXUSHORT	USHRT_MAX

The maximum value which can be held in a gushort.

### G_MINLONG

    #define G_MINLONG	LONG_MIN

The minimum value which can be held in a glong.

### G_MAXLONG

    #define G_MAXLONG	LONG_MAX

The maximum value which can be held in a glong.

### G_MAXULONG

    #define G_MAXULONG	ULONG_MAX

The maximum value which can be held in a gulong.

### G_MININT8

    #define G_MININT8	((gint8)  0x80)

The minimum value which can be held in a gint8.

Since 2.4

### G_MAXINT8

    #define G_MAXINT8	((gint8)  0x7f)

The maximum value which can be held in a gint8.

Since 2.4

### G_MAXUINT8

    #define G_MAXUINT8	((guint8) 0xff)

The maximum value which can be held in a guint8.

Since 2.4

### G_MININT16

    #define G_MININT16	((gint16)  0x8000)

The minimum value which can be held in a gint16.

Since 2.4

### G_MAXINT16

    #define G_MAXINT16	((gint16)  0x7fff)

The maximum value which can be held in a gint16.

Since 2.4

### G_MAXUINT16

    #define G_MAXUINT16	((guint16) 0xffff)

The maximum value which can be held in a guint16.

Since 2.4

### G_MININT32

    #define G_MININT32	((gint32)  0x80000000)

The minimum value which can be held in a gint32.

Since 2.4

### G_MAXINT32

    #define G_MAXINT32	((gint32)  0x7fffffff)

The maximum value which can be held in a gint32.

Since 2.4

### G_MAXUINT32

    #define G_MAXUINT32	((guint32) 0xffffffff)

The maximum value which can be held in a guint32.

Since 2.4

### G_MININT64

    #define G_MININT64	((gint64) G_GINT64_CONSTANT(0x8000000000000000))

The minimum value which can be held in a gint64.

### G_MAXINT64

    #define G_MAXINT64	G_GINT64_CONSTANT(0x7fffffffffffffff)

The maximum value which can be held in a gint64.

### G_MAXUINT64

    #define G_MAXUINT64	G_GINT64_CONSTANT(0xffffffffffffffffU)

The maximum value which can be held in a guint64.

### G_MAXSIZE

    #define G_MAXSIZE	G_MAXUINT

The maximum value which can be held in a gsize.

Since 2.4

### G_MINSSIZE

    #define G_MINSSIZE	G_MININT

The minimum value which can be held in a gssize.

Since 2.14

### G_MAXSSIZE

    #define G_MAXSSIZE	G_MAXINT

The maximum value which can be held in a gssize.

Since 2.14

### G_MINOFFSET

    #define G_MINOFFSET	G_MININT64

The minimum value which can be held in a goffset.

### G_MAXOFFSET

    #define G_MAXOFFSET	G_MAXINT64

The maximum value which can be held in a goffset.

### G_MINFLOAT

    #define G_MINFLOAT	FLT_MIN

The minimum positive value which can be held in a gfloat.

If you are interested in the smallest value which can be held in a gfloat, use -G_MAX_FLOAT.

### G_MAXFLOAT

    #define G_MAXFLOAT	FLT_MAX

The maximum value which can be held in a gfloat.

### G_MINDOUBLE

    #define G_MINDOUBLE	DBL_MIN

The minimum positive value which can be held in a gdouble.

If you are interested in the smallest value which can be held in a gdouble, use -G_MAXDOUBLE.

### G_MAXDOUBLE

    #define G_MAXDOUBLE	DBL_MAX

The maximum value which can be held in a gdouble.