// File: ehw-fit[P]py-paretoarchive/src/paretoarchive/core.cpp
// Function: _pyx_pf_13paretoarchive_4core_17PyBspTreeArchive4_4configure(__pyx_obj_13paretoarchive_4core_PyBspTreeArchive4*, _object*)
static PyObject *__pyx_pf_13paretoarchive_4core_17PyBspTreeArchive4_4configure(struct __pyx_obj_13paretoarchive_4core_PyBspTreeArchive4 *__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":259
 * 
 *   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, 259, __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, 259, __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":260
 *   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
 *     self._sign[3] = 1 if config[3] 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, 260, __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, 260, __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":261
 *     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             # <<<<<<<<<<<<<<
 *     self._sign[3] = 1 if config[3] else -1  #1 minimize, -1 maximize
 * 
 */
  __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, 261, __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, 261, __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":262
 *     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
 *     self._sign[3] = 1 if config[3] else -1  #1 minimize, -1 maximize             # <<<<<<<<<<<<<<
 * 
 *   def __dealloc__(self):
 */
  __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_config, 3, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 262, __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, 262, __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[3]) = __pyx_t_1;

  /* "paretoarchive/core.pyx":258
 *     self._sign[3] = 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.PyBspTreeArchive4.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 0x35da5
jmp 0x35dc3
movq 0x716b4(%rip), %rax     # 0xa7460
movq %rax, -0x38(%rbp)
movl $0x103, -0x30(%rbp)     # imm = 0x103
movl $0x1599, -0x3c(%rbp)    # imm = 0x1599
jmp 0x36073
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 0x35de0
jmp 0x35dfe
movq 0x71679(%rip), %rax     # 0xa7460
movq %rax, -0x38(%rbp)
movl $0x103, -0x30(%rbp)     # imm = 0x103
movl $0x159b, -0x3c(%rbp)    # imm = 0x159B
jmp 0x36073
movq -0x28(%rbp), %rdi
callq 0x2a7e0
movq $0x0, -0x28(%rbp)
cmpl $0x0, -0x2c(%rbp)
je 0x35e1e
movl $0x1, -0x1c(%rbp)
jmp 0x35e25
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 0x35e5f
jmp 0x35e7d
movq 0x715fa(%rip), %rax     # 0xa7460
movq %rax, -0x38(%rbp)
movl $0x104, -0x30(%rbp)     # imm = 0x104
movl $0x15ab, -0x3c(%rbp)    # imm = 0x15AB
jmp 0x36073
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 0x35e9a
jmp 0x35eb8
movq 0x715bf(%rip), %rax     # 0xa7460
movq %rax, -0x38(%rbp)
movl $0x104, -0x30(%rbp)     # imm = 0x104
movl $0x15ad, -0x3c(%rbp)    # imm = 0x15AD
jmp 0x36073
movq -0x28(%rbp), %rdi
callq 0x2a7e0
movq $0x0, -0x28(%rbp)
cmpl $0x0, -0x2c(%rbp)
je 0x35ed8
movl $0x1, -0x1c(%rbp)
jmp 0x35edf
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 0x35f19
jmp 0x35f37
movq 0x71540(%rip), %rax     # 0xa7460
movq %rax, -0x38(%rbp)
movl $0x105, -0x30(%rbp)     # imm = 0x105
movl $0x15bd, -0x3c(%rbp)    # imm = 0x15BD
jmp 0x36073
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 0x35f54
jmp 0x35f72
movq 0x71505(%rip), %rax     # 0xa7460
movq %rax, -0x38(%rbp)
movl $0x105, -0x30(%rbp)     # imm = 0x105
movl $0x15bf, -0x3c(%rbp)    # imm = 0x15BF
jmp 0x36073
movq -0x28(%rbp), %rdi
callq 0x2a7e0
movq $0x0, -0x28(%rbp)
cmpl $0x0, -0x2c(%rbp)
je 0x35f92
movl $0x1, -0x1c(%rbp)
jmp 0x35f99
movl $0xffffffff, -0x1c(%rbp) # imm = 0xFFFFFFFF
movl -0x1c(%rbp), %ecx
movq -0x8(%rbp), %rax
movl %ecx, 0x20(%rax)
movq -0x10(%rbp), %rdi
movl $0x3, %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 0x35fd3
jmp 0x35ff1
movq 0x71486(%rip), %rax     # 0xa7460
movq %rax, -0x38(%rbp)
movl $0x106, -0x30(%rbp)     # imm = 0x106
movl $0x15cf, -0x3c(%rbp)    # imm = 0x15CF
jmp 0x36073
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 0x3600e
jmp 0x36029
movq 0x7144b(%rip), %rax     # 0xa7460
movq %rax, -0x38(%rbp)
movl $0x106, -0x30(%rbp)     # imm = 0x106
movl $0x15d1, -0x3c(%rbp)    # imm = 0x15D1
jmp 0x36073
movq -0x28(%rbp), %rdi
callq 0x2a7e0
movq $0x0, -0x28(%rbp)
cmpl $0x0, -0x2c(%rbp)
je 0x36049
movl $0x1, -0x1c(%rbp)
jmp 0x36050
movl $0xffffffff, -0x1c(%rbp) # imm = 0xFFFFFFFF
movl -0x1c(%rbp), %ecx
movq -0x8(%rbp), %rax
movl %ecx, 0x24(%rax)
movq 0x70d87(%rip), %rax     # 0xa6de8
movq %rax, -0x18(%rbp)
movq 0x70d7c(%rip), %rdi     # 0xa6de8
callq 0x2a7c0
jmp 0x3609a
movq -0x28(%rbp), %rdi
callq 0x2a8d0
movl -0x3c(%rbp), %esi
movl -0x30(%rbp), %edx
movq -0x38(%rbp), %rcx
leaq 0x5920a(%rip), %rdi     # 0x8f297
callq 0x2c5a0
movq $0x0, -0x18(%rbp)
movq -0x18(%rbp), %rax
addq $0x40, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)