// File: ehw-fit[P]py-paretoarchive/src/paretoarchive/core.cpp
// Function: _pyx_pf_13paretoarchive_4core_17PyBspTreeArchive7_4configure(__pyx_obj_13paretoarchive_4core_PyBspTreeArchive7*, _object*)
static PyObject *__pyx_pf_13paretoarchive_4core_17PyBspTreeArchive7_4configure(struct __pyx_obj_13paretoarchive_4core_PyBspTreeArchive7 *__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":481
 * 
 *   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, 481, __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, 481, __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":482
 *   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, 482, __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, 482, __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":483
 *     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
 *     self._sign[4] = 1 if config[4] 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, 483, __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, 483, __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":484
 *     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             # <<<<<<<<<<<<<<
 *     self._sign[4] = 1 if config[4] else -1  #1 minimize, -1 maximize
 *     self._sign[5] = 1 if config[5] else -1  #1 minimize, -1 maximize
 */
  __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, 484, __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, 484, __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":485
 *     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
 *     self._sign[4] = 1 if config[4] else -1  #1 minimize, -1 maximize             # <<<<<<<<<<<<<<
 *     self._sign[5] = 1 if config[5] else -1  #1 minimize, -1 maximize
 *     self._sign[6] = 1 if config[6] else -1  #1 minimize, -1 maximize
 */
  __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_config, 4, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 485, __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, 485, __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[4]) = __pyx_t_1;

  /* "paretoarchive/core.pyx":486
 *     self._sign[3] = 1 if config[3] else -1  #1 minimize, -1 maximize
 *     self._sign[4] = 1 if config[4] else -1  #1 minimize, -1 maximize
 *     self._sign[5] = 1 if config[5] else -1  #1 minimize, -1 maximize             # <<<<<<<<<<<<<<
 *     self._sign[6] = 1 if config[6] else -1  #1 minimize, -1 maximize
 * 
 */
  __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_config, 5, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 486, __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, 486, __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[5]) = __pyx_t_1;

  /* "paretoarchive/core.pyx":487
 *     self._sign[4] = 1 if config[4] else -1  #1 minimize, -1 maximize
 *     self._sign[5] = 1 if config[5] else -1  #1 minimize, -1 maximize
 *     self._sign[6] = 1 if config[6] else -1  #1 minimize, -1 maximize             # <<<<<<<<<<<<<<
 * 
 *   def __dealloc__(self):
 */
  __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_config, 6, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 487, __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, 487, __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[6]) = __pyx_t_1;

  /* "paretoarchive/core.pyx":480
 *     self._sign[6] = 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.PyBspTreeArchive7.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 0x3e055
jmp 0x3e073
movq 0x69404(%rip), %rax     # 0xa7460
movq %rax, -0x38(%rbp)
movl $0x1e1, -0x30(%rbp)     # imm = 0x1E1
movl $0x2391, -0x3c(%rbp)    # imm = 0x2391
jmp 0x3e551
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 0x3e090
jmp 0x3e0ae
movq 0x693c9(%rip), %rax     # 0xa7460
movq %rax, -0x38(%rbp)
movl $0x1e1, -0x30(%rbp)     # imm = 0x1E1
movl $0x2393, -0x3c(%rbp)    # imm = 0x2393
jmp 0x3e551
movq -0x28(%rbp), %rdi
callq 0x2a7e0
movq $0x0, -0x28(%rbp)
cmpl $0x0, -0x2c(%rbp)
je 0x3e0ce
movl $0x1, -0x1c(%rbp)
jmp 0x3e0d5
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 0x3e10f
jmp 0x3e12d
movq 0x6934a(%rip), %rax     # 0xa7460
movq %rax, -0x38(%rbp)
movl $0x1e2, -0x30(%rbp)     # imm = 0x1E2
movl $0x23a3, -0x3c(%rbp)    # imm = 0x23A3
jmp 0x3e551
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 0x3e14a
jmp 0x3e168
movq 0x6930f(%rip), %rax     # 0xa7460
movq %rax, -0x38(%rbp)
movl $0x1e2, -0x30(%rbp)     # imm = 0x1E2
movl $0x23a5, -0x3c(%rbp)    # imm = 0x23A5
jmp 0x3e551
movq -0x28(%rbp), %rdi
callq 0x2a7e0
movq $0x0, -0x28(%rbp)
cmpl $0x0, -0x2c(%rbp)
je 0x3e188
movl $0x1, -0x1c(%rbp)
jmp 0x3e18f
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 0x3e1c9
jmp 0x3e1e7
movq 0x69290(%rip), %rax     # 0xa7460
movq %rax, -0x38(%rbp)
movl $0x1e3, -0x30(%rbp)     # imm = 0x1E3
movl $0x23b5, -0x3c(%rbp)    # imm = 0x23B5
jmp 0x3e551
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 0x3e204
jmp 0x3e222
movq 0x69255(%rip), %rax     # 0xa7460
movq %rax, -0x38(%rbp)
movl $0x1e3, -0x30(%rbp)     # imm = 0x1E3
movl $0x23b7, -0x3c(%rbp)    # imm = 0x23B7
jmp 0x3e551
movq -0x28(%rbp), %rdi
callq 0x2a7e0
movq $0x0, -0x28(%rbp)
cmpl $0x0, -0x2c(%rbp)
je 0x3e242
movl $0x1, -0x1c(%rbp)
jmp 0x3e249
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 0x3e283
jmp 0x3e2a1
movq 0x691d6(%rip), %rax     # 0xa7460
movq %rax, -0x38(%rbp)
movl $0x1e4, -0x30(%rbp)     # imm = 0x1E4
movl $0x23c7, -0x3c(%rbp)    # imm = 0x23C7
jmp 0x3e551
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 0x3e2be
jmp 0x3e2dc
movq 0x6919b(%rip), %rax     # 0xa7460
movq %rax, -0x38(%rbp)
movl $0x1e4, -0x30(%rbp)     # imm = 0x1E4
movl $0x23c9, -0x3c(%rbp)    # imm = 0x23C9
jmp 0x3e551
movq -0x28(%rbp), %rdi
callq 0x2a7e0
movq $0x0, -0x28(%rbp)
cmpl $0x0, -0x2c(%rbp)
je 0x3e2fc
movl $0x1, -0x1c(%rbp)
jmp 0x3e303
movl $0xffffffff, -0x1c(%rbp) # imm = 0xFFFFFFFF
movl -0x1c(%rbp), %ecx
movq -0x8(%rbp), %rax
movl %ecx, 0x24(%rax)
movq -0x10(%rbp), %rdi
movl $0x4, %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 0x3e33d
jmp 0x3e35b
movq 0x6911c(%rip), %rax     # 0xa7460
movq %rax, -0x38(%rbp)
movl $0x1e5, -0x30(%rbp)     # imm = 0x1E5
movl $0x23d9, -0x3c(%rbp)    # imm = 0x23D9
jmp 0x3e551
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 0x3e378
jmp 0x3e396
movq 0x690e1(%rip), %rax     # 0xa7460
movq %rax, -0x38(%rbp)
movl $0x1e5, -0x30(%rbp)     # imm = 0x1E5
movl $0x23db, -0x3c(%rbp)    # imm = 0x23DB
jmp 0x3e551
movq -0x28(%rbp), %rdi
callq 0x2a7e0
movq $0x0, -0x28(%rbp)
cmpl $0x0, -0x2c(%rbp)
je 0x3e3b6
movl $0x1, -0x1c(%rbp)
jmp 0x3e3bd
movl $0xffffffff, -0x1c(%rbp) # imm = 0xFFFFFFFF
movl -0x1c(%rbp), %ecx
movq -0x8(%rbp), %rax
movl %ecx, 0x28(%rax)
movq -0x10(%rbp), %rdi
movl $0x5, %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 0x3e3f7
jmp 0x3e415
movq 0x69062(%rip), %rax     # 0xa7460
movq %rax, -0x38(%rbp)
movl $0x1e6, -0x30(%rbp)     # imm = 0x1E6
movl $0x23eb, -0x3c(%rbp)    # imm = 0x23EB
jmp 0x3e551
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 0x3e432
jmp 0x3e450
movq 0x69027(%rip), %rax     # 0xa7460
movq %rax, -0x38(%rbp)
movl $0x1e6, -0x30(%rbp)     # imm = 0x1E6
movl $0x23ed, -0x3c(%rbp)    # imm = 0x23ED
jmp 0x3e551
movq -0x28(%rbp), %rdi
callq 0x2a7e0
movq $0x0, -0x28(%rbp)
cmpl $0x0, -0x2c(%rbp)
je 0x3e470
movl $0x1, -0x1c(%rbp)
jmp 0x3e477
movl $0xffffffff, -0x1c(%rbp) # imm = 0xFFFFFFFF
movl -0x1c(%rbp), %ecx
movq -0x8(%rbp), %rax
movl %ecx, 0x2c(%rax)
movq -0x10(%rbp), %rdi
movl $0x6, %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 0x3e4b1
jmp 0x3e4cf
movq 0x68fa8(%rip), %rax     # 0xa7460
movq %rax, -0x38(%rbp)
movl $0x1e7, -0x30(%rbp)     # imm = 0x1E7
movl $0x23fd, -0x3c(%rbp)    # imm = 0x23FD
jmp 0x3e551
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 0x3e4ec
jmp 0x3e507
movq 0x68f6d(%rip), %rax     # 0xa7460
movq %rax, -0x38(%rbp)
movl $0x1e7, -0x30(%rbp)     # imm = 0x1E7
movl $0x23ff, -0x3c(%rbp)    # imm = 0x23FF
jmp 0x3e551
movq -0x28(%rbp), %rdi
callq 0x2a7e0
movq $0x0, -0x28(%rbp)
cmpl $0x0, -0x2c(%rbp)
je 0x3e527
movl $0x1, -0x1c(%rbp)
jmp 0x3e52e
movl $0xffffffff, -0x1c(%rbp) # imm = 0xFFFFFFFF
movl -0x1c(%rbp), %ecx
movq -0x8(%rbp), %rax
movl %ecx, 0x30(%rax)
movq 0x688a9(%rip), %rax     # 0xa6de8
movq %rax, -0x18(%rbp)
movq 0x6889e(%rip), %rdi     # 0xa6de8
callq 0x2a7c0
jmp 0x3e578
movq -0x28(%rbp), %rdi
callq 0x2a8d0
movl -0x3c(%rbp), %esi
movl -0x30(%rbp), %edx
movq -0x38(%rbp), %rcx
leaq 0x510c2(%rip), %rdi     # 0x8f62d
callq 0x2c5a0
movq $0x0, -0x18(%rbp)
movq -0x18(%rbp), %rax
addq $0x40, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)