// File: /workspace/github_cpp_makefile_star2_O3/tomfunkhouser[P]gaps/pkgs/R3Utils/R3Segmentation.cpp
// Function: gaps::R3Segmentation::PrintParameters(_IO_FILE*) const
int R3Segmentation::
PrintParameters(FILE *fp) const
{
  // Check fp
  if (!fp) fp = stdout;

  // Print all parameters
  fprintf(fp, "Min clusters = %d\n", min_clusters);
  fprintf(fp, "Max clusters = %d\n", max_clusters);
  fprintf(fp, "Min cluster points = %d\n", min_cluster_points);
  fprintf(fp, "Min cluster area = %g\n", min_cluster_area);
  fprintf(fp, "Min cluster coverage = %g\n", min_cluster_coverage);
  fprintf(fp, "Max cluster diameter = %g\n", max_cluster_diameter);
  fprintf(fp, "Max cluster primitive distance = %g\n", max_cluster_primitive_distance);
  fprintf(fp, "Max cluster normal angle = %g\n", max_cluster_normal_angle);
  fprintf(fp, "Max cluster color difference = %g\n", max_cluster_color_difference);
  fprintf(fp, "Max cluster timestamp difference = %g\n", max_cluster_timestamp_difference);
  fprintf(fp, "Max cluster category difference = %g\n", max_cluster_category_difference);
  fprintf(fp, "Max pair centroid distance = %g\n", max_pair_centroid_distance);
  fprintf(fp, "Max pair primitive distance = %g\n", max_pair_primitive_distance);
  fprintf(fp, "Max pair normal angle = %g\n", max_pair_normal_angle);
  fprintf(fp, "Max pair color difference = %g\n", max_pair_color_difference);
  fprintf(fp, "Max pair timestamp difference = %g\n", max_pair_timestamp_difference);
  fprintf(fp, "Max pair category difference = %g\n", max_pair_category_difference);
  fprintf(fp, "Min pair affinity = %g\n", min_pair_affinity);
  fprintf(fp, "Max refinement iterations = %d\n", max_refinement_iterations);  
  fprintf(fp, "Max reassignment iterations = %d\n", max_reassignment_iterations);  
  fprintf(fp, "Equalize cluster sizes = %d\n", equalize_cluster_sizes);
  fprintf(fp, "Balance cluster sizes = %d\n", balance_cluster_sizes);
  fprintf(fp, "Favor convex clusters = %d\n", favor_convex_clusters);
  fprintf(fp, "Scale tolerances with depth = %d\n", scale_tolerances_with_depth);
  fprintf(fp, "Initialize hierarchically = %d\n", initialize_hierarchically);
  fprintf(fp, "Allow outlier points = %d\n", allow_outlier_points);
  fprintf(fp, "Refine boundaries = %d\n", refine_boundaries);

  // Return success
  return 1;
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rsi, %rbx
movq %rdi, %r14
testq %rsi, %rsi
jne 0x2e301
movq 0x13fc62(%rip), %rax    # 0x16df60
movq (%rax), %rbx
movl 0x30(%r14), %edx
leaq 0xdc18f(%rip), %rsi     # 0x10a49b
movq %rbx, %rdi
xorl %eax, %eax
callq 0x158f0
movl 0x34(%r14), %edx
leaq 0xdc18d(%rip), %rsi     # 0x10a4ae
movq %rbx, %rdi
xorl %eax, %eax
callq 0x158f0
movl 0x38(%r14), %edx
leaq 0xdc18b(%rip), %rsi     # 0x10a4c1
movq %rbx, %rdi
xorl %eax, %eax
callq 0x158f0
movsd 0x40(%r14), %xmm0
leaq 0xdc18d(%rip), %rsi     # 0x10a4da
movq %rbx, %rdi
movb $0x1, %al
callq 0x158f0
movsd 0x48(%r14), %xmm0
leaq 0xdc18d(%rip), %rsi     # 0x10a4f1
movq %rbx, %rdi
movb $0x1, %al
callq 0x158f0
movsd 0x50(%r14), %xmm0
leaq 0xdc191(%rip), %rsi     # 0x10a50c
movq %rbx, %rdi
movb $0x1, %al
callq 0x158f0
movsd 0x58(%r14), %xmm0
leaq 0xdc195(%rip), %rsi     # 0x10a527
movq %rbx, %rdi
movb $0x1, %al
callq 0x158f0
movsd 0x60(%r14), %xmm0
leaq 0xdc1a3(%rip), %rsi     # 0x10a54c
movq %rbx, %rdi
movb $0x1, %al
callq 0x158f0
movsd 0x68(%r14), %xmm0
leaq 0xdc1ab(%rip), %rsi     # 0x10a56b
movq %rbx, %rdi
movb $0x1, %al
callq 0x158f0
movsd 0x70(%r14), %xmm0
leaq 0xdc1b7(%rip), %rsi     # 0x10a58e
movq %rbx, %rdi
movb $0x1, %al
callq 0x158f0
movsd 0x78(%r14), %xmm0
leaq 0xdc1c7(%rip), %rsi     # 0x10a5b5
movq %rbx, %rdi
movb $0x1, %al
callq 0x158f0
movsd 0x80(%r14), %xmm0
leaq 0xdc1d3(%rip), %rsi     # 0x10a5db
movq %rbx, %rdi
movb $0x1, %al
callq 0x158f0
movsd 0x88(%r14), %xmm0
leaq 0xdc1da(%rip), %rsi     # 0x10a5fc
movq %rbx, %rdi
movb $0x1, %al
callq 0x158f0
movsd 0x90(%r14), %xmm0
leaq 0xdc1e2(%rip), %rsi     # 0x10a61e
movq %rbx, %rdi
movb $0x1, %al
callq 0x158f0
movsd 0x98(%r14), %xmm0
leaq 0xdc1e4(%rip), %rsi     # 0x10a63a
movq %rbx, %rdi
movb $0x1, %al
callq 0x158f0
movsd 0xa0(%r14), %xmm0
leaq 0xdc1ea(%rip), %rsi     # 0x10a65a
movq %rbx, %rdi
movb $0x1, %al
callq 0x158f0
movsd 0xa8(%r14), %xmm0
leaq 0xdc1f4(%rip), %rsi     # 0x10a67e
movq %rbx, %rdi
movb $0x1, %al
callq 0x158f0
movsd 0xb0(%r14), %xmm0
leaq 0xdc1fd(%rip), %rsi     # 0x10a6a1
movq %rbx, %rdi
movb $0x1, %al
callq 0x158f0
movl 0xb8(%r14), %edx
leaq 0xdc1fd(%rip), %rsi     # 0x10a6b9
movq %rbx, %rdi
xorl %eax, %eax
callq 0x158f0
movl 0xbc(%r14), %edx
leaq 0xdc205(%rip), %rsi     # 0x10a6d9
movq %rbx, %rdi
xorl %eax, %eax
callq 0x158f0
movl 0xc0(%r14), %edx
leaq 0xdc20f(%rip), %rsi     # 0x10a6fb
movq %rbx, %rdi
xorl %eax, %eax
callq 0x158f0
movl 0xc4(%r14), %edx
leaq 0xdc214(%rip), %rsi     # 0x10a718
movq %rbx, %rdi
xorl %eax, %eax
callq 0x158f0
movl 0xc8(%r14), %edx
leaq 0xdc218(%rip), %rsi     # 0x10a734
movq %rbx, %rdi
xorl %eax, %eax
callq 0x158f0
movl 0xcc(%r14), %edx
leaq 0xdc21c(%rip), %rsi     # 0x10a750
movq %rbx, %rdi
xorl %eax, %eax
callq 0x158f0
movl 0xd0(%r14), %edx
leaq 0xdc226(%rip), %rsi     # 0x10a772
movq %rbx, %rdi
xorl %eax, %eax
callq 0x158f0
movl 0xd4(%r14), %edx
leaq 0xdc22e(%rip), %rsi     # 0x10a792
movq %rbx, %rdi
xorl %eax, %eax
callq 0x158f0
movl 0xd8(%r14), %edx
leaq 0xdc231(%rip), %rsi     # 0x10a7ad
movq %rbx, %rdi
xorl %eax, %eax
callq 0x158f0
movl $0x1, %eax
addq $0x8, %rsp
popq %rbx
popq %r14
retq
nop