import pathlib

from ...helpers import article
from .._helpers import _read, register

source = article(
    authors=["Hong Xiao", "Zydrunas Gimbutas"],
    title="A numerical algorithm for the construction of efficient quadrature rules in two and higher dimensions",
    journal="Computers & Mathematics with Applications",
    volume="59",
    number="2",
    month="jan",
    year="2010",
    pages="663–676",
    url="https://doi.org/10.1016/j.camwa.2009.10.027",
)
# Data extracted from
# https://people.sc.fsu.edu/~jburkardt/f_src/triangle_symq_rule/triangle_symq_rule.f90

this_dir = pathlib.Path(__file__).resolve().parent


def xiao_gimbutas_01():
    return _read(this_dir / "xg01.json", source)


def xiao_gimbutas_02():
    return _read(this_dir / "xg02.json", source)


def xiao_gimbutas_03():
    return _read(this_dir / "xg03.json", source)


def xiao_gimbutas_04():
    return _read(this_dir / "xg04.json", source)


def xiao_gimbutas_05():
    return _read(this_dir / "xg05.json", source)


def xiao_gimbutas_06():
    return _read(this_dir / "xg06.json", source)


def xiao_gimbutas_07():
    return _read(this_dir / "xg07.json", source)


def xiao_gimbutas_08():
    return _read(this_dir / "xg08.json", source)


def xiao_gimbutas_09():
    return _read(this_dir / "xg09.json", source)


def xiao_gimbutas_10():
    return _read(this_dir / "xg10.json", source)


def xiao_gimbutas_11():
    return _read(this_dir / "xg11.json", source)


def xiao_gimbutas_12():
    return _read(this_dir / "xg12.json", source)


def xiao_gimbutas_13():
    return _read(this_dir / "xg13.json", source)


def xiao_gimbutas_14():
    return _read(this_dir / "xg14.json", source)


def xiao_gimbutas_15():
    return _read(this_dir / "xg15.json", source)


def xiao_gimbutas_16():
    return _read(this_dir / "xg16.json", source)


def xiao_gimbutas_17():
    return _read(this_dir / "xg17.json", source)


def xiao_gimbutas_18():
    return _read(this_dir / "xg18.json", source)


def xiao_gimbutas_19():
    return _read(this_dir / "xg19.json", source)


def xiao_gimbutas_20():
    return _read(this_dir / "xg20.json", source)


def xiao_gimbutas_21():
    return _read(this_dir / "xg21.json", source)


def xiao_gimbutas_22():
    return _read(this_dir / "xg22.json", source)


def xiao_gimbutas_23():
    return _read(this_dir / "xg23.json", source)


def xiao_gimbutas_24():
    return _read(this_dir / "xg24.json", source)


def xiao_gimbutas_25():
    return _read(this_dir / "xg25.json", source)


def xiao_gimbutas_26():
    return _read(this_dir / "xg26.json", source)


def xiao_gimbutas_27():
    return _read(this_dir / "xg27.json", source)


def xiao_gimbutas_28():
    return _read(this_dir / "xg28.json", source)


def xiao_gimbutas_29():
    return _read(this_dir / "xg29.json", source)


def xiao_gimbutas_30():
    return _read(this_dir / "xg30.json", source)


def xiao_gimbutas_31():
    return _read(this_dir / "xg31.json", source)


def xiao_gimbutas_32():
    return _read(this_dir / "xg32.json", source)


def xiao_gimbutas_33():
    return _read(this_dir / "xg33.json", source)


def xiao_gimbutas_34():
    return _read(this_dir / "xg34.json", source)


def xiao_gimbutas_35():
    return _read(this_dir / "xg35.json", source)


def xiao_gimbutas_36():
    return _read(this_dir / "xg36.json", source)


def xiao_gimbutas_37():
    return _read(this_dir / "xg37.json", source)


def xiao_gimbutas_38():
    return _read(this_dir / "xg38.json", source)


def xiao_gimbutas_39():
    return _read(this_dir / "xg39.json", source)


def xiao_gimbutas_40():
    return _read(this_dir / "xg40.json", source)


def xiao_gimbutas_41():
    return _read(this_dir / "xg41.json", source)


def xiao_gimbutas_42():
    return _read(this_dir / "xg42.json", source)


def xiao_gimbutas_43():
    return _read(this_dir / "xg43.json", source)


def xiao_gimbutas_44():
    return _read(this_dir / "xg44.json", source)


def xiao_gimbutas_45():
    return _read(this_dir / "xg45.json", source)


def xiao_gimbutas_46():
    return _read(this_dir / "xg46.json", source)


def xiao_gimbutas_47():
    return _read(this_dir / "xg47.json", source)


def xiao_gimbutas_48():
    return _read(this_dir / "xg48.json", source)


def xiao_gimbutas_49():
    return _read(this_dir / "xg49.json", source)


def xiao_gimbutas_50():
    return _read(this_dir / "xg50.json", source)


register(
    [
        xiao_gimbutas_01,
        xiao_gimbutas_02,
        xiao_gimbutas_03,
        xiao_gimbutas_04,
        xiao_gimbutas_05,
        xiao_gimbutas_06,
        xiao_gimbutas_07,
        xiao_gimbutas_08,
        xiao_gimbutas_09,
        xiao_gimbutas_10,
        xiao_gimbutas_11,
        xiao_gimbutas_12,
        xiao_gimbutas_13,
        xiao_gimbutas_14,
        xiao_gimbutas_15,
        xiao_gimbutas_16,
        xiao_gimbutas_17,
        xiao_gimbutas_18,
        xiao_gimbutas_19,
        xiao_gimbutas_20,
        xiao_gimbutas_21,
        xiao_gimbutas_22,
        xiao_gimbutas_23,
        xiao_gimbutas_24,
        xiao_gimbutas_25,
        xiao_gimbutas_26,
        xiao_gimbutas_27,
        xiao_gimbutas_28,
        xiao_gimbutas_29,
        xiao_gimbutas_30,
        xiao_gimbutas_31,
        xiao_gimbutas_32,
        xiao_gimbutas_33,
        xiao_gimbutas_34,
        xiao_gimbutas_35,
        xiao_gimbutas_36,
        xiao_gimbutas_37,
        xiao_gimbutas_38,
        xiao_gimbutas_39,
        xiao_gimbutas_40,
        xiao_gimbutas_41,
        xiao_gimbutas_42,
        xiao_gimbutas_43,
        xiao_gimbutas_44,
        xiao_gimbutas_45,
        xiao_gimbutas_46,
        xiao_gimbutas_47,
        xiao_gimbutas_48,
        xiao_gimbutas_49,
        xiao_gimbutas_50,
    ]
)
