// File: /workspace/github_cpp_makefile_star2_O2/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 0x2bf0b
movq 0x12f078(%rip), %rax    # 0x15af80
movq (%rax), %rbx
movl 0x30(%r14), %edx
leaq 0xc3505(%rip), %rsi     # 0xef41b
movq %rbx, %rdi
xorl %eax, %eax
callq 0x15910
movl 0x34(%r14), %edx
leaq 0xc3503(%rip), %rsi     # 0xef42e
movq %rbx, %rdi
xorl %eax, %eax
callq 0x15910
movl 0x38(%r14), %edx
leaq 0xc3501(%rip), %rsi     # 0xef441
movq %rbx, %rdi
xorl %eax, %eax
callq 0x15910
movsd 0x40(%r14), %xmm0
leaq 0xc3503(%rip), %rsi     # 0xef45a
movq %rbx, %rdi
movb $0x1, %al
callq 0x15910
movsd 0x48(%r14), %xmm0
leaq 0xc3503(%rip), %rsi     # 0xef471
movq %rbx, %rdi
movb $0x1, %al
callq 0x15910
movsd 0x50(%r14), %xmm0
leaq 0xc3507(%rip), %rsi     # 0xef48c
movq %rbx, %rdi
movb $0x1, %al
callq 0x15910
movsd 0x58(%r14), %xmm0
leaq 0xc350b(%rip), %rsi     # 0xef4a7
movq %rbx, %rdi
movb $0x1, %al
callq 0x15910
movsd 0x60(%r14), %xmm0
leaq 0xc3519(%rip), %rsi     # 0xef4cc
movq %rbx, %rdi
movb $0x1, %al
callq 0x15910
movsd 0x68(%r14), %xmm0
leaq 0xc3521(%rip), %rsi     # 0xef4eb
movq %rbx, %rdi
movb $0x1, %al
callq 0x15910
movsd 0x70(%r14), %xmm0
leaq 0xc352d(%rip), %rsi     # 0xef50e
movq %rbx, %rdi
movb $0x1, %al
callq 0x15910
movsd 0x78(%r14), %xmm0
leaq 0xc353d(%rip), %rsi     # 0xef535
movq %rbx, %rdi
movb $0x1, %al
callq 0x15910
movsd 0x80(%r14), %xmm0
leaq 0xc3549(%rip), %rsi     # 0xef55b
movq %rbx, %rdi
movb $0x1, %al
callq 0x15910
movsd 0x88(%r14), %xmm0
leaq 0xc3550(%rip), %rsi     # 0xef57c
movq %rbx, %rdi
movb $0x1, %al
callq 0x15910
movsd 0x90(%r14), %xmm0
leaq 0xc3558(%rip), %rsi     # 0xef59e
movq %rbx, %rdi
movb $0x1, %al
callq 0x15910
movsd 0x98(%r14), %xmm0
leaq 0xc355a(%rip), %rsi     # 0xef5ba
movq %rbx, %rdi
movb $0x1, %al
callq 0x15910
movsd 0xa0(%r14), %xmm0
leaq 0xc3560(%rip), %rsi     # 0xef5da
movq %rbx, %rdi
movb $0x1, %al
callq 0x15910
movsd 0xa8(%r14), %xmm0
leaq 0xc356a(%rip), %rsi     # 0xef5fe
movq %rbx, %rdi
movb $0x1, %al
callq 0x15910
movsd 0xb0(%r14), %xmm0
leaq 0xc3573(%rip), %rsi     # 0xef621
movq %rbx, %rdi
movb $0x1, %al
callq 0x15910
movl 0xb8(%r14), %edx
leaq 0xc3573(%rip), %rsi     # 0xef639
movq %rbx, %rdi
xorl %eax, %eax
callq 0x15910
movl 0xbc(%r14), %edx
leaq 0xc357b(%rip), %rsi     # 0xef659
movq %rbx, %rdi
xorl %eax, %eax
callq 0x15910
movl 0xc0(%r14), %edx
leaq 0xc3585(%rip), %rsi     # 0xef67b
movq %rbx, %rdi
xorl %eax, %eax
callq 0x15910
movl 0xc4(%r14), %edx
leaq 0xc358a(%rip), %rsi     # 0xef698
movq %rbx, %rdi
xorl %eax, %eax
callq 0x15910
movl 0xc8(%r14), %edx
leaq 0xc358e(%rip), %rsi     # 0xef6b4
movq %rbx, %rdi
xorl %eax, %eax
callq 0x15910
movl 0xcc(%r14), %edx
leaq 0xc3592(%rip), %rsi     # 0xef6d0
movq %rbx, %rdi
xorl %eax, %eax
callq 0x15910
movl 0xd0(%r14), %edx
leaq 0xc359c(%rip), %rsi     # 0xef6f2
movq %rbx, %rdi
xorl %eax, %eax
callq 0x15910
movl 0xd4(%r14), %edx
leaq 0xc35a4(%rip), %rsi     # 0xef712
movq %rbx, %rdi
xorl %eax, %eax
callq 0x15910
movl 0xd8(%r14), %edx
leaq 0xc35a7(%rip), %rsi     # 0xef72d
movq %rbx, %rdi
xorl %eax, %eax
callq 0x15910
pushq $0x1
popq %rax
addq $0x8, %rsp
popq %rbx
popq %r14
retq
nop