<?xml version='1.0' encoding='UTF-8' standalone='yes' ?>
<tagfile>
  <compound kind="file">
    <name>apriltag.c</name>
    <path>/tmp/ws/src/apriltag/</path>
    <filename>apriltag_8c.html</filename>
    <includes id="apriltag_8h" name="apriltag.h" local="yes" imported="no">apriltag.h</includes>
    <includes id="image__u8_8h" name="image_u8.h" local="yes" imported="no">common/image_u8.h</includes>
    <includes id="image__u8x3_8h" name="image_u8x3.h" local="yes" imported="no">common/image_u8x3.h</includes>
    <includes id="zarray_8h" name="zarray.h" local="yes" imported="no">common/zarray.h</includes>
    <includes id="matd_8h" name="matd.h" local="yes" imported="no">common/matd.h</includes>
    <includes id="homography_8h" name="homography.h" local="yes" imported="no">common/homography.h</includes>
    <includes id="timeprofile_8h" name="timeprofile.h" local="yes" imported="no">common/timeprofile.h</includes>
    <includes id="math__util_8h" name="math_util.h" local="yes" imported="no">common/math_util.h</includes>
    <includes id="g2d_8h" name="g2d.h" local="yes" imported="no">common/g2d.h</includes>
    <includes id="debug__print_8h" name="debug_print.h" local="yes" imported="no">common/debug_print.h</includes>
    <includes id="apriltag__math_8h" name="apriltag_math.h" local="yes" imported="no">apriltag_math.h</includes>
    <includes id="postscript__utils_8h" name="postscript_utils.h" local="yes" imported="no">common/postscript_utils.h</includes>
    <class kind="struct">evaluate_quad_ret</class>
    <class kind="struct">graymodel</class>
    <class kind="struct">quad_decode_task</class>
    <class kind="struct">quick_decode</class>
    <class kind="struct">quick_decode_entry</class>
    <member kind="define">
      <type>#define</type>
      <name>_USE_MATH_DEFINES</name>
      <anchorfile>apriltag_8c.html</anchorfile>
      <anchor>a525335710b53cb064ca56b936120431e</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>APRILTAG_U64_ONE</name>
      <anchorfile>apriltag_8c.html</anchorfile>
      <anchor>a2dadeecf3c392d6e6c45a0e834aec036</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>apriltag_detection_destroy</name>
      <anchorfile>apriltag_8c.html</anchorfile>
      <anchor>a8109c8405656a0aefc83da8f42cbb051</anchor>
      <arglist>(apriltag_detection_t *det)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>apriltag_detections_destroy</name>
      <anchorfile>apriltag_8c.html</anchorfile>
      <anchor>ab5942c7c14b891ee12f8e96214618e23</anchor>
      <arglist>(zarray_t *detections)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>apriltag_detector_add_family_bits</name>
      <anchorfile>apriltag_8c.html</anchorfile>
      <anchor>a117c9fd312bbe9a6b7016b2f0bc9d429</anchor>
      <arglist>(apriltag_detector_t *td, apriltag_family_t *fam, int bits_corrected)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>apriltag_detector_clear_families</name>
      <anchorfile>apriltag_8c.html</anchorfile>
      <anchor>a9b7aa8b80d562ac0f019d830ae471a80</anchor>
      <arglist>(apriltag_detector_t *td)</arglist>
    </member>
    <member kind="function">
      <type>apriltag_detector_t *</type>
      <name>apriltag_detector_create</name>
      <anchorfile>apriltag_8c.html</anchorfile>
      <anchor>a71a867ba0aa7a4bcb5abd2c41656697e</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>apriltag_detector_destroy</name>
      <anchorfile>apriltag_8c.html</anchorfile>
      <anchor>a7ccb37bf33f9bf337240d2d037d51b0b</anchor>
      <arglist>(apriltag_detector_t *td)</arglist>
    </member>
    <member kind="function">
      <type>zarray_t *</type>
      <name>apriltag_detector_detect</name>
      <anchorfile>apriltag_8c.html</anchorfile>
      <anchor>a990ce83674aae6e7bb38506cd39e67f8</anchor>
      <arglist>(apriltag_detector_t *td, image_u8_t *im_orig)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>apriltag_detector_remove_family</name>
      <anchorfile>apriltag_8c.html</anchorfile>
      <anchor>ae0ea55b10c82b356a49efe54df94d381</anchor>
      <arglist>(apriltag_detector_t *td, apriltag_family_t *fam)</arglist>
    </member>
    <member kind="function">
      <type>zarray_t *</type>
      <name>apriltag_quad_thresh</name>
      <anchorfile>apriltag_8c.html</anchorfile>
      <anchor>adcabfa45c9a98285da741973451292ad</anchor>
      <arglist>(apriltag_detector_t *td, image_u8_t *im)</arglist>
    </member>
    <member kind="function">
      <type>image_u8_t *</type>
      <name>apriltag_to_image</name>
      <anchorfile>apriltag_8c.html</anchorfile>
      <anchor>a50bb8370a9ed499f33039eb1cbaa553b</anchor>
      <arglist>(apriltag_family_t *fam, uint32_t idx)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static int</type>
      <name>detection_compare_function</name>
      <anchorfile>apriltag_8c.html</anchorfile>
      <anchor>a66517b1c9f58c7e82f7ea56d10558b63</anchor>
      <arglist>(const void *_a, const void *_b)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void</type>
      <name>graymodel_add</name>
      <anchorfile>apriltag_8c.html</anchorfile>
      <anchor>ac89f8b181f9a0e745deb467f601bc243</anchor>
      <arglist>(struct graymodel *gm, double x, double y, double gray)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void</type>
      <name>graymodel_init</name>
      <anchorfile>apriltag_8c.html</anchorfile>
      <anchor>a85896bac253d85c27a44d906f22766b6</anchor>
      <arglist>(struct graymodel *gm)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static double</type>
      <name>graymodel_interpolate</name>
      <anchorfile>apriltag_8c.html</anchorfile>
      <anchor>aa1f89d832bad698db886cb6b330a60ca</anchor>
      <arglist>(struct graymodel *gm, double x, double y)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void</type>
      <name>graymodel_solve</name>
      <anchorfile>apriltag_8c.html</anchorfile>
      <anchor>a3ce16d79d7603048aa75b2a6e6f2b1d9</anchor>
      <arglist>(struct graymodel *gm)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static matd_t *</type>
      <name>homography_compute2</name>
      <anchorfile>apriltag_8c.html</anchorfile>
      <anchor>a832557bdd620f3a5c444a216f027849e</anchor>
      <arglist>(double c[4][4])</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static int</type>
      <name>prefer_smaller</name>
      <anchorfile>apriltag_8c.html</anchorfile>
      <anchor>a0698ad0040162d998c23d96e5214f0ae</anchor>
      <arglist>(int pref, double q0, double q1)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static struct quad *</type>
      <name>quad_copy</name>
      <anchorfile>apriltag_8c.html</anchorfile>
      <anchor>a2020819a3b131cfac10bc0442d7b48b8</anchor>
      <arglist>(struct quad *quad)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static float</type>
      <name>quad_decode</name>
      <anchorfile>apriltag_8c.html</anchorfile>
      <anchor>a42063b151d2bca7f72fd43e3373e2754</anchor>
      <arglist>(apriltag_detector_t *td, apriltag_family_t *family, image_u8_t *im, struct quad *quad, struct quick_decode_entry *entry, image_u8_t *im_samples)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void</type>
      <name>quad_decode_task</name>
      <anchorfile>apriltag_8c.html</anchorfile>
      <anchor>a27017e28c0cbf584fca903d538bac79d</anchor>
      <arglist>(void *_u)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void</type>
      <name>quad_destroy</name>
      <anchorfile>apriltag_8c.html</anchorfile>
      <anchor>a70b873f8c35b10e624d3b94c2ed904a0</anchor>
      <arglist>(struct quad *quad)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static int</type>
      <name>quad_update_homographies</name>
      <anchorfile>apriltag_8c.html</anchorfile>
      <anchor>a1d464c8d679fadd53c57bd088c84a045</anchor>
      <arglist>(struct quad *quad)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void</type>
      <name>quick_decode_add</name>
      <anchorfile>apriltag_8c.html</anchorfile>
      <anchor>a1d7b26d0fe1624de70932adf6f02b0a8</anchor>
      <arglist>(struct quick_decode *qd, uint64_t code, int id, int hamming)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void</type>
      <name>quick_decode_codeword</name>
      <anchorfile>apriltag_8c.html</anchorfile>
      <anchor>a8f5167ff33206f016bdeac58964b4947</anchor>
      <arglist>(apriltag_family_t *tf, uint64_t rcode, struct quick_decode_entry *entry)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void</type>
      <name>quick_decode_init</name>
      <anchorfile>apriltag_8c.html</anchorfile>
      <anchor>a19f09a3e4775c79128b93e6375db9ba9</anchor>
      <arglist>(apriltag_family_t *family, int maxhamming)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void</type>
      <name>quick_decode_uninit</name>
      <anchorfile>apriltag_8c.html</anchorfile>
      <anchor>a895826dd6619dd1597cfd72c67eaaae3</anchor>
      <arglist>(apriltag_family_t *fam)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void</type>
      <name>refine_edges</name>
      <anchorfile>apriltag_8c.html</anchorfile>
      <anchor>a6409e894dde34196268380b0bcca911e</anchor>
      <arglist>(apriltag_detector_t *td, image_u8_t *im_orig, struct quad *quad)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static uint64_t</type>
      <name>rotate90</name>
      <anchorfile>apriltag_8c.html</anchorfile>
      <anchor>a0a30ab1c72f2a8c263bd3d687eb097fa</anchor>
      <arglist>(uint64_t w, int numBits)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void</type>
      <name>sharpen</name>
      <anchorfile>apriltag_8c.html</anchorfile>
      <anchor>af248f1d872f2217e664235cd25d83169</anchor>
      <arglist>(apriltag_detector_t *td, double *values, int size)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static double</type>
      <name>value_for_pixel</name>
      <anchorfile>apriltag_8c.html</anchorfile>
      <anchor>a500add54f3e47f48cff3516f84b080af</anchor>
      <arglist>(image_u8_t *im, double px, double py)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>apriltag.h</name>
    <path>/tmp/ws/src/apriltag/</path>
    <filename>apriltag_8h.html</filename>
    <includes id="matd_8h" name="matd.h" local="yes" imported="no">common/matd.h</includes>
    <includes id="image__u8_8h" name="image_u8.h" local="yes" imported="no">common/image_u8.h</includes>
    <includes id="zarray_8h" name="zarray.h" local="yes" imported="no">common/zarray.h</includes>
    <includes id="workerpool_8h" name="workerpool.h" local="yes" imported="no">common/workerpool.h</includes>
    <includes id="timeprofile_8h" name="timeprofile.h" local="yes" imported="no">common/timeprofile.h</includes>
    <includes id="pthreads__cross_8h" name="pthreads_cross.h" local="yes" imported="no">common/pthreads_cross.h</includes>
    <class kind="struct">apriltag_detection</class>
    <class kind="struct">apriltag_detector</class>
    <class kind="struct">apriltag_family</class>
    <class kind="struct">apriltag_quad_thresh_params</class>
    <class kind="struct">quad</class>
    <member kind="define">
      <type>#define</type>
      <name>APRILTAG_TASKS_PER_THREAD_TARGET</name>
      <anchorfile>apriltag_8h.html</anchorfile>
      <anchor>adef228e6277786fb745564bdf6d57336</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>struct apriltag_detection</type>
      <name>apriltag_detection_t</name>
      <anchorfile>apriltag_8h.html</anchorfile>
      <anchor>a83b0ed72a5eb2e9a8d2a6d54af364ad6</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>struct apriltag_detector</type>
      <name>apriltag_detector_t</name>
      <anchorfile>apriltag_8h.html</anchorfile>
      <anchor>a53fc71aaf879cacf63470059436f74d3</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>struct apriltag_family</type>
      <name>apriltag_family_t</name>
      <anchorfile>apriltag_8h.html</anchorfile>
      <anchor>a52f0de51baee9b961dfc067e19ec5d13</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>apriltag_detection_destroy</name>
      <anchorfile>apriltag_8h.html</anchorfile>
      <anchor>a8109c8405656a0aefc83da8f42cbb051</anchor>
      <arglist>(apriltag_detection_t *det)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>apriltag_detections_destroy</name>
      <anchorfile>apriltag_8h.html</anchorfile>
      <anchor>ab5942c7c14b891ee12f8e96214618e23</anchor>
      <arglist>(zarray_t *detections)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void</type>
      <name>apriltag_detector_add_family</name>
      <anchorfile>apriltag_8h.html</anchorfile>
      <anchor>ad20965d66b050ba5f8038a617d44501f</anchor>
      <arglist>(apriltag_detector_t *td, apriltag_family_t *fam)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>apriltag_detector_add_family_bits</name>
      <anchorfile>apriltag_8h.html</anchorfile>
      <anchor>a117c9fd312bbe9a6b7016b2f0bc9d429</anchor>
      <arglist>(apriltag_detector_t *td, apriltag_family_t *fam, int bits_corrected)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>apriltag_detector_clear_families</name>
      <anchorfile>apriltag_8h.html</anchorfile>
      <anchor>a9b7aa8b80d562ac0f019d830ae471a80</anchor>
      <arglist>(apriltag_detector_t *td)</arglist>
    </member>
    <member kind="function">
      <type>apriltag_detector_t *</type>
      <name>apriltag_detector_create</name>
      <anchorfile>apriltag_8h.html</anchorfile>
      <anchor>a71a867ba0aa7a4bcb5abd2c41656697e</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>apriltag_detector_destroy</name>
      <anchorfile>apriltag_8h.html</anchorfile>
      <anchor>a7ccb37bf33f9bf337240d2d037d51b0b</anchor>
      <arglist>(apriltag_detector_t *td)</arglist>
    </member>
    <member kind="function">
      <type>zarray_t *</type>
      <name>apriltag_detector_detect</name>
      <anchorfile>apriltag_8h.html</anchorfile>
      <anchor>a990ce83674aae6e7bb38506cd39e67f8</anchor>
      <arglist>(apriltag_detector_t *td, image_u8_t *im_orig)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>apriltag_detector_remove_family</name>
      <anchorfile>apriltag_8h.html</anchorfile>
      <anchor>ae0ea55b10c82b356a49efe54df94d381</anchor>
      <arglist>(apriltag_detector_t *td, apriltag_family_t *fam)</arglist>
    </member>
    <member kind="function">
      <type>image_u8_t *</type>
      <name>apriltag_to_image</name>
      <anchorfile>apriltag_8h.html</anchorfile>
      <anchor>a50bb8370a9ed499f33039eb1cbaa553b</anchor>
      <arglist>(apriltag_family_t *fam, uint32_t idx)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>apriltag_demo.c</name>
    <path>/tmp/ws/src/apriltag/example/</path>
    <filename>apriltag__demo_8c.html</filename>
    <includes id="apriltag_8h" name="apriltag.h" local="yes" imported="no">apriltag.h</includes>
    <includes id="tag36h11_8h" name="tag36h11.h" local="yes" imported="no">tag36h11.h</includes>
    <includes id="tag25h9_8h" name="tag25h9.h" local="yes" imported="no">tag25h9.h</includes>
    <includes id="tag16h5_8h" name="tag16h5.h" local="yes" imported="no">tag16h5.h</includes>
    <includes id="tagCircle21h7_8h" name="tagCircle21h7.h" local="yes" imported="no">tagCircle21h7.h</includes>
    <includes id="tagCircle49h12_8h" name="tagCircle49h12.h" local="yes" imported="no">tagCircle49h12.h</includes>
    <includes id="tagCustom48h12_8h" name="tagCustom48h12.h" local="yes" imported="no">tagCustom48h12.h</includes>
    <includes id="tagStandard41h12_8h" name="tagStandard41h12.h" local="yes" imported="no">tagStandard41h12.h</includes>
    <includes id="tagStandard52h13_8h" name="tagStandard52h13.h" local="yes" imported="no">tagStandard52h13.h</includes>
    <includes id="getopt_8h" name="getopt.h" local="yes" imported="no">common/getopt.h</includes>
    <includes id="image__u8_8h" name="image_u8.h" local="yes" imported="no">common/image_u8.h</includes>
    <includes id="pjpeg_8h" name="pjpeg.h" local="yes" imported="no">common/pjpeg.h</includes>
    <includes id="zarray_8h" name="zarray.h" local="yes" imported="no">common/zarray.h</includes>
    <member kind="define">
      <type>#define</type>
      <name>HAMM_HIST_MAX</name>
      <anchorfile>apriltag__demo_8c.html</anchorfile>
      <anchor>a9da3c8d0cb9f38fbf2e87ee370f8eaf6</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>main</name>
      <anchorfile>apriltag__demo_8c.html</anchorfile>
      <anchor>a0ddf1224851353fc92bfbff6f499fa97</anchor>
      <arglist>(int argc, char *argv[])</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>apriltag_math.h</name>
    <path>/tmp/ws/src/apriltag/</path>
    <filename>apriltag__math_8h.html</filename>
    <member kind="function" static="yes">
      <type>static void</type>
      <name>mat33_chol</name>
      <anchorfile>apriltag__math_8h.html</anchorfile>
      <anchor>aea23833aedca2ee6eaa9aa95c83d05a9</anchor>
      <arglist>(const double *A, double *R)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void</type>
      <name>mat33_lower_tri_inv</name>
      <anchorfile>apriltag__math_8h.html</anchorfile>
      <anchor>a4d24385dedc159d5541fab113e429264</anchor>
      <arglist>(const double *A, double *R)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void</type>
      <name>mat33_sym_solve</name>
      <anchorfile>apriltag__math_8h.html</anchorfile>
      <anchor>ad8787cb2465e796f86ff50bfa7c2c5eb</anchor>
      <arglist>(const double *A, const double *B, double *R)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>apriltag_pose.c</name>
    <path>/tmp/ws/src/apriltag/</path>
    <filename>apriltag__pose_8c.html</filename>
    <includes id="debug__print_8h" name="debug_print.h" local="yes" imported="no">common/debug_print.h</includes>
    <includes id="apriltag__pose_8h" name="apriltag_pose.h" local="yes" imported="no">apriltag_pose.h</includes>
    <includes id="homography_8h" name="homography.h" local="yes" imported="no">common/homography.h</includes>
    <member kind="function">
      <type>matd_t *</type>
      <name>calculate_F</name>
      <anchorfile>apriltag__pose_8c.html</anchorfile>
      <anchor>a1ba856d9441e4ba3be1d08f2ddd36027</anchor>
      <arglist>(matd_t *v)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>estimate_pose_for_tag_homography</name>
      <anchorfile>apriltag__pose_8c.html</anchorfile>
      <anchor>a431fbaa71d550b85a9ab7fa6e563941b</anchor>
      <arglist>(apriltag_detection_info_t *info, apriltag_pose_t *solution)</arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>estimate_tag_pose</name>
      <anchorfile>apriltag__pose_8c.html</anchorfile>
      <anchor>ac76d83ff51a330d4188f916966f7b521</anchor>
      <arglist>(apriltag_detection_info_t *info, apriltag_pose_t *pose)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>estimate_tag_pose_orthogonal_iteration</name>
      <anchorfile>apriltag__pose_8c.html</anchorfile>
      <anchor>a682863f07569b2e0aaf6f8c65329c289</anchor>
      <arglist>(apriltag_detection_info_t *info, double *err1, apriltag_pose_t *solution1, double *err2, apriltag_pose_t *solution2, int nIters)</arglist>
    </member>
    <member kind="function">
      <type>matd_t *</type>
      <name>fix_pose_ambiguities</name>
      <anchorfile>apriltag__pose_8c.html</anchorfile>
      <anchor>a9da37e4e0510a7b28c1c0d4a46e5b31e</anchor>
      <arglist>(matd_t **v, matd_t **p, matd_t *t, matd_t *R, int n_points)</arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>matd_to_double</name>
      <anchorfile>apriltag__pose_8c.html</anchorfile>
      <anchor>ae1ad5a0ec07340b47633b8fcdd287d31</anchor>
      <arglist>(matd_t *a)</arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>orthogonal_iteration</name>
      <anchorfile>apriltag__pose_8c.html</anchorfile>
      <anchor>a906b6023630bce6a296fe6b36f8c44da</anchor>
      <arglist>(matd_t **v, matd_t **p, matd_t **t, matd_t **R, int n_points, int n_steps)</arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>polyval</name>
      <anchorfile>apriltag__pose_8c.html</anchorfile>
      <anchor>a33641d6deb591732e7064edef31b36ca</anchor>
      <arglist>(double *p, int degree, double x)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>solve_poly_approx</name>
      <anchorfile>apriltag__pose_8c.html</anchorfile>
      <anchor>aee390c5517844b22bdd1937b221d3571</anchor>
      <arglist>(double *p, int degree, double *roots, int *n_roots)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>apriltag_pose.h</name>
    <path>/tmp/ws/src/apriltag/</path>
    <filename>apriltag__pose_8h.html</filename>
    <includes id="apriltag_8h" name="apriltag.h" local="yes" imported="no">apriltag.h</includes>
    <includes id="matd_8h" name="matd.h" local="yes" imported="no">common/matd.h</includes>
    <class kind="struct">apriltag_detection_info_t</class>
    <class kind="struct">apriltag_pose_t</class>
    <member kind="function">
      <type>void</type>
      <name>estimate_pose_for_tag_homography</name>
      <anchorfile>apriltag__pose_8h.html</anchorfile>
      <anchor>a99fd5d795be19c40f0a30a7a6469778a</anchor>
      <arglist>(apriltag_detection_info_t *info, apriltag_pose_t *pose)</arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>estimate_tag_pose</name>
      <anchorfile>apriltag__pose_8h.html</anchorfile>
      <anchor>ac76d83ff51a330d4188f916966f7b521</anchor>
      <arglist>(apriltag_detection_info_t *info, apriltag_pose_t *pose)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>estimate_tag_pose_orthogonal_iteration</name>
      <anchorfile>apriltag__pose_8h.html</anchorfile>
      <anchor>a57d4d81123e3de9f6e29c7e47601c1e3</anchor>
      <arglist>(apriltag_detection_info_t *info, double *err1, apriltag_pose_t *pose1, double *err2, apriltag_pose_t *pose2, int nIters)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>apriltag_pywrap.c</name>
    <path>/tmp/ws/src/apriltag/</path>
    <filename>apriltag__pywrap_8c.html</filename>
    <includes id="apriltag_8h" name="apriltag.h" local="yes" imported="no">apriltag.h</includes>
    <includes id="tag36h10_8h" name="tag36h10.h" local="yes" imported="no">tag36h10.h</includes>
    <includes id="tag36h11_8h" name="tag36h11.h" local="yes" imported="no">tag36h11.h</includes>
    <includes id="tag25h9_8h" name="tag25h9.h" local="yes" imported="no">tag25h9.h</includes>
    <includes id="tag16h5_8h" name="tag16h5.h" local="yes" imported="no">tag16h5.h</includes>
    <includes id="tagCircle21h7_8h" name="tagCircle21h7.h" local="yes" imported="no">tagCircle21h7.h</includes>
    <includes id="tagCircle49h12_8h" name="tagCircle49h12.h" local="yes" imported="no">tagCircle49h12.h</includes>
    <includes id="tagCustom48h12_8h" name="tagCustom48h12.h" local="yes" imported="no">tagCustom48h12.h</includes>
    <includes id="tagStandard41h12_8h" name="tagStandard41h12.h" local="yes" imported="no">tagStandard41h12.h</includes>
    <includes id="tagStandard52h13_8h" name="tagStandard52h13.h" local="yes" imported="no">tagStandard52h13.h</includes>
    <class kind="struct">apriltag_py_t</class>
    <member kind="define">
      <type>#define</type>
      <name>FAMILY_STRING</name>
      <anchorfile>apriltag__pywrap_8c.html</anchorfile>
      <anchor>a47980525a3817c9dc5900a39db8c3c99</anchor>
      <arglist>(name)</arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>NPY_NO_DEPRECATED_API</name>
      <anchorfile>apriltag__pywrap_8c.html</anchorfile>
      <anchor>ab6e6ee86736f9ebb56e74ae21bf3ff8a</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>PYMETHODDEF_ENTRY</name>
      <anchorfile>apriltag__pywrap_8c.html</anchorfile>
      <anchor>a775e5e910bbeb2314b4b99113cf236c0</anchor>
      <arglist>(function_prefix, name, args)</arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>RESET_SIGINT</name>
      <anchorfile>apriltag__pywrap_8c.html</anchorfile>
      <anchor>a0aedae88f89e5eac8b290e9808a5082f</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>SET_SIGINT</name>
      <anchorfile>apriltag__pywrap_8c.html</anchorfile>
      <anchor>a1cbcb58c06f637cf6162926f7be177aa</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>SUPPORTED_TAG_FAMILIES</name>
      <anchorfile>apriltag__pywrap_8c.html</anchorfile>
      <anchor>a6ddbcebebf0fb7ed484204f58838fef3</anchor>
      <arglist>(_)</arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>TAG_CREATE_FAMILY</name>
      <anchorfile>apriltag__pywrap_8c.html</anchorfile>
      <anchor>a37e444606eb9084dcee82cda6a784dfb</anchor>
      <arglist>(name)</arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>TAG_SET_DESTROY_FUNC</name>
      <anchorfile>apriltag__pywrap_8c.html</anchorfile>
      <anchor>a0341fd9d800e6381773310a158c1f34c</anchor>
      <arglist>(name)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void</type>
      <name>apriltag_dealloc</name>
      <anchorfile>apriltag__pywrap_8c.html</anchorfile>
      <anchor>a3f4e9c5b3451c5cb8594bfd534024b82</anchor>
      <arglist>(apriltag_py_t *self)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static PyObject *</type>
      <name>apriltag_detect</name>
      <anchorfile>apriltag__pywrap_8c.html</anchorfile>
      <anchor>a9b98c9883785335e803b480c59709957</anchor>
      <arglist>(apriltag_py_t *self, PyObject *args)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static PyObject *</type>
      <name>apriltag_new</name>
      <anchorfile>apriltag__pywrap_8c.html</anchorfile>
      <anchor>aab7da35ea881b33d09663874dfd7225a</anchor>
      <arglist>(PyTypeObject *type, PyObject *args, PyObject *kwargs)</arglist>
    </member>
    <member kind="function">
      <type>PyMODINIT_FUNC</type>
      <name>PyInit_apriltag</name>
      <anchorfile>apriltag__pywrap_8c.html</anchorfile>
      <anchor>a64406ede6677a881b7d9bc8d874e4880</anchor>
      <arglist>(void)</arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static PyMethodDef</type>
      <name>apriltag_methods</name>
      <anchorfile>apriltag__pywrap_8c.html</anchorfile>
      <anchor>a8a45be02e4646ca3f7266edb17370542</anchor>
      <arglist>[]</arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static PyTypeObject</type>
      <name>apriltagType</name>
      <anchorfile>apriltag__pywrap_8c.html</anchorfile>
      <anchor>a061159ad819a15c2c533779b070a6789</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static PyMethodDef</type>
      <name>methods</name>
      <anchorfile>apriltag__pywrap_8c.html</anchorfile>
      <anchor>a742165e6e86b784c87c49f27040cc482</anchor>
      <arglist>[]</arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static struct PyModuleDef</type>
      <name>module_def</name>
      <anchorfile>apriltag__pywrap_8c.html</anchorfile>
      <anchor>a6028eb45b3d37b09ceb64489a8e059e3</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>apriltag_quad_thresh.c</name>
    <path>/tmp/ws/src/apriltag/</path>
    <filename>apriltag__quad__thresh_8c.html</filename>
    <includes id="apriltag_8h" name="apriltag.h" local="yes" imported="no">apriltag.h</includes>
    <includes id="image__u8x3_8h" name="image_u8x3.h" local="yes" imported="no">common/image_u8x3.h</includes>
    <includes id="zarray_8h" name="zarray.h" local="yes" imported="no">common/zarray.h</includes>
    <includes id="unionfind_8h" name="unionfind.h" local="yes" imported="no">common/unionfind.h</includes>
    <includes id="timeprofile_8h" name="timeprofile.h" local="yes" imported="no">common/timeprofile.h</includes>
    <includes id="zmaxheap_8h" name="zmaxheap.h" local="yes" imported="no">common/zmaxheap.h</includes>
    <includes id="postscript__utils_8h" name="postscript_utils.h" local="yes" imported="no">common/postscript_utils.h</includes>
    <includes id="math__util_8h" name="math_util.h" local="yes" imported="no">common/math_util.h</includes>
    <class kind="struct">blur_task</class>
    <class kind="struct">cluster_hash</class>
    <class kind="struct">cluster_task</class>
    <class kind="struct">line_fit_pt</class>
    <class kind="struct">minmax_task</class>
    <class kind="struct">pt</class>
    <class kind="struct">quad_task</class>
    <class kind="struct">remove_vertex</class>
    <class kind="struct">segment</class>
    <class kind="struct">threshold_task</class>
    <class kind="struct">uint64_zarray_entry</class>
    <class kind="struct">unionfind_task</class>
    <member kind="define">
      <type>#define</type>
      <name>_USE_MATH_DEFINES</name>
      <anchorfile>apriltag__quad__thresh_8c.html</anchorfile>
      <anchor>a525335710b53cb064ca56b936120431e</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>DO_CONN</name>
      <anchorfile>apriltag__quad__thresh_8c.html</anchorfile>
      <anchor>a26b077f06252ee0265501f19806d485d</anchor>
      <arglist>(dx, dy)</arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>DO_UNIONFIND2</name>
      <anchorfile>apriltag__quad__thresh_8c.html</anchorfile>
      <anchor>a04c529a78873e5b58de67852c4e1213b</anchor>
      <arglist>(dx, dy)</arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>MAYBE_SWAP</name>
      <anchorfile>apriltag__quad__thresh_8c.html</anchorfile>
      <anchor>afa0639dd2cf1cc5194068fe5a2998185</anchor>
      <arglist>(arr, apos, bpos)</arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>MERGE</name>
      <anchorfile>apriltag__quad__thresh_8c.html</anchorfile>
      <anchor>acd65dc0c4e6ce885f2b05ab113f13187</anchor>
      <arglist>(apos, bpos)</arglist>
    </member>
    <member kind="function">
      <type>zarray_t *</type>
      <name>apriltag_quad_thresh</name>
      <anchorfile>apriltag__quad__thresh_8c.html</anchorfile>
      <anchor>adcabfa45c9a98285da741973451292ad</anchor>
      <arglist>(apriltag_detector_t *td, image_u8_t *im)</arglist>
    </member>
    <member kind="function">
      <type>struct line_fit_pt *</type>
      <name>compute_lfps</name>
      <anchorfile>apriltag__quad__thresh_8c.html</anchorfile>
      <anchor>ad9ca0b827b7a49cd3c495c7520a1a373</anchor>
      <arglist>(int sz, zarray_t *cluster, image_u8_t *im)</arglist>
    </member>
    <member kind="function">
      <type>unionfind_t *</type>
      <name>connected_components</name>
      <anchorfile>apriltag__quad__thresh_8c.html</anchorfile>
      <anchor>a02bf25d9f9659a91ad17f9716daeef7b</anchor>
      <arglist>(apriltag_detector_t *td, image_u8_t *threshim, int w, int h, int ts)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>do_blur_task</name>
      <anchorfile>apriltag__quad__thresh_8c.html</anchorfile>
      <anchor>a6c9c1e0a1bdab1cf5034dcc8a2ac9f83</anchor>
      <arglist>(void *p)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void</type>
      <name>do_cluster_task</name>
      <anchorfile>apriltag__quad__thresh_8c.html</anchorfile>
      <anchor>a1ca6d17c0a391aa5b9778e52ebcf419e</anchor>
      <arglist>(void *p)</arglist>
    </member>
    <member kind="function">
      <type>zarray_t *</type>
      <name>do_gradient_clusters</name>
      <anchorfile>apriltag__quad__thresh_8c.html</anchorfile>
      <anchor>a5f4e434cc14e4961db029b3321dc518d</anchor>
      <arglist>(image_u8_t *threshim, int ts, int y0, int y1, int w, int nclustermap, unionfind_t *uf, zarray_t *clusters)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>do_minmax_task</name>
      <anchorfile>apriltag__quad__thresh_8c.html</anchorfile>
      <anchor>a17debd95c548152a6240bb9db5c60b6c</anchor>
      <arglist>(void *p)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void</type>
      <name>do_quad_task</name>
      <anchorfile>apriltag__quad__thresh_8c.html</anchorfile>
      <anchor>a4fef11fd8de1aefe0c40af22527f4b2f</anchor>
      <arglist>(void *p)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>do_threshold_task</name>
      <anchorfile>apriltag__quad__thresh_8c.html</anchorfile>
      <anchor>ab28da81c704693b9bf9e62e8a0f8718a</anchor>
      <arglist>(void *p)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void</type>
      <name>do_unionfind_first_line</name>
      <anchorfile>apriltag__quad__thresh_8c.html</anchorfile>
      <anchor>a918a9ca9d32f9199cca2bf0bbc5760eb</anchor>
      <arglist>(unionfind_t *uf, image_u8_t *im, int w, int s)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void</type>
      <name>do_unionfind_line2</name>
      <anchorfile>apriltag__quad__thresh_8c.html</anchorfile>
      <anchor>a4e02b55c10ea3e1475eb852e9cfc9616</anchor>
      <arglist>(unionfind_t *uf, image_u8_t *im, int w, int s, int y)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void</type>
      <name>do_unionfind_task2</name>
      <anchorfile>apriltag__quad__thresh_8c.html</anchorfile>
      <anchor>afd27bb7d9e354af8375e578f9b36d16b</anchor>
      <arglist>(void *p)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>err_compare_descending</name>
      <anchorfile>apriltag__quad__thresh_8c.html</anchorfile>
      <anchor>aaa875a700e7a5b5b173e2167efee4dcf</anchor>
      <arglist>(const void *_a, const void *_b)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>fit_line</name>
      <anchorfile>apriltag__quad__thresh_8c.html</anchorfile>
      <anchor>a3d9c5bcf8a99a37a22e43c414e33396b</anchor>
      <arglist>(struct line_fit_pt *lfps, int sz, int i0, int i1, double *lineparm, double *err, double *mse)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>fit_quad</name>
      <anchorfile>apriltag__quad__thresh_8c.html</anchorfile>
      <anchor>ac648a70bf976f6ed2a0e70f97ee16110</anchor>
      <arglist>(apriltag_detector_t *td, image_u8_t *im, zarray_t *cluster, struct quad *quad, int tag_width, bool normal_border, bool reversed_border)</arglist>
    </member>
    <member kind="function">
      <type>zarray_t *</type>
      <name>fit_quads</name>
      <anchorfile>apriltag__quad__thresh_8c.html</anchorfile>
      <anchor>ac3bb4773ca4d8c72443b656d703cc87b</anchor>
      <arglist>(apriltag_detector_t *td, int w, int h, zarray_t *clusters, image_u8_t *im)</arglist>
    </member>
    <member kind="function">
      <type>zarray_t *</type>
      <name>gradient_clusters</name>
      <anchorfile>apriltag__quad__thresh_8c.html</anchorfile>
      <anchor>a714f16fb5369f7af3a9d88d233a57bfe</anchor>
      <arglist>(apriltag_detector_t *td, image_u8_t *threshim, int w, int h, int ts, unionfind_t *uf)</arglist>
    </member>
    <member kind="function">
      <type>zarray_t *</type>
      <name>merge_clusters</name>
      <anchorfile>apriltag__quad__thresh_8c.html</anchorfile>
      <anchor>aa3121d3b815f194c5a808dd2da608d05</anchor>
      <arglist>(zarray_t *c1, zarray_t *c2)</arglist>
    </member>
    <member kind="function">
      <type>float</type>
      <name>pt_compare_angle</name>
      <anchorfile>apriltag__quad__thresh_8c.html</anchorfile>
      <anchor>a8cb4d2422fbd2c7062b2b4633a84d55d</anchor>
      <arglist>(struct pt *a, struct pt *b)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void</type>
      <name>ptsort</name>
      <anchorfile>apriltag__quad__thresh_8c.html</anchorfile>
      <anchor>ae0dbe0e5af4f3211c28f1658f8c803c2</anchor>
      <arglist>(struct pt *pts, int sz)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>quad_segment_agg</name>
      <anchorfile>apriltag__quad__thresh_8c.html</anchorfile>
      <anchor>a19ec899847c8fe55986fb0d2913eca03</anchor>
      <arglist>(zarray_t *cluster, struct line_fit_pt *lfps, int indices[4])</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>quad_segment_maxima</name>
      <anchorfile>apriltag__quad__thresh_8c.html</anchorfile>
      <anchor>a66f5c20bbfe802e56214f81c295cd674</anchor>
      <arglist>(apriltag_detector_t *td, zarray_t *cluster, struct line_fit_pt *lfps, int indices[4])</arglist>
    </member>
    <member kind="function">
      <type>image_u8_t *</type>
      <name>threshold</name>
      <anchorfile>apriltag__quad__thresh_8c.html</anchorfile>
      <anchor>a7ca24be42ef367f9c77f9c149395e7c7</anchor>
      <arglist>(apriltag_detector_t *td, image_u8_t *im)</arglist>
    </member>
    <member kind="function">
      <type>image_u8_t *</type>
      <name>threshold_bayer</name>
      <anchorfile>apriltag__quad__thresh_8c.html</anchorfile>
      <anchor>ae62a3a6c2c131c637b1bd684e65b8f42</anchor>
      <arglist>(apriltag_detector_t *td, image_u8_t *im)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static uint32_t</type>
      <name>u64hash_2</name>
      <anchorfile>apriltag__quad__thresh_8c.html</anchorfile>
      <anchor>abfcdd4a232ca22ea7b68e9642ea25af4</anchor>
      <arglist>(uint64_t x)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>debug_print.h</name>
    <path>/tmp/ws/src/apriltag/common/</path>
    <filename>debug__print_8h.html</filename>
    <member kind="define">
      <type>#define</type>
      <name>DEBUG</name>
      <anchorfile>debug__print_8h.html</anchorfile>
      <anchor>ad72dbcf6d0153db1b8d8a58001feed83</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>debug_print</name>
      <anchorfile>debug__print_8h.html</anchorfile>
      <anchor>a7377cc956f5c81538f0fbf0a0492a539</anchor>
      <arglist>(fmt,...)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>doubles.h</name>
    <path>/tmp/ws/src/apriltag/common/</path>
    <filename>doubles_8h.html</filename>
    <includes id="doubles__floats__impl_8h" name="doubles_floats_impl.h" local="yes" imported="no">doubles_floats_impl.h</includes>
    <member kind="define">
      <type>#define</type>
      <name>TNAME</name>
      <anchorfile>doubles_8h.html</anchorfile>
      <anchor>af7dd188b7e9a8592e394e37ba6272a90</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>doubles_floats_impl.h</name>
    <path>/tmp/ws/src/apriltag/common/</path>
    <filename>doubles__floats__impl_8h.html</filename>
    <includes id="matd_8h" name="matd.h" local="yes" imported="no">matd.h</includes>
    <includes id="math__util_8h" name="math_util.h" local="yes" imported="no">math_util.h</includes>
    <member kind="define">
      <type>#define</type>
      <name>TFN</name>
      <anchorfile>doubles__floats__impl_8h.html</anchorfile>
      <anchor>abe301d05195bedae96e50044fa328ec7</anchor>
      <arglist>(suffix)</arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>TRFN</name>
      <anchorfile>doubles__floats__impl_8h.html</anchorfile>
      <anchor>a0a4acba83100a726a42d0d21529cdb7c</anchor>
      <arglist>(root, suffix)</arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>TRRFN</name>
      <anchorfile>doubles__floats__impl_8h.html</anchorfile>
      <anchor>a3b28bea1bd0dfb700b5bdc1c85cfaac9</anchor>
      <arglist>(root, suffix)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void TFN()</type>
      <name>s_add</name>
      <anchorfile>doubles__floats__impl_8h.html</anchorfile>
      <anchor>ad24181f121999758fd55796082d2ecf9</anchor>
      <arglist>(const TNAME *a, const TNAME *b, int len, TNAME *r)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void TFN()</type>
      <name>s_angleaxis_to_mat44</name>
      <anchorfile>doubles__floats__impl_8h.html</anchorfile>
      <anchor>a95031f0c9ac67d8e332f80f392d5c9f5</anchor>
      <arglist>(const TNAME aa[4], TNAME r[16])</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void TFN()</type>
      <name>s_angleaxis_to_quat</name>
      <anchorfile>doubles__floats__impl_8h.html</anchorfile>
      <anchor>a036fe9998ddcd8a301041651aa475adf</anchor>
      <arglist>(const TNAME aa[4], TNAME q[4])</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void TFN()</type>
      <name>s_copy</name>
      <anchorfile>doubles__floats__impl_8h.html</anchorfile>
      <anchor>aa7cc9c0ca716d2a03b49a3b1132b9bf9</anchor>
      <arglist>(const TNAME *src, TNAME *dst, int n)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void TFN()</type>
      <name>s_cross_matrix</name>
      <anchorfile>doubles__floats__impl_8h.html</anchorfile>
      <anchor>abdf103c0bfe938e9e36786d11ae906a0</anchor>
      <arglist>(const TNAME v[3], TNAME V[9])</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void TFN()</type>
      <name>s_cross_product</name>
      <anchorfile>doubles__floats__impl_8h.html</anchorfile>
      <anchor>afbd9a1692b4b1f6f9f17c4756a48de61</anchor>
      <arglist>(const TNAME v1[3], const TNAME v2[3], TNAME r[3])</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static TNAME TFN()</type>
      <name>s_distance</name>
      <anchorfile>doubles__floats__impl_8h.html</anchorfile>
      <anchor>a4ca6ac1f764645fe4a56aebc3f841b22</anchor>
      <arglist>(const TNAME *a, const TNAME *b, int len)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static TNAME TFN()</type>
      <name>s_dot</name>
      <anchorfile>doubles__floats__impl_8h.html</anchorfile>
      <anchor>a6e2e7452b297b3dfd7de379bd874d822</anchor>
      <arglist>(const TNAME *a, const TNAME *b, int len)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static TNAME *TFN()</type>
      <name>s_dup</name>
      <anchorfile>doubles__floats__impl_8h.html</anchorfile>
      <anchor>afe088d42aad24c63ff730693eaeb412c</anchor>
      <arglist>(const TNAME *v, int len)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void TFN()</type>
      <name>s_elu_to_mat44</name>
      <anchorfile>doubles__floats__impl_8h.html</anchorfile>
      <anchor>a2b905aac4d74b3d4ea0e8d4fc60299bc</anchor>
      <arglist>(const TNAME eye[3], const TNAME lookat[3], const TNAME _up[3], TNAME M[16])</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static TNAME TFN()</type>
      <name>s_magnitude</name>
      <anchorfile>doubles__floats__impl_8h.html</anchorfile>
      <anchor>a10e7d5a42fa19c10bef6d8066357098a</anchor>
      <arglist>(const TNAME *v, int len)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void TFN()</type>
      <name>s_mat33_chol</name>
      <anchorfile>doubles__floats__impl_8h.html</anchorfile>
      <anchor>a3a7130dbbc1200ca07b1d9bbc4c835fc</anchor>
      <arglist>(const TNAME *A, int Arows, int Acols, TNAME *R, int Brows, int Bcols)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void TFN()</type>
      <name>s_mat33_lower_tri_inv</name>
      <anchorfile>doubles__floats__impl_8h.html</anchorfile>
      <anchor>a2b5330e5177d49f938643f591d0e8401</anchor>
      <arglist>(const TNAME *A, int Arows, int Acols, TNAME *R, int Rrows, int Rcols)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void TFN()</type>
      <name>s_mat33_sym_solve</name>
      <anchorfile>doubles__floats__impl_8h.html</anchorfile>
      <anchor>aeb3d13d0e421a37827d55d1f5347783e</anchor>
      <arglist>(const TNAME *A, int Arows, int Acols, const TNAME *B, int Brows, int Bcols, TNAME *R, int Rrows, int Rcols)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void TFN()</type>
      <name>s_mat44_identity</name>
      <anchorfile>doubles__floats__impl_8h.html</anchorfile>
      <anchor>a1d69196cf35e05a98c48a594f3d0890a</anchor>
      <arglist>(TNAME out[16])</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void TFN()</type>
      <name>s_mat44_inv</name>
      <anchorfile>doubles__floats__impl_8h.html</anchorfile>
      <anchor>acfa4b01bd0453ad0ba07158a0ecf2d93</anchor>
      <arglist>(const TNAME M[16], TNAME out[16])</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void TFN()</type>
      <name>s_mat44_inv_rotate_vector</name>
      <anchorfile>doubles__floats__impl_8h.html</anchorfile>
      <anchor>a418ffcaa28ae3e72028294dd570fa08a</anchor>
      <arglist>(const TNAME M[16], const TNAME in[3], TNAME out[3])</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void TFN()</type>
      <name>s_mat44_inv_transform_xyz</name>
      <anchorfile>doubles__floats__impl_8h.html</anchorfile>
      <anchor>a1ddbd36a90eceb27638feee7ab3f1f73</anchor>
      <arglist>(const TNAME M[16], const TNAME in[3], TNAME out[3])</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void TFN()</type>
      <name>s_mat44_rotate_vector</name>
      <anchorfile>doubles__floats__impl_8h.html</anchorfile>
      <anchor>ae51c169fffae6434a21b38a8eac7582a</anchor>
      <arglist>(const TNAME M[16], const TNAME in[3], TNAME out[3])</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void TFN()</type>
      <name>s_mat44_rotate_x</name>
      <anchorfile>doubles__floats__impl_8h.html</anchorfile>
      <anchor>a083be611c0501965d2dd5652d722622b</anchor>
      <arglist>(TNAME rad, TNAME out[16])</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void TFN()</type>
      <name>s_mat44_rotate_y</name>
      <anchorfile>doubles__floats__impl_8h.html</anchorfile>
      <anchor>a93f5725fbfb64ad84091c6050dfedcfe</anchor>
      <arglist>(TNAME rad, TNAME out[16])</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void TFN()</type>
      <name>s_mat44_rotate_z</name>
      <anchorfile>doubles__floats__impl_8h.html</anchorfile>
      <anchor>a6ac16db977b42af2ef3d4dcd25fe8256</anchor>
      <arglist>(TNAME rad, TNAME out[16])</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void TFN()</type>
      <name>s_mat44_rotate_z_self</name>
      <anchorfile>doubles__floats__impl_8h.html</anchorfile>
      <anchor>a610d1cf11d108977dc09db6c7e726450</anchor>
      <arglist>(TNAME rad, TNAME out[16])</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void TFN()</type>
      <name>s_mat44_scale</name>
      <anchorfile>doubles__floats__impl_8h.html</anchorfile>
      <anchor>aa97ae64a6c68db833e1b48f9908bb86e</anchor>
      <arglist>(const TNAME sxyz[3], TNAME out[16])</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void TFN()</type>
      <name>s_mat44_scale_self</name>
      <anchorfile>doubles__floats__impl_8h.html</anchorfile>
      <anchor>ad63c7ebb652210419eaf4b05fdab024b</anchor>
      <arglist>(const TNAME sxyz[3], TNAME out[16])</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void TFN()</type>
      <name>s_mat44_to_xyt</name>
      <anchorfile>doubles__floats__impl_8h.html</anchorfile>
      <anchor>a5bc9c8d7a1afb49f507a7787bb5f0f0e</anchor>
      <arglist>(const TNAME M[16], TNAME xyt[3])</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void TFN()</type>
      <name>s_mat44_transform_xyz</name>
      <anchorfile>doubles__floats__impl_8h.html</anchorfile>
      <anchor>a51ef1bae336e0b3f6a205ffb46ab4873</anchor>
      <arglist>(const TNAME M[16], const TNAME in[3], TNAME out[3])</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void TFN()</type>
      <name>s_mat44_translate</name>
      <anchorfile>doubles__floats__impl_8h.html</anchorfile>
      <anchor>a5c0a7bc8abda438948d54f5aa4d0ef6e</anchor>
      <arglist>(const TNAME txyz[3], TNAME out[16])</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void TFN()</type>
      <name>s_mat44_translate_self</name>
      <anchorfile>doubles__floats__impl_8h.html</anchorfile>
      <anchor>ae531f01d4898462e3c326f59d9a3d6ce</anchor>
      <arglist>(const TNAME txyz[3], TNAME out[16])</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void TFN()</type>
      <name>s_mat_Ab</name>
      <anchorfile>doubles__floats__impl_8h.html</anchorfile>
      <anchor>a33dadcd2d6f46a3b408500b4a6bd5250</anchor>
      <arglist>(const TNAME *A, int Arows, int Acols, const TNAME *B, int Blength, TNAME *R, int Rlength)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void TFN()</type>
      <name>s_mat_AB</name>
      <anchorfile>doubles__floats__impl_8h.html</anchorfile>
      <anchor>aa58f6da3ff7de7135027729b4691f6c4</anchor>
      <arglist>(const TNAME *A, int Arows, int Acols, const TNAME *B, int Brows, int Bcols, TNAME *R, int Rrows, int Rcols)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void TFN()</type>
      <name>s_mat_ABC</name>
      <anchorfile>doubles__floats__impl_8h.html</anchorfile>
      <anchor>a7afdf1d518ebb6f0de0b8252f1262274</anchor>
      <arglist>(const TNAME *A, int Arows, int Acols, const TNAME *B, int Brows, int Bcols, const TNAME *C, int Crows, int Ccols, TNAME *R, int Rrows, int Rcols)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void TFN()</type>
      <name>s_mat_ABt</name>
      <anchorfile>doubles__floats__impl_8h.html</anchorfile>
      <anchor>adae7cec4ecaa218943832caa79e05016</anchor>
      <arglist>(const TNAME *A, int Arows, int Acols, const TNAME *B, int Brows, int Bcols, TNAME *R, int Rrows, int Rcols)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void TFN()</type>
      <name>s_mat_add</name>
      <anchorfile>doubles__floats__impl_8h.html</anchorfile>
      <anchor>a2024c69eec4dbe8a4f81947884bf0728</anchor>
      <arglist>(const TNAME *A, int Arows, int Acols, const TNAME *B, int Brows, int Bcols, TNAME *R, int Rrows, int Rcols)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void TFN()</type>
      <name>s_mat_AtB</name>
      <anchorfile>doubles__floats__impl_8h.html</anchorfile>
      <anchor>a083aa13d75d6f2eaf3e139e44b609718</anchor>
      <arglist>(const TNAME *A, int Arows, int Acols, const TNAME *B, int Brows, int Bcols, TNAME *R, int Rrows, int Rcols)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void TFN()</type>
      <name>s_mat_to_quat</name>
      <anchorfile>doubles__floats__impl_8h.html</anchorfile>
      <anchor>ab17c2175e2c0d1ce30451cce3dd5f289</anchor>
      <arglist>(const TNAME M[16], TNAME q[4])</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void TFN()</type>
      <name>s_mat_to_xyz</name>
      <anchorfile>doubles__floats__impl_8h.html</anchorfile>
      <anchor>a0f2722eadbb2854853364443e10d5944</anchor>
      <arglist>(const TNAME M[16], TNAME xyz[3])</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void TFN()</type>
      <name>s_mat_transform_xyz</name>
      <anchorfile>doubles__floats__impl_8h.html</anchorfile>
      <anchor>a78866ba913b1134af09f498e7fae0905</anchor>
      <arglist>(const TNAME M[16], const TNAME xyz[3], TNAME r[3])</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void TFN()</type>
      <name>s_normalize</name>
      <anchorfile>doubles__floats__impl_8h.html</anchorfile>
      <anchor>a30448c4fb0ccc96a242d0d7e4f282813</anchor>
      <arglist>(const TNAME *v, int len, TNAME *r)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void TFN()</type>
      <name>s_normalize_self</name>
      <anchorfile>doubles__floats__impl_8h.html</anchorfile>
      <anchor>aaf2f09a6f67eefe1b5b257baf3e9c34a</anchor>
      <arglist>(TNAME *v, int len)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void TFN()</type>
      <name>s_print</name>
      <anchorfile>doubles__floats__impl_8h.html</anchorfile>
      <anchor>a53a2a231a071753d7aa3f271c196fc80</anchor>
      <arglist>(const TNAME *a, int len, const char *fmt)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void TFN()</type>
      <name>s_print_mat</name>
      <anchorfile>doubles__floats__impl_8h.html</anchorfile>
      <anchor>aa0c31273b5dc96361f0bff8df081403a</anchor>
      <arglist>(const TNAME *a, int nrows, int ncols, const char *fmt)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void TFN()</type>
      <name>s_print_mat44</name>
      <anchorfile>doubles__floats__impl_8h.html</anchorfile>
      <anchor>a8c2e2d66fbd3f132d77a2e518f0e739d</anchor>
      <arglist>(const TNAME *a, const char *fmt)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void TFN()</type>
      <name>s_quat_inverse</name>
      <anchorfile>doubles__floats__impl_8h.html</anchorfile>
      <anchor>ad6495349254b3ee456a9c69467d6da3d</anchor>
      <arglist>(const TNAME q[4], TNAME r[4])</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void TFN()</type>
      <name>s_quat_multiply</name>
      <anchorfile>doubles__floats__impl_8h.html</anchorfile>
      <anchor>ad886cdd58935d6fb54dd400da1256e16</anchor>
      <arglist>(const TNAME a[4], const TNAME b[4], TNAME r[4])</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void TFN()</type>
      <name>s_quat_rotate</name>
      <anchorfile>doubles__floats__impl_8h.html</anchorfile>
      <anchor>a98250df081d900bfed1bfb194d13165f</anchor>
      <arglist>(const TNAME q[4], const TNAME v[3], TNAME r[3])</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void TFN()</type>
      <name>s_quat_slerp</name>
      <anchorfile>doubles__floats__impl_8h.html</anchorfile>
      <anchor>a0b4fabbbd8b402dee3d8754f041766e8</anchor>
      <arglist>(const TNAME q0[4], const TNAME _q1[4], TNAME r[4], TNAME w)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void TFN()</type>
      <name>s_quat_to_angleaxis</name>
      <anchorfile>doubles__floats__impl_8h.html</anchorfile>
      <anchor>ac02bf0282eb2a6fe385ba12ef5c1f5e4</anchor>
      <arglist>(const TNAME _q[4], TNAME r[4])</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void TFN()</type>
      <name>s_quat_to_mat44</name>
      <anchorfile>doubles__floats__impl_8h.html</anchorfile>
      <anchor>add6e246638065b41aac226ab427666db</anchor>
      <arglist>(const TNAME q[4], TNAME r[16])</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void TFN()</type>
      <name>s_quat_to_rpy</name>
      <anchorfile>doubles__floats__impl_8h.html</anchorfile>
      <anchor>a97e75d9533d357c26ab4a8185b85fa21</anchor>
      <arglist>(const TNAME q[4], TNAME rpy[3])</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void TFN()</type>
      <name>s_quat_xyz_to_mat44</name>
      <anchorfile>doubles__floats__impl_8h.html</anchorfile>
      <anchor>a7569166fb062bae3d4c5a6290ecec22a</anchor>
      <arglist>(const TNAME q[4], const TNAME xyz[3], TNAME r[16])</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void TFN()</type>
      <name>s_quat_xyz_to_xyt</name>
      <anchorfile>doubles__floats__impl_8h.html</anchorfile>
      <anchor>a0beada183d46027b667bf80b97a8111c</anchor>
      <arglist>(const TNAME q[4], const TNAME xyz[3], TNAME xyt[3])</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void TFN()</type>
      <name>s_rpy_to_mat44</name>
      <anchorfile>doubles__floats__impl_8h.html</anchorfile>
      <anchor>aa0015d2d09b7f905e2654f352b751b09</anchor>
      <arglist>(const TNAME rpy[3], TNAME M[16])</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void TFN()</type>
      <name>s_rpy_to_quat</name>
      <anchorfile>doubles__floats__impl_8h.html</anchorfile>
      <anchor>a7c8cce125b2732235058f3537198b9a0</anchor>
      <arglist>(const TNAME rpy[3], TNAME quat[4])</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void TFN()</type>
      <name>s_scale</name>
      <anchorfile>doubles__floats__impl_8h.html</anchorfile>
      <anchor>aba05bd75345e16590fc7857b4f63c88e</anchor>
      <arglist>(TNAME s, const TNAME *v, int len, TNAME *r)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void TFN()</type>
      <name>s_scale_self</name>
      <anchorfile>doubles__floats__impl_8h.html</anchorfile>
      <anchor>abced3e5ac8d49868e6d51f2cb11688bf</anchor>
      <arglist>(TNAME *v, int len, double scale)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static TNAME TFN()</type>
      <name>s_squared_distance</name>
      <anchorfile>doubles__floats__impl_8h.html</anchorfile>
      <anchor>a67fef85fa9045a2192d8eff5e5ea3f9f</anchor>
      <arglist>(const TNAME *a, const TNAME *b, int len)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static TNAME TFN()</type>
      <name>s_squared_magnitude</name>
      <anchorfile>doubles__floats__impl_8h.html</anchorfile>
      <anchor>a0512ca67f325f0b9fb00ae77f1a618cf</anchor>
      <arglist>(const TNAME *v, int len)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void TFN()</type>
      <name>s_subtract</name>
      <anchorfile>doubles__floats__impl_8h.html</anchorfile>
      <anchor>a867b91b172170d75300f24f220a6d9c2</anchor>
      <arglist>(const TNAME *a, const TNAME *b, int len, TNAME *r)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void TFN()</type>
      <name>s_xyt_copy</name>
      <anchorfile>doubles__floats__impl_8h.html</anchorfile>
      <anchor>a11aa9dd0e9b1b0aacbc524b3021e4a72</anchor>
      <arglist>(const TNAME xyt[3], TNAME r[3])</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void TFN()</type>
      <name>s_xyt_inv</name>
      <anchorfile>doubles__floats__impl_8h.html</anchorfile>
      <anchor>a5c52cf551c7122e47ecda792c4e94d0a</anchor>
      <arglist>(const TNAME xyta[3], TNAME xytr[3])</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void TFN()</type>
      <name>s_xyt_inv_mul</name>
      <anchorfile>doubles__floats__impl_8h.html</anchorfile>
      <anchor>a7e577c6f230488308d7500b81f9d8777</anchor>
      <arglist>(const TNAME xyta[3], const TNAME xytb[3], TNAME xytr[3])</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void TFN()</type>
      <name>s_xyt_mul</name>
      <anchorfile>doubles__floats__impl_8h.html</anchorfile>
      <anchor>a4c7151c8277a67cfeb2a47075abf0cd6</anchor>
      <arglist>(const TNAME xyta[3], const TNAME xytb[3], TNAME xytr[3])</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void TFN()</type>
      <name>s_xyt_to_mat44</name>
      <anchorfile>doubles__floats__impl_8h.html</anchorfile>
      <anchor>aac97e4d3ed0de30a81415d77b2b5a47c</anchor>
      <arglist>(const TNAME xyt[3], TNAME r[16])</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void TFN()</type>
      <name>s_xyt_transform_xy</name>
      <anchorfile>doubles__floats__impl_8h.html</anchorfile>
      <anchor>afa321968a0e1a24ef8d796e951792796</anchor>
      <arglist>(const TNAME xyt[3], const TNAME xy[2], TNAME r[2])</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void TFN()</type>
      <name>s_xytcov_copy</name>
      <anchorfile>doubles__floats__impl_8h.html</anchorfile>
      <anchor>ad7bfe7f62bd37d6ccf6deaf539b80b82</anchor>
      <arglist>(const TNAME xyta[3], const TNAME Ca[9], TNAME xytr[3], TNAME Cr[9])</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void TFN()</type>
      <name>s_xytcov_inv</name>
      <anchorfile>doubles__floats__impl_8h.html</anchorfile>
      <anchor>ab565277902be7febaaa2bb816d9b1657</anchor>
      <arglist>(const TNAME xyta[3], const TNAME Ca[9], TNAME xytr[3], TNAME Cr[9])</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void TFN()</type>
      <name>s_xytcov_mul</name>
      <anchorfile>doubles__floats__impl_8h.html</anchorfile>
      <anchor>a3e458557341df8a90be8892f7eb5d1ce</anchor>
      <arglist>(const TNAME xyta[3], const TNAME Ca[9], const TNAME xytb[3], const TNAME Cb[9], TNAME xytr[3], TNAME Cr[9])</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void TFN()</type>
      <name>s_xyzrpy_to_mat44</name>
      <anchorfile>doubles__floats__impl_8h.html</anchorfile>
      <anchor>a83a0fe9ae1876e99a37762b49231f6d6</anchor>
      <arglist>(const TNAME xyzrpy[6], TNAME M[16])</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>floats.h</name>
    <path>/tmp/ws/src/apriltag/common/</path>
    <filename>floats_8h.html</filename>
    <includes id="doubles__floats__impl_8h" name="doubles_floats_impl.h" local="yes" imported="no">doubles_floats_impl.h</includes>
    <member kind="define">
      <type>#define</type>
      <name>TNAME</name>
      <anchorfile>floats_8h.html</anchorfile>
      <anchor>af7dd188b7e9a8592e394e37ba6272a90</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>g2d.c</name>
    <path>/tmp/ws/src/apriltag/common/</path>
    <filename>g2d_8c.html</filename>
    <includes id="g2d_8h" name="g2d.h" local="yes" imported="no">g2d.h</includes>
    <includes id="math__util_8h" name="math_util.h" local="yes" imported="no">common/math_util.h</includes>
    <member kind="function" static="yes">
      <type>static int</type>
      <name>double_sort_up</name>
      <anchorfile>g2d_8c.html</anchorfile>
      <anchor>aee21ea8ec1d33a188ab1815b2fdcef42</anchor>
      <arglist>(const void *_a, const void *_b)</arglist>
    </member>
    <member kind="function">
      <type>zarray_t *</type>
      <name>g2d_convex_hull</name>
      <anchorfile>g2d_8c.html</anchorfile>
      <anchor>a87de59edf7f7fc1814647eda1b0e2fe8</anchor>
      <arglist>(const zarray_t *points)</arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>g2d_distance</name>
      <anchorfile>g2d_8c.html</anchorfile>
      <anchor>ae66528b3b31e0a6407c6d38b2c3984ca</anchor>
      <arglist>(const double a[2], const double b[2])</arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>g2d_line_get_coordinate</name>
      <anchorfile>g2d_8c.html</anchorfile>
      <anchor>a5e6f85a6fe006d49f4b40c7114d6ddca</anchor>
      <arglist>(const g2d_line_t *line, const double q[2])</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>g2d_line_init_from_points</name>
      <anchorfile>g2d_8c.html</anchorfile>
      <anchor>a11d8e8ca2b6c3103118427a46052042f</anchor>
      <arglist>(g2d_line_t *line, const double p0[2], const double p1[2])</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>g2d_line_intersect_line</name>
      <anchorfile>g2d_8c.html</anchorfile>
      <anchor>a56e38a2c11298ced7572675f2b700fc8</anchor>
      <arglist>(const g2d_line_t *linea, const g2d_line_t *lineb, double *p)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>g2d_line_segment_closest_point</name>
      <anchorfile>g2d_8c.html</anchorfile>
      <anchor>a3db0b0317608219ac8eedc7c30dca723</anchor>
      <arglist>(const g2d_line_segment_t *seg, const double *q, double *p)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>g2d_line_segment_init_from_points</name>
      <anchorfile>g2d_8c.html</anchorfile>
      <anchor>a09059b8c2adcd4e11097b9c27a2e18af</anchor>
      <arglist>(g2d_line_segment_t *seg, const double p0[2], const double p1[2])</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>g2d_line_segment_intersect_line</name>
      <anchorfile>g2d_8c.html</anchorfile>
      <anchor>aa731b7add9d323f400dc24c94e0c7dfa</anchor>
      <arglist>(const g2d_line_segment_t *seg, const g2d_line_t *line, double *p)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>g2d_line_segment_intersect_segment</name>
      <anchorfile>g2d_8c.html</anchorfile>
      <anchor>acd724915a315628b126ed0314b1f57bf</anchor>
      <arglist>(const g2d_line_segment_t *sega, const g2d_line_segment_t *segb, double *p)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>g2d_polygon_add</name>
      <anchorfile>g2d_8c.html</anchorfile>
      <anchor>a8e31b1713bf55c93f74024b298fc4e51</anchor>
      <arglist>(zarray_t *poly, double v[2])</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>g2d_polygon_closest_boundary_point</name>
      <anchorfile>g2d_8c.html</anchorfile>
      <anchor>a8568a70abf3bd3e6fd63b71524762d6c</anchor>
      <arglist>(const zarray_t *poly, const double q[2], double *p)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>g2d_polygon_contains_point</name>
      <anchorfile>g2d_8c.html</anchorfile>
      <anchor>abec1cfb5b21ea2bda54fcd9e1b643aa1</anchor>
      <arglist>(const zarray_t *poly, double q[2])</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>g2d_polygon_contains_point_ref</name>
      <anchorfile>g2d_8c.html</anchorfile>
      <anchor>a1f301c5aaeb01b04289c71c2161d9269</anchor>
      <arglist>(const zarray_t *poly, double q[2])</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>g2d_polygon_contains_polygon</name>
      <anchorfile>g2d_8c.html</anchorfile>
      <anchor>a7244a896f68b1f81bc2855494937f468</anchor>
      <arglist>(const zarray_t *polya, const zarray_t *polyb)</arglist>
    </member>
    <member kind="function">
      <type>zarray_t *</type>
      <name>g2d_polygon_create_data</name>
      <anchorfile>g2d_8c.html</anchorfile>
      <anchor>a3bc2c2927248cebd8eb1013ae9516a13</anchor>
      <arglist>(double v[][2], int sz)</arglist>
    </member>
    <member kind="function">
      <type>zarray_t *</type>
      <name>g2d_polygon_create_empty</name>
      <anchorfile>g2d_8c.html</anchorfile>
      <anchor>a151400377aaf9251c65dbd9ac931bca7</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>zarray_t *</type>
      <name>g2d_polygon_create_zeros</name>
      <anchorfile>g2d_8c.html</anchorfile>
      <anchor>a3361fa1abf9223457b8ae94d77409971</anchor>
      <arglist>(int sz)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>g2d_polygon_get_interior_point</name>
      <anchorfile>g2d_8c.html</anchorfile>
      <anchor>a89e8fa6af6da61a6293d98abb0222a4e</anchor>
      <arglist>(const zarray_t *poly, double *p)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>g2d_polygon_intersects_polygon</name>
      <anchorfile>g2d_8c.html</anchorfile>
      <anchor>a79d1a18629adc7eb8ce935225e5ff0dc</anchor>
      <arglist>(const zarray_t *polya, const zarray_t *polyb)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>g2d_polygon_make_ccw</name>
      <anchorfile>g2d_8c.html</anchorfile>
      <anchor>a9daa4c492522ee2a93c49a3a45353739</anchor>
      <arglist>(zarray_t *poly)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>g2d_polygon_overlaps_polygon</name>
      <anchorfile>g2d_8c.html</anchorfile>
      <anchor>a01e839c60df7605801f936a48c8397b9</anchor>
      <arglist>(const zarray_t *polya, const zarray_t *polyb)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>g2d_polygon_rasterize</name>
      <anchorfile>g2d_8c.html</anchorfile>
      <anchor>a3838fe5290c593fb9462e07dee635c00</anchor>
      <arglist>(const zarray_t *poly, double y, double *x)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>g2d.h</name>
    <path>/tmp/ws/src/apriltag/common/</path>
    <filename>g2d_8h.html</filename>
    <includes id="zarray_8h" name="zarray.h" local="yes" imported="no">zarray.h</includes>
    <class kind="struct">g2d_line_segment_t</class>
    <class kind="struct">g2d_line_t</class>
    <member kind="function">
      <type>double</type>
      <name>g2d_line_get_coordinate</name>
      <anchorfile>g2d_8h.html</anchorfile>
      <anchor>a5e6f85a6fe006d49f4b40c7114d6ddca</anchor>
      <arglist>(const g2d_line_t *line, const double q[2])</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>g2d_line_init_from_points</name>
      <anchorfile>g2d_8h.html</anchorfile>
      <anchor>a11d8e8ca2b6c3103118427a46052042f</anchor>
      <arglist>(g2d_line_t *line, const double p0[2], const double p1[2])</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>g2d_line_intersect_line</name>
      <anchorfile>g2d_8h.html</anchorfile>
      <anchor>a56e38a2c11298ced7572675f2b700fc8</anchor>
      <arglist>(const g2d_line_t *linea, const g2d_line_t *lineb, double *p)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>g2d_line_segment_closest_point</name>
      <anchorfile>g2d_8h.html</anchorfile>
      <anchor>a3db0b0317608219ac8eedc7c30dca723</anchor>
      <arglist>(const g2d_line_segment_t *seg, const double *q, double *p)</arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>g2d_line_segment_closest_point_distance</name>
      <anchorfile>g2d_8h.html</anchorfile>
      <anchor>a6e40f9c6c9f25cb261a1e11c17ebaf21</anchor>
      <arglist>(const g2d_line_segment_t *seg, const double *q)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>g2d_line_segment_init_from_points</name>
      <anchorfile>g2d_8h.html</anchorfile>
      <anchor>a09059b8c2adcd4e11097b9c27a2e18af</anchor>
      <arglist>(g2d_line_segment_t *seg, const double p0[2], const double p1[2])</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>g2d_line_segment_intersect_segment</name>
      <anchorfile>g2d_8h.html</anchorfile>
      <anchor>acd724915a315628b126ed0314b1f57bf</anchor>
      <arglist>(const g2d_line_segment_t *sega, const g2d_line_segment_t *segb, double *p)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>g2d_polygon_add</name>
      <anchorfile>g2d_8h.html</anchorfile>
      <anchor>a8e31b1713bf55c93f74024b298fc4e51</anchor>
      <arglist>(zarray_t *poly, double v[2])</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>g2d_polygon_contains_point</name>
      <anchorfile>g2d_8h.html</anchorfile>
      <anchor>abec1cfb5b21ea2bda54fcd9e1b643aa1</anchor>
      <arglist>(const zarray_t *poly, double q[2])</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>g2d_polygon_contains_polygon</name>
      <anchorfile>g2d_8h.html</anchorfile>
      <anchor>a7244a896f68b1f81bc2855494937f468</anchor>
      <arglist>(const zarray_t *polya, const zarray_t *polyb)</arglist>
    </member>
    <member kind="function">
      <type>zarray_t *</type>
      <name>g2d_polygon_create_data</name>
      <anchorfile>g2d_8h.html</anchorfile>
      <anchor>a3bc2c2927248cebd8eb1013ae9516a13</anchor>
      <arglist>(double v[][2], int sz)</arglist>
    </member>
    <member kind="function">
      <type>zarray_t *</type>
      <name>g2d_polygon_create_empty</name>
      <anchorfile>g2d_8h.html</anchorfile>
      <anchor>a151400377aaf9251c65dbd9ac931bca7</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>zarray_t *</type>
      <name>g2d_polygon_create_zeros</name>
      <anchorfile>g2d_8h.html</anchorfile>
      <anchor>a3361fa1abf9223457b8ae94d77409971</anchor>
      <arglist>(int sz)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>g2d_polygon_intersects_polygon</name>
      <anchorfile>g2d_8h.html</anchorfile>
      <anchor>a79d1a18629adc7eb8ce935225e5ff0dc</anchor>
      <arglist>(const zarray_t *polya, const zarray_t *polyb)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>g2d_polygon_make_ccw</name>
      <anchorfile>g2d_8h.html</anchorfile>
      <anchor>a9daa4c492522ee2a93c49a3a45353739</anchor>
      <arglist>(zarray_t *poly)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>g2d_polygon_overlaps_polygon</name>
      <anchorfile>g2d_8h.html</anchorfile>
      <anchor>a01e839c60df7605801f936a48c8397b9</anchor>
      <arglist>(const zarray_t *polya, const zarray_t *polyb)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>g2d_polygon_rasterize</name>
      <anchorfile>g2d_8h.html</anchorfile>
      <anchor>a3838fe5290c593fb9462e07dee635c00</anchor>
      <arglist>(const zarray_t *poly, double y, double *x)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>getline.c</name>
    <path>/tmp/ws/src/apriltag/test/</path>
    <filename>getline_8c.html</filename>
    <includes id="getline_8h" name="getline.h" local="yes" imported="no">getline.h</includes>
    <member kind="function">
      <type>ssize_t</type>
      <name>apriltag_test_getline</name>
      <anchorfile>getline_8c.html</anchorfile>
      <anchor>aa628cc520b0219ab4054c39093a52d60</anchor>
      <arglist>(char **lineptr, size_t *n, FILE *stream)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>getline.h</name>
    <path>/tmp/ws/src/apriltag/test/</path>
    <filename>getline_8h.html</filename>
    <member kind="typedef">
      <type>intptr_t</type>
      <name>ssize_t</name>
      <anchorfile>getline_8h.html</anchorfile>
      <anchor>af10f4c58d91a6fa30ccc8a19d0ecbf48</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type>ssize_t</type>
      <name>apriltag_test_getline</name>
      <anchorfile>getline_8h.html</anchorfile>
      <anchor>aa628cc520b0219ab4054c39093a52d60</anchor>
      <arglist>(char **lineptr, size_t *n, FILE *stream)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>getopt.c</name>
    <path>/tmp/ws/src/apriltag/common/</path>
    <filename>getopt_8c.html</filename>
    <includes id="zhash_8h" name="zhash.h" local="yes" imported="no">zhash.h</includes>
    <includes id="zarray_8h" name="zarray.h" local="yes" imported="no">zarray.h</includes>
    <includes id="getopt_8h" name="getopt.h" local="yes" imported="no">getopt.h</includes>
    <includes id="math__util_8h" name="math_util.h" local="yes" imported="no">common/math_util.h</includes>
    <class kind="struct">getopt</class>
    <class kind="struct">getopt_option</class>
    <member kind="define">
      <type>#define</type>
      <name>GOO_BOOL_TYPE</name>
      <anchorfile>getopt_8c.html</anchorfile>
      <anchor>ae54e91f52c4e481eb9697753f9f4ef27</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>GOO_STRING_TYPE</name>
      <anchorfile>getopt_8c.html</anchorfile>
      <anchor>a4b12256647c091d65965d7d148fbc43e</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>struct getopt_option</type>
      <name>getopt_option_t</name>
      <anchorfile>getopt_8c.html</anchorfile>
      <anchor>ae51419a0478369d4805c76f86a600f98</anchor>
      <arglist></arglist>
    </member>
    <member kind="function" static="yes">
      <type>static char *</type>
      <name>get_arg_assignment</name>
      <anchorfile>getopt_8c.html</anchorfile>
      <anchor>a87e280e9ad36dceec7e10e84cdca32a6</anchor>
      <arglist>(char *arg)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>getopt_add_bool</name>
      <anchorfile>getopt_8c.html</anchorfile>
      <anchor>ac8d082f8c713d9e4d5b25cf638e777d6</anchor>
      <arglist>(getopt_t *gopt, char sopt, const char *lname, int def, const char *help)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>getopt_add_double</name>
      <anchorfile>getopt_8c.html</anchorfile>
      <anchor>a6688de25a4bdb72fbf232ffa7d0d7e15</anchor>
      <arglist>(getopt_t *gopt, char sopt, const char *lname, const char *def, const char *help)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>getopt_add_int</name>
      <anchorfile>getopt_8c.html</anchorfile>
      <anchor>ab6499e3667224f08b18018d9cd363eb5</anchor>
      <arglist>(getopt_t *gopt, char sopt, const char *lname, const char *def, const char *help)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>getopt_add_spacer</name>
      <anchorfile>getopt_8c.html</anchorfile>
      <anchor>afcd749b4131713af2b4c3168bb8233e7</anchor>
      <arglist>(getopt_t *gopt, const char *s)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>getopt_add_string</name>
      <anchorfile>getopt_8c.html</anchorfile>
      <anchor>aa747bc233a08987774bc61f203c81b21</anchor>
      <arglist>(getopt_t *gopt, char sopt, const char *lname, const char *def, const char *help)</arglist>
    </member>
    <member kind="function">
      <type>getopt_t *</type>
      <name>getopt_create</name>
      <anchorfile>getopt_8c.html</anchorfile>
      <anchor>a601c6d9c38e2c65ab1a4abb89f23775a</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>getopt_destroy</name>
      <anchorfile>getopt_8c.html</anchorfile>
      <anchor>ae55d7497fdb292177c85b64e1e2f619c</anchor>
      <arglist>(getopt_t *gopt)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>getopt_do_usage</name>
      <anchorfile>getopt_8c.html</anchorfile>
      <anchor>a7b533fdd9988f7bc1c3e1dc081107da6</anchor>
      <arglist>(getopt_t *gopt)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>getopt_get_bool</name>
      <anchorfile>getopt_8c.html</anchorfile>
      <anchor>af45b2f4351c0b9a995ba39efe2a7be6c</anchor>
      <arglist>(getopt_t *getopt, const char *lname)</arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>getopt_get_double</name>
      <anchorfile>getopt_8c.html</anchorfile>
      <anchor>ad4c9aa6e90d1b8f06c216b9c76002de1</anchor>
      <arglist>(getopt_t *getopt, const char *lname)</arglist>
    </member>
    <member kind="function">
      <type>const zarray_t *</type>
      <name>getopt_get_extra_args</name>
      <anchorfile>getopt_8c.html</anchorfile>
      <anchor>a93e9dbe57612001306e432a37d4634e6</anchor>
      <arglist>(getopt_t *gopt)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>getopt_get_int</name>
      <anchorfile>getopt_8c.html</anchorfile>
      <anchor>ac3368052dc1a8fcd34cc4ff22458cd95</anchor>
      <arglist>(getopt_t *getopt, const char *lname)</arglist>
    </member>
    <member kind="function">
      <type>const char *</type>
      <name>getopt_get_string</name>
      <anchorfile>getopt_8c.html</anchorfile>
      <anchor>a80e0baa721de5023ab291bf045cfc0fb</anchor>
      <arglist>(getopt_t *gopt, const char *lname)</arglist>
    </member>
    <member kind="function">
      <type>char *</type>
      <name>getopt_get_usage</name>
      <anchorfile>getopt_8c.html</anchorfile>
      <anchor>a0e2b71611e1f8a71a555aac3a731ec36</anchor>
      <arglist>(getopt_t *gopt)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void</type>
      <name>getopt_modify_string</name>
      <anchorfile>getopt_8c.html</anchorfile>
      <anchor>ac43bd01e3d4eefbdf6896fa0e6312122</anchor>
      <arglist>(char **str, char *newvalue)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>getopt_option_destroy</name>
      <anchorfile>getopt_8c.html</anchorfile>
      <anchor>ae86f2452d759a8456ea353013d51d06c</anchor>
      <arglist>(getopt_option_t *goo)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>getopt_option_destroy_void</name>
      <anchorfile>getopt_8c.html</anchorfile>
      <anchor>a76420244521e4a489ec25b6407a499be</anchor>
      <arglist>(void *goo)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>getopt_parse</name>
      <anchorfile>getopt_8c.html</anchorfile>
      <anchor>a80238e9927607b2c9d0b0be95f0b40ac</anchor>
      <arglist>(getopt_t *gopt, int argc, char *argv[], int showErrors)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>getopt_was_specified</name>
      <anchorfile>getopt_8c.html</anchorfile>
      <anchor>aa291622a74b610a0815b8e5e001e786f</anchor>
      <arglist>(getopt_t *getopt, const char *lname)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>getopt.h</name>
    <path>/tmp/ws/src/apriltag/common/</path>
    <filename>getopt_8h.html</filename>
    <includes id="zarray_8h" name="zarray.h" local="yes" imported="no">zarray.h</includes>
    <includes id="string__util_8h" name="string_util.h" local="yes" imported="no">string_util.h</includes>
    <member kind="typedef">
      <type>struct getopt</type>
      <name>getopt_t</name>
      <anchorfile>getopt_8h.html</anchorfile>
      <anchor>a12edc7aad83c026bcc49e10cb3564aae</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>getopt_add_bool</name>
      <anchorfile>getopt_8h.html</anchorfile>
      <anchor>ac8d082f8c713d9e4d5b25cf638e777d6</anchor>
      <arglist>(getopt_t *gopt, char sopt, const char *lname, int def, const char *help)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>getopt_add_double</name>
      <anchorfile>getopt_8h.html</anchorfile>
      <anchor>a6688de25a4bdb72fbf232ffa7d0d7e15</anchor>
      <arglist>(getopt_t *gopt, char sopt, const char *lname, const char *def, const char *help)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>getopt_add_int</name>
      <anchorfile>getopt_8h.html</anchorfile>
      <anchor>ab6499e3667224f08b18018d9cd363eb5</anchor>
      <arglist>(getopt_t *gopt, char sopt, const char *lname, const char *def, const char *help)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>getopt_add_spacer</name>
      <anchorfile>getopt_8h.html</anchorfile>
      <anchor>afcd749b4131713af2b4c3168bb8233e7</anchor>
      <arglist>(getopt_t *gopt, const char *s)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>getopt_add_string</name>
      <anchorfile>getopt_8h.html</anchorfile>
      <anchor>aa747bc233a08987774bc61f203c81b21</anchor>
      <arglist>(getopt_t *gopt, char sopt, const char *lname, const char *def, const char *help)</arglist>
    </member>
    <member kind="function">
      <type>getopt_t *</type>
      <name>getopt_create</name>
      <anchorfile>getopt_8h.html</anchorfile>
      <anchor>a601c6d9c38e2c65ab1a4abb89f23775a</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>getopt_destroy</name>
      <anchorfile>getopt_8h.html</anchorfile>
      <anchor>ae55d7497fdb292177c85b64e1e2f619c</anchor>
      <arglist>(getopt_t *gopt)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>getopt_do_usage</name>
      <anchorfile>getopt_8h.html</anchorfile>
      <anchor>a7b533fdd9988f7bc1c3e1dc081107da6</anchor>
      <arglist>(getopt_t *gopt)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>getopt_get_bool</name>
      <anchorfile>getopt_8h.html</anchorfile>
      <anchor>af45b2f4351c0b9a995ba39efe2a7be6c</anchor>
      <arglist>(getopt_t *getopt, const char *lname)</arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>getopt_get_double</name>
      <anchorfile>getopt_8h.html</anchorfile>
      <anchor>ad4c9aa6e90d1b8f06c216b9c76002de1</anchor>
      <arglist>(getopt_t *getopt, const char *lname)</arglist>
    </member>
    <member kind="function">
      <type>const zarray_t *</type>
      <name>getopt_get_extra_args</name>
      <anchorfile>getopt_8h.html</anchorfile>
      <anchor>a93e9dbe57612001306e432a37d4634e6</anchor>
      <arglist>(getopt_t *gopt)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>getopt_get_int</name>
      <anchorfile>getopt_8h.html</anchorfile>
      <anchor>ac3368052dc1a8fcd34cc4ff22458cd95</anchor>
      <arglist>(getopt_t *getopt, const char *lname)</arglist>
    </member>
    <member kind="function">
      <type>const char *</type>
      <name>getopt_get_string</name>
      <anchorfile>getopt_8h.html</anchorfile>
      <anchor>a80e0baa721de5023ab291bf045cfc0fb</anchor>
      <arglist>(getopt_t *gopt, const char *lname)</arglist>
    </member>
    <member kind="function">
      <type>char *</type>
      <name>getopt_get_usage</name>
      <anchorfile>getopt_8h.html</anchorfile>
      <anchor>a0e2b71611e1f8a71a555aac3a731ec36</anchor>
      <arglist>(getopt_t *gopt)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>getopt_option_destroy_void</name>
      <anchorfile>getopt_8h.html</anchorfile>
      <anchor>a76420244521e4a489ec25b6407a499be</anchor>
      <arglist>(void *goo)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>getopt_parse</name>
      <anchorfile>getopt_8h.html</anchorfile>
      <anchor>a80238e9927607b2c9d0b0be95f0b40ac</anchor>
      <arglist>(getopt_t *gopt, int argc, char *argv[], int showErrors)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>getopt_was_specified</name>
      <anchorfile>getopt_8h.html</anchorfile>
      <anchor>a788fa62ca9cd0f52d84076f36d9d1836</anchor>
      <arglist>(getopt_t *gopt, const char *lname)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>homography.c</name>
    <path>/tmp/ws/src/apriltag/common/</path>
    <filename>homography_8c.html</filename>
    <includes id="matd_8h" name="matd.h" local="yes" imported="no">common/matd.h</includes>
    <includes id="zarray_8h" name="zarray.h" local="yes" imported="no">common/zarray.h</includes>
    <includes id="homography_8h" name="homography.h" local="yes" imported="no">common/homography.h</includes>
    <includes id="math__util_8h" name="math_util.h" local="yes" imported="no">common/math_util.h</includes>
    <member kind="function">
      <type>matd_t *</type>
      <name>homography_compute</name>
      <anchorfile>homography_8c.html</anchorfile>
      <anchor>a3c46efdf831cf84e447a3e46cef773fe</anchor>
      <arglist>(zarray_t *correspondences, int flags)</arglist>
    </member>
    <member kind="function">
      <type>matd_t *</type>
      <name>homography_to_model_view</name>
      <anchorfile>homography_8c.html</anchorfile>
      <anchor>aeb38c0a0b118d48e2a07549fdd7941e9</anchor>
      <arglist>(const matd_t *H, double F, double G, double A, double B)</arglist>
    </member>
    <member kind="function">
      <type>matd_t *</type>
      <name>homography_to_pose</name>
      <anchorfile>homography_8c.html</anchorfile>
      <anchor>a9c10d8cf51b40a281f842a08ade82beb</anchor>
      <arglist>(const matd_t *H, double fx, double fy, double cx, double cy)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>quat_to_matrix</name>
      <anchorfile>homography_8c.html</anchorfile>
      <anchor>acaa5c151502a35029465ad6709334ee4</anchor>
      <arglist>(const double q[4], matd_t *M)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>homography.h</name>
    <path>/tmp/ws/src/apriltag/common/</path>
    <filename>homography_8h.html</filename>
    <includes id="matd_8h" name="matd.h" local="yes" imported="no">matd.h</includes>
    <includes id="zarray_8h" name="zarray.h" local="yes" imported="no">zarray.h</includes>
    <member kind="define">
      <type>#define</type>
      <name>HOMOGRAPHY_COMPUTE_FLAG_INVERSE</name>
      <anchorfile>homography_8h.html</anchorfile>
      <anchor>a0ce589ae8483ea7308cf60a1b5126d1e</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>HOMOGRAPHY_COMPUTE_FLAG_SVD</name>
      <anchorfile>homography_8h.html</anchorfile>
      <anchor>afe7eb3d7e542eff435d0efd4fd634f87</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type>matd_t *</type>
      <name>homography_compute</name>
      <anchorfile>homography_8h.html</anchorfile>
      <anchor>a3c46efdf831cf84e447a3e46cef773fe</anchor>
      <arglist>(zarray_t *correspondences, int flags)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void</type>
      <name>homography_project</name>
      <anchorfile>homography_8h.html</anchorfile>
      <anchor>ac10ec41cad27f7401a7cf906b588b69f</anchor>
      <arglist>(const matd_t *H, double x, double y, double *ox, double *oy)</arglist>
    </member>
    <member kind="function">
      <type>matd_t *</type>
      <name>homography_to_model_view</name>
      <anchorfile>homography_8h.html</anchorfile>
      <anchor>aeb38c0a0b118d48e2a07549fdd7941e9</anchor>
      <arglist>(const matd_t *H, double F, double G, double A, double B)</arglist>
    </member>
    <member kind="function">
      <type>matd_t *</type>
      <name>homography_to_pose</name>
      <anchorfile>homography_8h.html</anchorfile>
      <anchor>a9c10d8cf51b40a281f842a08ade82beb</anchor>
      <arglist>(const matd_t *H, double fx, double fy, double cx, double cy)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>image_types.h</name>
    <path>/tmp/ws/src/apriltag/common/</path>
    <filename>image__types_8h.html</filename>
    <class kind="struct">image_f32</class>
    <class kind="struct">image_u32</class>
    <class kind="struct">image_u8</class>
    <class kind="struct">image_u8x3</class>
    <class kind="struct">image_u8x4</class>
    <member kind="typedef">
      <type>struct image_f32</type>
      <name>image_f32_t</name>
      <anchorfile>image__types_8h.html</anchorfile>
      <anchor>a816f1750ecb2e3b111995c00f23faa13</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>struct image_u32</type>
      <name>image_u32_t</name>
      <anchorfile>image__types_8h.html</anchorfile>
      <anchor>a51a5afdc355157a45419f37bfdd1db07</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>struct image_u8</type>
      <name>image_u8_t</name>
      <anchorfile>image__types_8h.html</anchorfile>
      <anchor>a70275b5622582cea11faf38118b4dbe2</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>struct image_u8x3</type>
      <name>image_u8x3_t</name>
      <anchorfile>image__types_8h.html</anchorfile>
      <anchor>a24c98ddf29a50ff484e7c1a5e96b2d5b</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>struct image_u8x4</type>
      <name>image_u8x4_t</name>
      <anchorfile>image__types_8h.html</anchorfile>
      <anchor>a589d044aea10839985a7de8854bc2f69</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>image_u8.c</name>
    <path>/tmp/ws/src/apriltag/common/</path>
    <filename>image__u8_8c.html</filename>
    <includes id="image__u8_8h" name="image_u8.h" local="yes" imported="no">common/image_u8.h</includes>
    <includes id="pnm_8h" name="pnm.h" local="yes" imported="no">common/pnm.h</includes>
    <includes id="math__util_8h" name="math_util.h" local="yes" imported="no">common/math_util.h</includes>
    <member kind="define">
      <type>#define</type>
      <name>DEFAULT_ALIGNMENT_U8</name>
      <anchorfile>image__u8_8c.html</anchorfile>
      <anchor>a15a87ba192fd078cf52196acb7be55b0</anchor>
      <arglist></arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void</type>
      <name>convolve</name>
      <anchorfile>image__u8_8c.html</anchorfile>
      <anchor>a74f30844533787f9ff8c0c196eebdef8</anchor>
      <arglist>(const uint8_t *x, uint8_t *y, int sz, const uint8_t *k, int ksz)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>image_u8_convolve_2D</name>
      <anchorfile>image__u8_8c.html</anchorfile>
      <anchor>a642e3f4872ecca048c9901b8bc6f4507</anchor>
      <arglist>(image_u8_t *im, const uint8_t *k, int ksz)</arglist>
    </member>
    <member kind="function">
      <type>image_u8_t *</type>
      <name>image_u8_copy</name>
      <anchorfile>image__u8_8c.html</anchorfile>
      <anchor>aad440b9c95714b6b53060997fe2f9fc1</anchor>
      <arglist>(const image_u8_t *in)</arglist>
    </member>
    <member kind="function">
      <type>image_u8_t *</type>
      <name>image_u8_create</name>
      <anchorfile>image__u8_8c.html</anchorfile>
      <anchor>a8fed0ae88f0669975b65b2c8efc3997b</anchor>
      <arglist>(unsigned int width, unsigned int height)</arglist>
    </member>
    <member kind="function">
      <type>image_u8_t *</type>
      <name>image_u8_create_alignment</name>
      <anchorfile>image__u8_8c.html</anchorfile>
      <anchor>ad95ca8424e827b2a92133e89df9fac74</anchor>
      <arglist>(unsigned int width, unsigned int height, unsigned int alignment)</arglist>
    </member>
    <member kind="function">
      <type>image_u8_t *</type>
      <name>image_u8_create_from_f32</name>
      <anchorfile>image__u8_8c.html</anchorfile>
      <anchor>abd958f9b6028bfc16a7a84981cf5888c</anchor>
      <arglist>(image_f32_t *fim)</arglist>
    </member>
    <member kind="function">
      <type>image_u8_t *</type>
      <name>image_u8_create_from_pnm</name>
      <anchorfile>image__u8_8c.html</anchorfile>
      <anchor>aeee2cb4bfed9669481e37bc9d78c721d</anchor>
      <arglist>(const char *path)</arglist>
    </member>
    <member kind="function">
      <type>image_u8_t *</type>
      <name>image_u8_create_from_pnm_alignment</name>
      <anchorfile>image__u8_8c.html</anchorfile>
      <anchor>aff51117c8220e58c826a495f426eea8c</anchor>
      <arglist>(const char *path, int alignment)</arglist>
    </member>
    <member kind="function">
      <type>image_u8_t *</type>
      <name>image_u8_create_stride</name>
      <anchorfile>image__u8_8c.html</anchorfile>
      <anchor>aeccbd2e6a227568918b71b092e7dc69d</anchor>
      <arglist>(unsigned int width, unsigned int height, unsigned int stride)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>image_u8_darken</name>
      <anchorfile>image__u8_8c.html</anchorfile>
      <anchor>a657941e8dd1252c0d3760d5580b76559</anchor>
      <arglist>(image_u8_t *im)</arglist>
    </member>
    <member kind="function">
      <type>image_u8_t *</type>
      <name>image_u8_decimate</name>
      <anchorfile>image__u8_8c.html</anchorfile>
      <anchor>aa2758d6e24be682f0775bd15745143a9</anchor>
      <arglist>(image_u8_t *im, float ffactor)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>image_u8_destroy</name>
      <anchorfile>image__u8_8c.html</anchorfile>
      <anchor>a32f719e43e565bd0ca3f8dc65296da9b</anchor>
      <arglist>(image_u8_t *im)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>image_u8_draw_annulus</name>
      <anchorfile>image__u8_8c.html</anchorfile>
      <anchor>a32cc4b103f85ea8ba933bf4196e7d2dc</anchor>
      <arglist>(image_u8_t *im, float x0, float y0, float r0, float r1, int v)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>image_u8_draw_circle</name>
      <anchorfile>image__u8_8c.html</anchorfile>
      <anchor>a29bc47576b1e05f48faf2e2e43eb7dec</anchor>
      <arglist>(image_u8_t *im, float x0, float y0, float r, int v)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>image_u8_draw_line</name>
      <anchorfile>image__u8_8c.html</anchorfile>
      <anchor>a9b4667e0267fd54192697f9d2ea33a1c</anchor>
      <arglist>(image_u8_t *im, float x0, float y0, float x1, float y1, int v, int width)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>image_u8_fill_line_max</name>
      <anchorfile>image__u8_8c.html</anchorfile>
      <anchor>a092ba81387e7b0a141f432852e2d35db</anchor>
      <arglist>(image_u8_t *im, const image_u8_lut_t *lut, const float *xy0, const float *xy1)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>image_u8_gaussian_blur</name>
      <anchorfile>image__u8_8c.html</anchorfile>
      <anchor>a4614d093b41b15e8df8140b16b0b786e</anchor>
      <arglist>(image_u8_t *im, double sigma, int ksz)</arglist>
    </member>
    <member kind="function">
      <type>image_u8_t *</type>
      <name>image_u8_rotate</name>
      <anchorfile>image__u8_8c.html</anchorfile>
      <anchor>addde0c793075174681dbb9a7ea9d7207</anchor>
      <arglist>(const image_u8_t *in, double rad, uint8_t pad)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>image_u8_write_pnm</name>
      <anchorfile>image__u8_8c.html</anchorfile>
      <anchor>adb7720bdbd28272963b05663c433b8c1</anchor>
      <arglist>(const image_u8_t *im, const char *path)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>image_u8.h</name>
    <path>/tmp/ws/src/apriltag/common/</path>
    <filename>image__u8_8h.html</filename>
    <includes id="image__types_8h" name="image_types.h" local="yes" imported="no">image_types.h</includes>
    <class kind="struct">image_u8_lut</class>
    <member kind="typedef">
      <type>struct image_u8_lut</type>
      <name>image_u8_lut_t</name>
      <anchorfile>image__u8_8h.html</anchorfile>
      <anchor>a136808fa1e063f3877398ce8f54d5c69</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>image_u8_clear</name>
      <anchorfile>image__u8_8h.html</anchorfile>
      <anchor>a70cc9ecf837cd9c7b4b99afb5d4609ad</anchor>
      <arglist>(image_u8_t *im)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>image_u8_convolve_2D</name>
      <anchorfile>image__u8_8h.html</anchorfile>
      <anchor>a642e3f4872ecca048c9901b8bc6f4507</anchor>
      <arglist>(image_u8_t *im, const uint8_t *k, int ksz)</arglist>
    </member>
    <member kind="function">
      <type>image_u8_t *</type>
      <name>image_u8_copy</name>
      <anchorfile>image__u8_8h.html</anchorfile>
      <anchor>aad440b9c95714b6b53060997fe2f9fc1</anchor>
      <arglist>(const image_u8_t *in)</arglist>
    </member>
    <member kind="function">
      <type>image_u8_t *</type>
      <name>image_u8_create</name>
      <anchorfile>image__u8_8h.html</anchorfile>
      <anchor>a8fed0ae88f0669975b65b2c8efc3997b</anchor>
      <arglist>(unsigned int width, unsigned int height)</arglist>
    </member>
    <member kind="function">
      <type>image_u8_t *</type>
      <name>image_u8_create_alignment</name>
      <anchorfile>image__u8_8h.html</anchorfile>
      <anchor>ad95ca8424e827b2a92133e89df9fac74</anchor>
      <arglist>(unsigned int width, unsigned int height, unsigned int alignment)</arglist>
    </member>
    <member kind="function">
      <type>image_u8_t *</type>
      <name>image_u8_create_from_f32</name>
      <anchorfile>image__u8_8h.html</anchorfile>
      <anchor>abd958f9b6028bfc16a7a84981cf5888c</anchor>
      <arglist>(image_f32_t *fim)</arglist>
    </member>
    <member kind="function">
      <type>image_u8_t *</type>
      <name>image_u8_create_from_pnm</name>
      <anchorfile>image__u8_8h.html</anchorfile>
      <anchor>aeee2cb4bfed9669481e37bc9d78c721d</anchor>
      <arglist>(const char *path)</arglist>
    </member>
    <member kind="function">
      <type>image_u8_t *</type>
      <name>image_u8_create_from_pnm_alignment</name>
      <anchorfile>image__u8_8h.html</anchorfile>
      <anchor>aff51117c8220e58c826a495f426eea8c</anchor>
      <arglist>(const char *path, int alignment)</arglist>
    </member>
    <member kind="function">
      <type>image_u8_t *</type>
      <name>image_u8_create_stride</name>
      <anchorfile>image__u8_8h.html</anchorfile>
      <anchor>aeccbd2e6a227568918b71b092e7dc69d</anchor>
      <arglist>(unsigned int width, unsigned int height, unsigned int stride)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>image_u8_darken</name>
      <anchorfile>image__u8_8h.html</anchorfile>
      <anchor>a657941e8dd1252c0d3760d5580b76559</anchor>
      <arglist>(image_u8_t *im)</arglist>
    </member>
    <member kind="function">
      <type>image_u8_t *</type>
      <name>image_u8_decimate</name>
      <anchorfile>image__u8_8h.html</anchorfile>
      <anchor>aec9482a4ec25d6e436d519838c4280dc</anchor>
      <arglist>(image_u8_t *im, float factor)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>image_u8_destroy</name>
      <anchorfile>image__u8_8h.html</anchorfile>
      <anchor>a32f719e43e565bd0ca3f8dc65296da9b</anchor>
      <arglist>(image_u8_t *im)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>image_u8_draw_annulus</name>
      <anchorfile>image__u8_8h.html</anchorfile>
      <anchor>a32cc4b103f85ea8ba933bf4196e7d2dc</anchor>
      <arglist>(image_u8_t *im, float x0, float y0, float r0, float r1, int v)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>image_u8_draw_circle</name>
      <anchorfile>image__u8_8h.html</anchorfile>
      <anchor>a29bc47576b1e05f48faf2e2e43eb7dec</anchor>
      <arglist>(image_u8_t *im, float x0, float y0, float r, int v)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>image_u8_draw_line</name>
      <anchorfile>image__u8_8h.html</anchorfile>
      <anchor>a9b4667e0267fd54192697f9d2ea33a1c</anchor>
      <arglist>(image_u8_t *im, float x0, float y0, float x1, float y1, int v, int width)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>image_u8_fill_line_max</name>
      <anchorfile>image__u8_8h.html</anchorfile>
      <anchor>a092ba81387e7b0a141f432852e2d35db</anchor>
      <arglist>(image_u8_t *im, const image_u8_lut_t *lut, const float *xy0, const float *xy1)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>image_u8_gaussian_blur</name>
      <anchorfile>image__u8_8h.html</anchorfile>
      <anchor>ac8749dcf8d0be5d55ef8925a7c3aa52e</anchor>
      <arglist>(image_u8_t *im, double sigma, int k)</arglist>
    </member>
    <member kind="function">
      <type>image_u8_t *</type>
      <name>image_u8_rotate</name>
      <anchorfile>image__u8_8h.html</anchorfile>
      <anchor>addde0c793075174681dbb9a7ea9d7207</anchor>
      <arglist>(const image_u8_t *in, double rad, uint8_t pad)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>image_u8_write_pnm</name>
      <anchorfile>image__u8_8h.html</anchorfile>
      <anchor>adb7720bdbd28272963b05663c433b8c1</anchor>
      <arglist>(const image_u8_t *im, const char *path)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>image_u8x3.c</name>
    <path>/tmp/ws/src/apriltag/common/</path>
    <filename>image__u8x3_8c.html</filename>
    <includes id="math__util_8h" name="math_util.h" local="yes" imported="no">math_util.h</includes>
    <includes id="pnm_8h" name="pnm.h" local="yes" imported="no">pnm.h</includes>
    <includes id="image__u8x3_8h" name="image_u8x3.h" local="yes" imported="no">image_u8x3.h</includes>
    <member kind="define">
      <type>#define</type>
      <name>DEFAULT_ALIGNMENT_U8X3</name>
      <anchorfile>image__u8x3_8c.html</anchorfile>
      <anchor>a05ef85b6cdc56a541240c1e3c34ded75</anchor>
      <arglist></arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void</type>
      <name>convolve</name>
      <anchorfile>image__u8x3_8c.html</anchorfile>
      <anchor>a74f30844533787f9ff8c0c196eebdef8</anchor>
      <arglist>(const uint8_t *x, uint8_t *y, int sz, const uint8_t *k, int ksz)</arglist>
    </member>
    <member kind="function">
      <type>image_u8x3_t *</type>
      <name>image_u8x3_copy</name>
      <anchorfile>image__u8x3_8c.html</anchorfile>
      <anchor>a2e4ca6eb2daba37fcaa6e0f99f57deb0</anchor>
      <arglist>(const image_u8x3_t *in)</arglist>
    </member>
    <member kind="function">
      <type>image_u8x3_t *</type>
      <name>image_u8x3_create</name>
      <anchorfile>image__u8x3_8c.html</anchorfile>
      <anchor>aeae89c162a9f75caaba48abcecdc72f7</anchor>
      <arglist>(unsigned int width, unsigned int height)</arglist>
    </member>
    <member kind="function">
      <type>image_u8x3_t *</type>
      <name>image_u8x3_create_alignment</name>
      <anchorfile>image__u8x3_8c.html</anchorfile>
      <anchor>a94a07667e49e3eb1936515adbf80b623</anchor>
      <arglist>(unsigned int width, unsigned int height, unsigned int alignment)</arglist>
    </member>
    <member kind="function">
      <type>image_u8x3_t *</type>
      <name>image_u8x3_create_from_pnm</name>
      <anchorfile>image__u8x3_8c.html</anchorfile>
      <anchor>a27ee6c298e7bd221a4f081a0afb81dd7</anchor>
      <arglist>(const char *path)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>image_u8x3_destroy</name>
      <anchorfile>image__u8x3_8c.html</anchorfile>
      <anchor>af76c5e1b1aba896d33a11db537eedcf7</anchor>
      <arglist>(image_u8x3_t *im)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>image_u8x3_draw_line</name>
      <anchorfile>image__u8x3_8c.html</anchorfile>
      <anchor>ad01a0c02c4ee7e56efd04e0cb5e9f339</anchor>
      <arglist>(image_u8x3_t *im, float x0, float y0, float x1, float y1, uint8_t rgb[3])</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>image_u8x3_gaussian_blur</name>
      <anchorfile>image__u8x3_8c.html</anchorfile>
      <anchor>aba465c709fb1593cade9b4d940d07365</anchor>
      <arglist>(image_u8x3_t *im, double sigma, int ksz)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>image_u8x3_write_pnm</name>
      <anchorfile>image__u8x3_8c.html</anchorfile>
      <anchor>a02c69229da09abc813f871402ee54934</anchor>
      <arglist>(const image_u8x3_t *im, const char *path)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>image_u8x3.h</name>
    <path>/tmp/ws/src/apriltag/common/</path>
    <filename>image__u8x3_8h.html</filename>
    <includes id="image__types_8h" name="image_types.h" local="yes" imported="no">image_types.h</includes>
    <member kind="function">
      <type>image_u8x3_t *</type>
      <name>image_u8x3_copy</name>
      <anchorfile>image__u8x3_8h.html</anchorfile>
      <anchor>a2e4ca6eb2daba37fcaa6e0f99f57deb0</anchor>
      <arglist>(const image_u8x3_t *in)</arglist>
    </member>
    <member kind="function">
      <type>image_u8x3_t *</type>
      <name>image_u8x3_create</name>
      <anchorfile>image__u8x3_8h.html</anchorfile>
      <anchor>aeae89c162a9f75caaba48abcecdc72f7</anchor>
      <arglist>(unsigned int width, unsigned int height)</arglist>
    </member>
    <member kind="function">
      <type>image_u8x3_t *</type>
      <name>image_u8x3_create_alignment</name>
      <anchorfile>image__u8x3_8h.html</anchorfile>
      <anchor>a94a07667e49e3eb1936515adbf80b623</anchor>
      <arglist>(unsigned int width, unsigned int height, unsigned int alignment)</arglist>
    </member>
    <member kind="function">
      <type>image_u8x3_t *</type>
      <name>image_u8x3_create_from_pnm</name>
      <anchorfile>image__u8x3_8h.html</anchorfile>
      <anchor>a27ee6c298e7bd221a4f081a0afb81dd7</anchor>
      <arglist>(const char *path)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>image_u8x3_destroy</name>
      <anchorfile>image__u8x3_8h.html</anchorfile>
      <anchor>af76c5e1b1aba896d33a11db537eedcf7</anchor>
      <arglist>(image_u8x3_t *im)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>image_u8x3_draw_line</name>
      <anchorfile>image__u8x3_8h.html</anchorfile>
      <anchor>ad01a0c02c4ee7e56efd04e0cb5e9f339</anchor>
      <arglist>(image_u8x3_t *im, float x0, float y0, float x1, float y1, uint8_t rgb[3])</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>image_u8x3_gaussian_blur</name>
      <anchorfile>image__u8x3_8h.html</anchorfile>
      <anchor>aba465c709fb1593cade9b4d940d07365</anchor>
      <arglist>(image_u8x3_t *im, double sigma, int ksz)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>image_u8x3_write_pnm</name>
      <anchorfile>image__u8x3_8h.html</anchorfile>
      <anchor>a02c69229da09abc813f871402ee54934</anchor>
      <arglist>(const image_u8x3_t *im, const char *path)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>image_u8x4.c</name>
    <path>/tmp/ws/src/apriltag/common/</path>
    <filename>image__u8x4_8c.html</filename>
    <includes id="pam_8h" name="pam.h" local="yes" imported="no">pam.h</includes>
    <includes id="pnm_8h" name="pnm.h" local="yes" imported="no">pnm.h</includes>
    <includes id="image__u8x4_8h" name="image_u8x4.h" local="yes" imported="no">image_u8x4.h</includes>
    <member kind="define">
      <type>#define</type>
      <name>DEFAULT_ALIGNMENT_U8X4</name>
      <anchorfile>image__u8x4_8c.html</anchorfile>
      <anchor>a8520b6dc400632f439f262b6bc15ac28</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type>image_u8x4_t *</type>
      <name>image_u8x4_copy</name>
      <anchorfile>image__u8x4_8c.html</anchorfile>
      <anchor>a53b2c61fd8579de3fffe22e759dc9141</anchor>
      <arglist>(const image_u8x4_t *in)</arglist>
    </member>
    <member kind="function">
      <type>image_u8x4_t *</type>
      <name>image_u8x4_create</name>
      <anchorfile>image__u8x4_8c.html</anchorfile>
      <anchor>a9942ae2663199b0feade2cf0425d722d</anchor>
      <arglist>(unsigned int width, unsigned int height)</arglist>
    </member>
    <member kind="function">
      <type>image_u8x4_t *</type>
      <name>image_u8x4_create_alignment</name>
      <anchorfile>image__u8x4_8c.html</anchorfile>
      <anchor>a65b0379df2996bd497b6cd8d7335b1b9</anchor>
      <arglist>(unsigned int width, unsigned int height, unsigned int alignment)</arglist>
    </member>
    <member kind="function">
      <type>image_u8x4_t *</type>
      <name>image_u8x4_create_from_pam</name>
      <anchorfile>image__u8x4_8c.html</anchorfile>
      <anchor>a743d37ba4bfb3f42bce800971faa0bc9</anchor>
      <arglist>(const char *inpath)</arglist>
    </member>
    <member kind="function">
      <type>image_u8x4_t *</type>
      <name>image_u8x4_create_from_pnm</name>
      <anchorfile>image__u8x4_8c.html</anchorfile>
      <anchor>a6d5ddb833436b50e88cc633604fc18e1</anchor>
      <arglist>(const char *path)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>image_u8x4_destroy</name>
      <anchorfile>image__u8x4_8c.html</anchorfile>
      <anchor>a58a55339da39b97503b33af957b8f106</anchor>
      <arglist>(image_u8x4_t *im)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>image_u8x4_write_pam</name>
      <anchorfile>image__u8x4_8c.html</anchorfile>
      <anchor>af47e7944a2e02feed79214344e9757ab</anchor>
      <arglist>(const image_u8x4_t *im, const char *path)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>image_u8x4_write_pnm</name>
      <anchorfile>image__u8x4_8c.html</anchorfile>
      <anchor>a2a954b23695fc25eb2e083dd371ea6ce</anchor>
      <arglist>(const image_u8x4_t *imp, const char *path)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>image_u8x4.h</name>
    <path>/tmp/ws/src/apriltag/common/</path>
    <filename>image__u8x4_8h.html</filename>
    <includes id="image__types_8h" name="image_types.h" local="yes" imported="no">image_types.h</includes>
    <member kind="function">
      <type>image_u8x4_t *</type>
      <name>image_u8x4_copy</name>
      <anchorfile>image__u8x4_8h.html</anchorfile>
      <anchor>a53b2c61fd8579de3fffe22e759dc9141</anchor>
      <arglist>(const image_u8x4_t *in)</arglist>
    </member>
    <member kind="function">
      <type>image_u8x4_t *</type>
      <name>image_u8x4_create</name>
      <anchorfile>image__u8x4_8h.html</anchorfile>
      <anchor>a9942ae2663199b0feade2cf0425d722d</anchor>
      <arglist>(unsigned int width, unsigned int height)</arglist>
    </member>
    <member kind="function">
      <type>image_u8x4_t *</type>
      <name>image_u8x4_create_alignment</name>
      <anchorfile>image__u8x4_8h.html</anchorfile>
      <anchor>a65b0379df2996bd497b6cd8d7335b1b9</anchor>
      <arglist>(unsigned int width, unsigned int height, unsigned int alignment)</arglist>
    </member>
    <member kind="function">
      <type>image_u8x4_t *</type>
      <name>image_u8x4_create_from_pam</name>
      <anchorfile>image__u8x4_8h.html</anchorfile>
      <anchor>a45e766aa4e4cc788070975e3a39de88e</anchor>
      <arglist>(const char *path)</arglist>
    </member>
    <member kind="function">
      <type>image_u8x4_t *</type>
      <name>image_u8x4_create_from_pnm</name>
      <anchorfile>image__u8x4_8h.html</anchorfile>
      <anchor>a6d5ddb833436b50e88cc633604fc18e1</anchor>
      <arglist>(const char *path)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>image_u8x4_destroy</name>
      <anchorfile>image__u8x4_8h.html</anchorfile>
      <anchor>a58a55339da39b97503b33af957b8f106</anchor>
      <arglist>(image_u8x4_t *im)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>image_u8x4_write_pam</name>
      <anchorfile>image__u8x4_8h.html</anchorfile>
      <anchor>af47e7944a2e02feed79214344e9757ab</anchor>
      <arglist>(const image_u8x4_t *im, const char *path)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>image_u8x4_write_pnm</name>
      <anchorfile>image__u8x4_8h.html</anchorfile>
      <anchor>ae725165973b16e5bb22be7d508612662</anchor>
      <arglist>(const image_u8x4_t *im, const char *path)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>matd.c</name>
    <path>/tmp/ws/src/apriltag/common/</path>
    <filename>matd_8c.html</filename>
    <includes id="math__util_8h" name="math_util.h" local="yes" imported="no">common/math_util.h</includes>
    <includes id="svd22_8h" name="svd22.h" local="yes" imported="no">common/svd22.h</includes>
    <includes id="matd_8h" name="matd.h" local="yes" imported="no">common/matd.h</includes>
    <includes id="debug__print_8h" name="debug_print.h" local="yes" imported="no">common/debug_print.h</includes>
    <member kind="define">
      <type>#define</type>
      <name>TYPE</name>
      <anchorfile>matd_8c.html</anchorfile>
      <anchor>a5a392548f2df67370cb15d2a5d75cd7b</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type>matd_t *</type>
      <name>matd_add</name>
      <anchorfile>matd_8c.html</anchorfile>
      <anchor>a72393da4cf8ff5156e266760f060044e</anchor>
      <arglist>(const matd_t *a, const matd_t *b)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>matd_add_inplace</name>
      <anchorfile>matd_8c.html</anchorfile>
      <anchor>a1ca3f8e92a31656004f5428bfad28de3</anchor>
      <arglist>(matd_t *a, const matd_t *b)</arglist>
    </member>
    <member kind="function">
      <type>matd_chol_t *</type>
      <name>matd_chol</name>
      <anchorfile>matd_8c.html</anchorfile>
      <anchor>a7a4a01e51deef1a091b2f56ab6bdd1a5</anchor>
      <arglist>(matd_t *A)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>matd_chol_destroy</name>
      <anchorfile>matd_8c.html</anchorfile>
      <anchor>a9516fabf381ec6b47302e2f50ffd791a</anchor>
      <arglist>(matd_chol_t *chol)</arglist>
    </member>
    <member kind="function">
      <type>matd_t *</type>
      <name>matd_chol_inverse</name>
      <anchorfile>matd_8c.html</anchorfile>
      <anchor>a5b3888aa598e799b2bb19c48ad699d95</anchor>
      <arglist>(matd_t *a)</arglist>
    </member>
    <member kind="function">
      <type>matd_t *</type>
      <name>matd_chol_solve</name>
      <anchorfile>matd_8c.html</anchorfile>
      <anchor>ab79406d164a515d7fb27df771a728288</anchor>
      <arglist>(const matd_chol_t *chol, const matd_t *b)</arglist>
    </member>
    <member kind="function">
      <type>matd_t *</type>
      <name>matd_copy</name>
      <anchorfile>matd_8c.html</anchorfile>
      <anchor>a7316f3fd7dccf2c568c4b4712937956e</anchor>
      <arglist>(const matd_t *m)</arglist>
    </member>
    <member kind="function">
      <type>matd_t *</type>
      <name>matd_create</name>
      <anchorfile>matd_8c.html</anchorfile>
      <anchor>a551f88c7144180e48fbaa56080cf6f5e</anchor>
      <arglist>(int rows, int cols)</arglist>
    </member>
    <member kind="function">
      <type>matd_t *</type>
      <name>matd_create_data</name>
      <anchorfile>matd_8c.html</anchorfile>
      <anchor>a878494a5a782b5d0a8a0bcd7af79ed1f</anchor>
      <arglist>(int rows, int cols, const TYPE *data)</arglist>
    </member>
    <member kind="function">
      <type>matd_t *</type>
      <name>matd_create_dataf</name>
      <anchorfile>matd_8c.html</anchorfile>
      <anchor>a9aa425276de38bcc23c4fca8d13383d0</anchor>
      <arglist>(int rows, int cols, const float *data)</arglist>
    </member>
    <member kind="function">
      <type>matd_t *</type>
      <name>matd_create_scalar</name>
      <anchorfile>matd_8c.html</anchorfile>
      <anchor>aebf6efdd2a140a92821a85e3328e5247</anchor>
      <arglist>(TYPE v)</arglist>
    </member>
    <member kind="function">
      <type>matd_t *</type>
      <name>matd_crossproduct</name>
      <anchorfile>matd_8c.html</anchorfile>
      <anchor>ae9bd03f70351f569fd5956bd617b6140</anchor>
      <arglist>(const matd_t *a, const matd_t *b)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>matd_destroy</name>
      <anchorfile>matd_8c.html</anchorfile>
      <anchor>a808f0a3a6e8dcebcb2c7f607aa838ea3</anchor>
      <arglist>(matd_t *m)</arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>matd_det</name>
      <anchorfile>matd_8c.html</anchorfile>
      <anchor>a352bb64f091032cae5089efd319e03a3</anchor>
      <arglist>(const matd_t *a)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static double</type>
      <name>matd_det_general</name>
      <anchorfile>matd_8c.html</anchorfile>
      <anchor>a9bcd3f44f9e9d95d41253ca2d55140bb</anchor>
      <arglist>(const matd_t *a)</arglist>
    </member>
    <member kind="function">
      <type>TYPE</type>
      <name>matd_err_inf</name>
      <anchorfile>matd_8c.html</anchorfile>
      <anchor>a68708736eb1959f465005b26ab492251</anchor>
      <arglist>(const matd_t *a, const matd_t *b)</arglist>
    </member>
    <member kind="function">
      <type>TYPE</type>
      <name>matd_get</name>
      <anchorfile>matd_8c.html</anchorfile>
      <anchor>a195911e8b245992d628c01eef033b0dd</anchor>
      <arglist>(const matd_t *m, unsigned int row, unsigned int col)</arglist>
    </member>
    <member kind="function">
      <type>TYPE</type>
      <name>matd_get_scalar</name>
      <anchorfile>matd_8c.html</anchorfile>
      <anchor>aa2a5573211001b4b123fac6e130d5860</anchor>
      <arglist>(const matd_t *m)</arglist>
    </member>
    <member kind="function">
      <type>matd_t *</type>
      <name>matd_identity</name>
      <anchorfile>matd_8c.html</anchorfile>
      <anchor>a1340f94291d3f1a7a10e06435e3a0d75</anchor>
      <arglist>(int dim)</arglist>
    </member>
    <member kind="function">
      <type>matd_t *</type>
      <name>matd_inverse</name>
      <anchorfile>matd_8c.html</anchorfile>
      <anchor>adb949da837f4253ade74c4c847bb1cb2</anchor>
      <arglist>(const matd_t *x)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>matd_ltransposetriangle_solve</name>
      <anchorfile>matd_8c.html</anchorfile>
      <anchor>a2887b1548631c647d814e29d095074c7</anchor>
      <arglist>(matd_t *u, const TYPE *b, TYPE *x)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>matd_ltriangle_solve</name>
      <anchorfile>matd_8c.html</anchorfile>
      <anchor>ab907cf6bae9c1e769bebc4b8a2699d8b</anchor>
      <arglist>(matd_t *L, const TYPE *b, TYPE *x)</arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>matd_max</name>
      <anchorfile>matd_8c.html</anchorfile>
      <anchor>a9913d2fe1f2e2162b6db7f8fd8aae9c0</anchor>
      <arglist>(matd_t *m)</arglist>
    </member>
    <member kind="function">
      <type>matd_t *</type>
      <name>matd_multiply</name>
      <anchorfile>matd_8c.html</anchorfile>
      <anchor>acfe763b2d2dbaf4adbf477a271bb8221</anchor>
      <arglist>(const matd_t *a, const matd_t *b)</arglist>
    </member>
    <member kind="function">
      <type>matd_t *</type>
      <name>matd_op</name>
      <anchorfile>matd_8c.html</anchorfile>
      <anchor>a3363072dd529bda9a6fc98d4f25e9072</anchor>
      <arglist>(const char *expr,...)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static matd_t *</type>
      <name>matd_op_gobble_right</name>
      <anchorfile>matd_8c.html</anchorfile>
      <anchor>aab1f992600fd3201e0b4f44025ba951f</anchor>
      <arglist>(const char *expr, int *pos, matd_t *acc, matd_t **garb, int *garbpos)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static matd_t *</type>
      <name>matd_op_recurse</name>
      <anchorfile>matd_8c.html</anchorfile>
      <anchor>a4f434c32aa4f6fabcac8675bf99f4034</anchor>
      <arglist>(const char *expr, int *pos, matd_t *acc, matd_t **args, int *argpos, matd_t **garb, int *garbpos, int oneterm)</arglist>
    </member>
    <member kind="function">
      <type>matd_plu_t *</type>
      <name>matd_plu</name>
      <anchorfile>matd_8c.html</anchorfile>
      <anchor>a3e74a45767005c270b2ec1b57a755cfb</anchor>
      <arglist>(const matd_t *a)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>matd_plu_destroy</name>
      <anchorfile>matd_8c.html</anchorfile>
      <anchor>ae328c586b71d1212293b71a4d661a5f5</anchor>
      <arglist>(matd_plu_t *mlu)</arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>matd_plu_det</name>
      <anchorfile>matd_8c.html</anchorfile>
      <anchor>a9718f4dd4d0f5aea343fc593a0e76b83</anchor>
      <arglist>(const matd_plu_t *mlu)</arglist>
    </member>
    <member kind="function">
      <type>matd_t *</type>
      <name>matd_plu_l</name>
      <anchorfile>matd_8c.html</anchorfile>
      <anchor>af20c75f1baf2e67d22bfb9fe9642a8b7</anchor>
      <arglist>(const matd_plu_t *mlu)</arglist>
    </member>
    <member kind="function">
      <type>matd_t *</type>
      <name>matd_plu_p</name>
      <anchorfile>matd_8c.html</anchorfile>
      <anchor>aa37ceab4834dd6b47fef6ca94dfca8c5</anchor>
      <arglist>(const matd_plu_t *mlu)</arglist>
    </member>
    <member kind="function">
      <type>matd_t *</type>
      <name>matd_plu_solve</name>
      <anchorfile>matd_8c.html</anchorfile>
      <anchor>ab17dae5827b3f4a93ee29faa18982a43</anchor>
      <arglist>(const matd_plu_t *mlu, const matd_t *b)</arglist>
    </member>
    <member kind="function">
      <type>matd_t *</type>
      <name>matd_plu_u</name>
      <anchorfile>matd_8c.html</anchorfile>
      <anchor>a33d640d408f04ca9aa0b40711c3052c3</anchor>
      <arglist>(const matd_plu_t *mlu)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>matd_print</name>
      <anchorfile>matd_8c.html</anchorfile>
      <anchor>a3e23572241055971f84d3f4b29353e25</anchor>
      <arglist>(const matd_t *m, const char *fmt)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>matd_print_transpose</name>
      <anchorfile>matd_8c.html</anchorfile>
      <anchor>a640f782a3fe1a35af0b87150cdba867c</anchor>
      <arglist>(const matd_t *m, const char *fmt)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>matd_put</name>
      <anchorfile>matd_8c.html</anchorfile>
      <anchor>a8b700cb540f2ca397eab9b8d53ebec63</anchor>
      <arglist>(matd_t *m, unsigned int row, unsigned int col, TYPE value)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>matd_put_scalar</name>
      <anchorfile>matd_8c.html</anchorfile>
      <anchor>a4b8be14ee7f133c96c1c57c6859217cb</anchor>
      <arglist>(matd_t *m, TYPE value)</arglist>
    </member>
    <member kind="function">
      <type>matd_t *</type>
      <name>matd_scale</name>
      <anchorfile>matd_8c.html</anchorfile>
      <anchor>ad9131464238c93a2d055db8f744b6194</anchor>
      <arglist>(const matd_t *a, double s)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>matd_scale_inplace</name>
      <anchorfile>matd_8c.html</anchorfile>
      <anchor>a55a72583244f443a84f7d535ac8aef58</anchor>
      <arglist>(matd_t *a, double s)</arglist>
    </member>
    <member kind="function">
      <type>matd_t *</type>
      <name>matd_select</name>
      <anchorfile>matd_8c.html</anchorfile>
      <anchor>a96a05b11b462223b13e9a11e313371d9</anchor>
      <arglist>(const matd_t *a, unsigned int r0, int r1, unsigned int c0, int c1)</arglist>
    </member>
    <member kind="function">
      <type>matd_t *</type>
      <name>matd_solve</name>
      <anchorfile>matd_8c.html</anchorfile>
      <anchor>ac3a470162ceeffe15190e80c2cee6930</anchor>
      <arglist>(matd_t *A, matd_t *b)</arglist>
    </member>
    <member kind="function">
      <type>matd_t *</type>
      <name>matd_subtract</name>
      <anchorfile>matd_8c.html</anchorfile>
      <anchor>a2c0647fd7a5d1837c58ccef8b8d3136d</anchor>
      <arglist>(const matd_t *a, const matd_t *b)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>matd_subtract_inplace</name>
      <anchorfile>matd_8c.html</anchorfile>
      <anchor>aed044e0c402a7eaee9a73f56785347d3</anchor>
      <arglist>(matd_t *a, const matd_t *b)</arglist>
    </member>
    <member kind="function">
      <type>matd_svd_t</type>
      <name>matd_svd</name>
      <anchorfile>matd_8c.html</anchorfile>
      <anchor>ab22fe516092a54bcf11647d93f4e5896</anchor>
      <arglist>(matd_t *A)</arglist>
    </member>
    <member kind="function">
      <type>matd_svd_t</type>
      <name>matd_svd_flags</name>
      <anchorfile>matd_8c.html</anchorfile>
      <anchor>a88ead9bf5c09779e4f3b2be8b5aec918</anchor>
      <arglist>(matd_t *A, int flags)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static matd_svd_t</type>
      <name>matd_svd_tall</name>
      <anchorfile>matd_8c.html</anchorfile>
      <anchor>ac6838f3987217de045dfe2ef4e0168a2</anchor>
      <arglist>(matd_t *A, int flags)</arglist>
    </member>
    <member kind="function">
      <type>matd_t *</type>
      <name>matd_transpose</name>
      <anchorfile>matd_8c.html</anchorfile>
      <anchor>a3b9a584cc4445a1ea390e673cbdd2870</anchor>
      <arglist>(const matd_t *a)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>matd_utriangle_solve</name>
      <anchorfile>matd_8c.html</anchorfile>
      <anchor>a865e4f984ca6962e161fddc49a9fa3bc</anchor>
      <arglist>(matd_t *u, const TYPE *b, TYPE *x)</arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>matd_vec_dist</name>
      <anchorfile>matd_8c.html</anchorfile>
      <anchor>a17d5ee6905e6f6eed40ea2ebb9c77b43</anchor>
      <arglist>(const matd_t *a, const matd_t *b)</arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>matd_vec_dist_n</name>
      <anchorfile>matd_8c.html</anchorfile>
      <anchor>ad5189e1ae47e37728583e1497a85863e</anchor>
      <arglist>(const matd_t *a, const matd_t *b, int n)</arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>matd_vec_dot_product</name>
      <anchorfile>matd_8c.html</anchorfile>
      <anchor>a5bc51cdf6a4e237f941c2078980aeb32</anchor>
      <arglist>(const matd_t *a, const matd_t *b)</arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>matd_vec_mag</name>
      <anchorfile>matd_8c.html</anchorfile>
      <anchor>abf5a6d427758bfc8a15e57520b1e6b0f</anchor>
      <arglist>(const matd_t *a)</arglist>
    </member>
    <member kind="function">
      <type>matd_t *</type>
      <name>matd_vec_normalize</name>
      <anchorfile>matd_8c.html</anchorfile>
      <anchor>a46b456d401a977bf08c338f6ecd65a3e</anchor>
      <arglist>(const matd_t *a)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static int</type>
      <name>max_idx</name>
      <anchorfile>matd_8c.html</anchorfile>
      <anchor>a8db91316e595f09a903e950098d208b8</anchor>
      <arglist>(const matd_t *A, int row, int maxcol)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>matd.h</name>
    <path>/tmp/ws/src/apriltag/common/</path>
    <filename>matd_8h.html</filename>
    <class kind="struct">matd_chol_t</class>
    <class kind="struct">matd_plu_t</class>
    <class kind="struct">matd_svd_t</class>
    <class kind="struct">matd_t</class>
    <member kind="define">
      <type>#define</type>
      <name>MATD_ALLOC</name>
      <anchorfile>matd_8h.html</anchorfile>
      <anchor>a42779663d035cc0fc7aac90c20c12561</anchor>
      <arglist>(name, nrows, ncols)</arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>MATD_EL</name>
      <anchorfile>matd_8h.html</anchorfile>
      <anchor>ab91b10b7048284897e819ed44410b875</anchor>
      <arglist>(m, row, col)</arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>MATD_EPS</name>
      <anchorfile>matd_8h.html</anchorfile>
      <anchor>a26200dbba81e189f8137778652569c87</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>MATD_SVD_NO_WARNINGS</name>
      <anchorfile>matd_8h.html</anchorfile>
      <anchor>a55207d152a7d0341aa6850481f090374</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type>matd_t *</type>
      <name>matd_add</name>
      <anchorfile>matd_8h.html</anchorfile>
      <anchor>a72393da4cf8ff5156e266760f060044e</anchor>
      <arglist>(const matd_t *a, const matd_t *b)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>matd_add_inplace</name>
      <anchorfile>matd_8h.html</anchorfile>
      <anchor>a1ca3f8e92a31656004f5428bfad28de3</anchor>
      <arglist>(matd_t *a, const matd_t *b)</arglist>
    </member>
    <member kind="function">
      <type>matd_chol_t *</type>
      <name>matd_chol</name>
      <anchorfile>matd_8h.html</anchorfile>
      <anchor>a7a4a01e51deef1a091b2f56ab6bdd1a5</anchor>
      <arglist>(matd_t *A)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>matd_chol_destroy</name>
      <anchorfile>matd_8h.html</anchorfile>
      <anchor>a9516fabf381ec6b47302e2f50ffd791a</anchor>
      <arglist>(matd_chol_t *chol)</arglist>
    </member>
    <member kind="function">
      <type>matd_t *</type>
      <name>matd_chol_inverse</name>
      <anchorfile>matd_8h.html</anchorfile>
      <anchor>a5b3888aa598e799b2bb19c48ad699d95</anchor>
      <arglist>(matd_t *a)</arglist>
    </member>
    <member kind="function">
      <type>matd_t *</type>
      <name>matd_chol_solve</name>
      <anchorfile>matd_8h.html</anchorfile>
      <anchor>ab79406d164a515d7fb27df771a728288</anchor>
      <arglist>(const matd_chol_t *chol, const matd_t *b)</arglist>
    </member>
    <member kind="function">
      <type>matd_t *</type>
      <name>matd_copy</name>
      <anchorfile>matd_8h.html</anchorfile>
      <anchor>a7316f3fd7dccf2c568c4b4712937956e</anchor>
      <arglist>(const matd_t *m)</arglist>
    </member>
    <member kind="function">
      <type>matd_t *</type>
      <name>matd_create</name>
      <anchorfile>matd_8h.html</anchorfile>
      <anchor>a551f88c7144180e48fbaa56080cf6f5e</anchor>
      <arglist>(int rows, int cols)</arglist>
    </member>
    <member kind="function">
      <type>matd_t *</type>
      <name>matd_create_data</name>
      <anchorfile>matd_8h.html</anchorfile>
      <anchor>af4cc006fe478d43e6470767766fa3b80</anchor>
      <arglist>(int rows, int cols, const double *data)</arglist>
    </member>
    <member kind="function">
      <type>matd_t *</type>
      <name>matd_create_dataf</name>
      <anchorfile>matd_8h.html</anchorfile>
      <anchor>a9aa425276de38bcc23c4fca8d13383d0</anchor>
      <arglist>(int rows, int cols, const float *data)</arglist>
    </member>
    <member kind="function">
      <type>matd_t *</type>
      <name>matd_create_scalar</name>
      <anchorfile>matd_8h.html</anchorfile>
      <anchor>a4231b76b4bb3df45bcf3538f4ac879d9</anchor>
      <arglist>(double v)</arglist>
    </member>
    <member kind="function">
      <type>matd_t *</type>
      <name>matd_crossproduct</name>
      <anchorfile>matd_8h.html</anchorfile>
      <anchor>ae9bd03f70351f569fd5956bd617b6140</anchor>
      <arglist>(const matd_t *a, const matd_t *b)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>matd_destroy</name>
      <anchorfile>matd_8h.html</anchorfile>
      <anchor>a808f0a3a6e8dcebcb2c7f607aa838ea3</anchor>
      <arglist>(matd_t *m)</arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>matd_det</name>
      <anchorfile>matd_8h.html</anchorfile>
      <anchor>a352bb64f091032cae5089efd319e03a3</anchor>
      <arglist>(const matd_t *a)</arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>matd_err_inf</name>
      <anchorfile>matd_8h.html</anchorfile>
      <anchor>adf1f52649f7581add5955e4b1b01d700</anchor>
      <arglist>(const matd_t *a, const matd_t *b)</arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>matd_get</name>
      <anchorfile>matd_8h.html</anchorfile>
      <anchor>a40534e548037cd781db5e6e2bc0c1d21</anchor>
      <arglist>(const matd_t *m, unsigned int row, unsigned int col)</arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>matd_get_scalar</name>
      <anchorfile>matd_8h.html</anchorfile>
      <anchor>a1ded3dd28178a6428b8dc5068b8b87de</anchor>
      <arglist>(const matd_t *m)</arglist>
    </member>
    <member kind="function">
      <type>matd_t *</type>
      <name>matd_identity</name>
      <anchorfile>matd_8h.html</anchorfile>
      <anchor>a1340f94291d3f1a7a10e06435e3a0d75</anchor>
      <arglist>(int dim)</arglist>
    </member>
    <member kind="function">
      <type>matd_t *</type>
      <name>matd_inverse</name>
      <anchorfile>matd_8h.html</anchorfile>
      <anchor>a5cb06bb8c070bf4eb4f76b480dab5877</anchor>
      <arglist>(const matd_t *a)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static int</type>
      <name>matd_is_scalar</name>
      <anchorfile>matd_8h.html</anchorfile>
      <anchor>acd0dbbc8a2dfd7bdf4743d3d4bcb3129</anchor>
      <arglist>(const matd_t *a)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static int</type>
      <name>matd_is_vector</name>
      <anchorfile>matd_8h.html</anchorfile>
      <anchor>a465f794a45e87c2a8943910cd93419e9</anchor>
      <arglist>(const matd_t *a)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static int</type>
      <name>matd_is_vector_len</name>
      <anchorfile>matd_8h.html</anchorfile>
      <anchor>afed2fd24532ca3e1ceeab75fbd4c0803</anchor>
      <arglist>(const matd_t *a, int len)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>matd_ltransposetriangle_solve</name>
      <anchorfile>matd_8h.html</anchorfile>
      <anchor>ae6e94a50d4a4e01d71eb632ccb136b12</anchor>
      <arglist>(matd_t *u, const double *b, double *x)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>matd_ltriangle_solve</name>
      <anchorfile>matd_8h.html</anchorfile>
      <anchor>ac7d78e4e226314f5592ab770c5922e23</anchor>
      <arglist>(matd_t *u, const double *b, double *x)</arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>matd_max</name>
      <anchorfile>matd_8h.html</anchorfile>
      <anchor>a9913d2fe1f2e2162b6db7f8fd8aae9c0</anchor>
      <arglist>(matd_t *m)</arglist>
    </member>
    <member kind="function">
      <type>matd_t *</type>
      <name>matd_multiply</name>
      <anchorfile>matd_8h.html</anchorfile>
      <anchor>acfe763b2d2dbaf4adbf477a271bb8221</anchor>
      <arglist>(const matd_t *a, const matd_t *b)</arglist>
    </member>
    <member kind="function">
      <type>matd_t *</type>
      <name>matd_op</name>
      <anchorfile>matd_8h.html</anchorfile>
      <anchor>a3363072dd529bda9a6fc98d4f25e9072</anchor>
      <arglist>(const char *expr,...)</arglist>
    </member>
    <member kind="function">
      <type>matd_plu_t *</type>
      <name>matd_plu</name>
      <anchorfile>matd_8h.html</anchorfile>
      <anchor>a3e74a45767005c270b2ec1b57a755cfb</anchor>
      <arglist>(const matd_t *a)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>matd_plu_destroy</name>
      <anchorfile>matd_8h.html</anchorfile>
      <anchor>ae328c586b71d1212293b71a4d661a5f5</anchor>
      <arglist>(matd_plu_t *mlu)</arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>matd_plu_det</name>
      <anchorfile>matd_8h.html</anchorfile>
      <anchor>a1fb942820e49d324878cfccd1a5e63a1</anchor>
      <arglist>(const matd_plu_t *lu)</arglist>
    </member>
    <member kind="function">
      <type>matd_t *</type>
      <name>matd_plu_l</name>
      <anchorfile>matd_8h.html</anchorfile>
      <anchor>afa4294a6c88abf9f0f4ae1ecb3dd916e</anchor>
      <arglist>(const matd_plu_t *lu)</arglist>
    </member>
    <member kind="function">
      <type>matd_t *</type>
      <name>matd_plu_p</name>
      <anchorfile>matd_8h.html</anchorfile>
      <anchor>afc0b5e488efd74d359239f7fe23841f9</anchor>
      <arglist>(const matd_plu_t *lu)</arglist>
    </member>
    <member kind="function">
      <type>matd_t *</type>
      <name>matd_plu_solve</name>
      <anchorfile>matd_8h.html</anchorfile>
      <anchor>ab17dae5827b3f4a93ee29faa18982a43</anchor>
      <arglist>(const matd_plu_t *mlu, const matd_t *b)</arglist>
    </member>
    <member kind="function">
      <type>matd_t *</type>
      <name>matd_plu_u</name>
      <anchorfile>matd_8h.html</anchorfile>
      <anchor>aa7f5d6b7a4b381c1f46aa56bcb2bbc9f</anchor>
      <arglist>(const matd_plu_t *lu)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>matd_print</name>
      <anchorfile>matd_8h.html</anchorfile>
      <anchor>a3e23572241055971f84d3f4b29353e25</anchor>
      <arglist>(const matd_t *m, const char *fmt)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>matd_print_transpose</name>
      <anchorfile>matd_8h.html</anchorfile>
      <anchor>a640f782a3fe1a35af0b87150cdba867c</anchor>
      <arglist>(const matd_t *m, const char *fmt)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>matd_put</name>
      <anchorfile>matd_8h.html</anchorfile>
      <anchor>a874d1fda64faa7f5bfd577072207fbc1</anchor>
      <arglist>(matd_t *m, unsigned int row, unsigned int col, double value)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>matd_put_scalar</name>
      <anchorfile>matd_8h.html</anchorfile>
      <anchor>ab1c1fbf9c08531f4e3268a75fc5620de</anchor>
      <arglist>(matd_t *m, double value)</arglist>
    </member>
    <member kind="function">
      <type>matd_t *</type>
      <name>matd_scale</name>
      <anchorfile>matd_8h.html</anchorfile>
      <anchor>ad9131464238c93a2d055db8f744b6194</anchor>
      <arglist>(const matd_t *a, double s)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>matd_scale_inplace</name>
      <anchorfile>matd_8h.html</anchorfile>
      <anchor>a55a72583244f443a84f7d535ac8aef58</anchor>
      <arglist>(matd_t *a, double s)</arglist>
    </member>
    <member kind="function">
      <type>matd_t *</type>
      <name>matd_select</name>
      <anchorfile>matd_8h.html</anchorfile>
      <anchor>a96a05b11b462223b13e9a11e313371d9</anchor>
      <arglist>(const matd_t *a, unsigned int r0, int r1, unsigned int c0, int c1)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void</type>
      <name>matd_set_data</name>
      <anchorfile>matd_8h.html</anchorfile>
      <anchor>ac25bd8c392bc00c5d1e40afc10f502d3</anchor>
      <arglist>(matd_t *m, const double *data)</arglist>
    </member>
    <member kind="function">
      <type>matd_t *</type>
      <name>matd_solve</name>
      <anchorfile>matd_8h.html</anchorfile>
      <anchor>ac3a470162ceeffe15190e80c2cee6930</anchor>
      <arglist>(matd_t *A, matd_t *b)</arglist>
    </member>
    <member kind="function">
      <type>matd_t *</type>
      <name>matd_subtract</name>
      <anchorfile>matd_8h.html</anchorfile>
      <anchor>a2c0647fd7a5d1837c58ccef8b8d3136d</anchor>
      <arglist>(const matd_t *a, const matd_t *b)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>matd_subtract_inplace</name>
      <anchorfile>matd_8h.html</anchorfile>
      <anchor>aed044e0c402a7eaee9a73f56785347d3</anchor>
      <arglist>(matd_t *a, const matd_t *b)</arglist>
    </member>
    <member kind="function">
      <type>matd_svd_t</type>
      <name>matd_svd</name>
      <anchorfile>matd_8h.html</anchorfile>
      <anchor>ab22fe516092a54bcf11647d93f4e5896</anchor>
      <arglist>(matd_t *A)</arglist>
    </member>
    <member kind="function">
      <type>matd_svd_t</type>
      <name>matd_svd_flags</name>
      <anchorfile>matd_8h.html</anchorfile>
      <anchor>a88ead9bf5c09779e4f3b2be8b5aec918</anchor>
      <arglist>(matd_t *A, int flags)</arglist>
    </member>
    <member kind="function">
      <type>matd_t *</type>
      <name>matd_transpose</name>
      <anchorfile>matd_8h.html</anchorfile>
      <anchor>a3b9a584cc4445a1ea390e673cbdd2870</anchor>
      <arglist>(const matd_t *a)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>matd_utriangle_solve</name>
      <anchorfile>matd_8h.html</anchorfile>
      <anchor>ae612ff9e9640281025b4d5127b9b1023</anchor>
      <arglist>(matd_t *u, const double *b, double *x)</arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>matd_vec_dist</name>
      <anchorfile>matd_8h.html</anchorfile>
      <anchor>a17d5ee6905e6f6eed40ea2ebb9c77b43</anchor>
      <arglist>(const matd_t *a, const matd_t *b)</arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>matd_vec_dist_n</name>
      <anchorfile>matd_8h.html</anchorfile>
      <anchor>ad5189e1ae47e37728583e1497a85863e</anchor>
      <arglist>(const matd_t *a, const matd_t *b, int n)</arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>matd_vec_dot_product</name>
      <anchorfile>matd_8h.html</anchorfile>
      <anchor>a5bc51cdf6a4e237f941c2078980aeb32</anchor>
      <arglist>(const matd_t *a, const matd_t *b)</arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>matd_vec_mag</name>
      <anchorfile>matd_8h.html</anchorfile>
      <anchor>abf5a6d427758bfc8a15e57520b1e6b0f</anchor>
      <arglist>(const matd_t *a)</arglist>
    </member>
    <member kind="function">
      <type>matd_t *</type>
      <name>matd_vec_normalize</name>
      <anchorfile>matd_8h.html</anchorfile>
      <anchor>a46b456d401a977bf08c338f6ecd65a3e</anchor>
      <arglist>(const matd_t *a)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>math_util.h</name>
    <path>/tmp/ws/src/apriltag/common/</path>
    <filename>math__util_8h.html</filename>
    <member kind="define">
      <type>#define</type>
      <name>_USE_MATH_DEFINES</name>
      <anchorfile>math__util_8h.html</anchorfile>
      <anchor>a525335710b53cb064ca56b936120431e</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>to_degrees</name>
      <anchorfile>math__util_8h.html</anchorfile>
      <anchor>a73a44a9e0958fb0168fa7aebc4bd3bc7</anchor>
      <arglist>(x)</arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>to_radians</name>
      <anchorfile>math__util_8h.html</anchorfile>
      <anchor>a207ef1a99d76e52721e414fee3168571</anchor>
      <arglist>(x)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static int</type>
      <name>dblcmp</name>
      <anchorfile>math__util_8h.html</anchorfile>
      <anchor>af231d0e6624a32dc211e807318ce3f9d</anchor>
      <arglist>(double d1, double d2)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static double</type>
      <name>dclamp</name>
      <anchorfile>math__util_8h.html</anchorfile>
      <anchor>a4c6d72ca3204e674f23e20435daa8053</anchor>
      <arglist>(double a, double min, double max)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static int</type>
      <name>dequals_mag</name>
      <anchorfile>math__util_8h.html</anchorfile>
      <anchor>a98619ff57a140661475440fa9582cfeb</anchor>
      <arglist>(double a, double b, double thresh)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static int</type>
      <name>fltcmp</name>
      <anchorfile>math__util_8h.html</anchorfile>
      <anchor>a11cf0d5e03ea436ffef86325f09d380d</anchor>
      <arglist>(float f1, float f2)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static float</type>
      <name>fsq</name>
      <anchorfile>math__util_8h.html</anchorfile>
      <anchor>a128f92ef300ba81b40717c9642d1cb33</anchor>
      <arglist>(float v)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static int</type>
      <name>iclamp</name>
      <anchorfile>math__util_8h.html</anchorfile>
      <anchor>af73d070f4ffbaed649dc8c9bb097e717</anchor>
      <arglist>(int v, int minv, int maxv)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static int</type>
      <name>imax</name>
      <anchorfile>math__util_8h.html</anchorfile>
      <anchor>afca01a231aef5cdbcbb5c23a7134e9d4</anchor>
      <arglist>(int a, int b)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static int64_t</type>
      <name>imax64</name>
      <anchorfile>math__util_8h.html</anchorfile>
      <anchor>ab6878f56fc0826d7083f7dd5ce1019de</anchor>
      <arglist>(int64_t a, int64_t b)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static int</type>
      <name>imin</name>
      <anchorfile>math__util_8h.html</anchorfile>
      <anchor>aa011f843a2a959cc6f8c226f60e96224</anchor>
      <arglist>(int a, int b)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static int64_t</type>
      <name>imin64</name>
      <anchorfile>math__util_8h.html</anchorfile>
      <anchor>a85484de38085cbb0f94927eed3026314</anchor>
      <arglist>(int64_t a, int64_t b)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static int</type>
      <name>irand</name>
      <anchorfile>math__util_8h.html</anchorfile>
      <anchor>aa100ebabe2e1f44d54eeff05e3ad4a6b</anchor>
      <arglist>(int bound)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static int</type>
      <name>isq</name>
      <anchorfile>math__util_8h.html</anchorfile>
      <anchor>a7cb201a8e4c3fcf7b3aa30c8490365ee</anchor>
      <arglist>(int v)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static double</type>
      <name>mod2pi</name>
      <anchorfile>math__util_8h.html</anchorfile>
      <anchor>ae35d2829cf8f2490136ebca440692752</anchor>
      <arglist>(double vin)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static double</type>
      <name>mod2pi_positive</name>
      <anchorfile>math__util_8h.html</anchorfile>
      <anchor>a07f2c7393e759b044e991b2f428bbae2</anchor>
      <arglist>(double vin)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static double</type>
      <name>mod2pi_ref</name>
      <anchorfile>math__util_8h.html</anchorfile>
      <anchor>a4e0ef31383448f11d5f431acf57bdd2c</anchor>
      <arglist>(double ref, double vin)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static double</type>
      <name>mod360</name>
      <anchorfile>math__util_8h.html</anchorfile>
      <anchor>a54e5ace3a6485830d022d0983cb89055</anchor>
      <arglist>(double vin)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static double</type>
      <name>mod360_positive</name>
      <anchorfile>math__util_8h.html</anchorfile>
      <anchor>a3b2edd48d2de14cdd805528c008e3a44</anchor>
      <arglist>(double vin)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static int</type>
      <name>mod_positive</name>
      <anchorfile>math__util_8h.html</anchorfile>
      <anchor>a81faddb0486c15e4bcb3dbb832ef7b5b</anchor>
      <arglist>(int vin, int mod)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static float</type>
      <name>randf</name>
      <anchorfile>math__util_8h.html</anchorfile>
      <anchor>a96d7db39ee7c948dd943958fbf6a8732</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static double</type>
      <name>sgn</name>
      <anchorfile>math__util_8h.html</anchorfile>
      <anchor>a88889286afda43e4ae1514b689f1549d</anchor>
      <arglist>(double v)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static float</type>
      <name>signed_randf</name>
      <anchorfile>math__util_8h.html</anchorfile>
      <anchor>aa9460432621afcef6ca3e13576991f92</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static double</type>
      <name>sq</name>
      <anchorfile>math__util_8h.html</anchorfile>
      <anchor>abd4d64e62aaef450aa48282c7c6a1cd9</anchor>
      <arglist>(double v)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static int</type>
      <name>theta_to_int</name>
      <anchorfile>math__util_8h.html</anchorfile>
      <anchor>a6d64b1f9acc26fdd9703555e25f194de</anchor>
      <arglist>(double theta, int max)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>opencv_demo.cc</name>
    <path>/tmp/ws/src/apriltag/example/</path>
    <filename>opencv__demo_8cc.html</filename>
    <includes id="apriltag_8h" name="apriltag.h" local="yes" imported="no">apriltag.h</includes>
    <includes id="tag36h11_8h" name="tag36h11.h" local="yes" imported="no">tag36h11.h</includes>
    <includes id="tag25h9_8h" name="tag25h9.h" local="yes" imported="no">tag25h9.h</includes>
    <includes id="tag16h5_8h" name="tag16h5.h" local="yes" imported="no">tag16h5.h</includes>
    <includes id="tagCircle21h7_8h" name="tagCircle21h7.h" local="yes" imported="no">tagCircle21h7.h</includes>
    <includes id="tagCircle49h12_8h" name="tagCircle49h12.h" local="yes" imported="no">tagCircle49h12.h</includes>
    <includes id="tagCustom48h12_8h" name="tagCustom48h12.h" local="yes" imported="no">tagCustom48h12.h</includes>
    <includes id="tagStandard41h12_8h" name="tagStandard41h12.h" local="yes" imported="no">tagStandard41h12.h</includes>
    <includes id="tagStandard52h13_8h" name="tagStandard52h13.h" local="yes" imported="no">tagStandard52h13.h</includes>
    <includes id="getopt_8h" name="getopt.h" local="yes" imported="no">common/getopt.h</includes>
    <member kind="function">
      <type>int</type>
      <name>main</name>
      <anchorfile>opencv__demo_8cc.html</anchorfile>
      <anchor>a0ddf1224851353fc92bfbff6f499fa97</anchor>
      <arglist>(int argc, char *argv[])</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>pam.c</name>
    <path>/tmp/ws/src/apriltag/common/</path>
    <filename>pam_8c.html</filename>
    <includes id="pam_8h" name="pam.h" local="yes" imported="no">pam.h</includes>
    <member kind="function">
      <type>pam_t *</type>
      <name>pam_convert</name>
      <anchorfile>pam_8c.html</anchorfile>
      <anchor>a37ad2be8698b9393a9e1d6587d63bbc9</anchor>
      <arglist>(pam_t *in, int type)</arglist>
    </member>
    <member kind="function">
      <type>pam_t *</type>
      <name>pam_copy</name>
      <anchorfile>pam_8c.html</anchorfile>
      <anchor>a27c1bd89c7e04ac5b6e89d7537efc0aa</anchor>
      <arglist>(pam_t *pam)</arglist>
    </member>
    <member kind="function">
      <type>pam_t *</type>
      <name>pam_create_from_file</name>
      <anchorfile>pam_8c.html</anchorfile>
      <anchor>abc3df11f9fd0af7c907b8b8929c7ae60</anchor>
      <arglist>(const char *inpath)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>pam_destroy</name>
      <anchorfile>pam_8c.html</anchorfile>
      <anchor>a2b6fa2427c47dbca6d4582369b4cfb24</anchor>
      <arglist>(pam_t *pam)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>pam_write_file</name>
      <anchorfile>pam_8c.html</anchorfile>
      <anchor>adab956a63ce0c8a82e0b22dcedc71786</anchor>
      <arglist>(pam_t *pam, const char *outpath)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>pam.h</name>
    <path>/tmp/ws/src/apriltag/common/</path>
    <filename>pam_8h.html</filename>
    <class kind="struct">pam</class>
    <member kind="typedef">
      <type>struct pam</type>
      <name>pam_t</name>
      <anchorfile>pam_8h.html</anchorfile>
      <anchor>a5199f602f9e3a800548f3b1558fd30ba</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>PAM_GRAYSCALE_ALPHA</name>
      <anchorfile>pam_8h.html</anchorfile>
      <anchor>a06fc87d81c62e9abb8790b6e5713c55ba308fe79d45a9353177085a5094383676</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>PAM_RGB_ALPHA</name>
      <anchorfile>pam_8h.html</anchorfile>
      <anchor>a06fc87d81c62e9abb8790b6e5713c55ba327b9bf7c31af2521852412786ea3287</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>PAM_RGB</name>
      <anchorfile>pam_8h.html</anchorfile>
      <anchor>a06fc87d81c62e9abb8790b6e5713c55ba758f03fd70ccb275826d3a299f9b3693</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>PAM_GRAYSCALE</name>
      <anchorfile>pam_8h.html</anchorfile>
      <anchor>a06fc87d81c62e9abb8790b6e5713c55ba92272d8fd34e808a436306176096ff93</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type>pam_t *</type>
      <name>pam_convert</name>
      <anchorfile>pam_8h.html</anchorfile>
      <anchor>a37ad2be8698b9393a9e1d6587d63bbc9</anchor>
      <arglist>(pam_t *in, int type)</arglist>
    </member>
    <member kind="function">
      <type>pam_t *</type>
      <name>pam_copy</name>
      <anchorfile>pam_8h.html</anchorfile>
      <anchor>a27c1bd89c7e04ac5b6e89d7537efc0aa</anchor>
      <arglist>(pam_t *pam)</arglist>
    </member>
    <member kind="function">
      <type>pam_t *</type>
      <name>pam_create_from_file</name>
      <anchorfile>pam_8h.html</anchorfile>
      <anchor>abc3df11f9fd0af7c907b8b8929c7ae60</anchor>
      <arglist>(const char *inpath)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>pam_destroy</name>
      <anchorfile>pam_8h.html</anchorfile>
      <anchor>a2b6fa2427c47dbca6d4582369b4cfb24</anchor>
      <arglist>(pam_t *pam)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>pam_write_file</name>
      <anchorfile>pam_8h.html</anchorfile>
      <anchor>adab956a63ce0c8a82e0b22dcedc71786</anchor>
      <arglist>(pam_t *pam, const char *outpath)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>pjpeg-idct.c</name>
    <path>/tmp/ws/src/apriltag/common/</path>
    <filename>pjpeg-idct_8c.html</filename>
    <member kind="define">
      <type>#define</type>
      <name>_USE_MATH_DEFINES</name>
      <anchorfile>pjpeg-idct_8c.html</anchorfile>
      <anchor>a525335710b53cb064ca56b936120431e</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>W1</name>
      <anchorfile>pjpeg-idct_8c.html</anchorfile>
      <anchor>ab81b2eb602e38a0261e345affe285d6d</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>W2</name>
      <anchorfile>pjpeg-idct_8c.html</anchorfile>
      <anchor>abc37ebbafc333229f88a779e89adf602</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>W3</name>
      <anchorfile>pjpeg-idct_8c.html</anchorfile>
      <anchor>a36f09154c1e0bdd55d6436ef88e43761</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>W5</name>
      <anchorfile>pjpeg-idct_8c.html</anchorfile>
      <anchor>a9b60038e7502dfadba8121a6c64c51ef</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>W6</name>
      <anchorfile>pjpeg-idct_8c.html</anchorfile>
      <anchor>a4876063757f75283e9ad1d61056d5450</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>W7</name>
      <anchorfile>pjpeg-idct_8c.html</anchorfile>
      <anchor>aa7ec388b2d43189c45c6d3b2b04818fd</anchor>
      <arglist></arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void</type>
      <name>idct_1D_double</name>
      <anchorfile>pjpeg-idct_8c.html</anchorfile>
      <anchor>a85bf580f503bb53afa60cd0a4663d8f6</anchor>
      <arglist>(double *in, int instride, double *out, int outstride)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void</type>
      <name>idct_1D_u32</name>
      <anchorfile>pjpeg-idct_8c.html</anchorfile>
      <anchor>a6dfeffda3ee5642934d80e84a027c6de</anchor>
      <arglist>(int32_t *in, int instride, int32_t *out, int outstride)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static unsigned char</type>
      <name>njClip</name>
      <anchorfile>pjpeg-idct_8c.html</anchorfile>
      <anchor>a83f35d2e44c167ad635686a0a22f96e3</anchor>
      <arglist>(const int x)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void</type>
      <name>njColIDCT</name>
      <anchorfile>pjpeg-idct_8c.html</anchorfile>
      <anchor>a0871ac8563e95df65e109f897aa8ce8f</anchor>
      <arglist>(const int *blk, unsigned char *out, int stride)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void</type>
      <name>njRowIDCT</name>
      <anchorfile>pjpeg-idct_8c.html</anchorfile>
      <anchor>ace640c994012cc9a5a226112baee604d</anchor>
      <arglist>(int *blk)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>pjpeg_idct_2D_double</name>
      <anchorfile>pjpeg-idct_8c.html</anchorfile>
      <anchor>a00afe9442fb18cfb350ca93465c08071</anchor>
      <arglist>(int32_t in[64], uint8_t *out, uint32_t outstride)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>pjpeg_idct_2D_nanojpeg</name>
      <anchorfile>pjpeg-idct_8c.html</anchorfile>
      <anchor>a9f77e42b862ad94db41227780cc37e62</anchor>
      <arglist>(int32_t in[64], uint8_t *out, uint32_t outstride)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>pjpeg_idct_2D_u32</name>
      <anchorfile>pjpeg-idct_8c.html</anchorfile>
      <anchor>af13fe77807b7459f6a6578639e276a02</anchor>
      <arglist>(int32_t in[64], uint8_t *out, uint32_t outstride)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>pjpeg.c</name>
    <path>/tmp/ws/src/apriltag/common/</path>
    <filename>pjpeg_8c.html</filename>
    <includes id="pjpeg_8h" name="pjpeg.h" local="yes" imported="no">pjpeg.h</includes>
    <includes id="image__u8_8h" name="image_u8.h" local="yes" imported="no">image_u8.h</includes>
    <includes id="image__u8x3_8h" name="image_u8x3.h" local="yes" imported="no">image_u8x3.h</includes>
    <includes id="debug__print_8h" name="debug_print.h" local="yes" imported="no">debug_print.h</includes>
    <class kind="struct">bit_decoder</class>
    <class kind="struct">pjpeg_decode_state</class>
    <class kind="struct">pjpeg_huffman_code</class>
    <member kind="function" static="yes">
      <type>static uint32_t</type>
      <name>bd_consume_bits</name>
      <anchorfile>pjpeg_8c.html</anchorfile>
      <anchor>a1d504880ba204e518d1093f688158cd6</anchor>
      <arglist>(struct bit_decoder *bd, int nbits)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void</type>
      <name>bd_discard_bytes</name>
      <anchorfile>pjpeg_8c.html</anchorfile>
      <anchor>a2af27ce87309538f29dec68ecc9b0454</anchor>
      <arglist>(struct bit_decoder *bd, int nbytes)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void</type>
      <name>bd_discard_to_byte_boundary</name>
      <anchorfile>pjpeg_8c.html</anchorfile>
      <anchor>a6631bfb1d2bf86faa7f12ec5eae5479e</anchor>
      <arglist>(struct bit_decoder *bd)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void</type>
      <name>bd_ensure</name>
      <anchorfile>pjpeg_8c.html</anchorfile>
      <anchor>ad888c0ce082f66d1be344c73fbd8e966</anchor>
      <arglist>(struct bit_decoder *bd, int nbits)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static uint32_t</type>
      <name>bd_get_offset</name>
      <anchorfile>pjpeg_8c.html</anchorfile>
      <anchor>a5e621b6ba4447f356910c4d1d2a9689a</anchor>
      <arglist>(struct bit_decoder *bd)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static int</type>
      <name>bd_has_more</name>
      <anchorfile>pjpeg_8c.html</anchorfile>
      <anchor>a7aac09e756d6de64e6e8d0158ae04b4c</anchor>
      <arglist>(struct bit_decoder *bd)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static uint32_t</type>
      <name>bd_peek_bits</name>
      <anchorfile>pjpeg_8c.html</anchorfile>
      <anchor>a64e7c7caf2aaaeba8e453ebddab3baa3</anchor>
      <arglist>(struct bit_decoder *bd, int nbits)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static uint8_t</type>
      <name>clamp_u8</name>
      <anchorfile>pjpeg_8c.html</anchorfile>
      <anchor>add272e48f72561b5e7cba468d14f810d</anchor>
      <arglist>(int32_t v)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static uint8_t</type>
      <name>clampd</name>
      <anchorfile>pjpeg_8c.html</anchorfile>
      <anchor>aa7c5d2885b0e834f359759dde0eec4f5</anchor>
      <arglist>(double v)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static uint8_t</type>
      <name>max_u8</name>
      <anchorfile>pjpeg_8c.html</anchorfile>
      <anchor>a48d7868f5b4571288b0135990532f788</anchor>
      <arglist>(uint8_t a, uint8_t b)</arglist>
    </member>
    <member kind="function">
      <type>pjpeg_t *</type>
      <name>pjpeg_create_from_buffer</name>
      <anchorfile>pjpeg_8c.html</anchorfile>
      <anchor>aed270a10a8e952c900659cf6019b8eb8</anchor>
      <arglist>(uint8_t *buf, int buflen, uint32_t flags, int *error)</arglist>
    </member>
    <member kind="function">
      <type>pjpeg_t *</type>
      <name>pjpeg_create_from_file</name>
      <anchorfile>pjpeg_8c.html</anchorfile>
      <anchor>ac022ff35a98016eaa076ac0ac66a4c15</anchor>
      <arglist>(const char *path, uint32_t flags, int *error)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static int</type>
      <name>pjpeg_decode_buffer</name>
      <anchorfile>pjpeg_8c.html</anchorfile>
      <anchor>ad865312e69f535d50b3ccdb290a56f0e</anchor>
      <arglist>(struct pjpeg_decode_state *pjd)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>pjpeg_destroy</name>
      <anchorfile>pjpeg_8c.html</anchorfile>
      <anchor>a42f71f3120d32fc21dd3c5b74464ec13</anchor>
      <arglist>(pjpeg_t *pj)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>pjpeg_idct_2D_double</name>
      <anchorfile>pjpeg_8c.html</anchorfile>
      <anchor>a00afe9442fb18cfb350ca93465c08071</anchor>
      <arglist>(int32_t in[64], uint8_t *out, uint32_t outstride)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>pjpeg_idct_2D_nanojpeg</name>
      <anchorfile>pjpeg_8c.html</anchorfile>
      <anchor>a9f77e42b862ad94db41227780cc37e62</anchor>
      <arglist>(int32_t in[64], uint8_t *out, uint32_t outstride)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>pjpeg_idct_2D_u32</name>
      <anchorfile>pjpeg_8c.html</anchorfile>
      <anchor>af13fe77807b7459f6a6578639e276a02</anchor>
      <arglist>(int32_t in[64], uint8_t *out, uint32_t outstride)</arglist>
    </member>
    <member kind="function">
      <type>image_u8_t *</type>
      <name>pjpeg_to_u8_baseline</name>
      <anchorfile>pjpeg_8c.html</anchorfile>
      <anchor>ab8ee94ad02e74a9626c38451b8ae1c51</anchor>
      <arglist>(pjpeg_t *pj)</arglist>
    </member>
    <member kind="function">
      <type>image_u8x3_t *</type>
      <name>pjpeg_to_u8x3_baseline</name>
      <anchorfile>pjpeg_8c.html</anchorfile>
      <anchor>a666569fb28da4c4888d479afb67f90b1</anchor>
      <arglist>(pjpeg_t *pj)</arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static uint8_t</type>
      <name>mjpeg_dht</name>
      <anchorfile>pjpeg_8c.html</anchorfile>
      <anchor>a140aa9fd00cc03747b6c0575dfe78987</anchor>
      <arglist>[]</arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static const char</type>
      <name>ZZ</name>
      <anchorfile>pjpeg_8c.html</anchorfile>
      <anchor>a3e58138ada58ef4b03308508b37f1e39</anchor>
      <arglist>[64]</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>pjpeg.h</name>
    <path>/tmp/ws/src/apriltag/common/</path>
    <filename>pjpeg_8h.html</filename>
    <includes id="image__u8_8h" name="image_u8.h" local="yes" imported="no">image_u8.h</includes>
    <includes id="image__u8x3_8h" name="image_u8x3.h" local="yes" imported="no">image_u8x3.h</includes>
    <class kind="struct">pjpeg</class>
    <class kind="struct">pjpeg_component</class>
    <member kind="typedef">
      <type>struct pjpeg_component</type>
      <name>pjpeg_component_t</name>
      <anchorfile>pjpeg_8h.html</anchorfile>
      <anchor>a060e201d3480595b4e5b8133cf66eda8</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>struct pjpeg</type>
      <name>pjpeg_t</name>
      <anchorfile>pjpeg_8h.html</anchorfile>
      <anchor>a235f59c3e452981d1c2a7948c4757a76</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumeration">
      <type></type>
      <name>PJPEG_ERROR</name>
      <anchorfile>pjpeg_8h.html</anchorfile>
      <anchor>a78f186cff4effced1b756b447d90f98e</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>PJPEG_OKAY</name>
      <anchorfile>pjpeg_8h.html</anchorfile>
      <anchor>a78f186cff4effced1b756b447d90f98ead124b0cc4e40898e9107c3eb39880371</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>PJPEG_ERR_FILE</name>
      <anchorfile>pjpeg_8h.html</anchorfile>
      <anchor>a78f186cff4effced1b756b447d90f98ea094cbf2e4239ea79dc687b75b31ebc9e</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>PJPEG_ERR_DQT</name>
      <anchorfile>pjpeg_8h.html</anchorfile>
      <anchor>a78f186cff4effced1b756b447d90f98eadb6226cf70ef9ed12355d7d5e43d1ca4</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>PJPEG_ERR_SOF</name>
      <anchorfile>pjpeg_8h.html</anchorfile>
      <anchor>a78f186cff4effced1b756b447d90f98ea43a50401e79a8cfe6cafdd724d65ea00</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>PJPEG_ERR_DHT</name>
      <anchorfile>pjpeg_8h.html</anchorfile>
      <anchor>a78f186cff4effced1b756b447d90f98eaaa4f8fac7c6e39ce93b2e3ecc927b3f5</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>PJPEG_ERR_SOS</name>
      <anchorfile>pjpeg_8h.html</anchorfile>
      <anchor>a78f186cff4effced1b756b447d90f98ea2e12b89496f9e8a7f04936daec82e070</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>PJPEG_ERR_MISSING_DHT</name>
      <anchorfile>pjpeg_8h.html</anchorfile>
      <anchor>a78f186cff4effced1b756b447d90f98ea42851de3a98d2ce89fab477f26d95dd7</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>PJPEG_ERR_DRI</name>
      <anchorfile>pjpeg_8h.html</anchorfile>
      <anchor>a78f186cff4effced1b756b447d90f98ea2cdacbc6d8e803c18214b385b147e5c6</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>PJPEG_ERR_RESET</name>
      <anchorfile>pjpeg_8h.html</anchorfile>
      <anchor>a78f186cff4effced1b756b447d90f98ea3e0eb0fe339c8506bb40931003020f4f</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>PJPEG_ERR_EOF</name>
      <anchorfile>pjpeg_8h.html</anchorfile>
      <anchor>a78f186cff4effced1b756b447d90f98eaab61c810cadfe48660d959e1da78fdd0</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>PJEPG_ERR_UNSUPPORTED</name>
      <anchorfile>pjpeg_8h.html</anchorfile>
      <anchor>a78f186cff4effced1b756b447d90f98eacb2c1db4c7f23fbaac783e516431c828</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumeration">
      <type></type>
      <name>PJPEG_FLAGS</name>
      <anchorfile>pjpeg_8h.html</anchorfile>
      <anchor>a44b9e6a17b7247d81c95675a0fc0e4af</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>PJPEG_STRICT</name>
      <anchorfile>pjpeg_8h.html</anchorfile>
      <anchor>a44b9e6a17b7247d81c95675a0fc0e4afa5814e13948b8850c6f713d7894c34dc0</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>PJPEG_MJPEG</name>
      <anchorfile>pjpeg_8h.html</anchorfile>
      <anchor>a44b9e6a17b7247d81c95675a0fc0e4afa70f7c59fd99b41434d61b07e57d9ec91</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type>pjpeg_t *</type>
      <name>pjpeg_create_from_buffer</name>
      <anchorfile>pjpeg_8h.html</anchorfile>
      <anchor>aed270a10a8e952c900659cf6019b8eb8</anchor>
      <arglist>(uint8_t *buf, int buflen, uint32_t flags, int *error)</arglist>
    </member>
    <member kind="function">
      <type>pjpeg_t *</type>
      <name>pjpeg_create_from_file</name>
      <anchorfile>pjpeg_8h.html</anchorfile>
      <anchor>ac022ff35a98016eaa076ac0ac66a4c15</anchor>
      <arglist>(const char *path, uint32_t flags, int *error)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>pjpeg_destroy</name>
      <anchorfile>pjpeg_8h.html</anchorfile>
      <anchor>a42f71f3120d32fc21dd3c5b74464ec13</anchor>
      <arglist>(pjpeg_t *pj)</arglist>
    </member>
    <member kind="function">
      <type>image_u8_t *</type>
      <name>pjpeg_to_u8_baseline</name>
      <anchorfile>pjpeg_8h.html</anchorfile>
      <anchor>ab8ee94ad02e74a9626c38451b8ae1c51</anchor>
      <arglist>(pjpeg_t *pj)</arglist>
    </member>
    <member kind="function">
      <type>image_u8x3_t *</type>
      <name>pjpeg_to_u8x3_baseline</name>
      <anchorfile>pjpeg_8h.html</anchorfile>
      <anchor>a666569fb28da4c4888d479afb67f90b1</anchor>
      <arglist>(pjpeg_t *pj)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>pnm.c</name>
    <path>/tmp/ws/src/apriltag/common/</path>
    <filename>pnm_8c.html</filename>
    <includes id="pnm_8h" name="pnm.h" local="yes" imported="no">pnm.h</includes>
    <member kind="function">
      <type>pnm_t *</type>
      <name>pnm_create_from_file</name>
      <anchorfile>pnm_8c.html</anchorfile>
      <anchor>a9e607de688ef94c84487ab3e06873c9d</anchor>
      <arglist>(const char *path)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>pnm_destroy</name>
      <anchorfile>pnm_8c.html</anchorfile>
      <anchor>a685c6e04193a3e0881001ede933f6267</anchor>
      <arglist>(pnm_t *pnm)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>pnm.h</name>
    <path>/tmp/ws/src/apriltag/common/</path>
    <filename>pnm_8h.html</filename>
    <class kind="struct">pnm</class>
    <member kind="define">
      <type>#define</type>
      <name>PNM_FORMAT_BINARY</name>
      <anchorfile>pnm_8h.html</anchorfile>
      <anchor>a52cb27a6fd0619ff2a2ed2efef6535c3</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>PNM_FORMAT_GRAY</name>
      <anchorfile>pnm_8h.html</anchorfile>
      <anchor>a9567410c66e9d4062e7d71516cd2562d</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>PNM_FORMAT_RGB</name>
      <anchorfile>pnm_8h.html</anchorfile>
      <anchor>a31f9473a9d32772c6578054209929398</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>struct pnm</type>
      <name>pnm_t</name>
      <anchorfile>pnm_8h.html</anchorfile>
      <anchor>aee27b3dd571835dca7b8dc19ac72f750</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type>pnm_t *</type>
      <name>pnm_create_from_file</name>
      <anchorfile>pnm_8h.html</anchorfile>
      <anchor>a9e607de688ef94c84487ab3e06873c9d</anchor>
      <arglist>(const char *path)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>pnm_destroy</name>
      <anchorfile>pnm_8h.html</anchorfile>
      <anchor>a685c6e04193a3e0881001ede933f6267</anchor>
      <arglist>(pnm_t *pnm)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>postscript_utils.h</name>
    <path>/tmp/ws/src/apriltag/common/</path>
    <filename>postscript__utils_8h.html</filename>
    <member kind="function" static="yes">
      <type>static void</type>
      <name>postscript_image</name>
      <anchorfile>postscript__utils_8h.html</anchorfile>
      <anchor>acdf1208ec1725596f2d45e7d9e01d01c</anchor>
      <arglist>(FILE *f, image_u8_t *im)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>pthreads_cross.c</name>
    <path>/tmp/ws/src/apriltag/common/</path>
    <filename>pthreads__cross_8c.html</filename>
    <includes id="pthreads__cross_8h" name="pthreads_cross.h" local="yes" imported="no">common/pthreads_cross.h</includes>
    <member kind="function">
      <type>unsigned int</type>
      <name>pcthread_get_num_procs</name>
      <anchorfile>pthreads__cross_8c.html</anchorfile>
      <anchor>afc58f33b58481a58ed6c9097e542c56c</anchor>
      <arglist>()</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>pthreads_cross.h</name>
    <path>/tmp/ws/src/apriltag/common/</path>
    <filename>pthreads__cross_8h.html</filename>
    <member kind="function">
      <type>void</type>
      <name>ms_to_timespec</name>
      <anchorfile>pthreads__cross_8h.html</anchorfile>
      <anchor>a0324fd2c9706d755bd62166eb3e75e1b</anchor>
      <arglist>(struct timespec *ts, unsigned int ms)</arglist>
    </member>
    <member kind="function">
      <type>unsigned int</type>
      <name>pcthread_get_num_procs</name>
      <anchorfile>pthreads__cross_8h.html</anchorfile>
      <anchor>afc58f33b58481a58ed6c9097e542c56c</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>unsigned int</type>
      <name>timespec_to_ms</name>
      <anchorfile>pthreads__cross_8h.html</anchorfile>
      <anchor>a3e95a939a8c84a07d60619951b187b71</anchor>
      <arglist>(const struct timespec *abstime)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>string_util.c</name>
    <path>/tmp/ws/src/apriltag/common/</path>
    <filename>string__util_8c.html</filename>
    <includes id="string__util_8h" name="string_util.h" local="yes" imported="no">string_util.h</includes>
    <includes id="zarray_8h" name="zarray.h" local="yes" imported="no">zarray.h</includes>
    <class kind="struct">string_buffer</class>
    <member kind="define">
      <type>#define</type>
      <name>MIN_PRINTF_ALLOC</name>
      <anchorfile>string__util_8c.html</anchorfile>
      <anchor>a3bd197cb9c1038f1d356ac4a156c81bb</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type>char *</type>
      <name>_str_concat_private</name>
      <anchorfile>string__util_8c.html</anchorfile>
      <anchor>a083a8527dbc289a23dd00a50d293b3e4</anchor>
      <arglist>(const char *first,...)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void</type>
      <name>buffer_appendf</name>
      <anchorfile>string__util_8c.html</anchorfile>
      <anchor>a6637916918a7ce2fd251c8ce02ddc7d1</anchor>
      <arglist>(char **_buf, int *bufpos, void *fmt,...)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static int</type>
      <name>is_variable_character</name>
      <anchorfile>string__util_8c.html</anchorfile>
      <anchor>a053b6443d529bd602adf068c1a0afc40</anchor>
      <arglist>(char c)</arglist>
    </member>
    <member kind="function">
      <type>char *</type>
      <name>sprintf_alloc</name>
      <anchorfile>string__util_8c.html</anchorfile>
      <anchor>a841458cec49bef4f28615fb1d1eae6f4</anchor>
      <arglist>(const char *fmt,...)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>str_diff_idx</name>
      <anchorfile>string__util_8c.html</anchorfile>
      <anchor>a4085d76639a0fd02ce74f449432a8d37</anchor>
      <arglist>(const char *a, const char *b)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>str_ends_with</name>
      <anchorfile>string__util_8c.html</anchorfile>
      <anchor>ac4dc7eb21ccb69aaa29a277b4c55f3d6</anchor>
      <arglist>(const char *haystack, const char *needle)</arglist>
    </member>
    <member kind="function">
      <type>char *</type>
      <name>str_expand_envs</name>
      <anchorfile>string__util_8c.html</anchorfile>
      <anchor>a471ace18cffa221bc8285827308b4091</anchor>
      <arglist>(const char *in)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>str_indexof</name>
      <anchorfile>string__util_8c.html</anchorfile>
      <anchor>a6f092c57e761ee049df00ea1e0b3e88e</anchor>
      <arglist>(const char *haystack, const char *needle)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>str_last_indexof</name>
      <anchorfile>string__util_8c.html</anchorfile>
      <anchor>a59843771adaac01abe117fae0c6f6bb7</anchor>
      <arglist>(const char *haystack, const char *needle)</arglist>
    </member>
    <member kind="function">
      <type>char *</type>
      <name>str_lstrip</name>
      <anchorfile>string__util_8c.html</anchorfile>
      <anchor>a6a8ecd2cb1d81fbe3a695da5142bd6d2</anchor>
      <arglist>(char *str)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>str_matches_any</name>
      <anchorfile>string__util_8c.html</anchorfile>
      <anchor>a5b6defe7bca38fcfe8e704fe15fc0f10</anchor>
      <arglist>(const char *haystack, const char **needles, int num_needles)</arglist>
    </member>
    <member kind="function">
      <type>char *</type>
      <name>str_replace</name>
      <anchorfile>string__util_8c.html</anchorfile>
      <anchor>a11aee6fac02a8570fd62d5b162b1179e</anchor>
      <arglist>(const char *haystack, const char *needle, const char *replacement)</arglist>
    </member>
    <member kind="function">
      <type>char *</type>
      <name>str_replace_many</name>
      <anchorfile>string__util_8c.html</anchorfile>
      <anchor>af0e45f4d435ad1166a71dd592f42cd98</anchor>
      <arglist>(const char *_haystack,...)</arglist>
    </member>
    <member kind="function">
      <type>char *</type>
      <name>str_rstrip</name>
      <anchorfile>string__util_8c.html</anchorfile>
      <anchor>a23ffd80c7ac30e2bc7afa65cbe669c2a</anchor>
      <arglist>(char *str)</arglist>
    </member>
    <member kind="function">
      <type>zarray_t *</type>
      <name>str_split</name>
      <anchorfile>string__util_8c.html</anchorfile>
      <anchor>a4a4b6f502b4b4f5f913c6af80f181cf1</anchor>
      <arglist>(const char *str, const char *delim)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>str_split_destroy</name>
      <anchorfile>string__util_8c.html</anchorfile>
      <anchor>aedcfa99109a8e607292c1bec045414b7</anchor>
      <arglist>(zarray_t *za)</arglist>
    </member>
    <member kind="function">
      <type>zarray_t *</type>
      <name>str_split_spaces</name>
      <anchorfile>string__util_8c.html</anchorfile>
      <anchor>ad36ddda28658ad72d9bf19d6dd60473b</anchor>
      <arglist>(const char *str)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>str_starts_with</name>
      <anchorfile>string__util_8c.html</anchorfile>
      <anchor>ac9a76a05527a7efb8bfc37e96eeee95f</anchor>
      <arglist>(const char *haystack, const char *needle)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>str_starts_with_any</name>
      <anchorfile>string__util_8c.html</anchorfile>
      <anchor>ad6dbe2fe9c113587f57106adf9a5d4c2</anchor>
      <arglist>(const char *haystack, const char **needles, int num_needles)</arglist>
    </member>
    <member kind="function">
      <type>char *</type>
      <name>str_substring</name>
      <anchorfile>string__util_8c.html</anchorfile>
      <anchor>af9e01c1581c598048a11eec7bb8b2458</anchor>
      <arglist>(const char *str, size_t startidx, size_t endidx)</arglist>
    </member>
    <member kind="function">
      <type>char *</type>
      <name>str_tolowercase</name>
      <anchorfile>string__util_8c.html</anchorfile>
      <anchor>a32d545e1e4dec0d7a0ee8469eebc3cab</anchor>
      <arglist>(char *s)</arglist>
    </member>
    <member kind="function">
      <type>char *</type>
      <name>str_touppercase</name>
      <anchorfile>string__util_8c.html</anchorfile>
      <anchor>ad4479d9171d5d041773a24b62d0c0e32</anchor>
      <arglist>(char *s)</arglist>
    </member>
    <member kind="function">
      <type>char *</type>
      <name>str_trim</name>
      <anchorfile>string__util_8c.html</anchorfile>
      <anchor>a968638f05d46c5adfe6aeaaa27768a73</anchor>
      <arglist>(char *str)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>string_buffer_append</name>
      <anchorfile>string__util_8c.html</anchorfile>
      <anchor>a2f53cad9a87feaa9c9f6c9b63af20e11</anchor>
      <arglist>(string_buffer_t *sb, char c)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>string_buffer_append_string</name>
      <anchorfile>string__util_8c.html</anchorfile>
      <anchor>a9bec654f83373c26ad828a41bb623d32</anchor>
      <arglist>(string_buffer_t *sb, const char *str)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>string_buffer_appendf</name>
      <anchorfile>string__util_8c.html</anchorfile>
      <anchor>af258aac8b9d01870e1608cbe9f7f2e6e</anchor>
      <arglist>(string_buffer_t *sb, const char *fmt,...)</arglist>
    </member>
    <member kind="function">
      <type>string_buffer_t *</type>
      <name>string_buffer_create</name>
      <anchorfile>string__util_8c.html</anchorfile>
      <anchor>a6775faaab93327215e1018c3a6796a00</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>string_buffer_destroy</name>
      <anchorfile>string__util_8c.html</anchorfile>
      <anchor>a0a0418b0d5c1d6396e33b8e7d9b8fa54</anchor>
      <arglist>(string_buffer_t *sb)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>string_buffer_ends_with</name>
      <anchorfile>string__util_8c.html</anchorfile>
      <anchor>a2403b936abc877f5a41dfbb70cf6cb88</anchor>
      <arglist>(string_buffer_t *sb, const char *str)</arglist>
    </member>
    <member kind="function">
      <type>char</type>
      <name>string_buffer_pop_back</name>
      <anchorfile>string__util_8c.html</anchorfile>
      <anchor>a13edc9bfa7666cba79f28ededc7ec39e</anchor>
      <arglist>(string_buffer_t *sb)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>string_buffer_reset</name>
      <anchorfile>string__util_8c.html</anchorfile>
      <anchor>a37b99afd18946fe6687642eb9b2e0e81</anchor>
      <arglist>(string_buffer_t *sb)</arglist>
    </member>
    <member kind="function">
      <type>size_t</type>
      <name>string_buffer_size</name>
      <anchorfile>string__util_8c.html</anchorfile>
      <anchor>ad1212d3276a3a334ff6874cbd8b915fa</anchor>
      <arglist>(string_buffer_t *sb)</arglist>
    </member>
    <member kind="function">
      <type>char *</type>
      <name>string_buffer_to_string</name>
      <anchorfile>string__util_8c.html</anchorfile>
      <anchor>a1751b4178ca296b869210ada2cf37f74</anchor>
      <arglist>(string_buffer_t *sb)</arglist>
    </member>
    <member kind="function">
      <type>string_feeder_t *</type>
      <name>string_feeder_create</name>
      <anchorfile>string__util_8c.html</anchorfile>
      <anchor>a0ff5d61c7b4d514189889381d9174c9f</anchor>
      <arglist>(const char *str)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>string_feeder_destroy</name>
      <anchorfile>string__util_8c.html</anchorfile>
      <anchor>a3d81b9611d6b557001a4b213ed337c0c</anchor>
      <arglist>(string_feeder_t *sf)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>string_feeder_get_column</name>
      <anchorfile>string__util_8c.html</anchorfile>
      <anchor>a4125a5741742b15b965c5ca5a240b0c5</anchor>
      <arglist>(string_feeder_t *sf)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>string_feeder_get_line</name>
      <anchorfile>string__util_8c.html</anchorfile>
      <anchor>af2de543b90d2254c23674dcd51b07636</anchor>
      <arglist>(string_feeder_t *sf)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>string_feeder_has_next</name>
      <anchorfile>string__util_8c.html</anchorfile>
      <anchor>a50dab5ff66a1b73040c10977889bc745</anchor>
      <arglist>(string_feeder_t *sf)</arglist>
    </member>
    <member kind="function">
      <type>char</type>
      <name>string_feeder_next</name>
      <anchorfile>string__util_8c.html</anchorfile>
      <anchor>a1d278128e30928ebf1eb13d3c9668f6c</anchor>
      <arglist>(string_feeder_t *sf)</arglist>
    </member>
    <member kind="function">
      <type>char *</type>
      <name>string_feeder_next_length</name>
      <anchorfile>string__util_8c.html</anchorfile>
      <anchor>a010fdb2445d05ab2897ccf26c42dee8e</anchor>
      <arglist>(string_feeder_t *sf, size_t length)</arglist>
    </member>
    <member kind="function">
      <type>char</type>
      <name>string_feeder_peek</name>
      <anchorfile>string__util_8c.html</anchorfile>
      <anchor>ac2aeb2a4716c370cc43499c3d9c2496d</anchor>
      <arglist>(string_feeder_t *sf)</arglist>
    </member>
    <member kind="function">
      <type>char *</type>
      <name>string_feeder_peek_length</name>
      <anchorfile>string__util_8c.html</anchorfile>
      <anchor>ad1ac4a542f9b9ffc55b9d45750c21cff</anchor>
      <arglist>(string_feeder_t *sf, size_t length)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>string_feeder_require</name>
      <anchorfile>string__util_8c.html</anchorfile>
      <anchor>a90192e4954220b5eaa97e6a4e9841ede</anchor>
      <arglist>(string_feeder_t *sf, const char *str)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>string_feeder_starts_with</name>
      <anchorfile>string__util_8c.html</anchorfile>
      <anchor>a3a913aea8f84254c3eb476b9c19462f6</anchor>
      <arglist>(string_feeder_t *sf, const char *str)</arglist>
    </member>
    <member kind="function">
      <type>char *</type>
      <name>vsprintf_alloc</name>
      <anchorfile>string__util_8c.html</anchorfile>
      <anchor>a87423f0debcdeec363d63eb947c15f3a</anchor>
      <arglist>(const char *fmt, va_list orig_args)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>string_util.h</name>
    <path>/tmp/ws/src/apriltag/common/</path>
    <filename>string__util_8h.html</filename>
    <includes id="zarray_8h" name="zarray.h" local="yes" imported="no">zarray.h</includes>
    <class kind="struct">string_feeder</class>
    <member kind="define">
      <type>#define</type>
      <name>str_concat</name>
      <anchorfile>string__util_8h.html</anchorfile>
      <anchor>a83d9958ff260a9111db7b6b7d74c92db</anchor>
      <arglist>(...)</arglist>
    </member>
    <member kind="typedef">
      <type>struct string_buffer</type>
      <name>string_buffer_t</name>
      <anchorfile>string__util_8h.html</anchorfile>
      <anchor>ac8b132ce2a66299a01dcebad2cc59309</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>struct string_feeder</type>
      <name>string_feeder_t</name>
      <anchorfile>string__util_8h.html</anchorfile>
      <anchor>afe73f42beb7fd799c2c93d0fdf3d19c6</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type>char *</type>
      <name>_str_concat_private</name>
      <anchorfile>string__util_8h.html</anchorfile>
      <anchor>a083a8527dbc289a23dd00a50d293b3e4</anchor>
      <arglist>(const char *first,...)</arglist>
    </member>
    <member kind="function">
      <type>char *</type>
      <name>sprintf_alloc</name>
      <anchorfile>string__util_8h.html</anchorfile>
      <anchor>ab998dfe5ff25816a75bd22faff1684e6</anchor>
      <arglist>(const char *fmt,...) __attribute__((format(printf</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static int</type>
      <name>str_contains</name>
      <anchorfile>string__util_8h.html</anchorfile>
      <anchor>a4332ab4b30afc8a6b4ad6e87d7b7aa11</anchor>
      <arglist>(const char *haystack, const char *needle)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>str_diff_idx</name>
      <anchorfile>string__util_8h.html</anchorfile>
      <anchor>a4085d76639a0fd02ce74f449432a8d37</anchor>
      <arglist>(const char *a, const char *b)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>str_ends_with</name>
      <anchorfile>string__util_8h.html</anchorfile>
      <anchor>ac4dc7eb21ccb69aaa29a277b4c55f3d6</anchor>
      <arglist>(const char *haystack, const char *needle)</arglist>
    </member>
    <member kind="function">
      <type>char *</type>
      <name>str_expand_envs</name>
      <anchorfile>string__util_8h.html</anchorfile>
      <anchor>a471ace18cffa221bc8285827308b4091</anchor>
      <arglist>(const char *in)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>str_indexof</name>
      <anchorfile>string__util_8h.html</anchorfile>
      <anchor>a6f092c57e761ee049df00ea1e0b3e88e</anchor>
      <arglist>(const char *haystack, const char *needle)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>str_last_indexof</name>
      <anchorfile>string__util_8h.html</anchorfile>
      <anchor>a59843771adaac01abe117fae0c6f6bb7</anchor>
      <arglist>(const char *haystack, const char *needle)</arglist>
    </member>
    <member kind="function">
      <type>char *</type>
      <name>str_lstrip</name>
      <anchorfile>string__util_8h.html</anchorfile>
      <anchor>a6a8ecd2cb1d81fbe3a695da5142bd6d2</anchor>
      <arglist>(char *str)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>str_matches_any</name>
      <anchorfile>string__util_8h.html</anchorfile>
      <anchor>a5b6defe7bca38fcfe8e704fe15fc0f10</anchor>
      <arglist>(const char *haystack, const char **needles, int num_needles)</arglist>
    </member>
    <member kind="function">
      <type>char *</type>
      <name>str_replace</name>
      <anchorfile>string__util_8h.html</anchorfile>
      <anchor>a11aee6fac02a8570fd62d5b162b1179e</anchor>
      <arglist>(const char *haystack, const char *needle, const char *replacement)</arglist>
    </member>
    <member kind="function">
      <type>char *</type>
      <name>str_replace_many</name>
      <anchorfile>string__util_8h.html</anchorfile>
      <anchor>af0e45f4d435ad1166a71dd592f42cd98</anchor>
      <arglist>(const char *_haystack,...)</arglist>
    </member>
    <member kind="function">
      <type>char *</type>
      <name>str_rstrip</name>
      <anchorfile>string__util_8h.html</anchorfile>
      <anchor>a23ffd80c7ac30e2bc7afa65cbe669c2a</anchor>
      <arglist>(char *str)</arglist>
    </member>
    <member kind="function">
      <type>zarray_t *</type>
      <name>str_split</name>
      <anchorfile>string__util_8h.html</anchorfile>
      <anchor>a4a4b6f502b4b4f5f913c6af80f181cf1</anchor>
      <arglist>(const char *str, const char *delim)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>str_split_destroy</name>
      <anchorfile>string__util_8h.html</anchorfile>
      <anchor>a42c2c528e3f4795cd1ed7f40105b1907</anchor>
      <arglist>(zarray_t *s)</arglist>
    </member>
    <member kind="function">
      <type>zarray_t *</type>
      <name>str_split_spaces</name>
      <anchorfile>string__util_8h.html</anchorfile>
      <anchor>ad36ddda28658ad72d9bf19d6dd60473b</anchor>
      <arglist>(const char *str)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>str_starts_with</name>
      <anchorfile>string__util_8h.html</anchorfile>
      <anchor>ac9a76a05527a7efb8bfc37e96eeee95f</anchor>
      <arglist>(const char *haystack, const char *needle)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>str_starts_with_any</name>
      <anchorfile>string__util_8h.html</anchorfile>
      <anchor>ad6dbe2fe9c113587f57106adf9a5d4c2</anchor>
      <arglist>(const char *haystack, const char **needles, int num_needles)</arglist>
    </member>
    <member kind="function">
      <type>char *</type>
      <name>str_substring</name>
      <anchorfile>string__util_8h.html</anchorfile>
      <anchor>af9e01c1581c598048a11eec7bb8b2458</anchor>
      <arglist>(const char *str, size_t startidx, size_t endidx)</arglist>
    </member>
    <member kind="function">
      <type>char *</type>
      <name>str_tolowercase</name>
      <anchorfile>string__util_8h.html</anchorfile>
      <anchor>a32d545e1e4dec0d7a0ee8469eebc3cab</anchor>
      <arglist>(char *s)</arglist>
    </member>
    <member kind="function">
      <type>char *</type>
      <name>str_touppercase</name>
      <anchorfile>string__util_8h.html</anchorfile>
      <anchor>ad4479d9171d5d041773a24b62d0c0e32</anchor>
      <arglist>(char *s)</arglist>
    </member>
    <member kind="function">
      <type>char *</type>
      <name>str_trim</name>
      <anchorfile>string__util_8h.html</anchorfile>
      <anchor>a968638f05d46c5adfe6aeaaa27768a73</anchor>
      <arglist>(char *str)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static bool</type>
      <name>strcaseeq</name>
      <anchorfile>string__util_8h.html</anchorfile>
      <anchor>adfa256111b35267eccce5fb88e9fe1e9</anchor>
      <arglist>(const char *str1, const char *str2)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static bool</type>
      <name>streq</name>
      <anchorfile>string__util_8h.html</anchorfile>
      <anchor>a0082971520dd192cba6c8e67b0d1f111</anchor>
      <arglist>(const char *str1, const char *str2)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>string_buffer_append</name>
      <anchorfile>string__util_8h.html</anchorfile>
      <anchor>a2f53cad9a87feaa9c9f6c9b63af20e11</anchor>
      <arglist>(string_buffer_t *sb, char c)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>string_buffer_append_string</name>
      <anchorfile>string__util_8h.html</anchorfile>
      <anchor>a9bec654f83373c26ad828a41bb623d32</anchor>
      <arglist>(string_buffer_t *sb, const char *str)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>string_buffer_appendf</name>
      <anchorfile>string__util_8h.html</anchorfile>
      <anchor>ab85a4fb78195378be29a562e0a9e6b31</anchor>
      <arglist>(string_buffer_t *sb, const char *fmt,...) __attribute__((format(printf</arglist>
    </member>
    <member kind="function">
      <type>string_buffer_t *</type>
      <name>string_buffer_create</name>
      <anchorfile>string__util_8h.html</anchorfile>
      <anchor>a6775faaab93327215e1018c3a6796a00</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>string_buffer_destroy</name>
      <anchorfile>string__util_8h.html</anchorfile>
      <anchor>a0a0418b0d5c1d6396e33b8e7d9b8fa54</anchor>
      <arglist>(string_buffer_t *sb)</arglist>
    </member>
    <member kind="function">
      <type>void bool</type>
      <name>string_buffer_ends_with</name>
      <anchorfile>string__util_8h.html</anchorfile>
      <anchor>a9d3f33cfbab8c5659473768bd7483ea7</anchor>
      <arglist>(string_buffer_t *sb, const char *str)</arglist>
    </member>
    <member kind="function">
      <type>char</type>
      <name>string_buffer_pop_back</name>
      <anchorfile>string__util_8h.html</anchorfile>
      <anchor>a13edc9bfa7666cba79f28ededc7ec39e</anchor>
      <arglist>(string_buffer_t *sb)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>string_buffer_reset</name>
      <anchorfile>string__util_8h.html</anchorfile>
      <anchor>a37b99afd18946fe6687642eb9b2e0e81</anchor>
      <arglist>(string_buffer_t *sb)</arglist>
    </member>
    <member kind="function">
      <type>size_t</type>
      <name>string_buffer_size</name>
      <anchorfile>string__util_8h.html</anchorfile>
      <anchor>ad1212d3276a3a334ff6874cbd8b915fa</anchor>
      <arglist>(string_buffer_t *sb)</arglist>
    </member>
    <member kind="function">
      <type>char *</type>
      <name>string_buffer_to_string</name>
      <anchorfile>string__util_8h.html</anchorfile>
      <anchor>a1751b4178ca296b869210ada2cf37f74</anchor>
      <arglist>(string_buffer_t *sb)</arglist>
    </member>
    <member kind="function">
      <type>string_feeder_t *</type>
      <name>string_feeder_create</name>
      <anchorfile>string__util_8h.html</anchorfile>
      <anchor>a0ff5d61c7b4d514189889381d9174c9f</anchor>
      <arglist>(const char *str)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>string_feeder_destroy</name>
      <anchorfile>string__util_8h.html</anchorfile>
      <anchor>a3d81b9611d6b557001a4b213ed337c0c</anchor>
      <arglist>(string_feeder_t *sf)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>string_feeder_get_column</name>
      <anchorfile>string__util_8h.html</anchorfile>
      <anchor>a4125a5741742b15b965c5ca5a240b0c5</anchor>
      <arglist>(string_feeder_t *sf)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>string_feeder_get_line</name>
      <anchorfile>string__util_8h.html</anchorfile>
      <anchor>af2de543b90d2254c23674dcd51b07636</anchor>
      <arglist>(string_feeder_t *sf)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>string_feeder_has_next</name>
      <anchorfile>string__util_8h.html</anchorfile>
      <anchor>a50dab5ff66a1b73040c10977889bc745</anchor>
      <arglist>(string_feeder_t *sf)</arglist>
    </member>
    <member kind="function">
      <type>char</type>
      <name>string_feeder_next</name>
      <anchorfile>string__util_8h.html</anchorfile>
      <anchor>a1d278128e30928ebf1eb13d3c9668f6c</anchor>
      <arglist>(string_feeder_t *sf)</arglist>
    </member>
    <member kind="function">
      <type>char *</type>
      <name>string_feeder_next_length</name>
      <anchorfile>string__util_8h.html</anchorfile>
      <anchor>a010fdb2445d05ab2897ccf26c42dee8e</anchor>
      <arglist>(string_feeder_t *sf, size_t length)</arglist>
    </member>
    <member kind="function">
      <type>char</type>
      <name>string_feeder_peek</name>
      <anchorfile>string__util_8h.html</anchorfile>
      <anchor>ac2aeb2a4716c370cc43499c3d9c2496d</anchor>
      <arglist>(string_feeder_t *sf)</arglist>
    </member>
    <member kind="function">
      <type>char *</type>
      <name>string_feeder_peek_length</name>
      <anchorfile>string__util_8h.html</anchorfile>
      <anchor>ad1ac4a542f9b9ffc55b9d45750c21cff</anchor>
      <arglist>(string_feeder_t *sf, size_t length)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>string_feeder_require</name>
      <anchorfile>string__util_8h.html</anchorfile>
      <anchor>a90192e4954220b5eaa97e6a4e9841ede</anchor>
      <arglist>(string_feeder_t *sf, const char *str)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>string_feeder_starts_with</name>
      <anchorfile>string__util_8h.html</anchorfile>
      <anchor>a3a913aea8f84254c3eb476b9c19462f6</anchor>
      <arglist>(string_feeder_t *sf, const char *str)</arglist>
    </member>
    <member kind="function">
      <type>char char *</type>
      <name>vsprintf_alloc</name>
      <anchorfile>string__util_8h.html</anchorfile>
      <anchor>a51c1270a584246dadd7471b455bde4ae</anchor>
      <arglist>(const char *fmt, va_list args)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>svd22.c</name>
    <path>/tmp/ws/src/apriltag/common/</path>
    <filename>svd22_8c.html</filename>
    <member kind="function">
      <type>void</type>
      <name>svd22</name>
      <anchorfile>svd22_8c.html</anchorfile>
      <anchor>abec7e707567ad23f01d31d9ed6664090</anchor>
      <arglist>(const double A[4], double U[4], double S[2], double V[4])</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>svd_sym_singular_values</name>
      <anchorfile>svd22_8c.html</anchorfile>
      <anchor>a59624f65bdd3c7c650227e1da79488b0</anchor>
      <arglist>(double A00, double A01, double A11, double *Lmin, double *Lmax)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>svd22.h</name>
    <path>/tmp/ws/src/apriltag/common/</path>
    <filename>svd22_8h.html</filename>
    <member kind="function">
      <type>void</type>
      <name>svd22</name>
      <anchorfile>svd22_8h.html</anchorfile>
      <anchor>abec7e707567ad23f01d31d9ed6664090</anchor>
      <arglist>(const double A[4], double U[4], double S[2], double V[4])</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>svd_sym_singular_values</name>
      <anchorfile>svd22_8h.html</anchorfile>
      <anchor>a59624f65bdd3c7c650227e1da79488b0</anchor>
      <arglist>(double A00, double A01, double A11, double *Lmin, double *Lmax)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>tag16h5.c</name>
    <path>/tmp/ws/src/apriltag/</path>
    <filename>tag16h5_8c.html</filename>
    <includes id="tag16h5_8h" name="tag16h5.h" local="yes" imported="no">tag16h5.h</includes>
    <member kind="function">
      <type>apriltag_family_t *</type>
      <name>tag16h5_create</name>
      <anchorfile>tag16h5_8c.html</anchorfile>
      <anchor>aa3fd72e8d65f110dc3efa8e159bff643</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>tag16h5_destroy</name>
      <anchorfile>tag16h5_8c.html</anchorfile>
      <anchor>ad30f6d48de2cca3c422d16f8582d29c0</anchor>
      <arglist>(apriltag_family_t *tf)</arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static uint64_t</type>
      <name>codedata</name>
      <anchorfile>tag16h5_8c.html</anchorfile>
      <anchor>a555dbdc18e8ee1514fb3239d789b397d</anchor>
      <arglist>[30]</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>tag16h5.h</name>
    <path>/tmp/ws/src/apriltag/</path>
    <filename>tag16h5_8h.html</filename>
    <includes id="apriltag_8h" name="apriltag.h" local="yes" imported="no">apriltag.h</includes>
    <member kind="function">
      <type>apriltag_family_t *</type>
      <name>tag16h5_create</name>
      <anchorfile>tag16h5_8h.html</anchorfile>
      <anchor>aa3fd72e8d65f110dc3efa8e159bff643</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>tag16h5_destroy</name>
      <anchorfile>tag16h5_8h.html</anchorfile>
      <anchor>ad30f6d48de2cca3c422d16f8582d29c0</anchor>
      <arglist>(apriltag_family_t *tf)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>tag25h9.c</name>
    <path>/tmp/ws/src/apriltag/</path>
    <filename>tag25h9_8c.html</filename>
    <includes id="tag25h9_8h" name="tag25h9.h" local="yes" imported="no">tag25h9.h</includes>
    <member kind="function">
      <type>apriltag_family_t *</type>
      <name>tag25h9_create</name>
      <anchorfile>tag25h9_8c.html</anchorfile>
      <anchor>ac7c74648df9aaf991255327113a9edb2</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>tag25h9_destroy</name>
      <anchorfile>tag25h9_8c.html</anchorfile>
      <anchor>afdd1f7f56eb517a20144d80210438523</anchor>
      <arglist>(apriltag_family_t *tf)</arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static uint64_t</type>
      <name>codedata</name>
      <anchorfile>tag25h9_8c.html</anchorfile>
      <anchor>a052571c13581dcd4cceb4ed7d303177f</anchor>
      <arglist>[35]</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>tag25h9.h</name>
    <path>/tmp/ws/src/apriltag/</path>
    <filename>tag25h9_8h.html</filename>
    <includes id="apriltag_8h" name="apriltag.h" local="yes" imported="no">apriltag.h</includes>
    <member kind="function">
      <type>apriltag_family_t *</type>
      <name>tag25h9_create</name>
      <anchorfile>tag25h9_8h.html</anchorfile>
      <anchor>ac7c74648df9aaf991255327113a9edb2</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>tag25h9_destroy</name>
      <anchorfile>tag25h9_8h.html</anchorfile>
      <anchor>afdd1f7f56eb517a20144d80210438523</anchor>
      <arglist>(apriltag_family_t *tf)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>tag36h10.c</name>
    <path>/tmp/ws/src/apriltag/</path>
    <filename>tag36h10_8c.html</filename>
    <includes id="tag36h10_8h" name="tag36h10.h" local="yes" imported="no">tag36h10.h</includes>
    <member kind="function">
      <type>apriltag_family_t *</type>
      <name>tag36h10_create</name>
      <anchorfile>tag36h10_8c.html</anchorfile>
      <anchor>a54af97e5679719adb37896cdde86b083</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>tag36h10_destroy</name>
      <anchorfile>tag36h10_8c.html</anchorfile>
      <anchor>ae4ecfc986b9e59bca539666c31643af8</anchor>
      <arglist>(apriltag_family_t *tf)</arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static uint64_t</type>
      <name>codedata</name>
      <anchorfile>tag36h10_8c.html</anchorfile>
      <anchor>acecb19937d9d0ee9bd71bd5064212067</anchor>
      <arglist>[2320]</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>tag36h10.h</name>
    <path>/tmp/ws/src/apriltag/</path>
    <filename>tag36h10_8h.html</filename>
    <includes id="apriltag_8h" name="apriltag.h" local="yes" imported="no">apriltag.h</includes>
    <member kind="function">
      <type>apriltag_family_t *</type>
      <name>tag36h10_create</name>
      <anchorfile>tag36h10_8h.html</anchorfile>
      <anchor>a54af97e5679719adb37896cdde86b083</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>tag36h10_destroy</name>
      <anchorfile>tag36h10_8h.html</anchorfile>
      <anchor>ae4ecfc986b9e59bca539666c31643af8</anchor>
      <arglist>(apriltag_family_t *tf)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>tag36h11.c</name>
    <path>/tmp/ws/src/apriltag/</path>
    <filename>tag36h11_8c.html</filename>
    <includes id="tag36h11_8h" name="tag36h11.h" local="yes" imported="no">tag36h11.h</includes>
    <member kind="function">
      <type>apriltag_family_t *</type>
      <name>tag36h11_create</name>
      <anchorfile>tag36h11_8c.html</anchorfile>
      <anchor>a165bb3b0f7114b308c2ffef817d7b8b2</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>tag36h11_destroy</name>
      <anchorfile>tag36h11_8c.html</anchorfile>
      <anchor>aca3326005988c3047c3ff6d54d597108</anchor>
      <arglist>(apriltag_family_t *tf)</arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static uint64_t</type>
      <name>codedata</name>
      <anchorfile>tag36h11_8c.html</anchorfile>
      <anchor>abb3e118be7b2a6bfb9e8d3b28e193b9f</anchor>
      <arglist>[587]</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>tag36h11.h</name>
    <path>/tmp/ws/src/apriltag/</path>
    <filename>tag36h11_8h.html</filename>
    <includes id="apriltag_8h" name="apriltag.h" local="yes" imported="no">apriltag.h</includes>
    <member kind="function">
      <type>apriltag_family_t *</type>
      <name>tag36h11_create</name>
      <anchorfile>tag36h11_8h.html</anchorfile>
      <anchor>a165bb3b0f7114b308c2ffef817d7b8b2</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>tag36h11_destroy</name>
      <anchorfile>tag36h11_8h.html</anchorfile>
      <anchor>aca3326005988c3047c3ff6d54d597108</anchor>
      <arglist>(apriltag_family_t *tf)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>tagCircle21h7.c</name>
    <path>/tmp/ws/src/apriltag/</path>
    <filename>tagCircle21h7_8c.html</filename>
    <includes id="tagCircle21h7_8h" name="tagCircle21h7.h" local="yes" imported="no">tagCircle21h7.h</includes>
    <member kind="function">
      <type>apriltag_family_t *</type>
      <name>tagCircle21h7_create</name>
      <anchorfile>tagCircle21h7_8c.html</anchorfile>
      <anchor>a40e986420d97b45a52233fa04f0caac5</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>tagCircle21h7_destroy</name>
      <anchorfile>tagCircle21h7_8c.html</anchorfile>
      <anchor>a19a2ee9b886d994ae190df9a1803bd10</anchor>
      <arglist>(apriltag_family_t *tf)</arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static uint64_t</type>
      <name>codedata</name>
      <anchorfile>tagCircle21h7_8c.html</anchorfile>
      <anchor>a20539c9828731afb3e3e2964c8031fe4</anchor>
      <arglist>[38]</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>tagCircle21h7.h</name>
    <path>/tmp/ws/src/apriltag/</path>
    <filename>tagCircle21h7_8h.html</filename>
    <includes id="apriltag_8h" name="apriltag.h" local="yes" imported="no">apriltag.h</includes>
    <member kind="function">
      <type>apriltag_family_t *</type>
      <name>tagCircle21h7_create</name>
      <anchorfile>tagCircle21h7_8h.html</anchorfile>
      <anchor>a40e986420d97b45a52233fa04f0caac5</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>tagCircle21h7_destroy</name>
      <anchorfile>tagCircle21h7_8h.html</anchorfile>
      <anchor>a19a2ee9b886d994ae190df9a1803bd10</anchor>
      <arglist>(apriltag_family_t *tf)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>tagCircle49h12.c</name>
    <path>/tmp/ws/src/apriltag/</path>
    <filename>tagCircle49h12_8c.html</filename>
    <includes id="tagCircle49h12_8h" name="tagCircle49h12.h" local="yes" imported="no">tagCircle49h12.h</includes>
    <member kind="function">
      <type>apriltag_family_t *</type>
      <name>tagCircle49h12_create</name>
      <anchorfile>tagCircle49h12_8c.html</anchorfile>
      <anchor>a976303813aa17683b62104709a69398a</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>tagCircle49h12_destroy</name>
      <anchorfile>tagCircle49h12_8c.html</anchorfile>
      <anchor>ac3df980d3606d0f5c8fe1195e4268bbf</anchor>
      <arglist>(apriltag_family_t *tf)</arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static uint64_t</type>
      <name>codedata</name>
      <anchorfile>tagCircle49h12_8c.html</anchorfile>
      <anchor>a3215d5e848895e50efe3aa40c5ef4c85</anchor>
      <arglist>[65535]</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>tagCircle49h12.h</name>
    <path>/tmp/ws/src/apriltag/</path>
    <filename>tagCircle49h12_8h.html</filename>
    <includes id="apriltag_8h" name="apriltag.h" local="yes" imported="no">apriltag.h</includes>
    <member kind="function">
      <type>apriltag_family_t *</type>
      <name>tagCircle49h12_create</name>
      <anchorfile>tagCircle49h12_8h.html</anchorfile>
      <anchor>a976303813aa17683b62104709a69398a</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>tagCircle49h12_destroy</name>
      <anchorfile>tagCircle49h12_8h.html</anchorfile>
      <anchor>ac3df980d3606d0f5c8fe1195e4268bbf</anchor>
      <arglist>(apriltag_family_t *tf)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>tagCustom48h12.c</name>
    <path>/tmp/ws/src/apriltag/</path>
    <filename>tagCustom48h12_8c.html</filename>
    <includes id="tagCustom48h12_8h" name="tagCustom48h12.h" local="yes" imported="no">tagCustom48h12.h</includes>
    <member kind="function">
      <type>apriltag_family_t *</type>
      <name>tagCustom48h12_create</name>
      <anchorfile>tagCustom48h12_8c.html</anchorfile>
      <anchor>acf6b4476801577167c77e2424aa79423</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>tagCustom48h12_destroy</name>
      <anchorfile>tagCustom48h12_8c.html</anchorfile>
      <anchor>a6295dac7bee5f1654fa372fa16174b5a</anchor>
      <arglist>(apriltag_family_t *tf)</arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static uint64_t</type>
      <name>codedata</name>
      <anchorfile>tagCustom48h12_8c.html</anchorfile>
      <anchor>a5b32ad151d298852e6cad52687332d40</anchor>
      <arglist>[42211]</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>tagCustom48h12.h</name>
    <path>/tmp/ws/src/apriltag/</path>
    <filename>tagCustom48h12_8h.html</filename>
    <includes id="apriltag_8h" name="apriltag.h" local="yes" imported="no">apriltag.h</includes>
    <member kind="function">
      <type>apriltag_family_t *</type>
      <name>tagCustom48h12_create</name>
      <anchorfile>tagCustom48h12_8h.html</anchorfile>
      <anchor>acf6b4476801577167c77e2424aa79423</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>tagCustom48h12_destroy</name>
      <anchorfile>tagCustom48h12_8h.html</anchorfile>
      <anchor>a6295dac7bee5f1654fa372fa16174b5a</anchor>
      <arglist>(apriltag_family_t *tf)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>tagStandard41h12.c</name>
    <path>/tmp/ws/src/apriltag/</path>
    <filename>tagStandard41h12_8c.html</filename>
    <includes id="tagStandard41h12_8h" name="tagStandard41h12.h" local="yes" imported="no">tagStandard41h12.h</includes>
    <member kind="function">
      <type>apriltag_family_t *</type>
      <name>tagStandard41h12_create</name>
      <anchorfile>tagStandard41h12_8c.html</anchorfile>
      <anchor>aa432e5dc9c2af97d5fd93e8a20f3a55e</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>tagStandard41h12_destroy</name>
      <anchorfile>tagStandard41h12_8c.html</anchorfile>
      <anchor>ae46bd928b3288fe99249bbc0eaafdc97</anchor>
      <arglist>(apriltag_family_t *tf)</arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static uint64_t</type>
      <name>codedata</name>
      <anchorfile>tagStandard41h12_8c.html</anchorfile>
      <anchor>ac2405af3f5b3cb113f1c02ff22a06b11</anchor>
      <arglist>[2115]</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>tagStandard41h12.h</name>
    <path>/tmp/ws/src/apriltag/</path>
    <filename>tagStandard41h12_8h.html</filename>
    <includes id="apriltag_8h" name="apriltag.h" local="yes" imported="no">apriltag.h</includes>
    <member kind="function">
      <type>apriltag_family_t *</type>
      <name>tagStandard41h12_create</name>
      <anchorfile>tagStandard41h12_8h.html</anchorfile>
      <anchor>aa432e5dc9c2af97d5fd93e8a20f3a55e</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>tagStandard41h12_destroy</name>
      <anchorfile>tagStandard41h12_8h.html</anchorfile>
      <anchor>ae46bd928b3288fe99249bbc0eaafdc97</anchor>
      <arglist>(apriltag_family_t *tf)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>tagStandard52h13.c</name>
    <path>/tmp/ws/src/apriltag/</path>
    <filename>tagStandard52h13_8c.html</filename>
    <includes id="tagStandard52h13_8h" name="tagStandard52h13.h" local="yes" imported="no">tagStandard52h13.h</includes>
    <member kind="function">
      <type>apriltag_family_t *</type>
      <name>tagStandard52h13_create</name>
      <anchorfile>tagStandard52h13_8c.html</anchorfile>
      <anchor>a43633271cd1263ed54d6918ec279abb2</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>tagStandard52h13_destroy</name>
      <anchorfile>tagStandard52h13_8c.html</anchorfile>
      <anchor>a0fdcf45ba98d43b518e32b75a74eacfc</anchor>
      <arglist>(apriltag_family_t *tf)</arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static uint64_t</type>
      <name>codedata</name>
      <anchorfile>tagStandard52h13_8c.html</anchorfile>
      <anchor>a382e95d4c7b19f44685cb5951a6db07b</anchor>
      <arglist>[48714]</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>tagStandard52h13.h</name>
    <path>/tmp/ws/src/apriltag/</path>
    <filename>tagStandard52h13_8h.html</filename>
    <includes id="apriltag_8h" name="apriltag.h" local="yes" imported="no">apriltag.h</includes>
    <member kind="function">
      <type>apriltag_family_t *</type>
      <name>tagStandard52h13_create</name>
      <anchorfile>tagStandard52h13_8h.html</anchorfile>
      <anchor>a43633271cd1263ed54d6918ec279abb2</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>tagStandard52h13_destroy</name>
      <anchorfile>tagStandard52h13_8h.html</anchorfile>
      <anchor>a0fdcf45ba98d43b518e32b75a74eacfc</anchor>
      <arglist>(apriltag_family_t *tf)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>test_detection.c</name>
    <path>/tmp/ws/src/apriltag/test/</path>
    <filename>test__detection_8c.html</filename>
    <includes id="apriltag_8h" name="apriltag.h" local="no" imported="no">apriltag.h</includes>
    <includes id="tag36h11_8h" name="tag36h11.h" local="no" imported="no">tag36h11.h</includes>
    <includes id="pjpeg_8h" name="pjpeg.h" local="no" imported="no">common/pjpeg.h</includes>
    <includes id="getline_8h" name="getline.h" local="yes" imported="no">getline.h</includes>
    <member kind="function">
      <type>int</type>
      <name>detection_array_element_compare_function</name>
      <anchorfile>test__detection_8c.html</anchorfile>
      <anchor>a54e4ce1b539b4904f9e843787dec0d34</anchor>
      <arglist>(const void *_a, const void *_b)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>detection_compare_function</name>
      <anchorfile>test__detection_8c.html</anchorfile>
      <anchor>aa3f4bc5c6f4cdfb122775b49e866a8ab</anchor>
      <arglist>(const apriltag_detection_t *a, const apriltag_detection_t *b)</arglist>
    </member>
    <member kind="function">
      <type>char *</type>
      <name>format</name>
      <anchorfile>test__detection_8c.html</anchorfile>
      <anchor>af6791c926fc69a65c5fe7aa4cc13099d</anchor>
      <arglist>(const char *fmt,...)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>main</name>
      <anchorfile>test__detection_8c.html</anchorfile>
      <anchor>a0ddf1224851353fc92bfbff6f499fa97</anchor>
      <arglist>(int argc, char *argv[])</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>time_util.c</name>
    <path>/tmp/ws/src/apriltag/common/</path>
    <filename>time__util_8c.html</filename>
    <includes id="time__util_8h" name="time_util.h" local="yes" imported="no">time_util.h</includes>
    <class kind="struct">timeutil_rest</class>
    <member kind="function">
      <type>int64_t</type>
      <name>time_util_hhmmss_ss_to_utime</name>
      <anchorfile>time__util_8c.html</anchorfile>
      <anchor>a9a15a72a5bdfcf82a768784db71daf19</anchor>
      <arglist>(double time)</arglist>
    </member>
    <member kind="function">
      <type>int64_t</type>
      <name>timeutil_ms_to_us</name>
      <anchorfile>time__util_8c.html</anchorfile>
      <anchor>ae2fa00897fade186ccaa2ad82b5dd0b9</anchor>
      <arglist>(int32_t ms)</arglist>
    </member>
    <member kind="function">
      <type>timeutil_rest_t *</type>
      <name>timeutil_rest_create</name>
      <anchorfile>time__util_8c.html</anchorfile>
      <anchor>a64fc7091e4485ae797a2c04cfd5cc3cc</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>timeutil_rest_destroy</name>
      <anchorfile>time__util_8c.html</anchorfile>
      <anchor>a42f8f9cd3ea5d69da11e10cbcb7101ba</anchor>
      <arglist>(timeutil_rest_t *rest)</arglist>
    </member>
    <member kind="function">
      <type>uint32_t</type>
      <name>timeutil_sleep</name>
      <anchorfile>time__util_8c.html</anchorfile>
      <anchor>a6eb411c9387ecb5f11a7dce12c34ecda</anchor>
      <arglist>(unsigned int seconds)</arglist>
    </member>
    <member kind="function">
      <type>int32_t</type>
      <name>timeutil_sleep_hz</name>
      <anchorfile>time__util_8c.html</anchorfile>
      <anchor>a461b91e41d10991181fda997a665fffd</anchor>
      <arglist>(timeutil_rest_t *rest, double hz)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>timeutil_timer_reset</name>
      <anchorfile>time__util_8c.html</anchorfile>
      <anchor>a54b3fda2e67689a0d6495ee57ca2990a</anchor>
      <arglist>(timeutil_rest_t *rest)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>timeutil_timer_start</name>
      <anchorfile>time__util_8c.html</anchorfile>
      <anchor>a26fc45df4b98a68353e23cc3cc467318</anchor>
      <arglist>(timeutil_rest_t *rest)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>timeutil_timer_stop</name>
      <anchorfile>time__util_8c.html</anchorfile>
      <anchor>acb21e46309d572ec166fd341dfe97cc4</anchor>
      <arglist>(timeutil_rest_t *rest)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>timeutil_timer_timeout</name>
      <anchorfile>time__util_8c.html</anchorfile>
      <anchor>a1a57eba5c86ba80c5b48dd609f6dedce</anchor>
      <arglist>(timeutil_rest_t *rest, double timeout_s)</arglist>
    </member>
    <member kind="function">
      <type>int32_t</type>
      <name>timeutil_usleep</name>
      <anchorfile>time__util_8c.html</anchorfile>
      <anchor>a0f4510b0c52d0a2ba321e3be7f6e8f0d</anchor>
      <arglist>(int64_t useconds)</arglist>
    </member>
    <member kind="function">
      <type>int64_t</type>
      <name>utime_get_seconds</name>
      <anchorfile>time__util_8c.html</anchorfile>
      <anchor>ac70b7b7d782136d5de659c5e6c6ae46b</anchor>
      <arglist>(int64_t v)</arglist>
    </member>
    <member kind="function">
      <type>int64_t</type>
      <name>utime_get_useconds</name>
      <anchorfile>time__util_8c.html</anchorfile>
      <anchor>a03612175370ee1f360bf6db4432127af</anchor>
      <arglist>(int64_t v)</arglist>
    </member>
    <member kind="function">
      <type>int64_t</type>
      <name>utime_now</name>
      <anchorfile>time__util_8c.html</anchorfile>
      <anchor>aee01ddaf435b53b89bb0d2c19401503f</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>utime_to_timespec</name>
      <anchorfile>time__util_8c.html</anchorfile>
      <anchor>a4c1ebb2cfc5f67a88ead6745e902972d</anchor>
      <arglist>(int64_t v, struct timespec *ts)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>utime_to_timeval</name>
      <anchorfile>time__util_8c.html</anchorfile>
      <anchor>a090adb3cf50fffd50ffc8accc1d3acdf</anchor>
      <arglist>(int64_t v, struct timeval *tv)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>time_util.h</name>
    <path>/tmp/ws/src/apriltag/common/</path>
    <filename>time__util_8h.html</filename>
    <member kind="typedef">
      <type>struct timeutil_rest</type>
      <name>timeutil_rest_t</name>
      <anchorfile>time__util_8h.html</anchorfile>
      <anchor>a75a9eb4b0e318370a7c011f2d01d1166</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type>int64_t</type>
      <name>time_util_hhmmss_ss_to_utime</name>
      <anchorfile>time__util_8h.html</anchorfile>
      <anchor>a9a15a72a5bdfcf82a768784db71daf19</anchor>
      <arglist>(double time)</arglist>
    </member>
    <member kind="function">
      <type>int64_t</type>
      <name>timeutil_ms_to_us</name>
      <anchorfile>time__util_8h.html</anchorfile>
      <anchor>ae2fa00897fade186ccaa2ad82b5dd0b9</anchor>
      <arglist>(int32_t ms)</arglist>
    </member>
    <member kind="function">
      <type>timeutil_rest_t *</type>
      <name>timeutil_rest_create</name>
      <anchorfile>time__util_8h.html</anchorfile>
      <anchor>a64fc7091e4485ae797a2c04cfd5cc3cc</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>timeutil_rest_destroy</name>
      <anchorfile>time__util_8h.html</anchorfile>
      <anchor>a42f8f9cd3ea5d69da11e10cbcb7101ba</anchor>
      <arglist>(timeutil_rest_t *rest)</arglist>
    </member>
    <member kind="function">
      <type>uint32_t</type>
      <name>timeutil_sleep</name>
      <anchorfile>time__util_8h.html</anchorfile>
      <anchor>a6eb411c9387ecb5f11a7dce12c34ecda</anchor>
      <arglist>(unsigned int seconds)</arglist>
    </member>
    <member kind="function">
      <type>int32_t</type>
      <name>timeutil_sleep_hz</name>
      <anchorfile>time__util_8h.html</anchorfile>
      <anchor>a461b91e41d10991181fda997a665fffd</anchor>
      <arglist>(timeutil_rest_t *rest, double hz)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>timeutil_timer_reset</name>
      <anchorfile>time__util_8h.html</anchorfile>
      <anchor>a54b3fda2e67689a0d6495ee57ca2990a</anchor>
      <arglist>(timeutil_rest_t *rest)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>timeutil_timer_start</name>
      <anchorfile>time__util_8h.html</anchorfile>
      <anchor>a26fc45df4b98a68353e23cc3cc467318</anchor>
      <arglist>(timeutil_rest_t *rest)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>timeutil_timer_stop</name>
      <anchorfile>time__util_8h.html</anchorfile>
      <anchor>acb21e46309d572ec166fd341dfe97cc4</anchor>
      <arglist>(timeutil_rest_t *rest)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>timeutil_timer_timeout</name>
      <anchorfile>time__util_8h.html</anchorfile>
      <anchor>a1a57eba5c86ba80c5b48dd609f6dedce</anchor>
      <arglist>(timeutil_rest_t *rest, double timeout_s)</arglist>
    </member>
    <member kind="function">
      <type>int32_t</type>
      <name>timeutil_usleep</name>
      <anchorfile>time__util_8h.html</anchorfile>
      <anchor>a0f4510b0c52d0a2ba321e3be7f6e8f0d</anchor>
      <arglist>(int64_t useconds)</arglist>
    </member>
    <member kind="function">
      <type>int64_t</type>
      <name>utime_get_seconds</name>
      <anchorfile>time__util_8h.html</anchorfile>
      <anchor>ac70b7b7d782136d5de659c5e6c6ae46b</anchor>
      <arglist>(int64_t v)</arglist>
    </member>
    <member kind="function">
      <type>int64_t</type>
      <name>utime_get_useconds</name>
      <anchorfile>time__util_8h.html</anchorfile>
      <anchor>a03612175370ee1f360bf6db4432127af</anchor>
      <arglist>(int64_t v)</arglist>
    </member>
    <member kind="function">
      <type>int64_t</type>
      <name>utime_now</name>
      <anchorfile>time__util_8h.html</anchorfile>
      <anchor>aee01ddaf435b53b89bb0d2c19401503f</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>utime_to_timespec</name>
      <anchorfile>time__util_8h.html</anchorfile>
      <anchor>a4c1ebb2cfc5f67a88ead6745e902972d</anchor>
      <arglist>(int64_t v, struct timespec *ts)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>utime_to_timeval</name>
      <anchorfile>time__util_8h.html</anchorfile>
      <anchor>a090adb3cf50fffd50ffc8accc1d3acdf</anchor>
      <arglist>(int64_t v, struct timeval *tv)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>timeprofile.h</name>
    <path>/tmp/ws/src/apriltag/common/</path>
    <filename>timeprofile_8h.html</filename>
    <includes id="time__util_8h" name="time_util.h" local="yes" imported="no">time_util.h</includes>
    <includes id="zarray_8h" name="zarray.h" local="yes" imported="no">zarray.h</includes>
    <class kind="struct">timeprofile</class>
    <class kind="struct">timeprofile_entry</class>
    <member kind="typedef">
      <type>struct timeprofile</type>
      <name>timeprofile_t</name>
      <anchorfile>timeprofile_8h.html</anchorfile>
      <anchor>a6b58aad19603e2e5f3c9bc013405cb42</anchor>
      <arglist></arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void</type>
      <name>timeprofile_clear</name>
      <anchorfile>timeprofile_8h.html</anchorfile>
      <anchor>a12f98e2eb4f5144de9a7c99ff929504a</anchor>
      <arglist>(timeprofile_t *tp)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static timeprofile_t *</type>
      <name>timeprofile_create</name>
      <anchorfile>timeprofile_8h.html</anchorfile>
      <anchor>a544078572e019d87991f34c8ce71ac6a</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void</type>
      <name>timeprofile_destroy</name>
      <anchorfile>timeprofile_8h.html</anchorfile>
      <anchor>a157e136185ba42c44511a06fa8cbb99c</anchor>
      <arglist>(timeprofile_t *tp)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void</type>
      <name>timeprofile_display</name>
      <anchorfile>timeprofile_8h.html</anchorfile>
      <anchor>a14bad00951ff9f3faf612911c3a8d8ba</anchor>
      <arglist>(timeprofile_t *tp)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void</type>
      <name>timeprofile_stamp</name>
      <anchorfile>timeprofile_8h.html</anchorfile>
      <anchor>a9523f38094c3c2ed487dfce557ad49c0</anchor>
      <arglist>(timeprofile_t *tp, const char *name)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static uint64_t</type>
      <name>timeprofile_total_utime</name>
      <anchorfile>timeprofile_8h.html</anchorfile>
      <anchor>a4dc58e38e8abf6fc9faa3849df8d2447</anchor>
      <arglist>(timeprofile_t *tp)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>unionfind.c</name>
    <path>/tmp/ws/src/apriltag/common/</path>
    <filename>unionfind_8c.html</filename>
    <includes id="unionfind_8h" name="unionfind.h" local="yes" imported="no">unionfind.h</includes>
  </compound>
  <compound kind="file">
    <name>unionfind.h</name>
    <path>/tmp/ws/src/apriltag/common/</path>
    <filename>unionfind_8h.html</filename>
    <class kind="struct">unionfind</class>
    <member kind="typedef">
      <type>struct unionfind</type>
      <name>unionfind_t</name>
      <anchorfile>unionfind_8h.html</anchorfile>
      <anchor>a062ea2330e2190339cd7486bbf82ba98</anchor>
      <arglist></arglist>
    </member>
    <member kind="function" static="yes">
      <type>static uint32_t</type>
      <name>unionfind_connect</name>
      <anchorfile>unionfind_8h.html</anchorfile>
      <anchor>a19bb543c6f64713d9849d60e91d2972a</anchor>
      <arglist>(unionfind_t *uf, uint32_t aid, uint32_t bid)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static unionfind_t *</type>
      <name>unionfind_create</name>
      <anchorfile>unionfind_8h.html</anchorfile>
      <anchor>a26ad8aabde1a7c2b985c1e0162566b14</anchor>
      <arglist>(uint32_t maxid)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void</type>
      <name>unionfind_destroy</name>
      <anchorfile>unionfind_8h.html</anchorfile>
      <anchor>ac513229f3f3b8345fcc83e0c81b41cab</anchor>
      <arglist>(unionfind_t *uf)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static uint32_t</type>
      <name>unionfind_get_representative</name>
      <anchorfile>unionfind_8h.html</anchorfile>
      <anchor>aae06fac27e5c0ed6fccc91890e337b71</anchor>
      <arglist>(unionfind_t *uf, uint32_t id)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static uint32_t</type>
      <name>unionfind_get_set_size</name>
      <anchorfile>unionfind_8h.html</anchorfile>
      <anchor>aec323e81f378a5a2e4e94ce13fc3b949</anchor>
      <arglist>(unionfind_t *uf, uint32_t id)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>workerpool.c</name>
    <path>/tmp/ws/src/apriltag/common/</path>
    <filename>workerpool_8c.html</filename>
    <includes id="pthreads__cross_8h" name="pthreads_cross.h" local="yes" imported="no">common/pthreads_cross.h</includes>
    <includes id="workerpool_8h" name="workerpool.h" local="yes" imported="no">workerpool.h</includes>
    <includes id="debug__print_8h" name="debug_print.h" local="yes" imported="no">debug_print.h</includes>
    <class kind="struct">task</class>
    <class kind="struct">workerpool</class>
    <member kind="define">
      <type>#define</type>
      <name>__USE_GNU</name>
      <anchorfile>workerpool_8c.html</anchorfile>
      <anchor>adc4cc5c67b56f34138d786ef6331e3f4</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>_GNU_SOURCE</name>
      <anchorfile>workerpool_8c.html</anchorfile>
      <anchor>a369266c24eacffb87046522897a570d5</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type>void *</type>
      <name>worker_thread</name>
      <anchorfile>workerpool_8c.html</anchorfile>
      <anchor>a66413302677abcd27413c6e8c56eee1c</anchor>
      <arglist>(void *p)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>workerpool_add_task</name>
      <anchorfile>workerpool_8c.html</anchorfile>
      <anchor>ab2071857ece9ae7ab685a501dfbf3763</anchor>
      <arglist>(workerpool_t *wp, void(*f)(void *p), void *p)</arglist>
    </member>
    <member kind="function">
      <type>workerpool_t *</type>
      <name>workerpool_create</name>
      <anchorfile>workerpool_8c.html</anchorfile>
      <anchor>a31340dd5245826c0d3d66a871c0acab0</anchor>
      <arglist>(int nthreads)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>workerpool_destroy</name>
      <anchorfile>workerpool_8c.html</anchorfile>
      <anchor>a7bd7aad1368619d4f95783395e0e2ea0</anchor>
      <arglist>(workerpool_t *wp)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>workerpool_get_nprocs</name>
      <anchorfile>workerpool_8c.html</anchorfile>
      <anchor>a9842abf05607187a08090cf57025f619</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>workerpool_get_nthreads</name>
      <anchorfile>workerpool_8c.html</anchorfile>
      <anchor>affc4c040dd4363029c172f5fafc8cf13</anchor>
      <arglist>(workerpool_t *wp)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>workerpool_run</name>
      <anchorfile>workerpool_8c.html</anchorfile>
      <anchor>a1a63c59bb0d5882b8a52e203c9543de5</anchor>
      <arglist>(workerpool_t *wp)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>workerpool_run_single</name>
      <anchorfile>workerpool_8c.html</anchorfile>
      <anchor>aa37defe9648bccfeb1ebfbc4bb73efad</anchor>
      <arglist>(workerpool_t *wp)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>workerpool.h</name>
    <path>/tmp/ws/src/apriltag/common/</path>
    <filename>workerpool_8h.html</filename>
    <includes id="zarray_8h" name="zarray.h" local="yes" imported="no">zarray.h</includes>
    <member kind="typedef">
      <type>struct workerpool</type>
      <name>workerpool_t</name>
      <anchorfile>workerpool_8h.html</anchorfile>
      <anchor>a7d619c7dbc7193f9ad24424599d492e1</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>workerpool_add_task</name>
      <anchorfile>workerpool_8h.html</anchorfile>
      <anchor>ab2071857ece9ae7ab685a501dfbf3763</anchor>
      <arglist>(workerpool_t *wp, void(*f)(void *p), void *p)</arglist>
    </member>
    <member kind="function">
      <type>workerpool_t *</type>
      <name>workerpool_create</name>
      <anchorfile>workerpool_8h.html</anchorfile>
      <anchor>a31340dd5245826c0d3d66a871c0acab0</anchor>
      <arglist>(int nthreads)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>workerpool_destroy</name>
      <anchorfile>workerpool_8h.html</anchorfile>
      <anchor>a7bd7aad1368619d4f95783395e0e2ea0</anchor>
      <arglist>(workerpool_t *wp)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>workerpool_get_nprocs</name>
      <anchorfile>workerpool_8h.html</anchorfile>
      <anchor>a9842abf05607187a08090cf57025f619</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>workerpool_get_nthreads</name>
      <anchorfile>workerpool_8h.html</anchorfile>
      <anchor>affc4c040dd4363029c172f5fafc8cf13</anchor>
      <arglist>(workerpool_t *wp)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>workerpool_run</name>
      <anchorfile>workerpool_8h.html</anchorfile>
      <anchor>a1a63c59bb0d5882b8a52e203c9543de5</anchor>
      <arglist>(workerpool_t *wp)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>workerpool_run_single</name>
      <anchorfile>workerpool_8h.html</anchorfile>
      <anchor>aa37defe9648bccfeb1ebfbc4bb73efad</anchor>
      <arglist>(workerpool_t *wp)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>zarray.c</name>
    <path>/tmp/ws/src/apriltag/common/</path>
    <filename>zarray_8c.html</filename>
    <includes id="zarray_8h" name="zarray.h" local="yes" imported="no">zarray.h</includes>
    <member kind="function">
      <type>void</type>
      <name>zarray_vmap</name>
      <anchorfile>zarray_8c.html</anchorfile>
      <anchor>a5bf53de34e8ff67d7c6441b004712aa7</anchor>
      <arglist>(zarray_t *za, void(*f)(void *))</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>zstrcmp</name>
      <anchorfile>zarray_8c.html</anchorfile>
      <anchor>a043ae1027077c070dbe4d0e242fd160e</anchor>
      <arglist>(const void *a_pp, const void *b_pp)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>zarray.h</name>
    <path>/tmp/ws/src/apriltag/common/</path>
    <filename>zarray_8h.html</filename>
    <class kind="struct">zarray</class>
    <member kind="typedef">
      <type>struct zarray</type>
      <name>zarray_t</name>
      <anchorfile>zarray_8h.html</anchorfile>
      <anchor>af429d8225958865fc14ea0ddcc7c0b06</anchor>
      <arglist></arglist>
    </member>
    <member kind="function" static="yes">
      <type>static int</type>
      <name>iceillog2</name>
      <anchorfile>zarray_8h.html</anchorfile>
      <anchor>a5e621048719048a5d4ac5caa210201b2</anchor>
      <arglist>(int v)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void</type>
      <name>zarray_add</name>
      <anchorfile>zarray_8h.html</anchorfile>
      <anchor>ab796bfc8e190e25d1b79da3991471f7f</anchor>
      <arglist>(zarray_t *za, const void *p)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void</type>
      <name>zarray_add_range</name>
      <anchorfile>zarray_8h.html</anchorfile>
      <anchor>a632f8fd6b059aa300781b1646c6b4ded</anchor>
      <arglist>(zarray_t *dest, const zarray_t *source, int start, int end)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void</type>
      <name>zarray_clear</name>
      <anchorfile>zarray_8h.html</anchorfile>
      <anchor>a36fb524b225b55d9107ab7b605b0357a</anchor>
      <arglist>(zarray_t *za)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static int</type>
      <name>zarray_contains</name>
      <anchorfile>zarray_8h.html</anchorfile>
      <anchor>a9177c19f32b4a3de2041e64aa8222d47</anchor>
      <arglist>(const zarray_t *za, const void *p)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static zarray_t *</type>
      <name>zarray_copy</name>
      <anchorfile>zarray_8h.html</anchorfile>
      <anchor>af0964c85a5d86ac17dc261a2ad50a54b</anchor>
      <arglist>(const zarray_t *za)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static zarray_t *</type>
      <name>zarray_copy_subset</name>
      <anchorfile>zarray_8h.html</anchorfile>
      <anchor>a2615de06a814af48101e9fa230b1d64b</anchor>
      <arglist>(const zarray_t *za, int start_idx, int end_idx_exclusive)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static zarray_t *</type>
      <name>zarray_create</name>
      <anchorfile>zarray_8h.html</anchorfile>
      <anchor>a9bfc548199ddca725f459c787cba20fe</anchor>
      <arglist>(size_t el_sz)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void</type>
      <name>zarray_destroy</name>
      <anchorfile>zarray_8h.html</anchorfile>
      <anchor>a7535b091a436e6dd7a335ba4ec796481</anchor>
      <arglist>(zarray_t *za)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void</type>
      <name>zarray_ensure_capacity</name>
      <anchorfile>zarray_8h.html</anchorfile>
      <anchor>a59d4920787c4646e5959e515853d1386</anchor>
      <arglist>(zarray_t *za, int capacity)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void</type>
      <name>zarray_get</name>
      <anchorfile>zarray_8h.html</anchorfile>
      <anchor>a83690493bb0302b9a7e7f3b7ea321f86</anchor>
      <arglist>(const zarray_t *za, int idx, void *p)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void</type>
      <name>zarray_get_volatile</name>
      <anchorfile>zarray_8h.html</anchorfile>
      <anchor>aac1e4b9ed3982abd2bbd411ad1acdffe</anchor>
      <arglist>(const zarray_t *za, int idx, void *p)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static int</type>
      <name>zarray_index_of</name>
      <anchorfile>zarray_8h.html</anchorfile>
      <anchor>aab5ec0d3ada686490b28d1a53779c76b</anchor>
      <arglist>(const zarray_t *za, const void *p)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void</type>
      <name>zarray_insert</name>
      <anchorfile>zarray_8h.html</anchorfile>
      <anchor>a94fa276dd31da35ec702ebe88a1fb16a</anchor>
      <arglist>(zarray_t *za, int idx, const void *p)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void</type>
      <name>zarray_map</name>
      <anchorfile>zarray_8h.html</anchorfile>
      <anchor>a8d4b218889e90f364825b0f9395f3ac4</anchor>
      <arglist>(zarray_t *za, void(*f)(void *))</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void</type>
      <name>zarray_remove_index</name>
      <anchorfile>zarray_8h.html</anchorfile>
      <anchor>a17520ef731de78251076437ef512078a</anchor>
      <arglist>(zarray_t *za, int idx, int shuffle)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static int</type>
      <name>zarray_remove_value</name>
      <anchorfile>zarray_8h.html</anchorfile>
      <anchor>a30100b1bbf8e83ef87799489ff3cb095</anchor>
      <arglist>(zarray_t *za, const void *p, int shuffle)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void</type>
      <name>zarray_set</name>
      <anchorfile>zarray_8h.html</anchorfile>
      <anchor>a5922c32bab4ed07dcb5f85963d459190</anchor>
      <arglist>(zarray_t *za, int idx, const void *p, void *outp)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static int</type>
      <name>zarray_size</name>
      <anchorfile>zarray_8h.html</anchorfile>
      <anchor>a9b822468cae56c5566051680484ef6d7</anchor>
      <arglist>(const zarray_t *za)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void</type>
      <name>zarray_sort</name>
      <anchorfile>zarray_8h.html</anchorfile>
      <anchor>a35c39a68513183bba1dd935550f09aff</anchor>
      <arglist>(zarray_t *za, int(*compar)(const void *, const void *))</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void</type>
      <name>zarray_truncate</name>
      <anchorfile>zarray_8h.html</anchorfile>
      <anchor>a9dc43de0e587a2fabfe140d680ae5f73</anchor>
      <arglist>(zarray_t *za, int sz)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>zarray_vmap</name>
      <anchorfile>zarray_8h.html</anchorfile>
      <anchor>a5bf53de34e8ff67d7c6441b004712aa7</anchor>
      <arglist>(zarray_t *za, void(*f)(void *))</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>zstrcmp</name>
      <anchorfile>zarray_8h.html</anchorfile>
      <anchor>a043ae1027077c070dbe4d0e242fd160e</anchor>
      <arglist>(const void *a_pp, const void *b_pp)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>zhash.c</name>
    <path>/tmp/ws/src/apriltag/common/</path>
    <filename>zhash_8c.html</filename>
    <includes id="zhash_8h" name="zhash.h" local="yes" imported="no">zhash.h</includes>
    <class kind="union">uintpointer</class>
    <class kind="struct">zhash</class>
    <member kind="define">
      <type>#define</type>
      <name>ZHASH_FACTOR_CRITICAL</name>
      <anchorfile>zhash_8c.html</anchorfile>
      <anchor>a541ba97ef9ea775da3e2ca7484e98566</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>ZHASH_FACTOR_REALLOC</name>
      <anchorfile>zhash_8c.html</anchorfile>
      <anchor>ac56d4e24af8b4f96532d8043b33d08a1</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>zhash_clear</name>
      <anchorfile>zhash_8c.html</anchorfile>
      <anchor>adb2d9a1c9108a1ee9f8bd6489b96b680</anchor>
      <arglist>(zhash_t *zh)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>zhash_contains</name>
      <anchorfile>zhash_8c.html</anchorfile>
      <anchor>ad38ae99a444ee2cfce107f5a52252b06</anchor>
      <arglist>(const zhash_t *zh, const void *key)</arglist>
    </member>
    <member kind="function">
      <type>zhash_t *</type>
      <name>zhash_copy</name>
      <anchorfile>zhash_8c.html</anchorfile>
      <anchor>adfd0a8ece664342af1c46abdec7cd4a8</anchor>
      <arglist>(const zhash_t *zh)</arglist>
    </member>
    <member kind="function">
      <type>zhash_t *</type>
      <name>zhash_create</name>
      <anchorfile>zhash_8c.html</anchorfile>
      <anchor>ab580ddca1426f5c57933cdc89bcf2136</anchor>
      <arglist>(size_t keysz, size_t valuesz, uint32_t(*hash)(const void *a), int(*equals)(const void *a, const void *b))</arglist>
    </member>
    <member kind="function">
      <type>zhash_t *</type>
      <name>zhash_create_capacity</name>
      <anchorfile>zhash_8c.html</anchorfile>
      <anchor>a7526c202a6ff3b04530628649f11ca42</anchor>
      <arglist>(size_t keysz, size_t valuesz, uint32_t(*hash)(const void *a), int(*equals)(const void *a, const void *b), int capacity)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>zhash_debug</name>
      <anchorfile>zhash_8c.html</anchorfile>
      <anchor>a92a6af4c4fe8541ddcc4f839cf254ce7</anchor>
      <arglist>(zhash_t *zh)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>zhash_destroy</name>
      <anchorfile>zhash_8c.html</anchorfile>
      <anchor>a1c63be960100748115006ba11b9d76b2</anchor>
      <arglist>(zhash_t *zh)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>zhash_get</name>
      <anchorfile>zhash_8c.html</anchorfile>
      <anchor>a5f733a0f24c9d7d459eb3ffe0fff5bd2</anchor>
      <arglist>(const zhash_t *zh, const void *key, void *out_value)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>zhash_get_volatile</name>
      <anchorfile>zhash_8c.html</anchorfile>
      <anchor>a154f1975beb28ae77315d1039bc04370</anchor>
      <arglist>(const zhash_t *zh, const void *key, void *out_value)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>zhash_iterator_init</name>
      <anchorfile>zhash_8c.html</anchorfile>
      <anchor>a1dff15dee80154e9387afbddd3e1a5a9</anchor>
      <arglist>(zhash_t *zh, zhash_iterator_t *zit)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>zhash_iterator_init_const</name>
      <anchorfile>zhash_8c.html</anchorfile>
      <anchor>a88a8cfd64481751ae6e97288ba05b2f1</anchor>
      <arglist>(const zhash_t *zh, zhash_iterator_t *zit)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>zhash_iterator_next</name>
      <anchorfile>zhash_8c.html</anchorfile>
      <anchor>aabfad3dd37f811b1d7d186cc572b845f</anchor>
      <arglist>(zhash_iterator_t *zit, void *outkey, void *outvalue)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>zhash_iterator_next_volatile</name>
      <anchorfile>zhash_8c.html</anchorfile>
      <anchor>a88fe3cde4e4906fc210c3897fbc81083</anchor>
      <arglist>(zhash_iterator_t *zit, void *outkey, void *outvalue)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>zhash_iterator_remove</name>
      <anchorfile>zhash_8c.html</anchorfile>
      <anchor>a31aba2091ac0de2cfc38d4903d08f237</anchor>
      <arglist>(zhash_iterator_t *zit)</arglist>
    </member>
    <member kind="function">
      <type>zarray_t *</type>
      <name>zhash_keys</name>
      <anchorfile>zhash_8c.html</anchorfile>
      <anchor>a730a3f62bbaa5377b777b45eec241af3</anchor>
      <arglist>(const zhash_t *zh)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>zhash_map_keys</name>
      <anchorfile>zhash_8c.html</anchorfile>
      <anchor>ad1fba83933fdf91757e0373d7ae755fc</anchor>
      <arglist>(zhash_t *zh, void(*f)(void *))</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>zhash_map_values</name>
      <anchorfile>zhash_8c.html</anchorfile>
      <anchor>abfd6a3e9ab16b8e10c495e3c3fe0d75e</anchor>
      <arglist>(zhash_t *zh, void(*f)(void *))</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>zhash_ptr_equals</name>
      <anchorfile>zhash_8c.html</anchorfile>
      <anchor>ad0e4e6f57fb66d7b116598bbac024783</anchor>
      <arglist>(const void *a, const void *b)</arglist>
    </member>
    <member kind="function">
      <type>uint32_t</type>
      <name>zhash_ptr_hash</name>
      <anchorfile>zhash_8c.html</anchorfile>
      <anchor>a30981951f8c90e8eae5da6963abfeb40</anchor>
      <arglist>(const void *a)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>zhash_put</name>
      <anchorfile>zhash_8c.html</anchorfile>
      <anchor>a1fcf3aacd4bcf1113c1b83e8a15b060c</anchor>
      <arglist>(zhash_t *zh, const void *key, const void *value, void *oldkey, void *oldvalue)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>zhash_remove</name>
      <anchorfile>zhash_8c.html</anchorfile>
      <anchor>aceb1de37c32f3efeceaad3584d0b690e</anchor>
      <arglist>(zhash_t *zh, const void *key, void *old_key, void *old_value)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>zhash_size</name>
      <anchorfile>zhash_8c.html</anchorfile>
      <anchor>a9044d979e7371c387d366c5d860bdd3c</anchor>
      <arglist>(const zhash_t *zh)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>zhash_str_equals</name>
      <anchorfile>zhash_8c.html</anchorfile>
      <anchor>a4fe0e165e3f0f777c96bf99a079735a3</anchor>
      <arglist>(const void *_a, const void *_b)</arglist>
    </member>
    <member kind="function">
      <type>uint32_t</type>
      <name>zhash_str_hash</name>
      <anchorfile>zhash_8c.html</anchorfile>
      <anchor>a1b8d70c788cd85e614512e4d9cdfb6c8</anchor>
      <arglist>(const void *_a)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>zhash_uint32_equals</name>
      <anchorfile>zhash_8c.html</anchorfile>
      <anchor>acc53861df0d82f2e9704d0a202b29025</anchor>
      <arglist>(const void *_a, const void *_b)</arglist>
    </member>
    <member kind="function">
      <type>uint32_t</type>
      <name>zhash_uint32_hash</name>
      <anchorfile>zhash_8c.html</anchorfile>
      <anchor>a107fa98eccd6ac4fb7f57f1384bb045e</anchor>
      <arglist>(const void *_a)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>zhash_uint64_equals</name>
      <anchorfile>zhash_8c.html</anchorfile>
      <anchor>a1ece707d711910ff8c073814caae65ca</anchor>
      <arglist>(const void *_a, const void *_b)</arglist>
    </member>
    <member kind="function">
      <type>uint32_t</type>
      <name>zhash_uint64_hash</name>
      <anchorfile>zhash_8c.html</anchorfile>
      <anchor>a2c11f92f86d1f3e50d50973ae6a16d37</anchor>
      <arglist>(const void *_a)</arglist>
    </member>
    <member kind="function">
      <type>zarray_t *</type>
      <name>zhash_values</name>
      <anchorfile>zhash_8c.html</anchorfile>
      <anchor>ae68f01e58989268ccded7037f8c86235</anchor>
      <arglist>(const zhash_t *zh)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>zhash_vmap_keys</name>
      <anchorfile>zhash_8c.html</anchorfile>
      <anchor>a86371621ac047fa815facc2f324833d7</anchor>
      <arglist>(zhash_t *zh, void(*f)(void *))</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>zhash_vmap_values</name>
      <anchorfile>zhash_8c.html</anchorfile>
      <anchor>aa73a21144fe3bb0ffca3180e5a796084</anchor>
      <arglist>(zhash_t *zh, void(*f)(void *))</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>zhash.h</name>
    <path>/tmp/ws/src/apriltag/common/</path>
    <filename>zhash_8h.html</filename>
    <includes id="zarray_8h" name="zarray.h" local="yes" imported="no">zarray.h</includes>
    <class kind="struct">zhash_iterator</class>
    <member kind="typedef">
      <type>struct zhash_iterator</type>
      <name>zhash_iterator_t</name>
      <anchorfile>zhash_8h.html</anchorfile>
      <anchor>ad25fcf8243f5fdaeaab2d01dc9d17b3f</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>struct zhash</type>
      <name>zhash_t</name>
      <anchorfile>zhash_8h.html</anchorfile>
      <anchor>ad3e2c894fe80cfcf355be772cea3bc53</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>zhash_clear</name>
      <anchorfile>zhash_8h.html</anchorfile>
      <anchor>adb2d9a1c9108a1ee9f8bd6489b96b680</anchor>
      <arglist>(zhash_t *zh)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>zhash_contains</name>
      <anchorfile>zhash_8h.html</anchorfile>
      <anchor>ad38ae99a444ee2cfce107f5a52252b06</anchor>
      <arglist>(const zhash_t *zh, const void *key)</arglist>
    </member>
    <member kind="function">
      <type>zhash_t *</type>
      <name>zhash_copy</name>
      <anchorfile>zhash_8h.html</anchorfile>
      <anchor>abd11c4b361b8fb3539f091e991d5f15b</anchor>
      <arglist>(const zhash_t *other)</arglist>
    </member>
    <member kind="function">
      <type>zhash_t *</type>
      <name>zhash_create</name>
      <anchorfile>zhash_8h.html</anchorfile>
      <anchor>ab580ddca1426f5c57933cdc89bcf2136</anchor>
      <arglist>(size_t keysz, size_t valuesz, uint32_t(*hash)(const void *a), int(*equals)(const void *a, const void *b))</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>zhash_debug</name>
      <anchorfile>zhash_8h.html</anchorfile>
      <anchor>a92a6af4c4fe8541ddcc4f839cf254ce7</anchor>
      <arglist>(zhash_t *zh)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>zhash_destroy</name>
      <anchorfile>zhash_8h.html</anchorfile>
      <anchor>a1c63be960100748115006ba11b9d76b2</anchor>
      <arglist>(zhash_t *zh)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>zhash_get</name>
      <anchorfile>zhash_8h.html</anchorfile>
      <anchor>a5f733a0f24c9d7d459eb3ffe0fff5bd2</anchor>
      <arglist>(const zhash_t *zh, const void *key, void *out_value)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>zhash_get_volatile</name>
      <anchorfile>zhash_8h.html</anchorfile>
      <anchor>a163b4ff2ec3067df5e964af8fa959d4b</anchor>
      <arglist>(const zhash_t *zh, const void *key, void *out_p)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static int</type>
      <name>zhash_int_equals</name>
      <anchorfile>zhash_8h.html</anchorfile>
      <anchor>a84c92c9312a8b0ce3d8dc936282a32fe</anchor>
      <arglist>(const void *_a, const void *_b)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static uint32_t</type>
      <name>zhash_int_hash</name>
      <anchorfile>zhash_8h.html</anchorfile>
      <anchor>a628aca4f848c96421f69c7dde5890a57</anchor>
      <arglist>(const void *_a)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>zhash_iterator_init</name>
      <anchorfile>zhash_8h.html</anchorfile>
      <anchor>a1dff15dee80154e9387afbddd3e1a5a9</anchor>
      <arglist>(zhash_t *zh, zhash_iterator_t *zit)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>zhash_iterator_init_const</name>
      <anchorfile>zhash_8h.html</anchorfile>
      <anchor>a88a8cfd64481751ae6e97288ba05b2f1</anchor>
      <arglist>(const zhash_t *zh, zhash_iterator_t *zit)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>zhash_iterator_next</name>
      <anchorfile>zhash_8h.html</anchorfile>
      <anchor>aabfad3dd37f811b1d7d186cc572b845f</anchor>
      <arglist>(zhash_iterator_t *zit, void *outkey, void *outvalue)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>zhash_iterator_next_volatile</name>
      <anchorfile>zhash_8h.html</anchorfile>
      <anchor>a88fe3cde4e4906fc210c3897fbc81083</anchor>
      <arglist>(zhash_iterator_t *zit, void *outkey, void *outvalue)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>zhash_iterator_remove</name>
      <anchorfile>zhash_8h.html</anchorfile>
      <anchor>a31aba2091ac0de2cfc38d4903d08f237</anchor>
      <arglist>(zhash_iterator_t *zit)</arglist>
    </member>
    <member kind="function">
      <type>zarray_t *</type>
      <name>zhash_keys</name>
      <anchorfile>zhash_8h.html</anchorfile>
      <anchor>a730a3f62bbaa5377b777b45eec241af3</anchor>
      <arglist>(const zhash_t *zh)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>zhash_map_keys</name>
      <anchorfile>zhash_8h.html</anchorfile>
      <anchor>ad1fba83933fdf91757e0373d7ae755fc</anchor>
      <arglist>(zhash_t *zh, void(*f)(void *))</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>zhash_map_values</name>
      <anchorfile>zhash_8h.html</anchorfile>
      <anchor>abfd6a3e9ab16b8e10c495e3c3fe0d75e</anchor>
      <arglist>(zhash_t *zh, void(*f)(void *))</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>zhash_ptr_equals</name>
      <anchorfile>zhash_8h.html</anchorfile>
      <anchor>ad0e4e6f57fb66d7b116598bbac024783</anchor>
      <arglist>(const void *a, const void *b)</arglist>
    </member>
    <member kind="function">
      <type>uint32_t</type>
      <name>zhash_ptr_hash</name>
      <anchorfile>zhash_8h.html</anchorfile>
      <anchor>a30981951f8c90e8eae5da6963abfeb40</anchor>
      <arglist>(const void *a)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>zhash_put</name>
      <anchorfile>zhash_8h.html</anchorfile>
      <anchor>a1fcf3aacd4bcf1113c1b83e8a15b060c</anchor>
      <arglist>(zhash_t *zh, const void *key, const void *value, void *oldkey, void *oldvalue)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>zhash_remove</name>
      <anchorfile>zhash_8h.html</anchorfile>
      <anchor>a152239132cc50de47c4f3416f80f5d5b</anchor>
      <arglist>(zhash_t *zh, const void *key, void *oldkey, void *oldvalue)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>zhash_size</name>
      <anchorfile>zhash_8h.html</anchorfile>
      <anchor>a9044d979e7371c387d366c5d860bdd3c</anchor>
      <arglist>(const zhash_t *zh)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>zhash_str_equals</name>
      <anchorfile>zhash_8h.html</anchorfile>
      <anchor>a8cfa1e472c22e075eec798480c93e26c</anchor>
      <arglist>(const void *a, const void *b)</arglist>
    </member>
    <member kind="function">
      <type>uint32_t</type>
      <name>zhash_str_hash</name>
      <anchorfile>zhash_8h.html</anchorfile>
      <anchor>ae84007bbe7b6d529bb4fd8942955eba7</anchor>
      <arglist>(const void *a)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static zhash_t *</type>
      <name>zhash_str_str_create</name>
      <anchorfile>zhash_8h.html</anchorfile>
      <anchor>a7c2a48af2feb82c6ad7f568d490cbdaa</anchor>
      <arglist>(void)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void</type>
      <name>zhash_str_str_destroy</name>
      <anchorfile>zhash_8h.html</anchorfile>
      <anchor>a9e34f1bd1fbf527ee4807dde29cf4724</anchor>
      <arglist>(zhash_t *zh)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static char *</type>
      <name>zhash_str_str_get</name>
      <anchorfile>zhash_8h.html</anchorfile>
      <anchor>a2d9af8b394d45a4c8ed8551e418a8807</anchor>
      <arglist>(zhash_t *zh, const char *key)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void</type>
      <name>zhash_str_str_put</name>
      <anchorfile>zhash_8h.html</anchorfile>
      <anchor>ae824811733097f355c9ad0cf13035565</anchor>
      <arglist>(zhash_t *zh, char *key, char *value)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>zhash_uint32_equals</name>
      <anchorfile>zhash_8h.html</anchorfile>
      <anchor>a75cbe317eeb029aec34ffbae7d5706b9</anchor>
      <arglist>(const void *a, const void *b)</arglist>
    </member>
    <member kind="function">
      <type>uint32_t</type>
      <name>zhash_uint32_hash</name>
      <anchorfile>zhash_8h.html</anchorfile>
      <anchor>af42caf1dfef590a38648d9505860c19d</anchor>
      <arglist>(const void *a)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>zhash_uint64_equals</name>
      <anchorfile>zhash_8h.html</anchorfile>
      <anchor>a6e523df4a9e5e235328422fa3ab83de8</anchor>
      <arglist>(const void *a, const void *b)</arglist>
    </member>
    <member kind="function">
      <type>uint32_t</type>
      <name>zhash_uint64_hash</name>
      <anchorfile>zhash_8h.html</anchorfile>
      <anchor>a9b204d616b68a8678d11d9a0328dac44</anchor>
      <arglist>(const void *a)</arglist>
    </member>
    <member kind="function">
      <type>zarray_t *</type>
      <name>zhash_values</name>
      <anchorfile>zhash_8h.html</anchorfile>
      <anchor>ae68f01e58989268ccded7037f8c86235</anchor>
      <arglist>(const zhash_t *zh)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>zhash_vmap_keys</name>
      <anchorfile>zhash_8h.html</anchorfile>
      <anchor>ae67694d0db20d02ce364262f0fd9206e</anchor>
      <arglist>(zhash_t *vh, void(*f)(void *))</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>zhash_vmap_values</name>
      <anchorfile>zhash_8h.html</anchorfile>
      <anchor>ada2158cd36c2cdaadd3be86e44f0d981</anchor>
      <arglist>(zhash_t *vh, void(*f)(void *))</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>zmaxheap.c</name>
    <path>/tmp/ws/src/apriltag/common/</path>
    <filename>zmaxheap_8c.html</filename>
    <includes id="zmaxheap_8h" name="zmaxheap.h" local="yes" imported="no">zmaxheap.h</includes>
    <includes id="debug__print_8h" name="debug_print.h" local="yes" imported="no">debug_print.h</includes>
    <class kind="struct">zmaxheap</class>
    <member kind="define">
      <type>#define</type>
      <name>MIN_CAPACITY</name>
      <anchorfile>zmaxheap_8c.html</anchorfile>
      <anchor>a770d308c31934341c11fa05f4549e1ce</anchor>
      <arglist></arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void</type>
      <name>maxheapify</name>
      <anchorfile>zmaxheap_8c.html</anchorfile>
      <anchor>a975d2b2799e485fff0579a7898009bcc</anchor>
      <arglist>(zmaxheap_t *heap, int parent)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void</type>
      <name>swap_default</name>
      <anchorfile>zmaxheap_8c.html</anchorfile>
      <anchor>a25950b806ef55be732df9f9482dd9375</anchor>
      <arglist>(zmaxheap_t *heap, int a, int b)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static void</type>
      <name>swap_pointer</name>
      <anchorfile>zmaxheap_8c.html</anchorfile>
      <anchor>a753746fdeff85f556ca1bb358f8ef9b4</anchor>
      <arglist>(zmaxheap_t *heap, int a, int b)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>zmaxheap_add</name>
      <anchorfile>zmaxheap_8c.html</anchorfile>
      <anchor>afd6948210aa8c0737fe908d53fa0b707</anchor>
      <arglist>(zmaxheap_t *heap, void *p, float v)</arglist>
    </member>
    <member kind="function">
      <type>zmaxheap_t *</type>
      <name>zmaxheap_create</name>
      <anchorfile>zmaxheap_8c.html</anchorfile>
      <anchor>a1e56087dea0f46c736b2e63cf994b352</anchor>
      <arglist>(size_t el_sz)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>zmaxheap_destroy</name>
      <anchorfile>zmaxheap_8c.html</anchorfile>
      <anchor>a692c2dc462e3195eae7f1e7f7def6b33</anchor>
      <arglist>(zmaxheap_t *heap)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>zmaxheap_ensure_capacity</name>
      <anchorfile>zmaxheap_8c.html</anchorfile>
      <anchor>ac27180b4fdcb6891e29cbdab6a835a39</anchor>
      <arglist>(zmaxheap_t *heap, int capacity)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>zmaxheap_iterator_finish</name>
      <anchorfile>zmaxheap_8c.html</anchorfile>
      <anchor>afcf3c936c13c48461bf5cfbfaba4bca7</anchor>
      <arglist>(zmaxheap_iterator_t *it)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>zmaxheap_iterator_init</name>
      <anchorfile>zmaxheap_8c.html</anchorfile>
      <anchor>ab55bd3375b00c1efb098d636e27270f1</anchor>
      <arglist>(zmaxheap_t *heap, zmaxheap_iterator_t *it)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>zmaxheap_iterator_next</name>
      <anchorfile>zmaxheap_8c.html</anchorfile>
      <anchor>a2fdcc7942df04a604b4b4a43fc6f0bb8</anchor>
      <arglist>(zmaxheap_iterator_t *it, void *p, float *v)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>zmaxheap_iterator_next_volatile</name>
      <anchorfile>zmaxheap_8c.html</anchorfile>
      <anchor>ae759305c64f8a5ba83c575ca54d33cad</anchor>
      <arglist>(zmaxheap_iterator_t *it, void *p, float *v)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>zmaxheap_iterator_remove</name>
      <anchorfile>zmaxheap_8c.html</anchorfile>
      <anchor>a6954d480009d9578590648700cadc72b</anchor>
      <arglist>(zmaxheap_iterator_t *it)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>zmaxheap_remove_index</name>
      <anchorfile>zmaxheap_8c.html</anchorfile>
      <anchor>a8b05c2bdee0e7baf40765b4e20981c88</anchor>
      <arglist>(zmaxheap_t *heap, int idx, void *p, float *v)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>zmaxheap_remove_max</name>
      <anchorfile>zmaxheap_8c.html</anchorfile>
      <anchor>af62de654b9ee44217ad311f34c20aa8c</anchor>
      <arglist>(zmaxheap_t *heap, void *p, float *v)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>zmaxheap_size</name>
      <anchorfile>zmaxheap_8c.html</anchorfile>
      <anchor>a215c4a3e756568ae8c220618d27e04c0</anchor>
      <arglist>(zmaxheap_t *heap)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>zmaxheap_test</name>
      <anchorfile>zmaxheap_8c.html</anchorfile>
      <anchor>aff1d70af751efcb90dcd0b98a5e60d55</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>zmaxheap_vmap</name>
      <anchorfile>zmaxheap_8c.html</anchorfile>
      <anchor>a72a4fc905f3f421e8e574141f53588db</anchor>
      <arglist>(zmaxheap_t *heap, void(*f)(void *))</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>zmaxheap.h</name>
    <path>/tmp/ws/src/apriltag/common/</path>
    <filename>zmaxheap_8h.html</filename>
    <class kind="struct">zmaxheap_iterator</class>
    <member kind="typedef">
      <type>struct zmaxheap_iterator</type>
      <name>zmaxheap_iterator_t</name>
      <anchorfile>zmaxheap_8h.html</anchorfile>
      <anchor>a429d4201c41aa305b1c01af73425e5e3</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>struct zmaxheap</type>
      <name>zmaxheap_t</name>
      <anchorfile>zmaxheap_8h.html</anchorfile>
      <anchor>ac1c24363ae35b23b7d0a3fd5483165ae</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>zmaxheap_add</name>
      <anchorfile>zmaxheap_8h.html</anchorfile>
      <anchor>afd6948210aa8c0737fe908d53fa0b707</anchor>
      <arglist>(zmaxheap_t *heap, void *p, float v)</arglist>
    </member>
    <member kind="function">
      <type>zmaxheap_t *</type>
      <name>zmaxheap_create</name>
      <anchorfile>zmaxheap_8h.html</anchorfile>
      <anchor>a1e56087dea0f46c736b2e63cf994b352</anchor>
      <arglist>(size_t el_sz)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>zmaxheap_destroy</name>
      <anchorfile>zmaxheap_8h.html</anchorfile>
      <anchor>a692c2dc462e3195eae7f1e7f7def6b33</anchor>
      <arglist>(zmaxheap_t *heap)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>zmaxheap_iterator_finish</name>
      <anchorfile>zmaxheap_8h.html</anchorfile>
      <anchor>afcf3c936c13c48461bf5cfbfaba4bca7</anchor>
      <arglist>(zmaxheap_iterator_t *it)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>zmaxheap_iterator_init</name>
      <anchorfile>zmaxheap_8h.html</anchorfile>
      <anchor>ab55bd3375b00c1efb098d636e27270f1</anchor>
      <arglist>(zmaxheap_t *heap, zmaxheap_iterator_t *it)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>zmaxheap_iterator_next</name>
      <anchorfile>zmaxheap_8h.html</anchorfile>
      <anchor>a2fdcc7942df04a604b4b4a43fc6f0bb8</anchor>
      <arglist>(zmaxheap_iterator_t *it, void *p, float *v)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>zmaxheap_iterator_next_volatile</name>
      <anchorfile>zmaxheap_8h.html</anchorfile>
      <anchor>ae759305c64f8a5ba83c575ca54d33cad</anchor>
      <arglist>(zmaxheap_iterator_t *it, void *p, float *v)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>zmaxheap_iterator_remove</name>
      <anchorfile>zmaxheap_8h.html</anchorfile>
      <anchor>a6954d480009d9578590648700cadc72b</anchor>
      <arglist>(zmaxheap_iterator_t *it)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>zmaxheap_remove_max</name>
      <anchorfile>zmaxheap_8h.html</anchorfile>
      <anchor>af62de654b9ee44217ad311f34c20aa8c</anchor>
      <arglist>(zmaxheap_t *heap, void *p, float *v)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>zmaxheap_size</name>
      <anchorfile>zmaxheap_8h.html</anchorfile>
      <anchor>a215c4a3e756568ae8c220618d27e04c0</anchor>
      <arglist>(zmaxheap_t *heap)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>zmaxheap_vmap</name>
      <anchorfile>zmaxheap_8h.html</anchorfile>
      <anchor>a72a4fc905f3f421e8e574141f53588db</anchor>
      <arglist>(zmaxheap_t *heap, void(*f)(void *))</arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>apriltag_detection</name>
    <filename>structapriltag__detection.html</filename>
    <member kind="variable">
      <type>double</type>
      <name>c</name>
      <anchorfile>structapriltag__detection.html</anchorfile>
      <anchor>a42b3a52d1cab1e53dddbd74e0196309b</anchor>
      <arglist>[2]</arglist>
    </member>
    <member kind="variable">
      <type>float</type>
      <name>decision_margin</name>
      <anchorfile>structapriltag__detection.html</anchorfile>
      <anchor>a3eb901580259299c2a4a63bc8b2e3318</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>apriltag_family_t *</type>
      <name>family</name>
      <anchorfile>structapriltag__detection.html</anchorfile>
      <anchor>abf9ed49829300080e63a7e7bb55a85cc</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>matd_t *</type>
      <name>H</name>
      <anchorfile>structapriltag__detection.html</anchorfile>
      <anchor>aa68e46320b99cef54e5b018ed85c1ce9</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>hamming</name>
      <anchorfile>structapriltag__detection.html</anchorfile>
      <anchor>a3fbb09a77660fff8d3309dcf23f5e5a8</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>id</name>
      <anchorfile>structapriltag__detection.html</anchorfile>
      <anchor>a2ca1ade8f2d264ecb6ec57c54145810f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>p</name>
      <anchorfile>structapriltag__detection.html</anchorfile>
      <anchor>a1047b3077d4eec5cafd5c4932207c616</anchor>
      <arglist>[4][2]</arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>apriltag_detection_info_t</name>
    <filename>structapriltag__detection__info__t.html</filename>
    <member kind="variable">
      <type>double</type>
      <name>cx</name>
      <anchorfile>structapriltag__detection__info__t.html</anchorfile>
      <anchor>a1b9193fa13491fb6a9b98126654af409</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>cy</name>
      <anchorfile>structapriltag__detection__info__t.html</anchorfile>
      <anchor>ab0d50570819f8b935cd08c8af96fdfc6</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>apriltag_detection_t *</type>
      <name>det</name>
      <anchorfile>structapriltag__detection__info__t.html</anchorfile>
      <anchor>a1d46b12e91aeb7e6aeb81d5ceb8018a7</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>fx</name>
      <anchorfile>structapriltag__detection__info__t.html</anchorfile>
      <anchor>a821a04145b8fcc3211e86b246341cd1a</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>fy</name>
      <anchorfile>structapriltag__detection__info__t.html</anchorfile>
      <anchor>adad6f1660b710757e99ab7343f2e9454</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>tagsize</name>
      <anchorfile>structapriltag__detection__info__t.html</anchorfile>
      <anchor>a3c7079fbc6784cf9ca1919359a4c58b4</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>apriltag_detector</name>
    <filename>structapriltag__detector.html</filename>
    <member kind="variable">
      <type>bool</type>
      <name>debug</name>
      <anchorfile>structapriltag__detector.html</anchorfile>
      <anchor>aa4a30ca3d77e33e0cafb0e85ffe0c90f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>decode_sharpening</name>
      <anchorfile>structapriltag__detector.html</anchorfile>
      <anchor>aca7dc3f7eaae9a325fcc8a4d5e3b6bce</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>pthread_mutex_t</type>
      <name>mutex</name>
      <anchorfile>structapriltag__detector.html</anchorfile>
      <anchor>afbba13166a2adb891b7e4500e9da3721</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint32_t</type>
      <name>nedges</name>
      <anchorfile>structapriltag__detector.html</anchorfile>
      <anchor>a00aa4a14a003dc7067e13e2b50a95382</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint32_t</type>
      <name>nquads</name>
      <anchorfile>structapriltag__detector.html</anchorfile>
      <anchor>a8c496d2d2179f3c45bf28f6135cb50e7</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint32_t</type>
      <name>nsegments</name>
      <anchorfile>structapriltag__detector.html</anchorfile>
      <anchor>a582aef83f7b2c4af8d4f8936faf91be5</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>nthreads</name>
      <anchorfile>structapriltag__detector.html</anchorfile>
      <anchor>ab44376a19c17cd3d458d89a4d1753a11</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>struct apriltag_quad_thresh_params</type>
      <name>qtp</name>
      <anchorfile>structapriltag__detector.html</anchorfile>
      <anchor>a477e4626ec6fd39e4e1c443ee18bcb80</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>float</type>
      <name>quad_decimate</name>
      <anchorfile>structapriltag__detector.html</anchorfile>
      <anchor>a260e67989f9afb5c90ddcc7b1dabdce2</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>float</type>
      <name>quad_sigma</name>
      <anchorfile>structapriltag__detector.html</anchorfile>
      <anchor>ac7ca49406c9138227fa6ab5fcca33de7</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>bool</type>
      <name>refine_edges</name>
      <anchorfile>structapriltag__detector.html</anchorfile>
      <anchor>a73d803f1a77de57b34cca13bc9dec7de</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>zarray_t *</type>
      <name>tag_families</name>
      <anchorfile>structapriltag__detector.html</anchorfile>
      <anchor>a2d51c275033451a1a1cc49513cf426e6</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>timeprofile_t *</type>
      <name>tp</name>
      <anchorfile>structapriltag__detector.html</anchorfile>
      <anchor>ac09f2535955682ec88b6129f2b49b345</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>workerpool_t *</type>
      <name>wp</name>
      <anchorfile>structapriltag__detector.html</anchorfile>
      <anchor>a0a34ab20c850807a970eb648807a0c7e</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>apriltag_family</name>
    <filename>structapriltag__family.html</filename>
    <member kind="variable">
      <type>uint32_t *</type>
      <name>bit_x</name>
      <anchorfile>structapriltag__family.html</anchorfile>
      <anchor>a1a214996781c04442c69548c87744add</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint32_t *</type>
      <name>bit_y</name>
      <anchorfile>structapriltag__family.html</anchorfile>
      <anchor>a816f28cddd3c0d31e267f9dba7193443</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint64_t *</type>
      <name>codes</name>
      <anchorfile>structapriltag__family.html</anchorfile>
      <anchor>afbb7b4e8d78bfd3b55f4be0a8f8e1dea</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint32_t</type>
      <name>h</name>
      <anchorfile>structapriltag__family.html</anchorfile>
      <anchor>a28c619100603eece5a9c7a436c13068b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>void *</type>
      <name>impl</name>
      <anchorfile>structapriltag__family.html</anchorfile>
      <anchor>a9985988525be67088f56e58040e2443e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>char *</type>
      <name>name</name>
      <anchorfile>structapriltag__family.html</anchorfile>
      <anchor>a58fa3e703f098beb92b497b5b9973016</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint32_t</type>
      <name>nbits</name>
      <anchorfile>structapriltag__family.html</anchorfile>
      <anchor>a83959eaafb2967ee1ce0d129edbcaceb</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint32_t</type>
      <name>ncodes</name>
      <anchorfile>structapriltag__family.html</anchorfile>
      <anchor>a14c6da2172af4334ad45f322aa017868</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>bool</type>
      <name>reversed_border</name>
      <anchorfile>structapriltag__family.html</anchorfile>
      <anchor>af136d4375f35054f6014d54335dc2042</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>total_width</name>
      <anchorfile>structapriltag__family.html</anchorfile>
      <anchor>a114bce2e53e95fab0e67d5953ee446bf</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>width_at_border</name>
      <anchorfile>structapriltag__family.html</anchorfile>
      <anchor>ad5622c26561141406c4ac037a7668c94</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>apriltag_pose_t</name>
    <filename>structapriltag__pose__t.html</filename>
    <member kind="variable">
      <type>matd_t *</type>
      <name>R</name>
      <anchorfile>structapriltag__pose__t.html</anchorfile>
      <anchor>aa9a13022e16953c8d0418acefe662ac5</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>matd_t *</type>
      <name>t</name>
      <anchorfile>structapriltag__pose__t.html</anchorfile>
      <anchor>adf00b9cb0897bd4e104ccac49295a8e7</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>apriltag_py_t</name>
    <filename>structapriltag__py__t.html</filename>
    <member kind="variable">
      <type>void(*</type>
      <name>destroy_func</name>
      <anchorfile>structapriltag__py__t.html</anchorfile>
      <anchor>ab836537bf41140e29e74f11f725d0ee4</anchor>
      <arglist>)(apriltag_family_t *tf)</arglist>
    </member>
    <member kind="variable">
      <type>apriltag_detector_t *</type>
      <name>td</name>
      <anchorfile>structapriltag__py__t.html</anchorfile>
      <anchor>a576983f8b67e93c9aba591618bc4f144</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>PyObject_HEAD apriltag_family_t *</type>
      <name>tf</name>
      <anchorfile>structapriltag__py__t.html</anchorfile>
      <anchor>a4ad95a9f38bf4f2d25bef7114ea81f93</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>apriltag_quad_thresh_params</name>
    <filename>structapriltag__quad__thresh__params.html</filename>
    <member kind="variable">
      <type>float</type>
      <name>cos_critical_rad</name>
      <anchorfile>structapriltag__quad__thresh__params.html</anchorfile>
      <anchor>a7a4e310a424b2cf0c5d40a76ea5a1d23</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>float</type>
      <name>critical_rad</name>
      <anchorfile>structapriltag__quad__thresh__params.html</anchorfile>
      <anchor>a30af7e7a4c7cee4f4a49d43903db945a</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>deglitch</name>
      <anchorfile>structapriltag__quad__thresh__params.html</anchorfile>
      <anchor>a8bec9f3750ed46d6c1f7b5eef24c91f6</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>float</type>
      <name>max_line_fit_mse</name>
      <anchorfile>structapriltag__quad__thresh__params.html</anchorfile>
      <anchor>af6b97a5d0844d7947a55f6209ca8fe7a</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>max_nmaxima</name>
      <anchorfile>structapriltag__quad__thresh__params.html</anchorfile>
      <anchor>a4130227811b285e0e8eb053bc2b096e2</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>min_cluster_pixels</name>
      <anchorfile>structapriltag__quad__thresh__params.html</anchorfile>
      <anchor>aff908d191eb6eb6a302a2f85a6a01351</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>min_white_black_diff</name>
      <anchorfile>structapriltag__quad__thresh__params.html</anchorfile>
      <anchor>a496330bc25411f1a553b9eee31c6f503</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>bit_decoder</name>
    <filename>structbit__decoder.html</filename>
    <member kind="variable">
      <type>uint32_t</type>
      <name>bits</name>
      <anchorfile>structbit__decoder.html</anchorfile>
      <anchor>abc7dbc9aea08b0e78415f65adee7ded2</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>error</name>
      <anchorfile>structbit__decoder.html</anchorfile>
      <anchor>ade74ad8827f68ba77a4538c4c86a0f24</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint8_t *</type>
      <name>in</name>
      <anchorfile>structbit__decoder.html</anchorfile>
      <anchor>ae0122126ecf111429ed819486c62e9bd</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint32_t</type>
      <name>inlen</name>
      <anchorfile>structbit__decoder.html</anchorfile>
      <anchor>aaba0e51a8128f72c5075517040b8fe26</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint32_t</type>
      <name>inpos</name>
      <anchorfile>structbit__decoder.html</anchorfile>
      <anchor>a3f1fee6f27a6fd795c19397a80d579af</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>nbits_avail</name>
      <anchorfile>structbit__decoder.html</anchorfile>
      <anchor>adfc1e86f3b09e0dbc0127631b08a2b67</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>blur_task</name>
    <filename>structblur__task.html</filename>
    <member kind="variable">
      <type>image_u8_t *</type>
      <name>im</name>
      <anchorfile>structblur__task.html</anchorfile>
      <anchor>a7adaada89d39eba37cd1cc6a62b46d91</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint8_t *</type>
      <name>im_max</name>
      <anchorfile>structblur__task.html</anchorfile>
      <anchor>ad6b8f3592021383b566eba2dca318432</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint8_t *</type>
      <name>im_max_tmp</name>
      <anchorfile>structblur__task.html</anchorfile>
      <anchor>abe4b4ea1f8237c6de1c3ebd8fe38da34</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint8_t *</type>
      <name>im_min</name>
      <anchorfile>structblur__task.html</anchorfile>
      <anchor>a1b60e78a08e69f453a83a8eaef4d4e65</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint8_t *</type>
      <name>im_min_tmp</name>
      <anchorfile>structblur__task.html</anchorfile>
      <anchor>a8728e3741923496dd39af85b48a023d2</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>ty</name>
      <anchorfile>structblur__task.html</anchorfile>
      <anchor>a5cecca9a0a4e14d8b5b9107b0f6a0fbd</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>cluster_hash</name>
    <filename>structcluster__hash.html</filename>
    <member kind="variable">
      <type>zarray_t *</type>
      <name>data</name>
      <anchorfile>structcluster__hash.html</anchorfile>
      <anchor>ab6f294ad3c337a885566e450d870798f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint32_t</type>
      <name>hash</name>
      <anchorfile>structcluster__hash.html</anchorfile>
      <anchor>a6ba05803f9382a34c50135722a1bb93c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint64_t</type>
      <name>id</name>
      <anchorfile>structcluster__hash.html</anchorfile>
      <anchor>ac23ce99fb10a002753d6a36437608577</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>cluster_task</name>
    <filename>structcluster__task.html</filename>
    <member kind="variable">
      <type>zarray_t *</type>
      <name>clusters</name>
      <anchorfile>structcluster__task.html</anchorfile>
      <anchor>af219bf8f470be67bbcf8051d5e40c93d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>image_u8_t *</type>
      <name>im</name>
      <anchorfile>structcluster__task.html</anchorfile>
      <anchor>ae3096d4c3f5bbd01dd764aa33463ebae</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>nclustermap</name>
      <anchorfile>structcluster__task.html</anchorfile>
      <anchor>a2d74f8e7af545058e46a61d53f6e6183</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>s</name>
      <anchorfile>structcluster__task.html</anchorfile>
      <anchor>a3be72c81e3646d4221162bc8adb4614b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>unionfind_t *</type>
      <name>uf</name>
      <anchorfile>structcluster__task.html</anchorfile>
      <anchor>afdf581fd04b43aa776c994045ff1602a</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>w</name>
      <anchorfile>structcluster__task.html</anchorfile>
      <anchor>ab29fc1da9da4cbf9e4c476065d828b20</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>y0</name>
      <anchorfile>structcluster__task.html</anchorfile>
      <anchor>abbf9435051ac89364441714f96f5371e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>y1</name>
      <anchorfile>structcluster__task.html</anchorfile>
      <anchor>a5db0a35f3acd05d16439053b18c1f451</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>evaluate_quad_ret</name>
    <filename>structevaluate__quad__ret.html</filename>
    <member kind="variable">
      <type>int</type>
      <name>decode_status</name>
      <anchorfile>structevaluate__quad__ret.html</anchorfile>
      <anchor>a9e8ced52ad54071d8b744af7b074d66f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>struct quick_decode_entry</type>
      <name>e</name>
      <anchorfile>structevaluate__quad__ret.html</anchorfile>
      <anchor>a294b813ef2846ac43443f0382fd96da6</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>matd_t *</type>
      <name>H</name>
      <anchorfile>structevaluate__quad__ret.html</anchorfile>
      <anchor>a2a7b3785dd9eb3f3fce2394f5d64076c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>matd_t *</type>
      <name>Hinv</name>
      <anchorfile>structevaluate__quad__ret.html</anchorfile>
      <anchor>a3c6aa39c59b3da394c680b1547514722</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int64_t</type>
      <name>rcode</name>
      <anchorfile>structevaluate__quad__ret.html</anchorfile>
      <anchor>ac7d9f2926a83724b2e989fc376738a81</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>score</name>
      <anchorfile>structevaluate__quad__ret.html</anchorfile>
      <anchor>a02a8d5b02e6627ca327aebc7696a6a8c</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>g2d_line_segment_t</name>
    <filename>structg2d__line__segment__t.html</filename>
    <member kind="variable">
      <type>g2d_line_t</type>
      <name>line</name>
      <anchorfile>structg2d__line__segment__t.html</anchorfile>
      <anchor>a8df874c82289b0e2d3e7ff614c93165c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>p1</name>
      <anchorfile>structg2d__line__segment__t.html</anchorfile>
      <anchor>ade819fd5929b3ffe51f2ebef777d872e</anchor>
      <arglist>[2]</arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>g2d_line_t</name>
    <filename>structg2d__line__t.html</filename>
    <member kind="variable">
      <type>double</type>
      <name>p</name>
      <anchorfile>structg2d__line__t.html</anchorfile>
      <anchor>a0affb19e8bed7176eb6b03ba1552c3f2</anchor>
      <arglist>[2]</arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>u</name>
      <anchorfile>structg2d__line__t.html</anchorfile>
      <anchor>a3875f9b22fb62f6aff553097d096a6d2</anchor>
      <arglist>[2]</arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>getopt</name>
    <filename>structgetopt.html</filename>
    <member kind="variable">
      <type>zarray_t *</type>
      <name>extraargs</name>
      <anchorfile>structgetopt.html</anchorfile>
      <anchor>af2a846e095f8819f6dcfbf20b6b0a4f5</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>zhash_t *</type>
      <name>lopts</name>
      <anchorfile>structgetopt.html</anchorfile>
      <anchor>ac4884d98d9c3ec9cbe5b9e7854b3547d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>zarray_t *</type>
      <name>options</name>
      <anchorfile>structgetopt.html</anchorfile>
      <anchor>aa28a9eb8f7390bd5d4bc6cddb9bca5e0</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>zhash_t *</type>
      <name>sopts</name>
      <anchorfile>structgetopt.html</anchorfile>
      <anchor>a9dd00894db3a9ce2aef32e5d2f4cc557</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>getopt_option</name>
    <filename>structgetopt__option.html</filename>
    <member kind="variable">
      <type>char *</type>
      <name>help</name>
      <anchorfile>structgetopt__option.html</anchorfile>
      <anchor>a4d238091e3e9c4d834bfca573f279bd2</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>char *</type>
      <name>lname</name>
      <anchorfile>structgetopt__option.html</anchorfile>
      <anchor>a5b53dd1069f1b4e40499f0630a504aab</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>char *</type>
      <name>sname</name>
      <anchorfile>structgetopt__option.html</anchorfile>
      <anchor>ac59f2a56956ae57338d574edd3555993</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>spacer</name>
      <anchorfile>structgetopt__option.html</anchorfile>
      <anchor>afc6300922bff16536ac2b5dcff900777</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>char *</type>
      <name>svalue</name>
      <anchorfile>structgetopt__option.html</anchorfile>
      <anchor>ab338414d813054a6cb9f127a66bb7399</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>type</name>
      <anchorfile>structgetopt__option.html</anchorfile>
      <anchor>a63087f53bd946f4f1522a0dc8a906351</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>was_specified</name>
      <anchorfile>structgetopt__option.html</anchorfile>
      <anchor>a323aa33cf148075b3c637520563fff3b</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>graymodel</name>
    <filename>structgraymodel.html</filename>
    <member kind="variable">
      <type>double</type>
      <name>A</name>
      <anchorfile>structgraymodel.html</anchorfile>
      <anchor>a7beb040d47242667e835fb630d211535</anchor>
      <arglist>[3][3]</arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>B</name>
      <anchorfile>structgraymodel.html</anchorfile>
      <anchor>a696897f0eed52996bbfb102aae69bff4</anchor>
      <arglist>[3]</arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>C</name>
      <anchorfile>structgraymodel.html</anchorfile>
      <anchor>a612cc498fab2de3d200cdf995de07d3b</anchor>
      <arglist>[3]</arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>image_f32</name>
    <filename>structimage__f32.html</filename>
    <member kind="variable">
      <type>float *</type>
      <name>buf</name>
      <anchorfile>structimage__f32.html</anchorfile>
      <anchor>a38bbd7f68b4aa871164ccaafcf1234ae</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>const int32_t</type>
      <name>height</name>
      <anchorfile>structimage__f32.html</anchorfile>
      <anchor>a0b06d641a6e3f7e3fde948a24df71c5d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>const int32_t</type>
      <name>stride</name>
      <anchorfile>structimage__f32.html</anchorfile>
      <anchor>a55ebe563b4977b61fafb2491dbc49e31</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>const int32_t</type>
      <name>width</name>
      <anchorfile>structimage__f32.html</anchorfile>
      <anchor>a89cf142c9a9184cb88bb16b324fa2c85</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>image_u32</name>
    <filename>structimage__u32.html</filename>
    <member kind="variable">
      <type>uint32_t *</type>
      <name>buf</name>
      <anchorfile>structimage__u32.html</anchorfile>
      <anchor>ad2c56a74774f7a48634a2b0bd8cda40e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>const int32_t</type>
      <name>height</name>
      <anchorfile>structimage__u32.html</anchorfile>
      <anchor>a85ec151e82a7b207dc94c52da97b2849</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>const int32_t</type>
      <name>stride</name>
      <anchorfile>structimage__u32.html</anchorfile>
      <anchor>af720b24c41d40180bf87a78512f1336f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>const int32_t</type>
      <name>width</name>
      <anchorfile>structimage__u32.html</anchorfile>
      <anchor>a93be4d53aea5e12003c3d16c8b95ee74</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>image_u8</name>
    <filename>structimage__u8.html</filename>
    <member kind="variable">
      <type>uint8_t *</type>
      <name>buf</name>
      <anchorfile>structimage__u8.html</anchorfile>
      <anchor>a1225519e3da4d9c8840081cdd76ee810</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>const int32_t</type>
      <name>height</name>
      <anchorfile>structimage__u8.html</anchorfile>
      <anchor>a2863789234b43c6745802bdbae7493ed</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>const int32_t</type>
      <name>stride</name>
      <anchorfile>structimage__u8.html</anchorfile>
      <anchor>a1418132274240b089f50f3d5422e73ed</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>const int32_t</type>
      <name>width</name>
      <anchorfile>structimage__u8.html</anchorfile>
      <anchor>adc6a1f18e3318807a51dff99674892b1</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>image_u8_lut</name>
    <filename>structimage__u8__lut.html</filename>
    <member kind="variable">
      <type>int</type>
      <name>nvalues</name>
      <anchorfile>structimage__u8__lut.html</anchorfile>
      <anchor>a45469f835a5e68570dae38572f549626</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>float</type>
      <name>scale</name>
      <anchorfile>structimage__u8__lut.html</anchorfile>
      <anchor>abe78dfdf1fcde7dbc5b76630e5972ce6</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint8_t *</type>
      <name>values</name>
      <anchorfile>structimage__u8__lut.html</anchorfile>
      <anchor>af580f80e47dd672f20d038cbd7e7e1d2</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>image_u8x3</name>
    <filename>structimage__u8x3.html</filename>
    <member kind="variable">
      <type>uint8_t *</type>
      <name>buf</name>
      <anchorfile>structimage__u8x3.html</anchorfile>
      <anchor>a915b904d3189f89e8c28c3fc0872c8f5</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>const int32_t</type>
      <name>height</name>
      <anchorfile>structimage__u8x3.html</anchorfile>
      <anchor>a83f26887ae0a1d7238e55f1943b8732e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>const int32_t</type>
      <name>stride</name>
      <anchorfile>structimage__u8x3.html</anchorfile>
      <anchor>a5f1345225fe10c5f5e355a09d13c31db</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>const int32_t</type>
      <name>width</name>
      <anchorfile>structimage__u8x3.html</anchorfile>
      <anchor>add725a0b08a7ffd5a3eeddd68c3e632d</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>image_u8x4</name>
    <filename>structimage__u8x4.html</filename>
    <member kind="variable">
      <type>uint8_t *</type>
      <name>buf</name>
      <anchorfile>structimage__u8x4.html</anchorfile>
      <anchor>afcfe4d4204b158c7a854df3bd606d8a6</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>const int32_t</type>
      <name>height</name>
      <anchorfile>structimage__u8x4.html</anchorfile>
      <anchor>a0f73de9d491756f32550b3b812648f4d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>const int32_t</type>
      <name>stride</name>
      <anchorfile>structimage__u8x4.html</anchorfile>
      <anchor>affadba30885e40c5b7ef9ebf06688224</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>const int32_t</type>
      <name>width</name>
      <anchorfile>structimage__u8x4.html</anchorfile>
      <anchor>adb07bc724b9b7082021e31755fd86823</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>line_fit_pt</name>
    <filename>structline__fit__pt.html</filename>
    <member kind="variable">
      <type>double</type>
      <name>Mx</name>
      <anchorfile>structline__fit__pt.html</anchorfile>
      <anchor>ae4ca0148b0fae58af152bf1bbecdda92</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>Mxx</name>
      <anchorfile>structline__fit__pt.html</anchorfile>
      <anchor>aaab882eb5fd36813e7e2122af2e9023d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>Mxy</name>
      <anchorfile>structline__fit__pt.html</anchorfile>
      <anchor>a9c863a19f65b57452aa79a9ebafc12c3</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>My</name>
      <anchorfile>structline__fit__pt.html</anchorfile>
      <anchor>a660bb896af69c593763f5b8ffccf9344</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>Myy</name>
      <anchorfile>structline__fit__pt.html</anchorfile>
      <anchor>a72a1623bba07abdf15a25be072f88ef9</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>W</name>
      <anchorfile>structline__fit__pt.html</anchorfile>
      <anchor>aa5c40072803394660ccc72714e1b3374</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>matd_chol_t</name>
    <filename>structmatd__chol__t.html</filename>
    <member kind="variable">
      <type>int</type>
      <name>is_spd</name>
      <anchorfile>structmatd__chol__t.html</anchorfile>
      <anchor>a50e8f56574449ccd8a0b9826fb8121c4</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>matd_t *</type>
      <name>u</name>
      <anchorfile>structmatd__chol__t.html</anchorfile>
      <anchor>a9277013763ad18e64d8f2d79e75c7f48</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>matd_plu_t</name>
    <filename>structmatd__plu__t.html</filename>
    <member kind="variable">
      <type>matd_t *</type>
      <name>lu</name>
      <anchorfile>structmatd__plu__t.html</anchorfile>
      <anchor>a8036ddf8d0bf46be5842dc1a220b4302</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>unsigned int *</type>
      <name>piv</name>
      <anchorfile>structmatd__plu__t.html</anchorfile>
      <anchor>a10aa6fb084ba6021838222c5ecf95d1a</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>pivsign</name>
      <anchorfile>structmatd__plu__t.html</anchorfile>
      <anchor>ae8f67cc82715d897a3e0fe5e2d43b0ff</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>singular</name>
      <anchorfile>structmatd__plu__t.html</anchorfile>
      <anchor>a4a3fbd3e662b2e0cb7d05a1bc482a299</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>matd_svd_t</name>
    <filename>structmatd__svd__t.html</filename>
    <member kind="variable">
      <type>matd_t *</type>
      <name>S</name>
      <anchorfile>structmatd__svd__t.html</anchorfile>
      <anchor>a7976d58bc12afb5b3eb67ac3df5f5e98</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>matd_t *</type>
      <name>U</name>
      <anchorfile>structmatd__svd__t.html</anchorfile>
      <anchor>a5f429328dafdce9a85ecaa9311881a68</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>matd_t *</type>
      <name>V</name>
      <anchorfile>structmatd__svd__t.html</anchorfile>
      <anchor>a3dab881c43ebd8078c19b0cf670aece6</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>matd_t</name>
    <filename>structmatd__t.html</filename>
    <member kind="variable">
      <type>double</type>
      <name>data</name>
      <anchorfile>structmatd__t.html</anchorfile>
      <anchor>a2381b174202fcb76848d23663754d82c</anchor>
      <arglist>[]</arglist>
    </member>
    <member kind="variable">
      <type>unsigned int</type>
      <name>ncols</name>
      <anchorfile>structmatd__t.html</anchorfile>
      <anchor>a9a6b61d62261bfbe2f932b8b1067c17f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>unsigned int</type>
      <name>nrows</name>
      <anchorfile>structmatd__t.html</anchorfile>
      <anchor>a59b3d96e49c4e93265f5239feab07b1d</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>minmax_task</name>
    <filename>structminmax__task.html</filename>
    <member kind="variable">
      <type>image_u8_t *</type>
      <name>im</name>
      <anchorfile>structminmax__task.html</anchorfile>
      <anchor>a272e5f2824834574634d10b7e3ef33f6</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint8_t *</type>
      <name>im_max</name>
      <anchorfile>structminmax__task.html</anchorfile>
      <anchor>ae517e34621d549189af99eddd86a6820</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint8_t *</type>
      <name>im_min</name>
      <anchorfile>structminmax__task.html</anchorfile>
      <anchor>abb71f9d571a9a2a6fdbf7a82144080b9</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>ty</name>
      <anchorfile>structminmax__task.html</anchorfile>
      <anchor>a86a49ae0ea59840eaf3276b5f2bd864c</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>pam</name>
    <filename>structpam.html</filename>
    <member kind="variable">
      <type>uint8_t *</type>
      <name>data</name>
      <anchorfile>structpam.html</anchorfile>
      <anchor>af6511a69be147511c30da90ca4600d06</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>size_t</type>
      <name>datalen</name>
      <anchorfile>structpam.html</anchorfile>
      <anchor>a7806b0aa27fddc849c3671886c48c59c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>depth</name>
      <anchorfile>structpam.html</anchorfile>
      <anchor>ac2fece2f46de3c768434164a1924e705</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>height</name>
      <anchorfile>structpam.html</anchorfile>
      <anchor>aa4e9daa48fd09b17dbdfcd193cadf4ef</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>maxval</name>
      <anchorfile>structpam.html</anchorfile>
      <anchor>a4eabc08d77ec9838407c9cf703ebd2ec</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>type</name>
      <anchorfile>structpam.html</anchorfile>
      <anchor>a9353e940c40844f7c3ea2d6287a0b431</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>width</name>
      <anchorfile>structpam.html</anchorfile>
      <anchor>a3909f0a42fe77dfcde301af2016203e1</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>pjpeg</name>
    <filename>structpjpeg.html</filename>
    <member kind="variable">
      <type>pjpeg_component_t *</type>
      <name>components</name>
      <anchorfile>structpjpeg.html</anchorfile>
      <anchor>ab6d0c0499f4f98cb56fb6603fdff6a9d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>error</name>
      <anchorfile>structpjpeg.html</anchorfile>
      <anchor>a4b79435cc2e23341be6c3005a1ec78ef</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint32_t</type>
      <name>height</name>
      <anchorfile>structpjpeg.html</anchorfile>
      <anchor>a4fc52c0fe626037d7d1f793011d8e071</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>ncomponents</name>
      <anchorfile>structpjpeg.html</anchorfile>
      <anchor>a193a00b119149edb876068d5eedc033e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint32_t</type>
      <name>width</name>
      <anchorfile>structpjpeg.html</anchorfile>
      <anchor>aaf656cb5282cd376b7e581cb0e678603</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>pjpeg_component</name>
    <filename>structpjpeg__component.html</filename>
    <member kind="variable">
      <type>uint8_t *</type>
      <name>data</name>
      <anchorfile>structpjpeg__component.html</anchorfile>
      <anchor>aa2061a7704aeb137408424dfe93ff41a</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint32_t</type>
      <name>height</name>
      <anchorfile>structpjpeg__component.html</anchorfile>
      <anchor>a48b682b84221970a5d68f064b8bf4b2f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint8_t</type>
      <name>hv</name>
      <anchorfile>structpjpeg__component.html</anchorfile>
      <anchor>aa0edda5dde36323e79eb6d38e7ee8bf1</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint8_t</type>
      <name>id</name>
      <anchorfile>structpjpeg__component.html</anchorfile>
      <anchor>ad8c431b5e6f7c6a682dc268dc260d5da</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint8_t</type>
      <name>scalex</name>
      <anchorfile>structpjpeg__component.html</anchorfile>
      <anchor>ace609e24587c2bb989ab629160c625eb</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint8_t</type>
      <name>scaley</name>
      <anchorfile>structpjpeg__component.html</anchorfile>
      <anchor>a59fb6eebfe6a1c3a768f6d8fc27b518c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint32_t</type>
      <name>stride</name>
      <anchorfile>structpjpeg__component.html</anchorfile>
      <anchor>ae9c9b8bfc4622321485e928dd35b8010</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint8_t</type>
      <name>tda</name>
      <anchorfile>structpjpeg__component.html</anchorfile>
      <anchor>a3ee2a827471a65cfb5f29cbf42f73159</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint8_t</type>
      <name>tq</name>
      <anchorfile>structpjpeg__component.html</anchorfile>
      <anchor>a7d3b3bcd215d873866a824150a576bcb</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint32_t</type>
      <name>width</name>
      <anchorfile>structpjpeg__component.html</anchorfile>
      <anchor>a305c4eaca18e41779d50780197d86d26</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>pjpeg_decode_state</name>
    <filename>structpjpeg__decode__state.html</filename>
    <member kind="variable">
      <type>pjpeg_component_t *</type>
      <name>components</name>
      <anchorfile>structpjpeg__decode__state.html</anchorfile>
      <anchor>a2900dad8214d12775ee0d4004c3e93ee</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>debug</name>
      <anchorfile>structpjpeg__decode__state.html</anchorfile>
      <anchor>ab5e78999892d7af81ce7c73c353400da</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>error</name>
      <anchorfile>structpjpeg__decode__state.html</anchorfile>
      <anchor>aa5047e17218b30a5ca32df9678cd1288</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint32_t</type>
      <name>flags</name>
      <anchorfile>structpjpeg__decode__state.html</anchorfile>
      <anchor>a84c00fc7ec5c52b097be9f280bdda2f7</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint32_t</type>
      <name>height</name>
      <anchorfile>structpjpeg__decode__state.html</anchorfile>
      <anchor>ae957b3806aa387738fd4111e30b56cb4</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>struct pjpeg_huffman_code</type>
      <name>huff_codes</name>
      <anchorfile>structpjpeg__decode__state.html</anchorfile>
      <anchor>a677b27ae3f9e0c3b08fc2f2f58064327</anchor>
      <arglist>[4][65536]</arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>huff_codes_present</name>
      <anchorfile>structpjpeg__decode__state.html</anchorfile>
      <anchor>aca92339fe91ef2f0eb5b0a53aeae3f88</anchor>
      <arglist>[4]</arglist>
    </member>
    <member kind="variable">
      <type>uint8_t *</type>
      <name>in</name>
      <anchorfile>structpjpeg__decode__state.html</anchorfile>
      <anchor>abd9ee056fbc8bd8085a525a245ed3a86</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint32_t</type>
      <name>inlen</name>
      <anchorfile>structpjpeg__decode__state.html</anchorfile>
      <anchor>aea1105aad0399d1bf97f5b9f3be17276</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>ncomponents</name>
      <anchorfile>structpjpeg__decode__state.html</anchorfile>
      <anchor>a926196c6634f2e25904a7e2cad55bdcc</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint8_t</type>
      <name>qtab</name>
      <anchorfile>structpjpeg__decode__state.html</anchorfile>
      <anchor>a223e2dab1a1f5eb1b064e4d195ab923f</anchor>
      <arglist>[4][64]</arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>reset_count</name>
      <anchorfile>structpjpeg__decode__state.html</anchorfile>
      <anchor>a67ee82f0076f9200b03342e4d74f6376</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>reset_interval</name>
      <anchorfile>structpjpeg__decode__state.html</anchorfile>
      <anchor>ab30d7bbb9bd8d7b47ffb5c536abc6332</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>reset_next</name>
      <anchorfile>structpjpeg__decode__state.html</anchorfile>
      <anchor>ab076ddd4819494dbe10e896c7e1872df</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint32_t</type>
      <name>width</name>
      <anchorfile>structpjpeg__decode__state.html</anchorfile>
      <anchor>a2592719d3b6f0e8d54b514cffa097d59</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>pjpeg_huffman_code</name>
    <filename>structpjpeg__huffman__code.html</filename>
    <member kind="variable">
      <type>uint8_t</type>
      <name>code</name>
      <anchorfile>structpjpeg__huffman__code.html</anchorfile>
      <anchor>a50d90f5708b6b0cd580051c8af52f0fe</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint8_t</type>
      <name>nbits</name>
      <anchorfile>structpjpeg__huffman__code.html</anchorfile>
      <anchor>a57d18a40de0db3e11d40f76baf779339</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>pnm</name>
    <filename>structpnm.html</filename>
    <member kind="variable">
      <type>uint8_t *</type>
      <name>buf</name>
      <anchorfile>structpnm.html</anchorfile>
      <anchor>a52e9130ec5a276266eafb7fcf2d9aa53</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint32_t</type>
      <name>buflen</name>
      <anchorfile>structpnm.html</anchorfile>
      <anchor>a603d1074f8d897879ea2c188daed37fc</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>format</name>
      <anchorfile>structpnm.html</anchorfile>
      <anchor>abacf5e8d44f9654c0e5666662a1b201e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>height</name>
      <anchorfile>structpnm.html</anchorfile>
      <anchor>a2a5f92825ccaad276d05fe67a791baac</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>max</name>
      <anchorfile>structpnm.html</anchorfile>
      <anchor>afb1a0eedaa976ecf6b45e3a8b1cdb6b0</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>width</name>
      <anchorfile>structpnm.html</anchorfile>
      <anchor>a8013b3c9b59a0bb58c96780b7ffc7266</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>pt</name>
    <filename>structpt.html</filename>
    <member kind="variable">
      <type>int16_t</type>
      <name>gx</name>
      <anchorfile>structpt.html</anchorfile>
      <anchor>abdcaab23c116e74e35ff09e06ed12d5f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int16_t</type>
      <name>gy</name>
      <anchorfile>structpt.html</anchorfile>
      <anchor>abb74898dc3485e197b54855d70fc29b0</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>float</type>
      <name>slope</name>
      <anchorfile>structpt.html</anchorfile>
      <anchor>aacf22614bc1b95978573f9e0c9ce9552</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint16_t</type>
      <name>x</name>
      <anchorfile>structpt.html</anchorfile>
      <anchor>a34881ff595832def08eb996a6b42a871</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint16_t</type>
      <name>y</name>
      <anchorfile>structpt.html</anchorfile>
      <anchor>a118972b12aa408ea6696f777daa0acf1</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>quad</name>
    <filename>structquad.html</filename>
    <member kind="variable">
      <type>matd_t *</type>
      <name>H</name>
      <anchorfile>structquad.html</anchorfile>
      <anchor>af45711addc96f1bdc8cb74a5d5db0432</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>matd_t *</type>
      <name>Hinv</name>
      <anchorfile>structquad.html</anchorfile>
      <anchor>a04fda3b6b2380b1cdeb53f5aa2e5fb51</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>float</type>
      <name>p</name>
      <anchorfile>structquad.html</anchorfile>
      <anchor>a3b125ef42e2abe61311b92c332dec9ab</anchor>
      <arglist>[4][2]</arglist>
    </member>
    <member kind="variable">
      <type>bool</type>
      <name>reversed_border</name>
      <anchorfile>structquad.html</anchorfile>
      <anchor>a15167e8c29dd794f5037fe31944ed6f8</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>quad_decode_task</name>
    <filename>structquad__decode__task.html</filename>
    <member kind="variable">
      <type>zarray_t *</type>
      <name>detections</name>
      <anchorfile>structquad__decode__task.html</anchorfile>
      <anchor>a8761a4b1d46cc849252570e72be30404</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>i0</name>
      <anchorfile>structquad__decode__task.html</anchorfile>
      <anchor>aa1336d3fdce8f28530042c3532ed159c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>i1</name>
      <anchorfile>structquad__decode__task.html</anchorfile>
      <anchor>a1fc561ce7da5e38260f32f3567476036</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>image_u8_t *</type>
      <name>im</name>
      <anchorfile>structquad__decode__task.html</anchorfile>
      <anchor>ae4a9c50f41973d8a3dc4496479e2b186</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>image_u8_t *</type>
      <name>im_samples</name>
      <anchorfile>structquad__decode__task.html</anchorfile>
      <anchor>a6806239cbe92c95419556a6397d03af7</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>zarray_t *</type>
      <name>quads</name>
      <anchorfile>structquad__decode__task.html</anchorfile>
      <anchor>a0ff5c8657b3a3d5e00a2c5b8db088086</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>apriltag_detector_t *</type>
      <name>td</name>
      <anchorfile>structquad__decode__task.html</anchorfile>
      <anchor>a2453f7746b2c9fa27e5d1b11ec7ee100</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>quad_task</name>
    <filename>structquad__task.html</filename>
    <member kind="variable">
      <type>int</type>
      <name>cidx0</name>
      <anchorfile>structquad__task.html</anchorfile>
      <anchor>a0c9eee3c59f039441888f5b072394f85</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>cidx1</name>
      <anchorfile>structquad__task.html</anchorfile>
      <anchor>af2e1c132e0cb5c343b800f90c677d876</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>zarray_t *</type>
      <name>clusters</name>
      <anchorfile>structquad__task.html</anchorfile>
      <anchor>aebd77213939f2fdd16d067e01a95505c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>h</name>
      <anchorfile>structquad__task.html</anchorfile>
      <anchor>ad07e04dd08a7ab2cf0e3839d9edec128</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>image_u8_t *</type>
      <name>im</name>
      <anchorfile>structquad__task.html</anchorfile>
      <anchor>a777faa2362972e51dcc8720545f48f9d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>bool</type>
      <name>normal_border</name>
      <anchorfile>structquad__task.html</anchorfile>
      <anchor>a0bf150d4a255f97922c7993af4b75329</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>zarray_t *</type>
      <name>quads</name>
      <anchorfile>structquad__task.html</anchorfile>
      <anchor>adda7be7e03b5ad016fcdc07a077a1bf1</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>bool</type>
      <name>reversed_border</name>
      <anchorfile>structquad__task.html</anchorfile>
      <anchor>a79547242c316046db4dceaa5532347c5</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>tag_width</name>
      <anchorfile>structquad__task.html</anchorfile>
      <anchor>add908239633e61e4ccd1b38b8c3a33b8</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>apriltag_detector_t *</type>
      <name>td</name>
      <anchorfile>structquad__task.html</anchorfile>
      <anchor>aab7023eefe988e7c3ec12dfdaa1e2672</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>w</name>
      <anchorfile>structquad__task.html</anchorfile>
      <anchor>a62a63914da8929f52ccfd9b95ecbc3bc</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>quick_decode</name>
    <filename>structquick__decode.html</filename>
    <member kind="variable">
      <type>struct quick_decode_entry *</type>
      <name>entries</name>
      <anchorfile>structquick__decode.html</anchorfile>
      <anchor>ae9b04cd4a953a2a49fb29e2c10799bc5</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>nentries</name>
      <anchorfile>structquick__decode.html</anchorfile>
      <anchor>a6e201cdd24ed5f3dda8b415f774b840d</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>quick_decode_entry</name>
    <filename>structquick__decode__entry.html</filename>
    <member kind="variable">
      <type>uint8_t</type>
      <name>hamming</name>
      <anchorfile>structquick__decode__entry.html</anchorfile>
      <anchor>a20162e015bb5960acb95a39196c42bf7</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint16_t</type>
      <name>id</name>
      <anchorfile>structquick__decode__entry.html</anchorfile>
      <anchor>a5a25dd9df8c8313f04298f0db2616edb</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint64_t</type>
      <name>rcode</name>
      <anchorfile>structquick__decode__entry.html</anchorfile>
      <anchor>a6633de79b7cb0f0e4e2d52df6189fb34</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint8_t</type>
      <name>rotation</name>
      <anchorfile>structquick__decode__entry.html</anchorfile>
      <anchor>a78c02d66a3be0db1c5a5132a38cb94aa</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>remove_vertex</name>
    <filename>structremove__vertex.html</filename>
    <member kind="variable">
      <type>double</type>
      <name>err</name>
      <anchorfile>structremove__vertex.html</anchorfile>
      <anchor>a30a9fabbd6fba145caeaf397386de38b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>i</name>
      <anchorfile>structremove__vertex.html</anchorfile>
      <anchor>af3ac5fb8627c2fcf491775bfb5a4b58e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>left</name>
      <anchorfile>structremove__vertex.html</anchorfile>
      <anchor>a0b3d1bfad543965d7a5e687010040d9b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>right</name>
      <anchorfile>structremove__vertex.html</anchorfile>
      <anchor>a7213256f85fc7aeba3250d47e94c644d</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>segment</name>
    <filename>structsegment.html</filename>
    <member kind="variable">
      <type>int</type>
      <name>is_vertex</name>
      <anchorfile>structsegment.html</anchorfile>
      <anchor>addce7b76e281954ed02e3006dd2ff1d8</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>left</name>
      <anchorfile>structsegment.html</anchorfile>
      <anchor>a190f317476b56810089c20a4f0748284</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>right</name>
      <anchorfile>structsegment.html</anchorfile>
      <anchor>a8f41183e65f4302f347f0013f042a931</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>string_buffer</name>
    <filename>structstring__buffer.html</filename>
    <member kind="variable">
      <type>size_t</type>
      <name>alloc</name>
      <anchorfile>structstring__buffer.html</anchorfile>
      <anchor>a5e03a8f6aaed3359a42385409f1e8ad5</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>char *</type>
      <name>s</name>
      <anchorfile>structstring__buffer.html</anchorfile>
      <anchor>a0f22b7c28e497ac04a4c29645278c554</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>size_t</type>
      <name>size</name>
      <anchorfile>structstring__buffer.html</anchorfile>
      <anchor>af56353c40703b667282ffd45ddb88ebe</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>string_feeder</name>
    <filename>structstring__feeder.html</filename>
    <member kind="variable">
      <type>int</type>
      <name>col</name>
      <anchorfile>structstring__feeder.html</anchorfile>
      <anchor>aa39352624a02cc280cbb89eca9f40856</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>size_t</type>
      <name>len</name>
      <anchorfile>structstring__feeder.html</anchorfile>
      <anchor>aadc96613dbb09a705cb33dc1974d0521</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>line</name>
      <anchorfile>structstring__feeder.html</anchorfile>
      <anchor>a1b33222db96e3777833fe2cfa0f9d3ea</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>size_t</type>
      <name>pos</name>
      <anchorfile>structstring__feeder.html</anchorfile>
      <anchor>aa6123272585e3d6dfafd94ee6bd35f6d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>char *</type>
      <name>s</name>
      <anchorfile>structstring__feeder.html</anchorfile>
      <anchor>a4a449ea5ca9844ed2b9fcabcf55dcbd5</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>task</name>
    <filename>structtask.html</filename>
    <member kind="variable">
      <type>void(*</type>
      <name>f</name>
      <anchorfile>structtask.html</anchorfile>
      <anchor>a9868fcaf152c0f9ee54763101e96c552</anchor>
      <arglist>)(void *p)</arglist>
    </member>
    <member kind="variable">
      <type>void *</type>
      <name>p</name>
      <anchorfile>structtask.html</anchorfile>
      <anchor>aed208cdf4ae469c049e5d1f7f16840b1</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>threshold_task</name>
    <filename>structthreshold__task.html</filename>
    <member kind="variable">
      <type>image_u8_t *</type>
      <name>im</name>
      <anchorfile>structthreshold__task.html</anchorfile>
      <anchor>adbc37b855906d24ad0547997611ad528</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint8_t *</type>
      <name>im_max</name>
      <anchorfile>structthreshold__task.html</anchorfile>
      <anchor>aca8e60697e523f4f9afe716289b3e08b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint8_t *</type>
      <name>im_min</name>
      <anchorfile>structthreshold__task.html</anchorfile>
      <anchor>a731eeb1c3094703f4ae429b5cd8c7fc5</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>apriltag_detector_t *</type>
      <name>td</name>
      <anchorfile>structthreshold__task.html</anchorfile>
      <anchor>a28ce0954f6e93686453c997ae284b4c3</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>image_u8_t *</type>
      <name>threshim</name>
      <anchorfile>structthreshold__task.html</anchorfile>
      <anchor>a309772cf887e7b11d52917002195a883</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>ty</name>
      <anchorfile>structthreshold__task.html</anchorfile>
      <anchor>acfe47296fd898e3fc7ace0b1967fb47e</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>timeprofile</name>
    <filename>structtimeprofile.html</filename>
    <member kind="variable">
      <type>zarray_t *</type>
      <name>stamps</name>
      <anchorfile>structtimeprofile.html</anchorfile>
      <anchor>a66845e4544ed7e3d6dbc2ad292f35a16</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int64_t</type>
      <name>utime</name>
      <anchorfile>structtimeprofile.html</anchorfile>
      <anchor>a2d5cae0058df228fab597234541d8cfa</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>timeprofile_entry</name>
    <filename>structtimeprofile__entry.html</filename>
    <member kind="variable">
      <type>char</type>
      <name>name</name>
      <anchorfile>structtimeprofile__entry.html</anchorfile>
      <anchor>a4a17c99883a0fbacb1fd7f6a49e53cc3</anchor>
      <arglist>[32]</arglist>
    </member>
    <member kind="variable">
      <type>int64_t</type>
      <name>utime</name>
      <anchorfile>structtimeprofile__entry.html</anchorfile>
      <anchor>a7093471b738b07f9771a8b190e2b67d8</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>timeutil_rest</name>
    <filename>structtimeutil__rest.html</filename>
    <member kind="variable">
      <type>int64_t</type>
      <name>acc_time</name>
      <anchorfile>structtimeutil__rest.html</anchorfile>
      <anchor>a9c1cafeda909d713fee0850083f19cff</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int64_t</type>
      <name>start_time</name>
      <anchorfile>structtimeutil__rest.html</anchorfile>
      <anchor>a030cbda96b27eaef29ddd45e9d7d6a50</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>uint64_zarray_entry</name>
    <filename>structuint64__zarray__entry.html</filename>
    <member kind="variable">
      <type>zarray_t *</type>
      <name>cluster</name>
      <anchorfile>structuint64__zarray__entry.html</anchorfile>
      <anchor>a9606124b7f3fe3ce9714dd6e034c7b4f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint64_t</type>
      <name>id</name>
      <anchorfile>structuint64__zarray__entry.html</anchorfile>
      <anchor>a4f1c44bf049ff5236033dd2d825065ef</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>struct uint64_zarray_entry *</type>
      <name>next</name>
      <anchorfile>structuint64__zarray__entry.html</anchorfile>
      <anchor>a3339f114b062d32fdf4cef7e9f3eea2a</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="union">
    <name>uintpointer</name>
    <filename>unionuintpointer.html</filename>
    <member kind="variable">
      <type>uint32_t</type>
      <name>i</name>
      <anchorfile>unionuintpointer.html</anchorfile>
      <anchor>a30644d2b895c2068d6acfbe24124f12d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>const void *</type>
      <name>p</name>
      <anchorfile>unionuintpointer.html</anchorfile>
      <anchor>af6f51be7c8f13d24d605d05e82bb6b15</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>unionfind</name>
    <filename>structunionfind.html</filename>
    <member kind="variable">
      <type>uint32_t</type>
      <name>maxid</name>
      <anchorfile>structunionfind.html</anchorfile>
      <anchor>a5edfb5864c0abfccd868bcdc50a9ae6d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint32_t *</type>
      <name>parent</name>
      <anchorfile>structunionfind.html</anchorfile>
      <anchor>aebd0932a7c5fa2d54e0bac233ed5d0dd</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>uint32_t *</type>
      <name>size</name>
      <anchorfile>structunionfind.html</anchorfile>
      <anchor>a5d76f3bf0c29c226734328f65eaa8672</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>unionfind_task</name>
    <filename>structunionfind__task.html</filename>
    <member kind="variable">
      <type>int</type>
      <name>h</name>
      <anchorfile>structunionfind__task.html</anchorfile>
      <anchor>a90eb9acafb59f16e976c0dd135986d22</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>image_u8_t *</type>
      <name>im</name>
      <anchorfile>structunionfind__task.html</anchorfile>
      <anchor>a4a3c5f9d62592d4aab6d005ed76abf9e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>s</name>
      <anchorfile>structunionfind__task.html</anchorfile>
      <anchor>acdc8338c6fa9b9257dc489f61691bb4b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>unionfind_t *</type>
      <name>uf</name>
      <anchorfile>structunionfind__task.html</anchorfile>
      <anchor>ab57b905a16e975424e401a2864b505b7</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>w</name>
      <anchorfile>structunionfind__task.html</anchorfile>
      <anchor>adf027930af25d4c3b71a8f9c0917bb26</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>y0</name>
      <anchorfile>structunionfind__task.html</anchorfile>
      <anchor>a241f7de997b62c9357c5d4169ad66a9a</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>y1</name>
      <anchorfile>structunionfind__task.html</anchorfile>
      <anchor>a84a224d82ea4248860a37f868b92eca6</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>workerpool</name>
    <filename>structworkerpool.html</filename>
    <member kind="variable">
      <type>int</type>
      <name>end_count</name>
      <anchorfile>structworkerpool.html</anchorfile>
      <anchor>afa4676515a2c3f66834d6ed464b0400c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>pthread_cond_t</type>
      <name>endcond</name>
      <anchorfile>structworkerpool.html</anchorfile>
      <anchor>a4141c3c9ce3bf89a196330d5de52ec08</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>pthread_mutex_t</type>
      <name>mutex</name>
      <anchorfile>structworkerpool.html</anchorfile>
      <anchor>add20996bdd53bd88dcac29a6d8c5a8a3</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>nthreads</name>
      <anchorfile>structworkerpool.html</anchorfile>
      <anchor>a3fe4a5125f2eb5728f06c9ebc9fa5238</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>pthread_cond_t</type>
      <name>startcond</name>
      <anchorfile>structworkerpool.html</anchorfile>
      <anchor>a36dd57fb275ef440b54faa1059afa644</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int *</type>
      <name>status</name>
      <anchorfile>structworkerpool.html</anchorfile>
      <anchor>adc60ff67ee8cb5f191d830aab6129a14</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>zarray_t *</type>
      <name>tasks</name>
      <anchorfile>structworkerpool.html</anchorfile>
      <anchor>af886da450e850a753cf1f1186a473a41</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>taskspos</name>
      <anchorfile>structworkerpool.html</anchorfile>
      <anchor>a96cd6e479650de23ec825f812f211824</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>pthread_t *</type>
      <name>threads</name>
      <anchorfile>structworkerpool.html</anchorfile>
      <anchor>a522231cd4165ca83bf30bffd24a0864b</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>zarray</name>
    <filename>structzarray.html</filename>
    <member kind="variable">
      <type>int</type>
      <name>alloc</name>
      <anchorfile>structzarray.html</anchorfile>
      <anchor>a82b9a224cab8c7f585452f228ec91249</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>char *</type>
      <name>data</name>
      <anchorfile>structzarray.html</anchorfile>
      <anchor>a85d9ece086c386722a72af1d6045749c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>size_t</type>
      <name>el_sz</name>
      <anchorfile>structzarray.html</anchorfile>
      <anchor>aab308de27fa0e50dac3b445d29d850a2</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>size</name>
      <anchorfile>structzarray.html</anchorfile>
      <anchor>a9bf65ca7e9bbe574c45d7c36674e7c94</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>zhash</name>
    <filename>structzhash.html</filename>
    <member kind="variable">
      <type>char *</type>
      <name>entries</name>
      <anchorfile>structzhash.html</anchorfile>
      <anchor>a23a9cbef35aca280403d85984b302344</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>entrysz</name>
      <anchorfile>structzhash.html</anchorfile>
      <anchor>a53d4483a10f926b255205232e3388655</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int(*</type>
      <name>equals</name>
      <anchorfile>structzhash.html</anchorfile>
      <anchor>aabf7c806c5009361d49e82fbd99932e5</anchor>
      <arglist>)(const void *a, const void *b)</arglist>
    </member>
    <member kind="variable">
      <type>uint32_t(*</type>
      <name>hash</name>
      <anchorfile>structzhash.html</anchorfile>
      <anchor>a52680b815c765a3d3910e93956ad1ea1</anchor>
      <arglist>)(const void *a)</arglist>
    </member>
    <member kind="variable">
      <type>size_t</type>
      <name>keysz</name>
      <anchorfile>structzhash.html</anchorfile>
      <anchor>a1fb2b14753337e9f5a3aae43a3b8bab2</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>nentries</name>
      <anchorfile>structzhash.html</anchorfile>
      <anchor>a77a708484cc7b83cf90c765e23bd836b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>size</name>
      <anchorfile>structzhash.html</anchorfile>
      <anchor>a5093b986c456e1fb03bd6dafba7307bb</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>size_t</type>
      <name>valuesz</name>
      <anchorfile>structzhash.html</anchorfile>
      <anchor>a1e4eb7ab6992bef2f3f033c2e5cf9c07</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>zhash_iterator</name>
    <filename>structzhash__iterator.html</filename>
    <member kind="variable">
      <type>const zhash_t *</type>
      <name>czh</name>
      <anchorfile>structzhash__iterator.html</anchorfile>
      <anchor>a5037d2b5b56fa9cd650c5a373b8ef25d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>last_entry</name>
      <anchorfile>structzhash__iterator.html</anchorfile>
      <anchor>a1086e8669a083ed621b3bc05a518bc53</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>zhash_t *</type>
      <name>zh</name>
      <anchorfile>structzhash__iterator.html</anchorfile>
      <anchor>a120919ccb497896bc27aeafeb69c331e</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>zmaxheap</name>
    <filename>structzmaxheap.html</filename>
    <member kind="variable">
      <type>int</type>
      <name>alloc</name>
      <anchorfile>structzmaxheap.html</anchorfile>
      <anchor>a5f10ea294b2af6b40bf4b2a80b06edf9</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>char *</type>
      <name>data</name>
      <anchorfile>structzmaxheap.html</anchorfile>
      <anchor>a109454236b7bc494d706391ac2e8349b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>size_t</type>
      <name>el_sz</name>
      <anchorfile>structzmaxheap.html</anchorfile>
      <anchor>a29c3979a9e35d88a730a130acd07b73e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>size</name>
      <anchorfile>structzmaxheap.html</anchorfile>
      <anchor>a5a8f8722c0b5bf6c6ab074248d9107ed</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>void(*</type>
      <name>swap</name>
      <anchorfile>structzmaxheap.html</anchorfile>
      <anchor>a070348648e008ac044f868f0de6b2e24</anchor>
      <arglist>)(zmaxheap_t *heap, int a, int b)</arglist>
    </member>
    <member kind="variable">
      <type>float *</type>
      <name>values</name>
      <anchorfile>structzmaxheap.html</anchorfile>
      <anchor>a12be5139c3d2c13cff74dfb480651fd8</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>zmaxheap_iterator</name>
    <filename>structzmaxheap__iterator.html</filename>
    <member kind="variable">
      <type>zmaxheap_t *</type>
      <name>heap</name>
      <anchorfile>structzmaxheap__iterator.html</anchorfile>
      <anchor>a023b902dd713be0d3c1317ed2ae49159</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>in</name>
      <anchorfile>structzmaxheap__iterator.html</anchorfile>
      <anchor>a00fc817b61c9e910b52991d5c2ca4a72</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int</type>
      <name>out</name>
      <anchorfile>structzmaxheap__iterator.html</anchorfile>
      <anchor>a064b37f345778fe54d5fe44d9ecb944d</anchor>
      <arglist></arglist>
    </member>
  </compound>
</tagfile>
