r"""Wrapper for arraystats.h

Generated with:
./run.py --no-embed-preamble /opt/local/var/macports/build/grass-4d324bc0/work/grass-8.4.2/dist.aarch64-apple-darwin20.6.0 --cpp /usr/bin/clang -E  -I/opt/local/include -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX11.sdk  "-Drestrict=" "-D__attribute__(x)=" "-D_Nonnull="  "-Dint8_t=char" "-DCF_INLINE=" "-D_Null_unspecified="  "-D__DARWIN_OS_INLINE="      -I/opt/local/var/macports/build/grass-4d324bc0/work/grass-8.4.2/dist.aarch64-apple-darwin20.6.0/include -I/opt/local/var/macports/build/grass-4d324bc0/work/grass-8.4.2/dist.aarch64-apple-darwin20.6.0/include -D__GLIBC_HAVE_LONG_LONG -lgrass_arraystats.8.4 /opt/local/var/macports/build/grass-4d324bc0/work/grass-8.4.2/dist.aarch64-apple-darwin20.6.0/include/grass/arraystats.h /opt/local/var/macports/build/grass-4d324bc0/work/grass-8.4.2/dist.aarch64-apple-darwin20.6.0/include/grass/defs/arraystats.h -o OBJ.aarch64-apple-darwin20.6.0/arraystats.py

Do not modify this file.
"""

__docformat__ = "restructuredtext"

# Begin preamble for Python

from .ctypes_preamble import *
from .ctypes_preamble import _variadic_function

# End preamble

_libs = {}
_libdirs = []

# Begin loader

from .ctypes_loader import *

# End loader

add_library_search_dirs([])

# Begin libraries
_libs["grass_arraystats.8.4"] = load_library("grass_arraystats.8.4")

# 1 libraries
# End libraries

# No modules

# include/grass/gis.h: 555
class struct_Option(Structure):
    pass

struct_Option.__slots__ = [
    'key',
    'type',
    'required',
    'multiple',
    'options',
    'opts',
    'key_desc',
    'label',
    'description',
    'descriptions',
    'descs',
    'answer',
    'def',
    'answers',
    'next_opt',
    'gisprompt',
    'guisection',
    'guidependency',
    'checker',
    'count',
]
struct_Option._fields_ = [
    ('key', String),
    ('type', c_int),
    ('required', c_int),
    ('multiple', c_int),
    ('options', String),
    ('opts', POINTER(POINTER(c_char))),
    ('key_desc', String),
    ('label', String),
    ('description', String),
    ('descriptions', String),
    ('descs', POINTER(POINTER(c_char))),
    ('answer', String),
    ('def', String),
    ('answers', POINTER(POINTER(c_char))),
    ('next_opt', POINTER(struct_Option)),
    ('gisprompt', String),
    ('guisection', String),
    ('guidependency', String),
    ('checker', CFUNCTYPE(UNCHECKED(c_int), String)),
    ('count', c_int),
]

# include/grass/arraystats.h: 11
class struct_GASTATS(Structure):
    pass

struct_GASTATS.__slots__ = [
    'count',
    'min',
    'max',
    'sum',
    'sumsq',
    'sumabs',
    'mean',
    'meanabs',
    'var',
    'stdev',
]
struct_GASTATS._fields_ = [
    ('count', c_double),
    ('min', c_double),
    ('max', c_double),
    ('sum', c_double),
    ('sumsq', c_double),
    ('sumabs', c_double),
    ('mean', c_double),
    ('meanabs', c_double),
    ('var', c_double),
    ('stdev', c_double),
]

# include/grass/defs/arraystats.h: 5
if _libs["grass_arraystats.8.4"].has("AS_eqdrt", "cdecl"):
    AS_eqdrt = _libs["grass_arraystats.8.4"].get("AS_eqdrt", "cdecl")
    AS_eqdrt.argtypes = [POINTER(c_double), POINTER(c_double), c_int, c_int, POINTER(c_double)]
    AS_eqdrt.restype = None

# include/grass/defs/arraystats.h: 6
if _libs["grass_arraystats.8.4"].has("AS_basic_stats", "cdecl"):
    AS_basic_stats = _libs["grass_arraystats.8.4"].get("AS_basic_stats", "cdecl")
    AS_basic_stats.argtypes = [POINTER(c_double), c_int, POINTER(struct_GASTATS)]
    AS_basic_stats.restype = None

# include/grass/defs/arraystats.h: 9
if _libs["grass_arraystats.8.4"].has("AS_option_to_algorithm", "cdecl"):
    AS_option_to_algorithm = _libs["grass_arraystats.8.4"].get("AS_option_to_algorithm", "cdecl")
    AS_option_to_algorithm.argtypes = [POINTER(struct_Option)]
    AS_option_to_algorithm.restype = c_int

# include/grass/defs/arraystats.h: 10
if _libs["grass_arraystats.8.4"].has("AS_class_apply_algorithm", "cdecl"):
    AS_class_apply_algorithm = _libs["grass_arraystats.8.4"].get("AS_class_apply_algorithm", "cdecl")
    AS_class_apply_algorithm.argtypes = [c_int, POINTER(c_double), c_int, POINTER(c_int), POINTER(c_double)]
    AS_class_apply_algorithm.restype = c_double

# include/grass/defs/arraystats.h: 11
if _libs["grass_arraystats.8.4"].has("AS_class_interval", "cdecl"):
    AS_class_interval = _libs["grass_arraystats.8.4"].get("AS_class_interval", "cdecl")
    AS_class_interval.argtypes = [POINTER(c_double), c_int, c_int, POINTER(c_double)]
    AS_class_interval.restype = c_int

# include/grass/defs/arraystats.h: 12
if _libs["grass_arraystats.8.4"].has("AS_class_quant", "cdecl"):
    AS_class_quant = _libs["grass_arraystats.8.4"].get("AS_class_quant", "cdecl")
    AS_class_quant.argtypes = [POINTER(c_double), c_int, c_int, POINTER(c_double)]
    AS_class_quant.restype = c_int

# include/grass/defs/arraystats.h: 13
if _libs["grass_arraystats.8.4"].has("AS_class_discont", "cdecl"):
    AS_class_discont = _libs["grass_arraystats.8.4"].get("AS_class_discont", "cdecl")
    AS_class_discont.argtypes = [POINTER(c_double), c_int, c_int, POINTER(c_double)]
    AS_class_discont.restype = c_double

# include/grass/defs/arraystats.h: 14
if _libs["grass_arraystats.8.4"].has("AS_class_stdev", "cdecl"):
    AS_class_stdev = _libs["grass_arraystats.8.4"].get("AS_class_stdev", "cdecl")
    AS_class_stdev.argtypes = [POINTER(c_double), c_int, c_int, POINTER(c_double)]
    AS_class_stdev.restype = c_double

# include/grass/defs/arraystats.h: 15
if _libs["grass_arraystats.8.4"].has("AS_class_equiprob", "cdecl"):
    AS_class_equiprob = _libs["grass_arraystats.8.4"].get("AS_class_equiprob", "cdecl")
    AS_class_equiprob.argtypes = [POINTER(c_double), c_int, POINTER(c_int), POINTER(c_double)]
    AS_class_equiprob.restype = c_int

# include/grass/defs/arraystats.h: 16
if _libs["grass_arraystats.8.4"].has("AS_class_frequencies", "cdecl"):
    AS_class_frequencies = _libs["grass_arraystats.8.4"].get("AS_class_frequencies", "cdecl")
    AS_class_frequencies.argtypes = [POINTER(c_double), c_int, c_int, POINTER(c_double), POINTER(c_int)]
    AS_class_frequencies.restype = c_int

# include/grass/arraystats.h: 24
try:
    CLASS_INTERVAL = 1
except:
    pass

# include/grass/arraystats.h: 25
try:
    CLASS_STDEV = 2
except:
    pass

# include/grass/arraystats.h: 26
try:
    CLASS_QUANT = 3
except:
    pass

# include/grass/arraystats.h: 27
try:
    CLASS_EQUIPROB = 4
except:
    pass

# include/grass/arraystats.h: 28
try:
    CLASS_DISCONT = 5
except:
    pass

GASTATS = struct_GASTATS# include/grass/arraystats.h: 11

# No inserted files

# No prefix-stripping

