/** @fn int azpset(struct prjprm *prj)
*
* @brief Set up a #prjprm struct for
* the <B>zenithal/azimuthal perspective (<TT>AZP</TT>)</B>
* projection.
*
* @b %azpset() sets up a #prjprm struct for
* a <B>zenithal/azimuthal perspective (<TT>AZP</TT>)</B>
* projection.
*
* See prjset() for a description of the API.
*/

/** @fn int azpx2s(PRJX2S_ARGS)
*
* @brief Cartesian-to-spherical transformation for the
* <B>zenithal/azimuthal perspective (<TT>AZP</TT>)</B>
* projection.
*
* @b %azpx2s() deprojects Cartesian \f$(x,y)\f$ coordinates in the plane of
* a <B>zenithal/azimuthal perspective (<TT>AZP</TT>)</B>
* projection to native spherical coordinates \f$(\phi,\theta)\f$.
*
* See prjx2s() for a description of the API.
*/

/** @fn int azps2x(PRJS2X_ARGS)
*
* @brief Spherical-to-Cartesian transformation for the
* <B>zenithal/azimuthal perspective (<TT>AZP</TT>)</B>
* projection.
*
* @b %azps2x() projects native spherical coordinates \f$(\phi,\theta)\f$ to
* Cartesian \f$(x,y)\f$ coordinates in the plane of
* a <B>zenithal/azimuthal perspective (<TT>AZP</TT>)</B>
* projection.
*
* See prjs2x() for a description of the API.
*/

/** @fn int szpset(struct prjprm *prj)
*
* @brief Set up a #prjprm struct for the
* <B>slant zenithal perspective (<TT>SZP</TT>)</B>
* projection.
*
* @b %szpset() sets up a #prjprm struct for
* a <B>slant zenithal perspective (<TT>SZP</TT>)</B>
* projection.
*
* See prjset() for a description of the API.
*/

/** @fn int szpx2s(PRJX2S_ARGS)
*
* @brief Cartesian-to-spherical transformation for the
* <B>slant zenithal perspective (<TT>SZP</TT>)</B>
* projection.
*
* @b %szpx2s() deprojects Cartesian \f$(x,y)\f$ coordinates in the plane of
* a <B>slant zenithal perspective (<TT>SZP</TT>)</B>
* projection to native spherical coordinates \f$(\phi,\theta)\f$.
*
* See prjx2s() for a description of the API.
*/

/** @fn int szps2x(PRJS2X_ARGS)
*
* @brief Spherical-to-Cartesian transformation for the
* <B>slant zenithal perspective (<TT>SZP</TT>)</B>
* projection.
*
* @b %szps2x() projects native spherical coordinates \f$(\phi,\theta)\f$ to
* Cartesian \f$(x,y)\f$ coordinates in the plane of
* a <B>slant zenithal perspective (<TT>SZP</TT>)</B>
* projection.
*
* See prjs2x() for a description of the API.
*/

/** @fn int tanset(struct prjprm *prj)
*
* @brief Set up a #prjprm struct for the
* <B>gnomonic (<TT>TAN</TT>)</B>
* projection.
*
* @b %tanset() sets up a #prjprm struct for
* a <B>gnomonic (<TT>TAN</TT>)</B>
* projection.
*
* See prjset() for a description of the API.
*/

/** @fn int tanx2s(PRJX2S_ARGS)
*
* @brief Cartesian-to-spherical transformation for the
* <B>gnomonic (<TT>TAN</TT>)</B>
* projection.
*
* @b %tanx2s() deprojects Cartesian \f$(x,y)\f$ coordinates in the plane of
* a <B>gnomonic (<TT>TAN</TT>)</B>
* projection to native spherical coordinates \f$(\phi,\theta)\f$.
*
* See prjx2s() for a description of the API.
*/

/** @fn int tans2x(PRJS2X_ARGS)
*
* @brief Spherical-to-Cartesian transformation for the
* <B>gnomonic (<TT>TAN</TT>)</B>
* projection.
*
* @b %tans2x() projects native spherical coordinates \f$(\phi,\theta)\f$ to
* Cartesian \f$(x,y)\f$ coordinates in the plane of
* a <B>gnomonic (<TT>TAN</TT>)</B>
* projection.
*
* See prjs2x() for a description of the API.
*/

/** @fn int stgset(struct prjprm *prj)
*
* @brief Set up a #prjprm struct for the
* <B>stereographic (<TT>STG</TT>)</B>
* projection.
*
* @b %stgset() sets up a #prjprm struct for
* a <B>stereographic (<TT>STG</TT>)</B>
* projection.
*
* See prjset() for a description of the API.
*/

/** @fn int stgx2s(PRJX2S_ARGS)
*
* @brief Cartesian-to-spherical transformation for the
* <B>stereographic (<TT>STG</TT>)</B>
* projection.
*
* @b %stgx2s() deprojects Cartesian \f$(x,y)\f$ coordinates in the plane of
* a <B>stereographic (<TT>STG</TT>)</B>
* projection to native spherical coordinates \f$(\phi,\theta)\f$.
*
* See prjx2s() for a description of the API.
*/

/** @fn int stgs2x(PRJS2X_ARGS)
*
* @brief Spherical-to-Cartesian transformation for the
* <B>stereographic (<TT>STG</TT>)</B>
* projection.
*
* @b %stgs2x() projects native spherical coordinates \f$(\phi,\theta)\f$ to
* Cartesian \f$(x,y)\f$ coordinates in the plane of
* a <B>stereographic (<TT>STG</TT>)</B>
* projection.
*
* See prjs2x() for a description of the API.
*/

/** @fn int sinset(struct prjprm *prj)
*
* @brief Set up a #prjprm struct for the
* <B>orthographic/synthesis (<TT>SIN</TT>)</B>
* projection.
*
* @b %stgset() sets up a #prjprm struct for
* an <B>orthographic/synthesis (<TT>SIN</TT>)</B>
* projection.
*
* See prjset() for a description of the API.
*/

/** @fn int sinx2s(PRJX2S_ARGS)
*
* @brief Cartesian-to-spherical transformation for the
* <B>orthographic/synthesis (<TT>SIN</TT>)</B>
* projection.
*
* @b %sinx2s() deprojects Cartesian \f$(x,y)\f$ coordinates in the plane of
* an <B>orthographic/synthesis (<TT>SIN</TT>)</B>
* projection to native spherical coordinates \f$(\phi,\theta)\f$.
*
* See prjx2s() for a description of the API.
*/

/** @fn int sins2x(PRJS2X_ARGS)
*
* @brief Spherical-to-Cartesian transformation for the
* <B>orthographic/synthesis (<TT>SIN</TT>)</B>
* projection.
*
* @b %sins2x() projects native spherical coordinates \f$(\phi,\theta)\f$ to
* Cartesian \f$(x,y)\f$ coordinates in the plane of
* an <B>orthographic/synthesis (<TT>SIN</TT>)</B>
* projection.
*
* See prjs2x() for a description of the API.
*/

/** @fn int arcset(struct prjprm *prj)
*
* @brief Set up a #prjprm struct for the
* <B>zenithal/azimuthal equidistant (<TT>ARC</TT>)</B>
* projection.
*
* @b %arcset() sets up a #prjprm struct for
* a <B>zenithal/azimuthal equidistant (<TT>ARC</TT>)</B>
* projection.
*
* See prjset() for a description of the API.
*/

/** @fn int arcx2s(PRJX2S_ARGS)
*
* @brief Cartesian-to-spherical transformation for the
* <B>zenithal/azimuthal equidistant (<TT>ARC</TT>)</B>
* projection.
*
* @b %arcx2s() deprojects Cartesian \f$(x,y)\f$ coordinates in the plane of
* a <B>zenithal/azimuthal equidistant (<TT>ARC</TT>)</B>
* projection to native spherical
* coordinates \f$(\phi,\theta)\f$.
*
* See prjx2s() for a description of the API.
*/

/** @fn int arcs2x(PRJS2X_ARGS)
*
* @brief Spherical-to-Cartesian transformation for the
* <B>zenithal/azimuthal equidistant (<TT>ARC</TT>)</B>
* projection.
*
* @b %arcs2x() projects native spherical coordinates \f$(\phi,\theta)\f$ to
* Cartesian \f$(x,y)\f$ coordinates in the plane of
* a <B>zenithal/azimuthal equidistant (<TT>ARC</TT>)</B>
* projection.
*
* See prjs2x() for a description of the API.
*/

/** @fn int zpnset(struct prjprm *prj)
*
* @brief Set up a #prjprm struct for the
* <B>zenithal/azimuthal polynomial (<TT>ZPN</TT>)</B>
* projection.
*
* @b %zpnset() sets up a #prjprm struct for
* a <B>zenithal/azimuthal polynomial (<TT>ZPN</TT>)</B>
* projection.
*
* See prjset() for a description of the API.
*/

/** @fn int zpnx2s(PRJX2S_ARGS)
*
* @brief Cartesian-to-spherical transformation for the
* <B>zenithal/azimuthal polynomial (<TT>ZPN</TT>)</B>
* projection.
*
* @b %zpnx2s() deprojects Cartesian \f$(x,y)\f$ coordinates in the plane of
* a <B>zenithal/azimuthal polynomial (<TT>ZPN</TT>)</B>
* projection to native spherical coordinates \f$(\phi,\theta)\f$.
*
* See prjx2s() for a description of the API.
*/

/** @fn int zpns2x(PRJS2X_ARGS)
*
* @brief Spherical-to-Cartesian transformation for the
* <B>zenithal/azimuthal polynomial (<TT>ZPN</TT>)</B>
* projection.
*
* @b %zpns2x() projects native spherical coordinates \f$(\phi,\theta)\f$ to
* Cartesian \f$(x,y)\f$ coordinates in the plane of
* a <B>zenithal/azimuthal polynomial (<TT>ZPN</TT>)</B>
* projection.
*
* See prjs2x() for a description of the API.
*/

/** @fn int zeaset(struct prjprm *prj)
*
* @brief Set up a #prjprm struct for the
* <B>zenithal/azimuthal equal area (<TT>ZEA</TT>)</B>
* projection.
*
* @b %zeaset() sets up a #prjprm struct for
* a <B>zenithal/azimuthal equal area (<TT>ZEA</TT>)</B>
* projection.
*
* See prjset() for a description of the API.
*/

/** @fn int zeax2s(PRJX2S_ARGS)
*
* @brief Cartesian-to-spherical transformation for the
* <B>zenithal/azimuthal equal area (<TT>ZEA</TT>)</B>
* projection.
*
* @b %zeax2s() deprojects Cartesian \f$(x,y)\f$ coordinates in the plane of
* a <B>zenithal/azimuthal equal area (<TT>ZEA</TT>)</B>
* projection to native spherical coordinates \f$(\phi,\theta)\f$.
*
* See prjx2s() for a description of the API.
*/

/** @fn int zeas2x(PRJS2X_ARGS)
*
* @brief Spherical-to-Cartesian transformation for the
* <B>zenithal/azimuthal equal area (<TT>ZEA</TT>)</B>
* projection.
*
* @b %zeas2x() projects native spherical coordinates \f$(\phi,\theta)\f$ to
* Cartesian \f$(x,y)\f$ coordinates in the plane of
* a <B>zenithal/azimuthal equal area (<TT>ZEA</TT>)</B>
* projection.
*
* See prjs2x() for a description of the API.
*/

/** @fn int airset(struct prjprm *prj)
*
* @brief Set up a #prjprm struct for
* <B>Airy's (<TT>AIR</TT>)</B>
* projection.
*
* @b %airset() sets up a #prjprm struct for
* an <B>Airy (<TT>AIR</TT>)</B>
* projection.
*
* See prjset() for a description of the API.
*/

/** @fn int airx2s(PRJX2S_ARGS)
*
* @brief Cartesian-to-spherical transformation for
* <B>Airy's (<TT>AIR</TT>)</B>
* projection.
*
* @b %airx2s() deprojects Cartesian \f$(x,y)\f$ coordinates in the plane of
* an <B>Airy (<TT>AIR</TT>)</B>
* projection to native spherical coordinates \f$(\phi,\theta)\f$.
*
* See prjx2s() for a description of the API.
*/

/** @fn int airs2x(PRJS2X_ARGS)
*
* @brief Spherical-to-Cartesian transformation for
* <B>Airy's (<TT>AIR</TT>)</B>
* projection.
*
* @b %airs2x() projects native spherical coordinates \f$(\phi,\theta)\f$ to
* Cartesian \f$(x,y)\f$ coordinates in the plane of
* an <B>Airy (<TT>AIR</TT>)</B>
* projection.
*
* See prjs2x() for a description of the API.
*/

/** @fn int cypset(struct prjprm *prj)
*
* @brief Set up a #prjprm struct for the
* <B>cylindrical perspective (<TT>CYP</TT>)</B>
* projection.
*
* @b %cypset() sets up a #prjprm struct for
* a <B>cylindrical perspective (<TT>CYP</TT>)</B>
* projection.
*
* See prjset() for a description of the API.
*/

/** @fn int cypx2s(PRJX2S_ARGS)
*
* @brief Cartesian-to-spherical transformation for the
* <B>cylindrical perspective (<TT>CYP</TT>)</B>
* projection.
*
* @b %cypx2s() deprojects Cartesian \f$(x,y)\f$ coordinates in the plane of
* a <B>cylindrical perspective (<TT>CYP</TT>)</B>
* projection to native spherical coordinates \f$(\phi,\theta)\f$.
*
* See prjx2s() for a description of the API.
*/

/** @fn int cyps2x(PRJS2X_ARGS)
*
* @brief Spherical-to-Cartesian transformation for the
* <B>cylindrical perspective (<TT>CYP</TT>)</B>
* projection.
*
* @b %cyps2x() projects native spherical coordinates \f$(\phi,\theta)\f$ to
* Cartesian \f$(x,y)\f$ coordinates in the plane of
* a <B>cylindrical perspective (<TT>CYP</TT>)</B>
* projection.
*
* See prjs2x() for a description of the API.
*/

/** @fn int ceaset(struct prjprm *prj)
*
* @brief Set up a #prjprm struct for the
* <B>cylindrical equal area (<TT>CEA</TT>)</B>
* projection.
*
* @b %ceaset() sets up a #prjprm struct for
* a <B>cylindrical equal area (<TT>CEA</TT>)</B>
* projection.
*
* See prjset() for a description of the API.
*/

/** @fn int ceax2s(PRJX2S_ARGS)
*
* @brief Cartesian-to-spherical transformation for the
* <B>cylindrical equal area (<TT>CEA</TT>)</B>
* projection.
*
* @b %ceax2s() deprojects Cartesian \f$(x,y)\f$ coordinates in the plane of
* a <B>cylindrical equal area (<TT>CEA</TT>)</B>
* projection to native spherical coordinates \f$(\phi,\theta)\f$.
*
* See prjx2s() for a description of the API.
*/

/** @fn int ceas2x(PRJS2X_ARGS)
*
* @brief Spherical-to-Cartesian transformation for the
* <B>cylindrical equal area (<TT>CEA</TT>)</B>
* projection.
*
* @b %ceas2x() projects native spherical coordinates \f$(\phi,\theta)\f$ to
* Cartesian \f$(x,y)\f$ coordinates in the plane of
* a <B>cylindrical equal area (<TT>CEA</TT>)</B>
* projection.
*
* See prjs2x() for a description of the API.
*/

/** @fn int carset(struct prjprm *prj)
*
* @brief Set up a #prjprm struct for the
* <B>plate carr&eacute;e (<TT>CAR</TT>)</B>
* projection.
*
* @b %carset() sets up a #prjprm struct for
* a <B>plate carr&eacute;e (<TT>CAR</TT>)</B>
* projection.
*
* See prjset() for a description of the API.
*/

/** @fn int carx2s(PRJX2S_ARGS)
*
* @brief Cartesian-to-spherical transformation for the
* <B>plate carr&eacute;e (<TT>CAR</TT>)</B>
* projection.
*
* @b %carx2s() deprojects Cartesian \f$(x,y)\f$ coordinates in the plane of
* a <B>plate carr&eacute;e (<TT>CAR</TT>)</B>
* projection to native spherical coordinates \f$(\phi,\theta)\f$.
*
* See prjx2s() for a description of the API.
*/

/** @fn int cars2x(PRJS2X_ARGS)
*
* @brief Spherical-to-Cartesian transformation for the
* <B>plate carr&eacute;e (<TT>CAR</TT>)</B>
* projection.
*
* @b %cars2x() projects native spherical coordinates \f$(\phi,\theta)\f$ to
* Cartesian \f$(x,y)\f$ coordinates in the plane of
* a <B>plate carr&eacute;e (<TT>CAR</TT>)</B>
* projection.
*
* See prjs2x() for a description of the API.
*/

/** @fn int merset(struct prjprm *prj)
*
* @brief Set up a #prjprm struct for
* <B>Mercator's (<TT>MER</TT>)</B>
* projection.
*
* @b %merset() sets up a #prjprm struct for
* a <B>Mercator (<TT>MER</TT>)</B>
* projection.
*
* See prjset() for a description of the API.
*/

/** @fn int merx2s(PRJX2S_ARGS)
*
* @brief Cartesian-to-spherical transformation for
* <B>Mercator's (<TT>MER</TT>)</B>
* projection.
*
* @b %merx2s() deprojects Cartesian \f$(x,y)\f$ coordinates in the plane of
* a <B>Mercator (<TT>MER</TT>)</B>
* projection to native spherical coordinates \f$(\phi,\theta)\f$.
*
* See prjx2s() for a description of the API.
*/

/** @fn int mers2x(PRJS2X_ARGS)
*
* @brief Spherical-to-Cartesian transformation for
* <B>Mercator's (<TT>MER</TT>)</B>
* projection.
*
* @b %mers2x() projects native spherical coordinates \f$(\phi,\theta)\f$ to
* Cartesian \f$(x,y)\f$ coordinates in the plane of
* a <B>Mercator (<TT>MER</TT>)</B>
* projection.
*
* See prjs2x() for a description of the API.
*/

/** @fn int sflset(struct prjprm *prj)
*
* @brief Set up a #prjprm struct for the
* <B>Sanson-Flamsteed (<TT>SFL</TT>)</B>
* projection.
*
* @b %sflset() sets up a #prjprm struct for
* a <B>Sanson-Flamsteed (<TT>SFL</TT>)</B>
* projection.
*
* See prjset() for a description of the API.
*/

/** @fn int sflx2s(PRJX2S_ARGS)
*
* @brief Cartesian-to-spherical transformation for the
* <B>Sanson-Flamsteed (<TT>SFL</TT>)</B>
* projection.
*
* @b %sflx2s() deprojects Cartesian \f$(x,y)\f$ coordinates in the plane of
* a <B>Sanson-Flamsteed (<TT>SFL</TT>)</B>
* projection to native spherical coordinates \f$(\phi,\theta)\f$.
*
* See prjx2s() for a description of the API.
*/

/** @fn int sfls2x(PRJS2X_ARGS)
*
* @brief Spherical-to-Cartesian transformation for the
* <B>Sanson-Flamsteed (<TT>SFL</TT>)</B>
* projection.
*
* @b %sfls2x() projects native spherical coordinates \f$(\phi,\theta)\f$ to
* Cartesian \f$(x,y)\f$ coordinates in the plane of
* a <B>Sanson-Flamsteed (<TT>SFL</TT>)</B>
* projection.
*
* See prjs2x() for a description of the API.
*/

/** @fn int parset(struct prjprm *prj)
*
* @brief Set up a #prjprm struct for the
* <B>parabolic (<TT>PAR</TT>)</B>
* projection.
*
* @b %parset() sets up a #prjprm struct for
* a <B>parabolic (<TT>PAR</TT>)</B>
* projection.
*
* See prjset() for a description of the API.
*/

/** @fn int parx2s(PRJX2S_ARGS)
*
* @brief Cartesian-to-spherical transformation for the
* <B>parabolic (<TT>PAR</TT>)</B>
* projection.
*
* @b %parx2s() deprojects Cartesian \f$(x,y)\f$ coordinates in the plane of
* a <B>parabolic (<TT>PAR</TT>)</B>
* projection to native spherical coordinates \f$(\phi,\theta)\f$.
*
* See prjx2s() for a description of the API.
*/

/** @fn int pars2x(PRJS2X_ARGS)
*
* @brief Spherical-to-Cartesian transformation for the
* <B>parabolic (<TT>PAR</TT>)</B>
* projection.
*
* @b %pars2x() projects native spherical coordinates \f$(\phi,\theta)\f$ to
* Cartesian \f$(x,y)\f$ coordinates in the plane of
* a <B>parabolic (<TT>PAR</TT>)</B>
* projection.
*
* See prjs2x() for a description of the API.
*/

/** @fn int molset(struct prjprm *prj)
*
* @brief Set up a #prjprm struct for
* <B>Mollweide's (<TT>MOL</TT>)</B>
* projection.
*
* @b %molset() sets up a #prjprm struct for
* a <B>Mollweide (<TT>MOL</TT>)</B>
* projection.
*
* See prjset() for a description of the API.
*/

/** @fn int molx2s(PRJX2S_ARGS)
*
* @brief Cartesian-to-spherical transformation for
* <B>Mollweide's (<TT>MOL</TT>)</B>
* projection.
*
* @b %molx2s() deprojects Cartesian \f$(x,y)\f$ coordinates in the plane of
* a <B>Mollweide (<TT>MOL</TT>)</B>
* projection to native spherical coordinates \f$(\phi,\theta)\f$.
*
* See prjx2s() for a description of the API.
*/

/** @fn int mols2x(PRJS2X_ARGS)
*
* @brief Spherical-to-Cartesian transformation for
* <B>Mollweide's (<TT>MOL</TT>)</B>
* projection.
*
* @b %mols2x() projects native spherical coordinates \f$(\phi,\theta)\f$ to
* Cartesian \f$(x,y)\f$ coordinates in the plane of
* a <B>Mollweide (<TT>MOL</TT>)</B>
* projection.
*
* See prjs2x() for a description of the API.
*/

/** @fn int aitset(struct prjprm *prj)
*
* @brief Set up a #prjprm struct for the
* <B>Hammer-Aitoff (<TT>AIT</TT>)</B>
* projection.
*
* @b %aitset() sets up a #prjprm struct for
* a <B>Hammer-Aitoff (<TT>AIT</TT>)</B>
* projection.
*
* See prjset() for a description of the API.
*/

/** @fn int aitx2s(PRJX2S_ARGS)
*
* @brief Cartesian-to-spherical transformation for the
* <B>Hammer-Aitoff (<TT>AIT</TT>)</B>
* projection.
*
* @b %aitx2s() deprojects Cartesian \f$(x,y)\f$ coordinates in the plane of
* a <B>Hammer-Aitoff (<TT>AIT</TT>)</B>
* projection to native spherical coordinates \f$(\phi,\theta)\f$.
*
* See prjx2s() for a description of the API.
*/

/** @fn int aits2x(PRJS2X_ARGS)
*
* @brief Spherical-to-Cartesian transformation for the
* <B>Hammer-Aitoff (<TT>AIT</TT>)</B>
* projection.
*
* @b %aits2x() projects native spherical coordinates \f$(\phi,\theta)\f$ to
* Cartesian \f$(x,y)\f$ coordinates in the plane of
* a <B>Hammer-Aitoff (<TT>AIT</TT>)</B>
* projection.
*
* See prjs2x() for a description of the API.
*/

/** @fn int copset(struct prjprm *prj)
*
* @brief Set up a #prjprm struct for the
* <B>conic perspective (<TT>COP</TT>)</B>
* projection.
*
* @b %copset() sets up a #prjprm struct for
* a <B>conic perspective (<TT>COP</TT>)</B>
* projection.
*
* See prjset() for a description of the API.
*/

/** @fn int copx2s(PRJX2S_ARGS)
*
* @brief Cartesian-to-spherical transformation for the
* <B>conic perspective (<TT>COP</TT>)</B>
* projection.
*
* @b %copx2s() deprojects Cartesian \f$(x,y)\f$ coordinates in the plane of
* a <B>conic perspective (<TT>COP</TT>)</B>
* projection to native spherical coordinates \f$(\phi,\theta)\f$.
*
* See prjx2s() for a description of the API.
*/

/** @fn int cops2x(PRJS2X_ARGS)
*
* @brief Spherical-to-Cartesian transformation for the
* <B>conic perspective (<TT>COP</TT>)</B>
* projection.
*
* @b %cops2x() projects native spherical coordinates \f$(\phi,\theta)\f$ to
* Cartesian \f$(x,y)\f$ coordinates in the plane of
* a <B>conic perspective (<TT>COP</TT>)</B>
* projection.
*
* See prjs2x() for a description of the API.
*/

/** @fn int coeset(struct prjprm *prj)
*
* @brief Set up a #prjprm struct for the
* <B>conic equal area (<TT>COE</TT>)</B>
* projection.
*
* @b %coeset() sets up a #prjprm struct for
* a <B>conic equal area (<TT>COE</TT>)</B>
* projection.
*
* See prjset() for a description of the API.
*/

/** @fn int coex2s(PRJX2S_ARGS)
*
* @brief Cartesian-to-spherical transformation for the
* <B>conic equal area (<TT>COE</TT>)</B>
* projection.
*
* @b %coex2s() deprojects Cartesian \f$(x,y)\f$ coordinates in the plane of
* a <B>conic equal area (<TT>COE</TT>)</B>
* projection to native spherical coordinates \f$(\phi,\theta)\f$.
*
* See prjx2s() for a description of the API.
*/

/** @fn int coes2x(PRJS2X_ARGS)
*
* @brief Spherical-to-Cartesian transformation for the
* <B>conic equal area (<TT>COE</TT>)</B>
* projection.
*
* @b %coes2x() projects native spherical coordinates \f$(\phi,\theta)\f$ to
* Cartesian \f$(x,y)\f$ coordinates in the plane of
* a <B>conic equal area (<TT>COE</TT>)</B>
* projection.
*
* See prjs2x() for a description of the API.
*/

/** @fn int codset(struct prjprm *prj)
*
* @brief Set up a #prjprm struct for the
* <B>conic equidistant (<TT>COD</TT>)</B>
* projection.
*
* @b %codset() sets up a #prjprm struct for
* a <B>conic equidistant (<TT>COD</TT>)</B>
* projection.
*
* See prjset() for a description of the API.
*/

/** @fn int codx2s(PRJX2S_ARGS)
*
* @brief Cartesian-to-spherical transformation for the
* <B>conic equidistant (<TT>COD</TT>)</B>
* projection.
*
* @b %codx2s() deprojects Cartesian \f$(x,y)\f$ coordinates in the plane of
* a <B>conic equidistant (<TT>COD</TT>)</B>
* projection to native spherical coordinates \f$(\phi,\theta)\f$.
*
* See prjx2s() for a description of the API.
*/

/** @fn int cods2x(PRJS2X_ARGS)
*
* @brief Spherical-to-Cartesian transformation for the
* <B>conic equidistant (<TT>COD</TT>)</B>
* projection.
*
* @b %cods2x() projects native spherical coordinates \f$(\phi,\theta)\f$ to
* Cartesian \f$(x,y)\f$ coordinates in the plane of
* a <B>conic equidistant (<TT>COD</TT>)</B>
* projection.
*
* See prjs2x() for a description of the API.
*/

/** @fn int cooset(struct prjprm *prj)
*
* @brief Set up a #prjprm struct for the
* <B>conic orthomorphic (<TT>COO</TT>)</B>
* projection.
*
* @b %cooset() sets up a #prjprm struct for
* a <B>conic orthomorphic (<TT>COO</TT>)</B>
* projection.
*
* See prjset() for a description of the API.
*/

/** @fn int coox2s(PRJX2S_ARGS)
*
* @brief Cartesian-to-spherical transformation for the
* <B>conic orthomorphic (<TT>COO</TT>)</B>
* projection.
*
* @b %coox2s() deprojects Cartesian \f$(x,y)\f$ coordinates in the plane of
* a <B>conic orthomorphic (<TT>COO</TT>)</B>
* projection to native spherical coordinates \f$(\phi,\theta)\f$.
*
* See prjx2s() for a description of the API.
*/

/** @fn int coos2x(PRJS2X_ARGS)
*
* @brief Spherical-to-Cartesian transformation for the
* <B>conic orthomorphic (<TT>COO</TT>)</B>
* projection.
*
* @b %coos2x() projects native spherical coordinates \f$(\phi,\theta)\f$ to
* Cartesian \f$(x,y)\f$ coordinates in the plane of
* a <B>conic orthomorphic (<TT>COO</TT>)</B>
* projection.
*
* See prjs2x() for a description of the API.
*/

/** @fn int bonset(struct prjprm *prj)
*
* @brief Set up a #prjprm struct for
* <B>Bonne's (<TT>BON</TT>)</B>
* projection.
*
* @b %bonset() sets up a #prjprm struct for
* a <B>Bonne (<TT>BON</TT>)</B>
* projection.
*
* See prjset() for a description of the API.
*/

/** @fn int bonx2s(PRJX2S_ARGS)
*
* @brief Cartesian-to-spherical transformation for
* <B>Bonne's (<TT>BON</TT>)</B>
* projection.
*
* @b %bonx2s() deprojects Cartesian \f$(x,y)\f$ coordinates in the plane of
* a <B>Bonne (<TT>BON</TT>)</B>
* projection to native spherical coordinates \f$(\phi,\theta)\f$.
*
* See prjx2s() for a description of the API.
*/

/** @fn int bons2x(PRJS2X_ARGS)
*
* @brief Spherical-to-Cartesian transformation for
* <B>Bonne's (<TT>BON</TT>)</B>
* projection.
*
* @b %bons2x() projects native spherical coordinates \f$(\phi,\theta)\f$ to
* Cartesian \f$(x,y)\f$ coordinates in the plane of
* a <B>Bonne (<TT>BON</TT>)</B>
* projection.
*
* See prjs2x() for a description of the API.
*/

/** @fn int pcoset(struct prjprm *prj)
*
* @brief Set up a #prjprm struct for the
* <B>polyconic (<TT>PCO</TT>)</B>
* projection.
*
* @b %pcoset() sets up a #prjprm struct for
* a <B>polyconic (<TT>PCO</TT>)</B>
* projection.
*
* See prjset() for a description of the API.
*/

/** @fn int pcox2s(PRJX2S_ARGS)
*
* @brief Cartesian-to-spherical transformation for the
* <B>polyconic (<TT>PCO</TT>)</B>
* projection.
*
* @b %pcox2s() deprojects Cartesian \f$(x,y)\f$ coordinates in the plane of
* a <B>polyconic (<TT>PCO</TT>)</B>
* projection to native spherical coordinates \f$(\phi,\theta)\f$.
*
* See prjx2s() for a description of the API.
*/

/** @fn int pcos2x(PRJS2X_ARGS)
*
* @brief Spherical-to-Cartesian transformation for the
* <B>polyconic (<TT>PCO</TT>)</B>
* projection.
*
* @b %pcos2x() projects native spherical coordinates \f$(\phi,\theta)\f$ to
* Cartesian \f$(x,y)\f$ coordinates in the plane of
* a <B>polyconic (<TT>PCO</TT>)</B>
* projection.
*
* See prjs2x() for a description of the API.
*/

/** @fn int tscset(struct prjprm *prj)
*
* @brief Set up a #prjprm struct for the
* <B>tangential spherical cube (<TT>TSC</TT>)</B>
* projection.
*
* @b %tscset() sets up a #prjprm struct for
* a <B>tangential spherical cube (<TT>TSC</TT>)</B>
* projection.
*
* See prjset() for a description of the API.
*/

/** @fn int tscx2s(PRJX2S_ARGS)
*
* @brief Cartesian-to-spherical transformation for the
* <B>tangential spherical cube (<TT>TSC</TT>)</B>
* projection.
*
* @b %tscx2s() deprojects Cartesian \f$(x,y)\f$ coordinates in the plane of
* a <B>tangential spherical cube (<TT>TSC</TT>)</B>
* projection to native spherical coordinates \f$(\phi,\theta)\f$.
*
* See prjx2s() for a description of the API.
*/

/** @fn int tscs2x(PRJS2X_ARGS)
*
* @brief Spherical-to-Cartesian transformation for the
* <B>tangential spherical cube (<TT>TSC</TT>)</B>
* projection.
*
* @b %tscs2x() projects native spherical coordinates \f$(\phi,\theta)\f$ to
* Cartesian \f$(x,y)\f$ coordinates in the plane of
* a <B>tangential spherical cube (<TT>TSC</TT>)</B>
* projection.
*
* See prjs2x() for a description of the API.
*/

/** @fn int cscset(struct prjprm *prj)
*
* @brief Set up a #prjprm struct for the
* <B>COBE spherical cube (<TT>CSC</TT>)</B>
* projection.
*
* @b %cscset() sets up a #prjprm struct for
* a <B>COBE spherical cube (<TT>CSC</TT>)</B>
* projection.
*
* See prjset() for a description of the API.
*/

/** @fn int cscx2s(PRJX2S_ARGS)
*
* @brief Cartesian-to-spherical transformation for the
* <B>COBE spherical cube (<TT>CSC</TT>)</B>
* projection.
*
* @b %cscx2s() deprojects Cartesian \f$(x,y)\f$ coordinates in the plane of
* a <B>COBE spherical cube (<TT>CSC</TT>)</B>
* projection to native spherical coordinates \f$(\phi,\theta)\f$.
*
* See prjx2s() for a description of the API.
*/

/** @fn int cscs2x(PRJS2X_ARGS)
*
* @brief Spherical-to-Cartesian transformation for the
* <B>COBE spherical cube (<TT>CSC</TT>)</B>
* projection.
*
* @b %cscs2x() projects native spherical coordinates \f$(\phi,\theta)\f$ to
* Cartesian \f$(x,y)\f$ coordinates in the plane of
* a <B>COBE spherical cube (<TT>CSC</TT>)</B>
* projection.
*
* See prjs2x() for a description of the API.
*/

/** @fn int qscset(struct prjprm *prj)
*
* @brief Set up a #prjprm struct for the
* <B>quadrilateralized spherical cube (<TT>QSC</TT>)</B>
* projection.
*
* @b %qscset() sets up a #prjprm struct for
* a <B>quadrilateralized spherical cube (<TT>QSC</TT>)</B>
* projection.
*
* See prjset() for a description of the API.
*/

/** @fn int qscx2s(PRJX2S_ARGS)
*
* @brief Cartesian-to-spherical transformation for the
* <B>quadrilateralized spherical cube (<TT>QSC</TT>)</B>
* projection.
*
* @b %qscx2s() deprojects Cartesian \f$(x,y)\f$ coordinates in the plane of
* a <B>quadrilateralized spherical cube (<TT>QSC</TT>)</B>
* projection to native spherical coordinates \f$(\phi,\theta)\f$.
*
* See prjx2s() for a description of the API.
*/

/** @fn int qscs2x(PRJS2X_ARGS)
*
* @brief Spherical-to-Cartesian transformation for the
* <B>quadrilateralized spherical cube (<TT>QSC</TT>)</B>
* projection.
*
* @b %qscs2x() projects native spherical coordinates \f$(\phi,\theta)\f$ to
* Cartesian \f$(x,y)\f$ coordinates in the plane of
* a <B>quadrilateralized spherical cube (<TT>QSC</TT>)</B>
* projection.
*
* See prjs2x() for a description of the API.
*/

/** @fn int hpxset(struct prjprm *prj)
*
* @brief Set up a #prjprm struct for the
* <B>HEALPix (<TT>HPX</TT>)</B>
* projection.
*
* @b %hpxset() sets up a #prjprm struct for
* a <B>HEALPix (<TT>HPX</TT>)</B>
* projection.
*
* See prjset() for a description of the API.
*/

/** @fn int hpxx2s(PRJX2S_ARGS)
*
* @brief Cartesian-to-spherical transformation for the
* <B>HEALPix (<TT>HPX</TT>)</B>
* projection.
*
* @b %hpxx2s() deprojects Cartesian \f$(x,y)\f$ coordinates in the plane of
* a <B>HEALPix (<TT>HPX</TT>)</B>
* projection to native spherical coordinates \f$(\phi,\theta)\f$.
*
* See prjx2s() for a description of the API.
*/

/** @fn int hpxs2x(PRJS2X_ARGS)
*
* @brief Spherical-to-Cartesian transformation for the
* <B>HEALPix (<TT>HPX</TT>)</B>
* projection.
*
* @b %hpxs2x() projects native spherical coordinates \f$(\phi,\theta)\f$ to
* Cartesian \f$(x,y)\f$ coordinates in the plane of
* a <B>HEALPix (<TT>HPX</TT>)</B>
* projection.
*
* See prjs2x() for a description of the API.
*/

/** @var const int ZENITHAL
* @brief Identifier for zenithal/azimuthal projections.
*
* Identifier for zenithal/azimuthal projections, see prjprm::category.
*/

/** @var const int CYLINDRICAL
* @brief Identifier for cylindrical projections.
*
* Identifier for cylindrical projections, see prjprm::category.
*/

/** @var const int PSEUDOCYLINDRICAL
* @brief Identifier for pseudocylindrical projections.
*
* Identifier for pseudocylindrical projections, see prjprm::category.
*/

/** @var const int CONVENTIONAL
* @brief Identifier for conventional projections.
*
* Identifier for conventional projections, see prjprm::category.
*/

/** @var const int CONIC
* @brief Identifier for conic projections.
*
* Identifier for conic projections, see prjprm::category.
*/

/** @var const int POLYCONIC
* @brief Identifier for polyconic projections.
*
* Identifier for polyconic projections, see prjprm::category.
*/

/** @var const int QUADCUBE
* @brief Identifier for quadcube projections.
*
* Identifier for quadcube projections, see prjprm::category.
*/

/** @var const int HEALPIX
* @brief Identifier for the HEALPix projection.
*
* Identifier for the HEALPix projection, see prjprm::category.
*/

/** @var const char prj_categories[9][32]
* @brief Projection categories.
*
* Names of the projection categories, all in lower-case except for "HEALPix".
*
* Provided for information only, not used by the projection routines.
*/

/** @var const int prj_ncode
* @brief The number of recognized three-letter projection codes.
*
* The number of recognized three-letter projection codes (currently 27),
* see #prj_codes.
*/

/** @var const char prj_codes[27][4]
* @brief Recognized three-letter projection codes.
*
* List of all recognized three-letter projection codes (currently 27), e.g.
* <B><TT>SIN</TT></B>, <B><TT>TAN</TT></B>, etc.
*/

/** @def PVN
* @brief Total number of projection parameters.
*
* The total number of projection parameters numbered 0 to <B>PVN</B>-1.
*/

/** @def PRJX2S_ARGS
* @brief For use in declaring deprojection function prototypes.
*
* Preprocessor macro used for declaring deprojection function prototypes.
*/

/** @def PRJS2X_ARGS
* @brief For use in declaring projection function prototypes.
*
* Preprocessor macro used for declaring projection function prototypes.
*/

/** @def PRJLEN
* @brief Size of the #prjprm struct in @a int units.
*
* Size of the #prjprm struct in @a int units, used by the Fortran wrappers.
*/

/** @def prjini_errmsg
* @brief Deprecated.
* @deprecated Added for backwards compatibility, use #prj_errmsg directly now
* instead.
*/

/** @def prjprt_errmsg
* @brief Deprecated.
* @deprecated Added for backwards compatibility, use #prj_errmsg directly now
* instead.
*/

/** @def prjset_errmsg
* @brief Deprecated.
* @deprecated Added for backwards compatibility, use #prj_errmsg directly now
* instead.
*/

/** @def prjx2s_errmsg
* @brief Deprecated.
* @deprecated Added for backwards compatibility, use #prj_errmsg directly now
* instead.
*/

/** @def prjs2x_errmsg
* @brief Deprecated.
* @deprecated Added for backwards compatibility, use #prj_errmsg directly now
* instead.
*/
