// File: ehw-fit[P]py-paretoarchive/src/paretoarchive/core.cpp
// Function: _pyx_pf_13paretoarchive_4core_17PyBspTreeArchive3_4configure(__pyx_obj_13paretoarchive_4core_PyBspTreeArchive3*, _object*)
static PyObject *__pyx_pf_13paretoarchive_4core_17PyBspTreeArchive3_4configure(struct __pyx_obj_13paretoarchive_4core_PyBspTreeArchive3 *__pyx_v_self, PyObject *__pyx_v_config) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("configure", 0);

  /* "paretoarchive/core.pyx":191
 * 
 *   def configure(self, config):
 *     self._sign[0] = 1 if config[0] else -1  #1 minimize, -1 maximize             # <<<<<<<<<<<<<<
 *     self._sign[1] = 1 if config[1] else -1  #1 minimize, -1 maximize
 *     self._sign[2] = 1 if config[2] else -1  #1 minimize, -1 maximize
 */
  __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_config, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 191, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 191, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_3) {
    __pyx_t_1 = 1;
  } else {
    __pyx_t_1 = -1;
  }
  (__pyx_v_self->_sign[0]) = __pyx_t_1;

  /* "paretoarchive/core.pyx":192
 *   def configure(self, config):
 *     self._sign[0] = 1 if config[0] else -1  #1 minimize, -1 maximize
 *     self._sign[1] = 1 if config[1] else -1  #1 minimize, -1 maximize             # <<<<<<<<<<<<<<
 *     self._sign[2] = 1 if config[2] else -1  #1 minimize, -1 maximize
 * 
 */
  __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_config, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 192, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 192, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_3) {
    __pyx_t_1 = 1;
  } else {
    __pyx_t_1 = -1;
  }
  (__pyx_v_self->_sign[1]) = __pyx_t_1;

  /* "paretoarchive/core.pyx":193
 *     self._sign[0] = 1 if config[0] else -1  #1 minimize, -1 maximize
 *     self._sign[1] = 1 if config[1] else -1  #1 minimize, -1 maximize
 *     self._sign[2] = 1 if config[2] else -1  #1 minimize, -1 maximize             # <<<<<<<<<<<<<<
 * 
 *   def __dealloc__(self):
 */
  __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_config, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 193, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 193, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_3) {
    __pyx_t_1 = 1;
  } else {
    __pyx_t_1 = -1;
  }
  (__pyx_v_self->_sign[2]) = __pyx_t_1;

  /* "paretoarchive/core.pyx":190
 *     self._sign[2] = 1
 * 
 *   def configure(self, config):             # <<<<<<<<<<<<<<
 *     self._sign[0] = 1 if config[0] else -1  #1 minimize, -1 maximize
 *     self._sign[1] = 1 if config[1] else -1  #1 minimize, -1 maximize
 */

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("paretoarchive.core.PyBspTreeArchive3.configure", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq $0x0, -0x18(%rbp)
movq $0x0, -0x28(%rbp)
movl $0x0, -0x30(%rbp)
movq $0x0, -0x38(%rbp)
movl $0x0, -0x3c(%rbp)
movq -0x10(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
xorl %ecx, %ecx
movl $0x1, %r8d
movl %ecx, %edx
callq 0x2ef90
movq %rax, -0x28(%rbp)
cmpq $0x0, -0x28(%rbp)
setne %al
xorb $-0x1, %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x339c5
jmp 0x339e3
movq 0x73a94(%rip), %rax     # 0xa7460
movq %rax, -0x38(%rbp)
movl $0xbf, -0x30(%rbp)
movl $0x115b, -0x3c(%rbp)    # imm = 0x115B
jmp 0x33bd9
movq -0x28(%rbp), %rdi
callq 0x2f230
movl %eax, -0x2c(%rbp)
cmpl $0x0, -0x2c(%rbp)
setl %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x33a00
jmp 0x33a1e
movq 0x73a59(%rip), %rax     # 0xa7460
movq %rax, -0x38(%rbp)
movl $0xbf, -0x30(%rbp)
movl $0x115d, -0x3c(%rbp)    # imm = 0x115D
jmp 0x33bd9
movq -0x28(%rbp), %rdi
callq 0x2a7e0
movq $0x0, -0x28(%rbp)
cmpl $0x0, -0x2c(%rbp)
je 0x33a3e
movl $0x1, -0x1c(%rbp)
jmp 0x33a45
movl $0xffffffff, -0x1c(%rbp) # imm = 0xFFFFFFFF
movl -0x1c(%rbp), %ecx
movq -0x8(%rbp), %rax
movl %ecx, 0x18(%rax)
movq -0x10(%rbp), %rdi
movl $0x1, %esi
xorl %ecx, %ecx
movl $0x1, %r8d
movl %ecx, %edx
callq 0x2ef90
movq %rax, -0x28(%rbp)
cmpq $0x0, -0x28(%rbp)
setne %al
xorb $-0x1, %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x33a7f
jmp 0x33a9d
movq 0x739da(%rip), %rax     # 0xa7460
movq %rax, -0x38(%rbp)
movl $0xc0, -0x30(%rbp)
movl $0x116d, -0x3c(%rbp)    # imm = 0x116D
jmp 0x33bd9
movq -0x28(%rbp), %rdi
callq 0x2f230
movl %eax, -0x2c(%rbp)
cmpl $0x0, -0x2c(%rbp)
setl %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x33aba
jmp 0x33ad8
movq 0x7399f(%rip), %rax     # 0xa7460
movq %rax, -0x38(%rbp)
movl $0xc0, -0x30(%rbp)
movl $0x116f, -0x3c(%rbp)    # imm = 0x116F
jmp 0x33bd9
movq -0x28(%rbp), %rdi
callq 0x2a7e0
movq $0x0, -0x28(%rbp)
cmpl $0x0, -0x2c(%rbp)
je 0x33af8
movl $0x1, -0x1c(%rbp)
jmp 0x33aff
movl $0xffffffff, -0x1c(%rbp) # imm = 0xFFFFFFFF
movl -0x1c(%rbp), %ecx
movq -0x8(%rbp), %rax
movl %ecx, 0x1c(%rax)
movq -0x10(%rbp), %rdi
movl $0x2, %esi
xorl %ecx, %ecx
movl $0x1, %r8d
movl %ecx, %edx
callq 0x2ef90
movq %rax, -0x28(%rbp)
cmpq $0x0, -0x28(%rbp)
setne %al
xorb $-0x1, %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x33b39
jmp 0x33b57
movq 0x73920(%rip), %rax     # 0xa7460
movq %rax, -0x38(%rbp)
movl $0xc1, -0x30(%rbp)
movl $0x117f, -0x3c(%rbp)    # imm = 0x117F
jmp 0x33bd9
movq -0x28(%rbp), %rdi
callq 0x2f230
movl %eax, -0x2c(%rbp)
cmpl $0x0, -0x2c(%rbp)
setl %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x33b74
jmp 0x33b8f
movq 0x738e5(%rip), %rax     # 0xa7460
movq %rax, -0x38(%rbp)
movl $0xc1, -0x30(%rbp)
movl $0x1181, -0x3c(%rbp)    # imm = 0x1181
jmp 0x33bd9
movq -0x28(%rbp), %rdi
callq 0x2a7e0
movq $0x0, -0x28(%rbp)
cmpl $0x0, -0x2c(%rbp)
je 0x33baf
movl $0x1, -0x1c(%rbp)
jmp 0x33bb6
movl $0xffffffff, -0x1c(%rbp) # imm = 0xFFFFFFFF
movl -0x1c(%rbp), %ecx
movq -0x8(%rbp), %rax
movl %ecx, 0x20(%rax)
movq 0x73221(%rip), %rax     # 0xa6de8
movq %rax, -0x18(%rbp)
movq 0x73216(%rip), %rdi     # 0xa6de8
callq 0x2a7c0
jmp 0x33c00
movq -0x28(%rbp), %rdi
callq 0x2a8d0
movl -0x3c(%rbp), %esi
movl -0x30(%rbp), %edx
movq -0x38(%rbp), %rcx
leaq 0x5b572(%rip), %rdi     # 0x8f165
callq 0x2c5a0
movq $0x0, -0x18(%rbp)
movq -0x18(%rbp), %rax
addq $0x40, %rsp
popq %rbp
retq
nopw (%rax,%rax)