// File: ehw-fit[P]py-paretoarchive/src/paretoarchive/core.cpp
// Function: _pyx_pf_13paretoarchive_4core_17PyBspTreeArchive6_4configure(__pyx_obj_13paretoarchive_4core_PyBspTreeArchive6*, _object*)
static PyObject *__pyx_pf_13paretoarchive_4core_17PyBspTreeArchive6_4configure(struct __pyx_obj_13paretoarchive_4core_PyBspTreeArchive6 *__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":404
 * 
 *   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, 404, __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, 404, __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":405
 *   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, 405, __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, 405, __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":406
 *     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, 406, __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, 406, __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":407
 *     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, 407, __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, 407, __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":408
 *     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, 4, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 408, __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, 408, __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":409
 *     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             # <<<<<<<<<<<<<<
 * 
 *   def __dealloc__(self):
 */
  __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, 409, __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, 409, __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":403
 *     self._sign[5] = 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.PyBspTreeArchive6.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 0x3b0d5
jmp 0x3b0f3
movq 0x6c384(%rip), %rax     # 0xa7460
movq %rax, -0x38(%rbp)
movl $0x194, -0x30(%rbp)     # imm = 0x194
movl $0x1eb4, -0x3c(%rbp)    # imm = 0x1EB4
jmp 0x3b517
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 0x3b110
jmp 0x3b12e
movq 0x6c349(%rip), %rax     # 0xa7460
movq %rax, -0x38(%rbp)
movl $0x194, -0x30(%rbp)     # imm = 0x194
movl $0x1eb6, -0x3c(%rbp)    # imm = 0x1EB6
jmp 0x3b517
movq -0x28(%rbp), %rdi
callq 0x2a7e0
movq $0x0, -0x28(%rbp)
cmpl $0x0, -0x2c(%rbp)
je 0x3b14e
movl $0x1, -0x1c(%rbp)
jmp 0x3b155
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 0x3b18f
jmp 0x3b1ad
movq 0x6c2ca(%rip), %rax     # 0xa7460
movq %rax, -0x38(%rbp)
movl $0x195, -0x30(%rbp)     # imm = 0x195
movl $0x1ec6, -0x3c(%rbp)    # imm = 0x1EC6
jmp 0x3b517
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 0x3b1ca
jmp 0x3b1e8
movq 0x6c28f(%rip), %rax     # 0xa7460
movq %rax, -0x38(%rbp)
movl $0x195, -0x30(%rbp)     # imm = 0x195
movl $0x1ec8, -0x3c(%rbp)    # imm = 0x1EC8
jmp 0x3b517
movq -0x28(%rbp), %rdi
callq 0x2a7e0
movq $0x0, -0x28(%rbp)
cmpl $0x0, -0x2c(%rbp)
je 0x3b208
movl $0x1, -0x1c(%rbp)
jmp 0x3b20f
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 0x3b249
jmp 0x3b267
movq 0x6c210(%rip), %rax     # 0xa7460
movq %rax, -0x38(%rbp)
movl $0x196, -0x30(%rbp)     # imm = 0x196
movl $0x1ed8, -0x3c(%rbp)    # imm = 0x1ED8
jmp 0x3b517
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 0x3b284
jmp 0x3b2a2
movq 0x6c1d5(%rip), %rax     # 0xa7460
movq %rax, -0x38(%rbp)
movl $0x196, -0x30(%rbp)     # imm = 0x196
movl $0x1eda, -0x3c(%rbp)    # imm = 0x1EDA
jmp 0x3b517
movq -0x28(%rbp), %rdi
callq 0x2a7e0
movq $0x0, -0x28(%rbp)
cmpl $0x0, -0x2c(%rbp)
je 0x3b2c2
movl $0x1, -0x1c(%rbp)
jmp 0x3b2c9
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 0x3b303
jmp 0x3b321
movq 0x6c156(%rip), %rax     # 0xa7460
movq %rax, -0x38(%rbp)
movl $0x197, -0x30(%rbp)     # imm = 0x197
movl $0x1eea, -0x3c(%rbp)    # imm = 0x1EEA
jmp 0x3b517
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 0x3b33e
jmp 0x3b35c
movq 0x6c11b(%rip), %rax     # 0xa7460
movq %rax, -0x38(%rbp)
movl $0x197, -0x30(%rbp)     # imm = 0x197
movl $0x1eec, -0x3c(%rbp)    # imm = 0x1EEC
jmp 0x3b517
movq -0x28(%rbp), %rdi
callq 0x2a7e0
movq $0x0, -0x28(%rbp)
cmpl $0x0, -0x2c(%rbp)
je 0x3b37c
movl $0x1, -0x1c(%rbp)
jmp 0x3b383
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 0x3b3bd
jmp 0x3b3db
movq 0x6c09c(%rip), %rax     # 0xa7460
movq %rax, -0x38(%rbp)
movl $0x198, -0x30(%rbp)     # imm = 0x198
movl $0x1efc, -0x3c(%rbp)    # imm = 0x1EFC
jmp 0x3b517
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 0x3b3f8
jmp 0x3b416
movq 0x6c061(%rip), %rax     # 0xa7460
movq %rax, -0x38(%rbp)
movl $0x198, -0x30(%rbp)     # imm = 0x198
movl $0x1efe, -0x3c(%rbp)    # imm = 0x1EFE
jmp 0x3b517
movq -0x28(%rbp), %rdi
callq 0x2a7e0
movq $0x0, -0x28(%rbp)
cmpl $0x0, -0x2c(%rbp)
je 0x3b436
movl $0x1, -0x1c(%rbp)
jmp 0x3b43d
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 0x3b477
jmp 0x3b495
movq 0x6bfe2(%rip), %rax     # 0xa7460
movq %rax, -0x38(%rbp)
movl $0x199, -0x30(%rbp)     # imm = 0x199
movl $0x1f0e, -0x3c(%rbp)    # imm = 0x1F0E
jmp 0x3b517
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 0x3b4b2
jmp 0x3b4cd
movq 0x6bfa7(%rip), %rax     # 0xa7460
movq %rax, -0x38(%rbp)
movl $0x199, -0x30(%rbp)     # imm = 0x199
movl $0x1f10, -0x3c(%rbp)    # imm = 0x1F10
jmp 0x3b517
movq -0x28(%rbp), %rdi
callq 0x2a7e0
movq $0x0, -0x28(%rbp)
cmpl $0x0, -0x2c(%rbp)
je 0x3b4ed
movl $0x1, -0x1c(%rbp)
jmp 0x3b4f4
movl $0xffffffff, -0x1c(%rbp) # imm = 0xFFFFFFFF
movl -0x1c(%rbp), %ecx
movq -0x8(%rbp), %rax
movl %ecx, 0x2c(%rax)
movq 0x6b8e3(%rip), %rax     # 0xa6de8
movq %rax, -0x18(%rbp)
movq 0x6b8d8(%rip), %rdi     # 0xa6de8
callq 0x2a7c0
jmp 0x3b53e
movq -0x28(%rbp), %rdi
callq 0x2a8d0
movl -0x3c(%rbp), %esi
movl -0x30(%rbp), %edx
movq -0x38(%rbp), %rcx
leaq 0x53fca(%rip), %rdi     # 0x8f4fb
callq 0x2c5a0
movq $0x0, -0x18(%rbp)
movq -0x18(%rbp), %rax
addq $0x40, %rsp
popq %rbp
retq
nopl (%rax,%rax)