
    bi                         d dl Z d dlmZ d dlZd dlZd dlmZ d dlZd dl	Z	e	j                  j                   e j                  d       d       G d dej                               Zy)	    N)
ThreadPool)sparsebuiltinzBuiltin Algebra not available)reasonc                       e Zd Zd Zy)multithread_testsc                    g d}t        |      D ]  }d}d}t        j                  ||dd      }t        j                  j	                  |      }t        j
                  t        j                  ||f      t        j                  |      gd      }t        j                  ||z         }t        j                  t        j                  |t        j                  |       g      t        j                  t        j                  |      t        j                  ||f      g      gd      }	t        j                  |t        j                  |      g      }
t        j                  |t        j                  |      g      }j                  |||	|
|f        fd}t        d	      }t        j                         }t        |      D ]
  } ||        t        j                         |z
  }t        j                         }|j                  |t        |             t        j                         |z
  }| j!                  ||       y )
N2   i  i  g333333?csc)densityformat)r   c                     |    \  }}}}}t        j                  d      }|j                  |||||d       |j                          y )Nr   )algebraF)verbose)osqpOSQPsetupsolve)iPqAlumdatas          V/home/cdr/jupyterlab/.venv/lib/python3.12/site-packages/osqp/tests/multithread_test.pyfz-multithread_tests.test_multithread.<locals>.f&   sE     GMAq!Q		),AGGAq!Q5G1GGI       )ranger   randomnprandn
block_diag
csc_matrixeyezerosvstackhstackonesappendr   timemap
assertLess)selfn_repr   r   nAdbr   r   r   r   r   r   pooltict_serial
t_parallelr   s                    @r   test_multithreadz"multithread_tests.test_multithread   s   u 	)AAAq!S?B		"A !!6#4#4aV#<fjjm"LUZ[AQAMM2

1~"67MM6::a=&2C2CQF2K"LM A 		1bhhqk*+A		1bggaj/*AKKAq!Q('	)*	 !}iiku 	AaD	99;$iikE%L!YY[3&

H-r   N)__name__
__module____qualname__r9    r   r   r   r   
   s    +.r   r   )r   multiprocessing.poolr   r-   numpyr#   scipyr   unittestpytestmarkskipifalgebra_availableTestCaser   r=   r   r   <module>rG      sb     +      ...y99Bab,.)) ,. c,.r   