slicot 1.0.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- slicot-1.0.0/.github/workflows/build.yml +95 -0
- slicot-1.0.0/.github/workflows/codeql.yml +48 -0
- slicot-1.0.0/.github/workflows/publish.yml +40 -0
- slicot-1.0.0/.github/workflows/test.yml +79 -0
- slicot-1.0.0/.gitignore +10 -0
- slicot-1.0.0/CHANGELOG.md +11 -0
- slicot-1.0.0/CLAUDE.md +47 -0
- slicot-1.0.0/LICENSE +30 -0
- slicot-1.0.0/PKG-INFO +78 -0
- slicot-1.0.0/README.md +47 -0
- slicot-1.0.0/include/slicot/ab.h +2840 -0
- slicot-1.0.0/include/slicot/ag.h +282 -0
- slicot-1.0.0/include/slicot/bb.h +312 -0
- slicot-1.0.0/include/slicot/bd.h +166 -0
- slicot-1.0.0/include/slicot/de.h +103 -0
- slicot-1.0.0/include/slicot/df.h +51 -0
- slicot-1.0.0/include/slicot/dg.h +138 -0
- slicot-1.0.0/include/slicot/dk.h +48 -0
- slicot-1.0.0/include/slicot/fb.h +435 -0
- slicot-1.0.0/include/slicot/fd.h +85 -0
- slicot-1.0.0/include/slicot/ib.h +756 -0
- slicot-1.0.0/include/slicot/lapack_aux.h +194 -0
- slicot-1.0.0/include/slicot/ma.h +751 -0
- slicot-1.0.0/include/slicot/mb01.h +1136 -0
- slicot-1.0.0/include/slicot/mb02.h +1629 -0
- slicot-1.0.0/include/slicot/mb03.h +2845 -0
- slicot-1.0.0/include/slicot/mb04.h +2770 -0
- slicot-1.0.0/include/slicot/mb05.h +249 -0
- slicot-1.0.0/include/slicot/mc.h +469 -0
- slicot-1.0.0/include/slicot/md.h +501 -0
- slicot-1.0.0/include/slicot/nf.h +360 -0
- slicot-1.0.0/include/slicot/sb.h +5715 -0
- slicot-1.0.0/include/slicot/sg.h +925 -0
- slicot-1.0.0/include/slicot/tb.h +1392 -0
- slicot-1.0.0/include/slicot/tc.h +209 -0
- slicot-1.0.0/include/slicot/td.h +294 -0
- slicot-1.0.0/include/slicot/tf.h +297 -0
- slicot-1.0.0/include/slicot/tg.h +1684 -0
- slicot-1.0.0/include/slicot/ud.h +201 -0
- slicot-1.0.0/include/slicot/ue.h +44 -0
- slicot-1.0.0/include/slicot.h +43 -0
- slicot-1.0.0/include/slicot_blas.h +1209 -0
- slicot-1.0.0/include/slicot_config.h +8 -0
- slicot-1.0.0/include/slicot_types.h +49 -0
- slicot-1.0.0/meson.build +51 -0
- slicot-1.0.0/meson.options +2 -0
- slicot-1.0.0/pyproject.toml +69 -0
- slicot-1.0.0/python/data/docstrings.h +12553 -0
- slicot-1.0.0/python/data/docstrings.json +580 -0
- slicot-1.0.0/python/meson.build +45 -0
- slicot-1.0.0/python/slicot/__init__.py +4 -0
- slicot-1.0.0/python/slicot/py.typed +0 -0
- slicot-1.0.0/python/slicot_module.c +611 -0
- slicot-1.0.0/python/wrappers/py_ab.c +9518 -0
- slicot-1.0.0/python/wrappers/py_ag.c +864 -0
- slicot-1.0.0/python/wrappers/py_bb.c +862 -0
- slicot-1.0.0/python/wrappers/py_bd.c +384 -0
- slicot-1.0.0/python/wrappers/py_de.c +106 -0
- slicot-1.0.0/python/wrappers/py_df.c +45 -0
- slicot-1.0.0/python/wrappers/py_dg.c +177 -0
- slicot-1.0.0/python/wrappers/py_dk.c +47 -0
- slicot-1.0.0/python/wrappers/py_fb.c +1095 -0
- slicot-1.0.0/python/wrappers/py_fd.c +173 -0
- slicot-1.0.0/python/wrappers/py_ib.c +2211 -0
- slicot-1.0.0/python/wrappers/py_lapack_aux.c +810 -0
- slicot-1.0.0/python/wrappers/py_ma.c +1415 -0
- slicot-1.0.0/python/wrappers/py_mb01.c +2245 -0
- slicot-1.0.0/python/wrappers/py_mb02.c +4072 -0
- slicot-1.0.0/python/wrappers/py_mb03.c +9268 -0
- slicot-1.0.0/python/wrappers/py_mb04.c +9438 -0
- slicot-1.0.0/python/wrappers/py_mb05.c +431 -0
- slicot-1.0.0/python/wrappers/py_mc.c +1180 -0
- slicot-1.0.0/python/wrappers/py_md.c +716 -0
- slicot-1.0.0/python/wrappers/py_nf.c +376 -0
- slicot-1.0.0/python/wrappers/py_sb.c +12140 -0
- slicot-1.0.0/python/wrappers/py_sg.c +2452 -0
- slicot-1.0.0/python/wrappers/py_tb.c +4030 -0
- slicot-1.0.0/python/wrappers/py_tc.c +382 -0
- slicot-1.0.0/python/wrappers/py_td.c +549 -0
- slicot-1.0.0/python/wrappers/py_tf.c +853 -0
- slicot-1.0.0/python/wrappers/py_tg.c +4376 -0
- slicot-1.0.0/python/wrappers/py_ud.c +475 -0
- slicot-1.0.0/python/wrappers/py_ue.c +26 -0
- slicot-1.0.0/python/wrappers/py_wrappers.h +655 -0
- slicot-1.0.0/src/AB/ab01md.c +178 -0
- slicot-1.0.0/src/AB/ab01nd.c +219 -0
- slicot-1.0.0/src/AB/ab01od.c +224 -0
- slicot-1.0.0/src/AB/ab04md.c +122 -0
- slicot-1.0.0/src/AB/ab05md.c +237 -0
- slicot-1.0.0/src/AB/ab05nd.c +275 -0
- slicot-1.0.0/src/AB/ab05od.c +188 -0
- slicot-1.0.0/src/AB/ab05pd.c +187 -0
- slicot-1.0.0/src/AB/ab05qd.c +206 -0
- slicot-1.0.0/src/AB/ab05rd.c +128 -0
- slicot-1.0.0/src/AB/ab05sd.c +163 -0
- slicot-1.0.0/src/AB/ab07md.c +82 -0
- slicot-1.0.0/src/AB/ab07nd.c +129 -0
- slicot-1.0.0/src/AB/ab08md.c +131 -0
- slicot-1.0.0/src/AB/ab08mz.c +129 -0
- slicot-1.0.0/src/AB/ab08nd.c +280 -0
- slicot-1.0.0/src/AB/ab08nw.c +292 -0
- slicot-1.0.0/src/AB/ab08nx.c +254 -0
- slicot-1.0.0/src/AB/ab08ny.c +324 -0
- slicot-1.0.0/src/AB/ab08nz.c +281 -0
- slicot-1.0.0/src/AB/ab09ad.c +129 -0
- slicot-1.0.0/src/AB/ab09ax.c +247 -0
- slicot-1.0.0/src/AB/ab09bd.c +140 -0
- slicot-1.0.0/src/AB/ab09bx.c +276 -0
- slicot-1.0.0/src/AB/ab09cd.c +144 -0
- slicot-1.0.0/src/AB/ab09cx.c +283 -0
- slicot-1.0.0/src/AB/ab09dd.c +103 -0
- slicot-1.0.0/src/AB/ab09ed.c +164 -0
- slicot-1.0.0/src/AB/ab09fd.c +300 -0
- slicot-1.0.0/src/AB/ab09gd.c +299 -0
- slicot-1.0.0/src/AB/ab09hd.c +272 -0
- slicot-1.0.0/src/AB/ab09hx.c +325 -0
- slicot-1.0.0/src/AB/ab09hy.c +205 -0
- slicot-1.0.0/src/AB/ab09id.c +447 -0
- slicot-1.0.0/src/AB/ab09ix.c +267 -0
- slicot-1.0.0/src/AB/ab09iy.c +290 -0
- slicot-1.0.0/src/AB/ab09jd.c +728 -0
- slicot-1.0.0/src/AB/ab09jv.c +591 -0
- slicot-1.0.0/src/AB/ab09jw.c +573 -0
- slicot-1.0.0/src/AB/ab09jx.c +129 -0
- slicot-1.0.0/src/AB/ab09kd.c +348 -0
- slicot-1.0.0/src/AB/ab09kx.c +445 -0
- slicot-1.0.0/src/AB/ab09md.c +177 -0
- slicot-1.0.0/src/AB/ab09nd.c +181 -0
- slicot-1.0.0/src/AB/ab13ad.c +140 -0
- slicot-1.0.0/src/AB/ab13ax.c +132 -0
- slicot-1.0.0/src/AB/ab13bd.c +148 -0
- slicot-1.0.0/src/AB/ab13cd.c +402 -0
- slicot-1.0.0/src/AB/ab13dd.c +1000 -0
- slicot-1.0.0/src/AB/ab13dx.c +279 -0
- slicot-1.0.0/src/AB/ab13ed.c +143 -0
- slicot-1.0.0/src/AB/ab13fd.c +207 -0
- slicot-1.0.0/src/AB/ab13hd.c +143 -0
- slicot-1.0.0/src/AB/ab13id.c +356 -0
- slicot-1.0.0/src/AB/ab13md.c +1373 -0
- slicot-1.0.0/src/AB/ab8nxz.c +246 -0
- slicot-1.0.0/src/AG/ag07bd.c +102 -0
- slicot-1.0.0/src/AG/ag08bd.c +301 -0
- slicot-1.0.0/src/AG/ag08by.c +397 -0
- slicot-1.0.0/src/AG/ag08bz.c +300 -0
- slicot-1.0.0/src/AG/ag8byz.c +402 -0
- slicot-1.0.0/src/BB/bb01ad.c +671 -0
- slicot-1.0.0/src/BB/bb02ad.c +512 -0
- slicot-1.0.0/src/BB/bb03ad.c +306 -0
- slicot-1.0.0/src/BB/bb04ad.c +290 -0
- slicot-1.0.0/src/BD/bd01ad.c +567 -0
- slicot-1.0.0/src/BD/bd02ad.c +412 -0
- slicot-1.0.0/src/DE/de01od.c +96 -0
- slicot-1.0.0/src/DE/de01pd.c +119 -0
- slicot-1.0.0/src/DE/delctg.c +15 -0
- slicot-1.0.0/src/DE/zelctg.c +14 -0
- slicot-1.0.0/src/DF/df01md.c +126 -0
- slicot-1.0.0/src/DG/dg01md.c +87 -0
- slicot-1.0.0/src/DG/dg01nd.c +43 -0
- slicot-1.0.0/src/DG/dg01ny.c +62 -0
- slicot-1.0.0/src/DG/dg01od.c +218 -0
- slicot-1.0.0/src/DK/dk01md.c +56 -0
- slicot-1.0.0/src/FB/fb01qd.c +181 -0
- slicot-1.0.0/src/FB/fb01rd.c +214 -0
- slicot-1.0.0/src/FB/fb01sd.c +233 -0
- slicot-1.0.0/src/FB/fb01td.c +220 -0
- slicot-1.0.0/src/FB/fb01vd.c +138 -0
- slicot-1.0.0/src/FD/fd01ad.c +95 -0
- slicot-1.0.0/src/IB/.gitkeep +0 -0
- slicot-1.0.0/src/IB/ib01ad.c +225 -0
- slicot-1.0.0/src/IB/ib01bd.c +370 -0
- slicot-1.0.0/src/IB/ib01cd.c +357 -0
- slicot-1.0.0/src/IB/ib01md.c +810 -0
- slicot-1.0.0/src/IB/ib01my.c +684 -0
- slicot-1.0.0/src/IB/ib01nd.c +458 -0
- slicot-1.0.0/src/IB/ib01od.c +91 -0
- slicot-1.0.0/src/IB/ib01oy.c +37 -0
- slicot-1.0.0/src/IB/ib01pd.c +554 -0
- slicot-1.0.0/src/IB/ib01px.c +157 -0
- slicot-1.0.0/src/IB/ib01py.c +231 -0
- slicot-1.0.0/src/IB/ib01qd.c +626 -0
- slicot-1.0.0/src/IB/ib01rd.c +494 -0
- slicot-1.0.0/src/IB/ib03ad.c +418 -0
- slicot-1.0.0/src/IB/ib03bd.c +581 -0
- slicot-1.0.0/src/MA/.gitkeep +0 -0
- slicot-1.0.0/src/MA/ma01ad.c +25 -0
- slicot-1.0.0/src/MA/ma01bd.c +60 -0
- slicot-1.0.0/src/MA/ma01bz.c +51 -0
- slicot-1.0.0/src/MA/ma01cd.c +45 -0
- slicot-1.0.0/src/MA/ma01dd.c +65 -0
- slicot-1.0.0/src/MA/ma01dz.c +156 -0
- slicot-1.0.0/src/MA/ma02ad.c +44 -0
- slicot-1.0.0/src/MA/ma02az.c +63 -0
- slicot-1.0.0/src/MA/ma02bd.c +32 -0
- slicot-1.0.0/src/MA/ma02bz.c +32 -0
- slicot-1.0.0/src/MA/ma02cd.c +51 -0
- slicot-1.0.0/src/MA/ma02cz.c +51 -0
- slicot-1.0.0/src/MA/ma02dd.c +59 -0
- slicot-1.0.0/src/MA/ma02ed.c +32 -0
- slicot-1.0.0/src/MA/ma02es.c +29 -0
- slicot-1.0.0/src/MA/ma02ez.c +94 -0
- slicot-1.0.0/src/MA/ma02fd.c +22 -0
- slicot-1.0.0/src/MA/ma02gd.c +57 -0
- slicot-1.0.0/src/MA/ma02gz.c +57 -0
- slicot-1.0.0/src/MA/ma02hd.c +72 -0
- slicot-1.0.0/src/MA/ma02hz.c +72 -0
- slicot-1.0.0/src/MA/ma02id.c +194 -0
- slicot-1.0.0/src/MA/ma02iz.c +262 -0
- slicot-1.0.0/src/MA/ma02jd.c +74 -0
- slicot-1.0.0/src/MA/ma02jz.c +74 -0
- slicot-1.0.0/src/MA/ma02md.c +92 -0
- slicot-1.0.0/src/MA/ma02mz.c +108 -0
- slicot-1.0.0/src/MA/ma02nz.c +111 -0
- slicot-1.0.0/src/MA/ma02od.c +98 -0
- slicot-1.0.0/src/MA/ma02oz.c +111 -0
- slicot-1.0.0/src/MA/ma02pd.c +53 -0
- slicot-1.0.0/src/MA/ma02pz.c +53 -0
- slicot-1.0.0/src/MA/ma02rd.c +179 -0
- slicot-1.0.0/src/MA/ma02sd.c +30 -0
- slicot-1.0.0/src/MB/mb01kd.c +167 -0
- slicot-1.0.0/src/MB/mb01ld.c +226 -0
- slicot-1.0.0/src/MB/mb01md.c +151 -0
- slicot-1.0.0/src/MB/mb01nd.c +118 -0
- slicot-1.0.0/src/MB/mb01oc.c +225 -0
- slicot-1.0.0/src/MB/mb01od.c +199 -0
- slicot-1.0.0/src/MB/mb01oe.c +233 -0
- slicot-1.0.0/src/MB/mb01oh.c +234 -0
- slicot-1.0.0/src/MB/mb01oo.c +60 -0
- slicot-1.0.0/src/MB/mb01os.c +192 -0
- slicot-1.0.0/src/MB/mb01ot.c +138 -0
- slicot-1.0.0/src/MB/mb01pd.c +119 -0
- slicot-1.0.0/src/MB/mb01qd.c +183 -0
- slicot-1.0.0/src/MB/mb01rb.c +234 -0
- slicot-1.0.0/src/MB/mb01rd.c +169 -0
- slicot-1.0.0/src/MB/mb01rh.c +246 -0
- slicot-1.0.0/src/MB/mb01rt.c +107 -0
- slicot-1.0.0/src/MB/mb01ru.c +78 -0
- slicot-1.0.0/src/MB/mb01rw.c +185 -0
- slicot-1.0.0/src/MB/mb01rx.c +187 -0
- slicot-1.0.0/src/MB/mb01ry.c +194 -0
- slicot-1.0.0/src/MB/mb01sd.c +40 -0
- slicot-1.0.0/src/MB/mb01ss.c +54 -0
- slicot-1.0.0/src/MB/mb01td.c +65 -0
- slicot-1.0.0/src/MB/mb01ud.c +100 -0
- slicot-1.0.0/src/MB/mb01uw.c +210 -0
- slicot-1.0.0/src/MB/mb01ux.c +201 -0
- slicot-1.0.0/src/MB/mb01uy.c +159 -0
- slicot-1.0.0/src/MB/mb01uz.c +322 -0
- slicot-1.0.0/src/MB/mb01vd.c +143 -0
- slicot-1.0.0/src/MB/mb01wd.c +142 -0
- slicot-1.0.0/src/MB/mb01xd.c +100 -0
- slicot-1.0.0/src/MB/mb01xy.c +83 -0
- slicot-1.0.0/src/MB/mb01yd.c +151 -0
- slicot-1.0.0/src/MB/mb01zd.c +245 -0
- slicot-1.0.0/src/MB/mb02cd.c +299 -0
- slicot-1.0.0/src/MB/mb02cu.c +713 -0
- slicot-1.0.0/src/MB/mb02cv.c +508 -0
- slicot-1.0.0/src/MB/mb02cx.c +152 -0
- slicot-1.0.0/src/MB/mb02cy.c +188 -0
- slicot-1.0.0/src/MB/mb02dd.c +240 -0
- slicot-1.0.0/src/MB/mb02ed.c +200 -0
- slicot-1.0.0/src/MB/mb02fd.c +200 -0
- slicot-1.0.0/src/MB/mb02gd.c +361 -0
- slicot-1.0.0/src/MB/mb02hd.c +374 -0
- slicot-1.0.0/src/MB/mb02id.c +373 -0
- slicot-1.0.0/src/MB/mb02jd.c +391 -0
- slicot-1.0.0/src/MB/mb02jx.c +497 -0
- slicot-1.0.0/src/MB/mb02kd.c +589 -0
- slicot-1.0.0/src/MB/mb02md.c +253 -0
- slicot-1.0.0/src/MB/mb02nd.c +425 -0
- slicot-1.0.0/src/MB/mb02ny.c +89 -0
- slicot-1.0.0/src/MB/mb02od.c +90 -0
- slicot-1.0.0/src/MB/mb02pd.c +125 -0
- slicot-1.0.0/src/MB/mb02qd.c +241 -0
- slicot-1.0.0/src/MB/mb02qy.c +138 -0
- slicot-1.0.0/src/MB/mb02rd.c +64 -0
- slicot-1.0.0/src/MB/mb02rz.c +80 -0
- slicot-1.0.0/src/MB/mb02sd.c +55 -0
- slicot-1.0.0/src/MB/mb02sz.c +63 -0
- slicot-1.0.0/src/MB/mb02td.c +102 -0
- slicot-1.0.0/src/MB/mb02tz.c +103 -0
- slicot-1.0.0/src/MB/mb02ud.c +271 -0
- slicot-1.0.0/src/MB/mb02uu.c +77 -0
- slicot-1.0.0/src/MB/mb02uv.c +128 -0
- slicot-1.0.0/src/MB/mb02uw.c +187 -0
- slicot-1.0.0/src/MB/mb02vd.c +70 -0
- slicot-1.0.0/src/MB/mb02wd.c +156 -0
- slicot-1.0.0/src/MB/mb02xd.c +141 -0
- slicot-1.0.0/src/MB/mb02yd.c +182 -0
- slicot-1.0.0/src/MB/mb03ab.c +163 -0
- slicot-1.0.0/src/MB/mb03ad.c +150 -0
- slicot-1.0.0/src/MB/mb03ae.c +174 -0
- slicot-1.0.0/src/MB/mb03af.c +257 -0
- slicot-1.0.0/src/MB/mb03ag.c +204 -0
- slicot-1.0.0/src/MB/mb03ah.c +173 -0
- slicot-1.0.0/src/MB/mb03ai.c +142 -0
- slicot-1.0.0/src/MB/mb03ba.c +51 -0
- slicot-1.0.0/src/MB/mb03bb.c +495 -0
- slicot-1.0.0/src/MB/mb03bc.c +267 -0
- slicot-1.0.0/src/MB/mb03bd.c +1346 -0
- slicot-1.0.0/src/MB/mb03be.c +75 -0
- slicot-1.0.0/src/MB/mb03bf.c +84 -0
- slicot-1.0.0/src/MB/mb03bg.c +60 -0
- slicot-1.0.0/src/MB/mb03bz.c +934 -0
- slicot-1.0.0/src/MB/mb03cd.c +354 -0
- slicot-1.0.0/src/MB/mb03cz.c +28 -0
- slicot-1.0.0/src/MB/mb03dd.c +451 -0
- slicot-1.0.0/src/MB/mb03dz.c +21 -0
- slicot-1.0.0/src/MB/mb03ed.c +208 -0
- slicot-1.0.0/src/MB/mb03fd.c +141 -0
- slicot-1.0.0/src/MB/mb03fz.c +830 -0
- slicot-1.0.0/src/MB/mb03gd.c +208 -0
- slicot-1.0.0/src/MB/mb03gz.c +21 -0
- slicot-1.0.0/src/MB/mb03hd.c +130 -0
- slicot-1.0.0/src/MB/mb03hz.c +14 -0
- slicot-1.0.0/src/MB/mb03id.c +1008 -0
- slicot-1.0.0/src/MB/mb03iz.c +367 -0
- slicot-1.0.0/src/MB/mb03jd.c +862 -0
- slicot-1.0.0/src/MB/mb03jp.c +837 -0
- slicot-1.0.0/src/MB/mb03jz.c +290 -0
- slicot-1.0.0/src/MB/mb03ka.c +340 -0
- slicot-1.0.0/src/MB/mb03kb.c +1230 -0
- slicot-1.0.0/src/MB/mb03kc.c +111 -0
- slicot-1.0.0/src/MB/mb03kd.c +278 -0
- slicot-1.0.0/src/MB/mb03ke.c +581 -0
- slicot-1.0.0/src/MB/mb03ld.c +348 -0
- slicot-1.0.0/src/MB/mb03lf.c +596 -0
- slicot-1.0.0/src/MB/mb03lp.c +408 -0
- slicot-1.0.0/src/MB/mb03lz.c +596 -0
- slicot-1.0.0/src/MB/mb03md.c +111 -0
- slicot-1.0.0/src/MB/mb03my.c +21 -0
- slicot-1.0.0/src/MB/mb03nd.c +53 -0
- slicot-1.0.0/src/MB/mb03ny.c +110 -0
- slicot-1.0.0/src/MB/mb03od.c +148 -0
- slicot-1.0.0/src/MB/mb03oy.c +194 -0
- slicot-1.0.0/src/MB/mb03pd.c +111 -0
- slicot-1.0.0/src/MB/mb03py.c +190 -0
- slicot-1.0.0/src/MB/mb03qd.c +153 -0
- slicot-1.0.0/src/MB/mb03qg.c +179 -0
- slicot-1.0.0/src/MB/mb03qv.c +74 -0
- slicot-1.0.0/src/MB/mb03qw.c +63 -0
- slicot-1.0.0/src/MB/mb03qx.c +64 -0
- slicot-1.0.0/src/MB/mb03qy.c +73 -0
- slicot-1.0.0/src/MB/mb03rd.c +282 -0
- slicot-1.0.0/src/MB/mb03rw.c +87 -0
- slicot-1.0.0/src/MB/mb03rx.c +77 -0
- slicot-1.0.0/src/MB/mb03ry.c +106 -0
- slicot-1.0.0/src/MB/mb03rz.c +208 -0
- slicot-1.0.0/src/MB/mb03sd.c +141 -0
- slicot-1.0.0/src/MB/mb03td.c +331 -0
- slicot-1.0.0/src/MB/mb03ts.c +516 -0
- slicot-1.0.0/src/MB/mb03ud.c +172 -0
- slicot-1.0.0/src/MB/mb03vd.c +88 -0
- slicot-1.0.0/src/MB/mb03vw.c +497 -0
- slicot-1.0.0/src/MB/mb03vy.c +100 -0
- slicot-1.0.0/src/MB/mb03wa.c +281 -0
- slicot-1.0.0/src/MB/mb03wd.c +641 -0
- slicot-1.0.0/src/MB/mb03wx.c +102 -0
- slicot-1.0.0/src/MB/mb03xd.c +510 -0
- slicot-1.0.0/src/MB/mb03xp.c +105 -0
- slicot-1.0.0/src/MB/mb03xs.c +268 -0
- slicot-1.0.0/src/MB/mb03xu.c +894 -0
- slicot-1.0.0/src/MB/mb03xz.c +490 -0
- slicot-1.0.0/src/MB/mb03ya.c +112 -0
- slicot-1.0.0/src/MB/mb03yd.c +285 -0
- slicot-1.0.0/src/MB/mb03yt.c +167 -0
- slicot-1.0.0/src/MB/mb03za.c +1083 -0
- slicot-1.0.0/src/MB/mb03zd.c +697 -0
- slicot-1.0.0/src/MB/mb04ad.c +881 -0
- slicot-1.0.0/src/MB/mb04az.c +620 -0
- slicot-1.0.0/src/MB/mb04bd.c +829 -0
- slicot-1.0.0/src/MB/mb04bp.c +1075 -0
- slicot-1.0.0/src/MB/mb04bz.c +561 -0
- slicot-1.0.0/src/MB/mb04cd.c +1746 -0
- slicot-1.0.0/src/MB/mb04db.c +85 -0
- slicot-1.0.0/src/MB/mb04dd.c +324 -0
- slicot-1.0.0/src/MB/mb04di.c +84 -0
- slicot-1.0.0/src/MB/mb04dl.c +663 -0
- slicot-1.0.0/src/MB/mb04dp.c +936 -0
- slicot-1.0.0/src/MB/mb04ds.c +380 -0
- slicot-1.0.0/src/MB/mb04dy.c +132 -0
- slicot-1.0.0/src/MB/mb04dz.c +337 -0
- slicot-1.0.0/src/MB/mb04ed.c +806 -0
- slicot-1.0.0/src/MB/mb04fd.c +653 -0
- slicot-1.0.0/src/MB/mb04fp.c +814 -0
- slicot-1.0.0/src/MB/mb04gd.c +127 -0
- slicot-1.0.0/src/MB/mb04hd.c +1210 -0
- slicot-1.0.0/src/MB/mb04id.c +154 -0
- slicot-1.0.0/src/MB/mb04iy.c +198 -0
- slicot-1.0.0/src/MB/mb04iz.c +147 -0
- slicot-1.0.0/src/MB/mb04jd.c +105 -0
- slicot-1.0.0/src/MB/mb04kd.c +89 -0
- slicot-1.0.0/src/MB/mb04ld.c +71 -0
- slicot-1.0.0/src/MB/mb04md.c +195 -0
- slicot-1.0.0/src/MB/mb04nd.c +54 -0
- slicot-1.0.0/src/MB/mb04ny.c +301 -0
- slicot-1.0.0/src/MB/mb04od.c +63 -0
- slicot-1.0.0/src/MB/mb04ow.c +175 -0
- slicot-1.0.0/src/MB/mb04ox.c +38 -0
- slicot-1.0.0/src/MB/mb04oy.c +260 -0
- slicot-1.0.0/src/MB/mb04pa.c +790 -0
- slicot-1.0.0/src/MB/mb04pb.c +27 -0
- slicot-1.0.0/src/MB/mb04pu.c +163 -0
- slicot-1.0.0/src/MB/mb04py.c +495 -0
- slicot-1.0.0/src/MB/mb04qb.c +242 -0
- slicot-1.0.0/src/MB/mb04qc.c +734 -0
- slicot-1.0.0/src/MB/mb04qf.c +263 -0
- slicot-1.0.0/src/MB/mb04qs.c +110 -0
- slicot-1.0.0/src/MB/mb04qu.c +215 -0
- slicot-1.0.0/src/MB/mb04rb.c +80 -0
- slicot-1.0.0/src/MB/mb04rd.c +555 -0
- slicot-1.0.0/src/MB/mb04rs.c +458 -0
- slicot-1.0.0/src/MB/mb04rt.c +154 -0
- slicot-1.0.0/src/MB/mb04ru.c +146 -0
- slicot-1.0.0/src/MB/mb04rv.c +127 -0
- slicot-1.0.0/src/MB/mb04rw.c +172 -0
- slicot-1.0.0/src/MB/mb04rz.c +438 -0
- slicot-1.0.0/src/MB/mb04su.c +87 -0
- slicot-1.0.0/src/MB/mb04tb.c +89 -0
- slicot-1.0.0/src/MB/mb04ts.c +285 -0
- slicot-1.0.0/src/MB/mb04tt.c +151 -0
- slicot-1.0.0/src/MB/mb04tu.c +34 -0
- slicot-1.0.0/src/MB/mb04tv.c +63 -0
- slicot-1.0.0/src/MB/mb04tw.c +62 -0
- slicot-1.0.0/src/MB/mb04tx.c +198 -0
- slicot-1.0.0/src/MB/mb04ty.c +64 -0
- slicot-1.0.0/src/MB/mb04ud.c +142 -0
- slicot-1.0.0/src/MB/mb04vd.c +204 -0
- slicot-1.0.0/src/MB/mb04vx.c +189 -0
- slicot-1.0.0/src/MB/mb04wd.c +204 -0
- slicot-1.0.0/src/MB/mb04wp.c +106 -0
- slicot-1.0.0/src/MB/mb04wr.c +195 -0
- slicot-1.0.0/src/MB/mb04wu.c +222 -0
- slicot-1.0.0/src/MB/mb04xd.c +256 -0
- slicot-1.0.0/src/MB/mb04xy.c +113 -0
- slicot-1.0.0/src/MB/mb04yd.c +330 -0
- slicot-1.0.0/src/MB/mb04yw.c +318 -0
- slicot-1.0.0/src/MB/mb04zd.c +360 -0
- slicot-1.0.0/src/MB/mb05md.c +145 -0
- slicot-1.0.0/src/MB/mb05my.c +181 -0
- slicot-1.0.0/src/MB/mb05nd.c +189 -0
- slicot-1.0.0/src/MB/mb05od.c +373 -0
- slicot-1.0.0/src/MB/mb05oy.c +79 -0
- slicot-1.0.0/src/MB/mb3jzp.c +562 -0
- slicot-1.0.0/src/MB/mb3lzp.c +545 -0
- slicot-1.0.0/src/MB/mb3oyz.c +178 -0
- slicot-1.0.0/src/MB/mb3pyz.c +173 -0
- slicot-1.0.0/src/MB/mb4dbz.c +85 -0
- slicot-1.0.0/src/MB/mb4dlz.c +665 -0
- slicot-1.0.0/src/MB/mb4dpz.c +994 -0
- slicot-1.0.0/src/MC/mc01md.c +37 -0
- slicot-1.0.0/src/MC/mc01nd.c +40 -0
- slicot-1.0.0/src/MC/mc01od.c +62 -0
- slicot-1.0.0/src/MC/mc01pd.c +58 -0
- slicot-1.0.0/src/MC/mc01py.c +61 -0
- slicot-1.0.0/src/MC/mc01qd.c +51 -0
- slicot-1.0.0/src/MC/mc01rd.c +107 -0
- slicot-1.0.0/src/MC/mc01sd.c +117 -0
- slicot-1.0.0/src/MC/mc01sw.c +38 -0
- slicot-1.0.0/src/MC/mc01sx.c +22 -0
- slicot-1.0.0/src/MC/mc01sy.c +63 -0
- slicot-1.0.0/src/MC/mc01td.c +136 -0
- slicot-1.0.0/src/MC/mc01vd.c +206 -0
- slicot-1.0.0/src/MC/mc01wd.c +41 -0
- slicot-1.0.0/src/MC/mc01xd.c +219 -0
- slicot-1.0.0/src/MC/mc03md.c +146 -0
- slicot-1.0.0/src/MC/mc03nd.c +164 -0
- slicot-1.0.0/src/MC/mc03nx.c +42 -0
- slicot-1.0.0/src/MC/mc03ny.c +174 -0
- slicot-1.0.0/src/MD/.gitkeep +0 -0
- slicot-1.0.0/src/MD/md03ad.c +428 -0
- slicot-1.0.0/src/MD/md03ba.c +43 -0
- slicot-1.0.0/src/MD/md03bb.c +49 -0
- slicot-1.0.0/src/MD/md03bd.c +476 -0
- slicot-1.0.0/src/MD/md03bf.c +60 -0
- slicot-1.0.0/src/MD/md03bx.c +117 -0
- slicot-1.0.0/src/MD/md03by.c +306 -0
- slicot-1.0.0/src/NF/.gitkeep +0 -0
- slicot-1.0.0/src/NF/nf01ad.c +119 -0
- slicot-1.0.0/src/NF/nf01ay.c +217 -0
- slicot-1.0.0/src/NF/nf01ba.c +72 -0
- slicot-1.0.0/src/NF/nf01bb.c +88 -0
- slicot-1.0.0/src/NF/nf01bd.c +236 -0
- slicot-1.0.0/src/NF/nf01be.c +192 -0
- slicot-1.0.0/src/NF/nf01bf.c +147 -0
- slicot-1.0.0/src/NF/nf01bp.c +297 -0
- slicot-1.0.0/src/NF/nf01bq.c +265 -0
- slicot-1.0.0/src/NF/nf01br.c +572 -0
- slicot-1.0.0/src/NF/nf01bs.c +338 -0
- slicot-1.0.0/src/NF/nf01bu.c +207 -0
- slicot-1.0.0/src/NF/nf01bv.c +115 -0
- slicot-1.0.0/src/NF/nf01bw.c +101 -0
- slicot-1.0.0/src/NF/nf01bx.c +62 -0
- slicot-1.0.0/src/NF/nf01by.c +143 -0
- slicot-1.0.0/src/SB/.gitkeep +0 -0
- slicot-1.0.0/src/SB/sb01bd.c +439 -0
- slicot-1.0.0/src/SB/sb01bx.c +76 -0
- slicot-1.0.0/src/SB/sb01by.c +202 -0
- slicot-1.0.0/src/SB/sb01dd.c +489 -0
- slicot-1.0.0/src/SB/sb01fy.c +172 -0
- slicot-1.0.0/src/SB/sb01md.c +300 -0
- slicot-1.0.0/src/SB/sb02cx.c +21 -0
- slicot-1.0.0/src/SB/sb02md.c +259 -0
- slicot-1.0.0/src/SB/sb02mr.c +15 -0
- slicot-1.0.0/src/SB/sb02ms.c +15 -0
- slicot-1.0.0/src/SB/sb02mt.c +228 -0
- slicot-1.0.0/src/SB/sb02mu.c +244 -0
- slicot-1.0.0/src/SB/sb02mv.c +15 -0
- slicot-1.0.0/src/SB/sb02mw.c +15 -0
- slicot-1.0.0/src/SB/sb02mx.c +285 -0
- slicot-1.0.0/src/SB/sb02nd.c +388 -0
- slicot-1.0.0/src/SB/sb02od.c +445 -0
- slicot-1.0.0/src/SB/sb02ou.c +16 -0
- slicot-1.0.0/src/SB/sb02ov.c +18 -0
- slicot-1.0.0/src/SB/sb02ow.c +16 -0
- slicot-1.0.0/src/SB/sb02ox.c +18 -0
- slicot-1.0.0/src/SB/sb02oy.c +433 -0
- slicot-1.0.0/src/SB/sb02pd.c +470 -0
- slicot-1.0.0/src/SB/sb02qd.c +463 -0
- slicot-1.0.0/src/SB/sb02rd.c +344 -0
- slicot-1.0.0/src/SB/sb02ru.c +244 -0
- slicot-1.0.0/src/SB/sb02sd.c +403 -0
- slicot-1.0.0/src/SB/sb03md.c +249 -0
- slicot-1.0.0/src/SB/sb03mu.c +323 -0
- slicot-1.0.0/src/SB/sb03mv.c +163 -0
- slicot-1.0.0/src/SB/sb03mw.c +155 -0
- slicot-1.0.0/src/SB/sb03mx.c +602 -0
- slicot-1.0.0/src/SB/sb03my.c +484 -0
- slicot-1.0.0/src/SB/sb03od.c +509 -0
- slicot-1.0.0/src/SB/sb03or.c +267 -0
- slicot-1.0.0/src/SB/sb03os.c +362 -0
- slicot-1.0.0/src/SB/sb03ot.c +642 -0
- slicot-1.0.0/src/SB/sb03ou.c +118 -0
- slicot-1.0.0/src/SB/sb03ov.c +38 -0
- slicot-1.0.0/src/SB/sb03oy.c +457 -0
- slicot-1.0.0/src/SB/sb03oz.c +497 -0
- slicot-1.0.0/src/SB/sb03pd.c +173 -0
- slicot-1.0.0/src/SB/sb03qd.c +407 -0
- slicot-1.0.0/src/SB/sb03qx.c +203 -0
- slicot-1.0.0/src/SB/sb03qy.c +224 -0
- slicot-1.0.0/src/SB/sb03rd.c +188 -0
- slicot-1.0.0/src/SB/sb03sd.c +394 -0
- slicot-1.0.0/src/SB/sb03sx.c +162 -0
- slicot-1.0.0/src/SB/sb03sy.c +193 -0
- slicot-1.0.0/src/SB/sb03td.c +198 -0
- slicot-1.0.0/src/SB/sb03ud.c +208 -0
- slicot-1.0.0/src/SB/sb04md.c +194 -0
- slicot-1.0.0/src/SB/sb04mr.c +123 -0
- slicot-1.0.0/src/SB/sb04mu.c +79 -0
- slicot-1.0.0/src/SB/sb04mw.c +98 -0
- slicot-1.0.0/src/SB/sb04my.c +57 -0
- slicot-1.0.0/src/SB/sb04nd.c +221 -0
- slicot-1.0.0/src/SB/sb04nv.c +78 -0
- slicot-1.0.0/src/SB/sb04nw.c +68 -0
- slicot-1.0.0/src/SB/sb04nx.c +200 -0
- slicot-1.0.0/src/SB/sb04ny.c +127 -0
- slicot-1.0.0/src/SB/sb04od.c +516 -0
- slicot-1.0.0/src/SB/sb04ow.c +357 -0
- slicot-1.0.0/src/SB/sb04pd.c +381 -0
- slicot-1.0.0/src/SB/sb04px.c +410 -0
- slicot-1.0.0/src/SB/sb04py.c +1356 -0
- slicot-1.0.0/src/SB/sb04qd.c +209 -0
- slicot-1.0.0/src/SB/sb04qr.c +123 -0
- slicot-1.0.0/src/SB/sb04qu.c +105 -0
- slicot-1.0.0/src/SB/sb04qy.c +76 -0
- slicot-1.0.0/src/SB/sb04rd.c +211 -0
- slicot-1.0.0/src/SB/sb04rv.c +115 -0
- slicot-1.0.0/src/SB/sb04rw.c +93 -0
- slicot-1.0.0/src/SB/sb04rx.c +280 -0
- slicot-1.0.0/src/SB/sb04ry.c +182 -0
- slicot-1.0.0/src/SB/sb06nd.c +197 -0
- slicot-1.0.0/src/SB/sb08cd.c +138 -0
- slicot-1.0.0/src/SB/sb08dd.c +293 -0
- slicot-1.0.0/src/SB/sb08ed.c +134 -0
- slicot-1.0.0/src/SB/sb08fd.c +332 -0
- slicot-1.0.0/src/SB/sb08gd.c +99 -0
- slicot-1.0.0/src/SB/sb08hd.c +122 -0
- slicot-1.0.0/src/SB/sb08md.c +239 -0
- slicot-1.0.0/src/SB/sb08my.c +59 -0
- slicot-1.0.0/src/SB/sb08nd.c +181 -0
- slicot-1.0.0/src/SB/sb08ny.c +40 -0
- slicot-1.0.0/src/SB/sb09md.c +116 -0
- slicot-1.0.0/src/SB/sb10ad.c +454 -0
- slicot-1.0.0/src/SB/sb10dd.c +567 -0
- slicot-1.0.0/src/SB/sb10ed.c +229 -0
- slicot-1.0.0/src/SB/sb10fd.c +230 -0
- slicot-1.0.0/src/SB/sb10hd.c +176 -0
- slicot-1.0.0/src/SB/sb10id.c +335 -0
- slicot-1.0.0/src/SB/sb10jd.c +211 -0
- slicot-1.0.0/src/SB/sb10kd.c +452 -0
- slicot-1.0.0/src/SB/sb10ld.c +228 -0
- slicot-1.0.0/src/SB/sb10md.c +318 -0
- slicot-1.0.0/src/SB/sb10pd.c +313 -0
- slicot-1.0.0/src/SB/sb10qd.c +296 -0
- slicot-1.0.0/src/SB/sb10rd.c +423 -0
- slicot-1.0.0/src/SB/sb10sd.c +326 -0
- slicot-1.0.0/src/SB/sb10td.c +164 -0
- slicot-1.0.0/src/SB/sb10ud.c +221 -0
- slicot-1.0.0/src/SB/sb10vd.c +174 -0
- slicot-1.0.0/src/SB/sb10wd.c +144 -0
- slicot-1.0.0/src/SB/sb10yd.c +425 -0
- slicot-1.0.0/src/SB/sb10zd.c +597 -0
- slicot-1.0.0/src/SB/sb10zp.c +185 -0
- slicot-1.0.0/src/SB/sb16ad.c +258 -0
- slicot-1.0.0/src/SB/sb16ay.c +415 -0
- slicot-1.0.0/src/SB/sb16bd.c +242 -0
- slicot-1.0.0/src/SB/sb16cd.c +156 -0
- slicot-1.0.0/src/SB/sb16cy.c +187 -0
- slicot-1.0.0/src/SG/sg02ad.c +461 -0
- slicot-1.0.0/src/SG/sg02cv.c +225 -0
- slicot-1.0.0/src/SG/sg02cw.c +1642 -0
- slicot-1.0.0/src/SG/sg02cx.c +385 -0
- slicot-1.0.0/src/SG/sg02nd.c +585 -0
- slicot-1.0.0/src/SG/sg03ad.c +305 -0
- slicot-1.0.0/src/SG/sg03ax.c +506 -0
- slicot-1.0.0/src/SG/sg03ay.c +546 -0
- slicot-1.0.0/src/SG/sg03bd.c +537 -0
- slicot-1.0.0/src/SG/sg03br.c +127 -0
- slicot-1.0.0/src/SG/sg03bs.c +301 -0
- slicot-1.0.0/src/SG/sg03bt.c +253 -0
- slicot-1.0.0/src/SG/sg03bu.c +378 -0
- slicot-1.0.0/src/SG/sg03bv.c +326 -0
- slicot-1.0.0/src/SG/sg03bw.c +216 -0
- slicot-1.0.0/src/SG/sg03bx.c +580 -0
- slicot-1.0.0/src/SG/sg03by.c +40 -0
- slicot-1.0.0/src/SG/sg03bz.c +453 -0
- slicot-1.0.0/src/TB/.gitkeep +0 -0
- slicot-1.0.0/src/TB/tb01id.c +228 -0
- slicot-1.0.0/src/TB/tb01iz.c +205 -0
- slicot-1.0.0/src/TB/tb01kd.c +127 -0
- slicot-1.0.0/src/TB/tb01kx.c +114 -0
- slicot-1.0.0/src/TB/tb01ld.c +143 -0
- slicot-1.0.0/src/TB/tb01md.c +138 -0
- slicot-1.0.0/src/TB/tb01nd.c +184 -0
- slicot-1.0.0/src/TB/tb01pd.c +135 -0
- slicot-1.0.0/src/TB/tb01px.c +229 -0
- slicot-1.0.0/src/TB/tb01td.c +128 -0
- slicot-1.0.0/src/TB/tb01ty.c +83 -0
- slicot-1.0.0/src/TB/tb01ud.c +206 -0
- slicot-1.0.0/src/TB/tb01ux.c +88 -0
- slicot-1.0.0/src/TB/tb01uy.c +330 -0
- slicot-1.0.0/src/TB/tb01vd.c +252 -0
- slicot-1.0.0/src/TB/tb01vy.c +140 -0
- slicot-1.0.0/src/TB/tb01wd.c +136 -0
- slicot-1.0.0/src/TB/tb01wx.c +179 -0
- slicot-1.0.0/src/TB/tb01xd.c +121 -0
- slicot-1.0.0/src/TB/tb01xz.c +119 -0
- slicot-1.0.0/src/TB/tb01yd.c +62 -0
- slicot-1.0.0/src/TB/tb01zd.c +188 -0
- slicot-1.0.0/src/TB/tb03ad.c +367 -0
- slicot-1.0.0/src/TB/tb03ay.c +101 -0
- slicot-1.0.0/src/TB/tb04ad.c +127 -0
- slicot-1.0.0/src/TB/tb04ay.c +152 -0
- slicot-1.0.0/src/TB/tb04bd.c +267 -0
- slicot-1.0.0/src/TB/tb04bv.c +170 -0
- slicot-1.0.0/src/TB/tb04bw.c +127 -0
- slicot-1.0.0/src/TB/tb04bx.c +84 -0
- slicot-1.0.0/src/TB/tb04cd.c +246 -0
- slicot-1.0.0/src/TB/tb05ad.c +271 -0
- slicot-1.0.0/src/TC/tc01od.c +100 -0
- slicot-1.0.0/src/TC/tc04ad.c +225 -0
- slicot-1.0.0/src/TC/tc05ad.c +169 -0
- slicot-1.0.0/src/TD/td03ad.c +258 -0
- slicot-1.0.0/src/TD/td03ay.c +119 -0
- slicot-1.0.0/src/TD/td04ad.c +178 -0
- slicot-1.0.0/src/TD/td05ad.c +168 -0
- slicot-1.0.0/src/TF/tf01md.c +84 -0
- slicot-1.0.0/src/TF/tf01mx.c +236 -0
- slicot-1.0.0/src/TF/tf01my.c +195 -0
- slicot-1.0.0/src/TF/tf01nd.c +102 -0
- slicot-1.0.0/src/TF/tf01od.c +61 -0
- slicot-1.0.0/src/TF/tf01pd.c +61 -0
- slicot-1.0.0/src/TF/tf01qd.c +73 -0
- slicot-1.0.0/src/TF/tf01rd.c +73 -0
- slicot-1.0.0/src/TG/tg01ad.c +430 -0
- slicot-1.0.0/src/TG/tg01az.c +374 -0
- slicot-1.0.0/src/TG/tg01bd.c +193 -0
- slicot-1.0.0/src/TG/tg01cd.c +103 -0
- slicot-1.0.0/src/TG/tg01dd.c +117 -0
- slicot-1.0.0/src/TG/tg01ed.c +401 -0
- slicot-1.0.0/src/TG/tg01fd.c +338 -0
- slicot-1.0.0/src/TG/tg01fz.c +342 -0
- slicot-1.0.0/src/TG/tg01gd.c +180 -0
- slicot-1.0.0/src/TG/tg01hd.c +149 -0
- slicot-1.0.0/src/TG/tg01hu.c +484 -0
- slicot-1.0.0/src/TG/tg01hx.c +347 -0
- slicot-1.0.0/src/TG/tg01hy.c +551 -0
- slicot-1.0.0/src/TG/tg01id.c +244 -0
- slicot-1.0.0/src/TG/tg01jd.c +299 -0
- slicot-1.0.0/src/TG/tg01jy.c +610 -0
- slicot-1.0.0/src/TG/tg01kd.c +155 -0
- slicot-1.0.0/src/TG/tg01kz.c +156 -0
- slicot-1.0.0/src/TG/tg01ld.c +269 -0
- slicot-1.0.0/src/TG/tg01ly.c +442 -0
- slicot-1.0.0/src/TG/tg01md.c +166 -0
- slicot-1.0.0/src/TG/tg01nd.c +175 -0
- slicot-1.0.0/src/TG/tg01nx.c +124 -0
- slicot-1.0.0/src/TG/tg01oa.c +85 -0
- slicot-1.0.0/src/TG/tg01ob.c +83 -0
- slicot-1.0.0/src/TG/tg01od.c +205 -0
- slicot-1.0.0/src/TG/tg01oz.c +206 -0
- slicot-1.0.0/src/TG/tg01pd.c +195 -0
- slicot-1.0.0/src/TG/tg01qd.c +219 -0
- slicot-1.0.0/src/TG/tg01wd.c +134 -0
- slicot-1.0.0/src/UD/ud01bd.c +45 -0
- slicot-1.0.0/src/UD/ud01cd.c +64 -0
- slicot-1.0.0/src/UD/ud01dd.c +51 -0
- slicot-1.0.0/src/UD/ud01md.c +117 -0
- slicot-1.0.0/src/UD/ud01mz.c +138 -0
- slicot-1.0.0/src/UD/ud01nd.c +130 -0
- slicot-1.0.0/src/UE/ue01md.c +131 -0
- slicot-1.0.0/src/lapack_aux/dgegv.c +408 -0
- slicot-1.0.0/src/lapack_aux/dlatzm.c +35 -0
- slicot-1.0.0/src/lapack_aux/zgegs.c +290 -0
- slicot-1.0.0/src/lapack_aux/zgegv.c +368 -0
- slicot-1.0.0/src/meson.build +638 -0
- slicot-1.0.0/tests/python/conftest.py +80 -0
- slicot-1.0.0/tests/python/data/ib01_html_example_data.npz +0 -0
- slicot-1.0.0/tests/python/data/ib03bd_test_data.npz +0 -0
- slicot-1.0.0/tests/python/debug_mb03lf.py +72 -0
- slicot-1.0.0/tests/python/test_ab01md.py +384 -0
- slicot-1.0.0/tests/python/test_ab01nd.py +555 -0
- slicot-1.0.0/tests/python/test_ab01od.py +501 -0
- slicot-1.0.0/tests/python/test_ab04md.py +381 -0
- slicot-1.0.0/tests/python/test_ab05md.py +440 -0
- slicot-1.0.0/tests/python/test_ab05nd.py +590 -0
- slicot-1.0.0/tests/python/test_ab05od.py +580 -0
- slicot-1.0.0/tests/python/test_ab05pd.py +416 -0
- slicot-1.0.0/tests/python/test_ab05qd.py +406 -0
- slicot-1.0.0/tests/python/test_ab05rd.py +712 -0
- slicot-1.0.0/tests/python/test_ab05sd.py +408 -0
- slicot-1.0.0/tests/python/test_ab07md.py +388 -0
- slicot-1.0.0/tests/python/test_ab07nd.py +375 -0
- slicot-1.0.0/tests/python/test_ab08md.py +344 -0
- slicot-1.0.0/tests/python/test_ab08mz.py +461 -0
- slicot-1.0.0/tests/python/test_ab08nd.py +455 -0
- slicot-1.0.0/tests/python/test_ab08nw.py +488 -0
- slicot-1.0.0/tests/python/test_ab08nx.py +600 -0
- slicot-1.0.0/tests/python/test_ab08ny.py +632 -0
- slicot-1.0.0/tests/python/test_ab08nz.py +504 -0
- slicot-1.0.0/tests/python/test_ab09ad.py +346 -0
- slicot-1.0.0/tests/python/test_ab09ax.py +446 -0
- slicot-1.0.0/tests/python/test_ab09bd.py +384 -0
- slicot-1.0.0/tests/python/test_ab09bx.py +481 -0
- slicot-1.0.0/tests/python/test_ab09cd.py +524 -0
- slicot-1.0.0/tests/python/test_ab09cx.py +451 -0
- slicot-1.0.0/tests/python/test_ab09dd.py +392 -0
- slicot-1.0.0/tests/python/test_ab09ed.py +392 -0
- slicot-1.0.0/tests/python/test_ab09fd.py +355 -0
- slicot-1.0.0/tests/python/test_ab09gd.py +559 -0
- slicot-1.0.0/tests/python/test_ab09hd.py +562 -0
- slicot-1.0.0/tests/python/test_ab09hx.py +806 -0
- slicot-1.0.0/tests/python/test_ab09hy.py +490 -0
- slicot-1.0.0/tests/python/test_ab09id.py +722 -0
- slicot-1.0.0/tests/python/test_ab09ix.py +548 -0
- slicot-1.0.0/tests/python/test_ab09iy.py +610 -0
- slicot-1.0.0/tests/python/test_ab09jd.py +911 -0
- slicot-1.0.0/tests/python/test_ab09jv.py +857 -0
- slicot-1.0.0/tests/python/test_ab09jw.py +799 -0
- slicot-1.0.0/tests/python/test_ab09jx.py +446 -0
- slicot-1.0.0/tests/python/test_ab09kd.py +911 -0
- slicot-1.0.0/tests/python/test_ab09kx.py +874 -0
- slicot-1.0.0/tests/python/test_ab09md.py +515 -0
- slicot-1.0.0/tests/python/test_ab09nd.py +355 -0
- slicot-1.0.0/tests/python/test_ab13ad.py +617 -0
- slicot-1.0.0/tests/python/test_ab13bd.py +212 -0
- slicot-1.0.0/tests/python/test_ab13cd.py +312 -0
- slicot-1.0.0/tests/python/test_ab13dd.py +219 -0
- slicot-1.0.0/tests/python/test_ab13dx.py +178 -0
- slicot-1.0.0/tests/python/test_ab13ed.py +77 -0
- slicot-1.0.0/tests/python/test_ab13fd.py +245 -0
- slicot-1.0.0/tests/python/test_ab13hd.py +409 -0
- slicot-1.0.0/tests/python/test_ab13id.py +238 -0
- slicot-1.0.0/tests/python/test_ab13md.py +330 -0
- slicot-1.0.0/tests/python/test_ab8nxz.py +284 -0
- slicot-1.0.0/tests/python/test_ag07bd.py +413 -0
- slicot-1.0.0/tests/python/test_ag08bd.py +557 -0
- slicot-1.0.0/tests/python/test_ag08by.py +456 -0
- slicot-1.0.0/tests/python/test_ag08bz.py +382 -0
- slicot-1.0.0/tests/python/test_ag8byz.py +506 -0
- slicot-1.0.0/tests/python/test_bb01ad.py +326 -0
- slicot-1.0.0/tests/python/test_bb02ad.py +426 -0
- slicot-1.0.0/tests/python/test_bb03ad.py +394 -0
- slicot-1.0.0/tests/python/test_bb04ad.py +394 -0
- slicot-1.0.0/tests/python/test_bd01ad.py +616 -0
- slicot-1.0.0/tests/python/test_bd02ad.py +565 -0
- slicot-1.0.0/tests/python/test_de01od.py +273 -0
- slicot-1.0.0/tests/python/test_de01pd.py +341 -0
- slicot-1.0.0/tests/python/test_df01md.py +313 -0
- slicot-1.0.0/tests/python/test_dg01md.py +306 -0
- slicot-1.0.0/tests/python/test_dg01nd.py +316 -0
- slicot-1.0.0/tests/python/test_dg01od.py +416 -0
- slicot-1.0.0/tests/python/test_dgegv.py +298 -0
- slicot-1.0.0/tests/python/test_dk01md.py +249 -0
- slicot-1.0.0/tests/python/test_dlatzm.py +187 -0
- slicot-1.0.0/tests/python/test_fb01qd.py +310 -0
- slicot-1.0.0/tests/python/test_fb01rd.py +484 -0
- slicot-1.0.0/tests/python/test_fb01sd.py +519 -0
- slicot-1.0.0/tests/python/test_fb01td.py +409 -0
- slicot-1.0.0/tests/python/test_fb01vd.py +335 -0
- slicot-1.0.0/tests/python/test_fd01ad.py +408 -0
- slicot-1.0.0/tests/python/test_ib01ad.py +485 -0
- slicot-1.0.0/tests/python/test_ib01bd.py +481 -0
- slicot-1.0.0/tests/python/test_ib01cd.py +498 -0
- slicot-1.0.0/tests/python/test_ib01md.py +557 -0
- slicot-1.0.0/tests/python/test_ib01nd.py +434 -0
- slicot-1.0.0/tests/python/test_ib01od.py +266 -0
- slicot-1.0.0/tests/python/test_ib01oy.py +189 -0
- slicot-1.0.0/tests/python/test_ib01pd.py +426 -0
- slicot-1.0.0/tests/python/test_ib01qd.py +456 -0
- slicot-1.0.0/tests/python/test_ib01rd.py +310 -0
- slicot-1.0.0/tests/python/test_ib03ad.py +410 -0
- slicot-1.0.0/tests/python/test_ib03bd.py +397 -0
- slicot-1.0.0/tests/python/test_ma01ad.py +185 -0
- slicot-1.0.0/tests/python/test_ma01bd.py +327 -0
- slicot-1.0.0/tests/python/test_ma01bz.py +303 -0
- slicot-1.0.0/tests/python/test_ma01cd.py +266 -0
- slicot-1.0.0/tests/python/test_ma01dd.py +311 -0
- slicot-1.0.0/tests/python/test_ma01dz.py +393 -0
- slicot-1.0.0/tests/python/test_ma02ad.py +265 -0
- slicot-1.0.0/tests/python/test_ma02az.py +382 -0
- slicot-1.0.0/tests/python/test_ma02bd.py +209 -0
- slicot-1.0.0/tests/python/test_ma02bz.py +220 -0
- slicot-1.0.0/tests/python/test_ma02cd.py +301 -0
- slicot-1.0.0/tests/python/test_ma02cz.py +372 -0
- slicot-1.0.0/tests/python/test_ma02dd.py +210 -0
- slicot-1.0.0/tests/python/test_ma02ed.py +173 -0
- slicot-1.0.0/tests/python/test_ma02es.py +220 -0
- slicot-1.0.0/tests/python/test_ma02ez.py +541 -0
- slicot-1.0.0/tests/python/test_ma02gd.py +227 -0
- slicot-1.0.0/tests/python/test_ma02gz.py +268 -0
- slicot-1.0.0/tests/python/test_ma02hd.py +328 -0
- slicot-1.0.0/tests/python/test_ma02hz.py +401 -0
- slicot-1.0.0/tests/python/test_ma02iz.py +294 -0
- slicot-1.0.0/tests/python/test_ma02jd.py +239 -0
- slicot-1.0.0/tests/python/test_ma02jz.py +289 -0
- slicot-1.0.0/tests/python/test_ma02md.py +251 -0
- slicot-1.0.0/tests/python/test_ma02mz.py +293 -0
- slicot-1.0.0/tests/python/test_ma02nz.py +441 -0
- slicot-1.0.0/tests/python/test_ma02od.py +202 -0
- slicot-1.0.0/tests/python/test_ma02oz.py +299 -0
- slicot-1.0.0/tests/python/test_ma02pd.py +375 -0
- slicot-1.0.0/tests/python/test_ma02pz.py +428 -0
- slicot-1.0.0/tests/python/test_ma02rd.py +263 -0
- slicot-1.0.0/tests/python/test_ma02sd.py +199 -0
- slicot-1.0.0/tests/python/test_mb01.py +1032 -0
- slicot-1.0.0/tests/python/test_mb01oc.py +449 -0
- slicot-1.0.0/tests/python/test_mb01od.py +504 -0
- slicot-1.0.0/tests/python/test_mb01oe.py +489 -0
- slicot-1.0.0/tests/python/test_mb01oh.py +479 -0
- slicot-1.0.0/tests/python/test_mb01oo.py +324 -0
- slicot-1.0.0/tests/python/test_mb01os.py +297 -0
- slicot-1.0.0/tests/python/test_mb01ot.py +547 -0
- slicot-1.0.0/tests/python/test_mb01pd.py +455 -0
- slicot-1.0.0/tests/python/test_mb01qd.py +162 -0
- slicot-1.0.0/tests/python/test_mb01rb.py +275 -0
- slicot-1.0.0/tests/python/test_mb01rd.py +396 -0
- slicot-1.0.0/tests/python/test_mb01rh.py +521 -0
- slicot-1.0.0/tests/python/test_mb01rt.py +575 -0
- slicot-1.0.0/tests/python/test_mb01ru.py +295 -0
- slicot-1.0.0/tests/python/test_mb01rw.py +293 -0
- slicot-1.0.0/tests/python/test_mb01rx.py +461 -0
- slicot-1.0.0/tests/python/test_mb01ry.py +312 -0
- slicot-1.0.0/tests/python/test_mb01sd.py +245 -0
- slicot-1.0.0/tests/python/test_mb01ss.py +289 -0
- slicot-1.0.0/tests/python/test_mb01td.py +203 -0
- slicot-1.0.0/tests/python/test_mb01ud.py +219 -0
- slicot-1.0.0/tests/python/test_mb01uw.py +372 -0
- slicot-1.0.0/tests/python/test_mb01ux.py +398 -0
- slicot-1.0.0/tests/python/test_mb01uy.py +127 -0
- slicot-1.0.0/tests/python/test_mb01uz.py +359 -0
- slicot-1.0.0/tests/python/test_mb01wd.py +466 -0
- slicot-1.0.0/tests/python/test_mb01xd.py +307 -0
- slicot-1.0.0/tests/python/test_mb01xy.py +262 -0
- slicot-1.0.0/tests/python/test_mb01yd.py +419 -0
- slicot-1.0.0/tests/python/test_mb01zd.py +613 -0
- slicot-1.0.0/tests/python/test_mb02cd.py +356 -0
- slicot-1.0.0/tests/python/test_mb02cu.py +310 -0
- slicot-1.0.0/tests/python/test_mb02cv.py +625 -0
- slicot-1.0.0/tests/python/test_mb02cx.py +219 -0
- slicot-1.0.0/tests/python/test_mb02cy.py +195 -0
- slicot-1.0.0/tests/python/test_mb02dd.py +456 -0
- slicot-1.0.0/tests/python/test_mb02ed.py +247 -0
- slicot-1.0.0/tests/python/test_mb02fd.py +260 -0
- slicot-1.0.0/tests/python/test_mb02gd.py +391 -0
- slicot-1.0.0/tests/python/test_mb02hd.py +361 -0
- slicot-1.0.0/tests/python/test_mb02id.py +385 -0
- slicot-1.0.0/tests/python/test_mb02jd.py +242 -0
- slicot-1.0.0/tests/python/test_mb02jx.py +258 -0
- slicot-1.0.0/tests/python/test_mb02kd.py +386 -0
- slicot-1.0.0/tests/python/test_mb02md.py +251 -0
- slicot-1.0.0/tests/python/test_mb02nd.py +258 -0
- slicot-1.0.0/tests/python/test_mb02ny.py +395 -0
- slicot-1.0.0/tests/python/test_mb02od.py +269 -0
- slicot-1.0.0/tests/python/test_mb02pd.py +241 -0
- slicot-1.0.0/tests/python/test_mb02qd.py +395 -0
- slicot-1.0.0/tests/python/test_mb02rd.py +123 -0
- slicot-1.0.0/tests/python/test_mb02rz.py +291 -0
- slicot-1.0.0/tests/python/test_mb02sd.py +113 -0
- slicot-1.0.0/tests/python/test_mb02sz.py +241 -0
- slicot-1.0.0/tests/python/test_mb02td.py +237 -0
- slicot-1.0.0/tests/python/test_mb02tz.py +283 -0
- slicot-1.0.0/tests/python/test_mb02ud.py +320 -0
- slicot-1.0.0/tests/python/test_mb02uu.py +246 -0
- slicot-1.0.0/tests/python/test_mb02uv.py +241 -0
- slicot-1.0.0/tests/python/test_mb02uw.py +262 -0
- slicot-1.0.0/tests/python/test_mb02vd.py +180 -0
- slicot-1.0.0/tests/python/test_mb02wd.py +94 -0
- slicot-1.0.0/tests/python/test_mb02xd.py +546 -0
- slicot-1.0.0/tests/python/test_mb02yd.py +204 -0
- slicot-1.0.0/tests/python/test_mb03ab.py +345 -0
- slicot-1.0.0/tests/python/test_mb03ad.py +382 -0
- slicot-1.0.0/tests/python/test_mb03ae.py +306 -0
- slicot-1.0.0/tests/python/test_mb03ag.py +387 -0
- slicot-1.0.0/tests/python/test_mb03ah.py +358 -0
- slicot-1.0.0/tests/python/test_mb03ai.py +386 -0
- slicot-1.0.0/tests/python/test_mb03ba.py +218 -0
- slicot-1.0.0/tests/python/test_mb03bc.py +257 -0
- slicot-1.0.0/tests/python/test_mb03bd.py +385 -0
- slicot-1.0.0/tests/python/test_mb03be.py +278 -0
- slicot-1.0.0/tests/python/test_mb03bf.py +324 -0
- slicot-1.0.0/tests/python/test_mb03bg.py +293 -0
- slicot-1.0.0/tests/python/test_mb03bz.py +301 -0
- slicot-1.0.0/tests/python/test_mb03cd.py +461 -0
- slicot-1.0.0/tests/python/test_mb03cz.py +221 -0
- slicot-1.0.0/tests/python/test_mb03dd.py +367 -0
- slicot-1.0.0/tests/python/test_mb03dz.py +237 -0
- slicot-1.0.0/tests/python/test_mb03ed.py +265 -0
- slicot-1.0.0/tests/python/test_mb03fd.py +501 -0
- slicot-1.0.0/tests/python/test_mb03fz.py +346 -0
- slicot-1.0.0/tests/python/test_mb03gd.py +298 -0
- slicot-1.0.0/tests/python/test_mb03gz.py +193 -0
- slicot-1.0.0/tests/python/test_mb03hd.py +236 -0
- slicot-1.0.0/tests/python/test_mb03hz.py +150 -0
- slicot-1.0.0/tests/python/test_mb03id.py +482 -0
- slicot-1.0.0/tests/python/test_mb03iz.py +359 -0
- slicot-1.0.0/tests/python/test_mb03jd.py +320 -0
- slicot-1.0.0/tests/python/test_mb03jp.py +294 -0
- slicot-1.0.0/tests/python/test_mb03jz.py +375 -0
- slicot-1.0.0/tests/python/test_mb03ka.py +483 -0
- slicot-1.0.0/tests/python/test_mb03kb.py +558 -0
- slicot-1.0.0/tests/python/test_mb03kc.py +295 -0
- slicot-1.0.0/tests/python/test_mb03kd.py +542 -0
- slicot-1.0.0/tests/python/test_mb03ke.py +302 -0
- slicot-1.0.0/tests/python/test_mb03ld.py +455 -0
- slicot-1.0.0/tests/python/test_mb03lf.py +375 -0
- slicot-1.0.0/tests/python/test_mb03lp.py +350 -0
- slicot-1.0.0/tests/python/test_mb03lz.py +345 -0
- slicot-1.0.0/tests/python/test_mb03md.py +271 -0
- slicot-1.0.0/tests/python/test_mb03od.py +138 -0
- slicot-1.0.0/tests/python/test_mb03oy.py +202 -0
- slicot-1.0.0/tests/python/test_mb03pd.py +326 -0
- slicot-1.0.0/tests/python/test_mb03py.py +356 -0
- slicot-1.0.0/tests/python/test_mb03qd.py +204 -0
- slicot-1.0.0/tests/python/test_mb03qg.py +286 -0
- slicot-1.0.0/tests/python/test_mb03qv.py +316 -0
- slicot-1.0.0/tests/python/test_mb03qw.py +218 -0
- slicot-1.0.0/tests/python/test_mb03qx.py +216 -0
- slicot-1.0.0/tests/python/test_mb03qy.py +218 -0
- slicot-1.0.0/tests/python/test_mb03rd.py +268 -0
- slicot-1.0.0/tests/python/test_mb03rw.py +260 -0
- slicot-1.0.0/tests/python/test_mb03rx.py +296 -0
- slicot-1.0.0/tests/python/test_mb03ry.py +250 -0
- slicot-1.0.0/tests/python/test_mb03rz.py +406 -0
- slicot-1.0.0/tests/python/test_mb03sd.py +259 -0
- slicot-1.0.0/tests/python/test_mb03td.py +470 -0
- slicot-1.0.0/tests/python/test_mb03ts.py +411 -0
- slicot-1.0.0/tests/python/test_mb03ud.py +277 -0
- slicot-1.0.0/tests/python/test_mb03vd.py +346 -0
- slicot-1.0.0/tests/python/test_mb03vw.py +343 -0
- slicot-1.0.0/tests/python/test_mb03vy.py +323 -0
- slicot-1.0.0/tests/python/test_mb03wa.py +309 -0
- slicot-1.0.0/tests/python/test_mb03wd.py +437 -0
- slicot-1.0.0/tests/python/test_mb03wx.py +391 -0
- slicot-1.0.0/tests/python/test_mb03xd.py +206 -0
- slicot-1.0.0/tests/python/test_mb03xp.py +197 -0
- slicot-1.0.0/tests/python/test_mb03xs.py +467 -0
- slicot-1.0.0/tests/python/test_mb03xu.py +307 -0
- slicot-1.0.0/tests/python/test_mb03xz.py +330 -0
- slicot-1.0.0/tests/python/test_mb03ya.py +220 -0
- slicot-1.0.0/tests/python/test_mb03yd.py +362 -0
- slicot-1.0.0/tests/python/test_mb03yt.py +134 -0
- slicot-1.0.0/tests/python/test_mb03za.py +336 -0
- slicot-1.0.0/tests/python/test_mb03zd.py +417 -0
- slicot-1.0.0/tests/python/test_mb04ad.py +255 -0
- slicot-1.0.0/tests/python/test_mb04az.py +220 -0
- slicot-1.0.0/tests/python/test_mb04bd.py +251 -0
- slicot-1.0.0/tests/python/test_mb04bp.py +244 -0
- slicot-1.0.0/tests/python/test_mb04bz.py +201 -0
- slicot-1.0.0/tests/python/test_mb04cd.py +276 -0
- slicot-1.0.0/tests/python/test_mb04db.py +274 -0
- slicot-1.0.0/tests/python/test_mb04dd.py +134 -0
- slicot-1.0.0/tests/python/test_mb04di.py +268 -0
- slicot-1.0.0/tests/python/test_mb04dl.py +355 -0
- slicot-1.0.0/tests/python/test_mb04dp.py +417 -0
- slicot-1.0.0/tests/python/test_mb04ds.py +305 -0
- slicot-1.0.0/tests/python/test_mb04dy.py +316 -0
- slicot-1.0.0/tests/python/test_mb04dz.py +247 -0
- slicot-1.0.0/tests/python/test_mb04ed.py +307 -0
- slicot-1.0.0/tests/python/test_mb04fd.py +367 -0
- slicot-1.0.0/tests/python/test_mb04fp.py +329 -0
- slicot-1.0.0/tests/python/test_mb04gd.py +287 -0
- slicot-1.0.0/tests/python/test_mb04hd.py +309 -0
- slicot-1.0.0/tests/python/test_mb04id.py +222 -0
- slicot-1.0.0/tests/python/test_mb04iy.py +329 -0
- slicot-1.0.0/tests/python/test_mb04iz.py +331 -0
- slicot-1.0.0/tests/python/test_mb04jd.py +267 -0
- slicot-1.0.0/tests/python/test_mb04kd.py +274 -0
- slicot-1.0.0/tests/python/test_mb04ld.py +255 -0
- slicot-1.0.0/tests/python/test_mb04md.py +256 -0
- slicot-1.0.0/tests/python/test_mb04nd.py +321 -0
- slicot-1.0.0/tests/python/test_mb04ny.py +379 -0
- slicot-1.0.0/tests/python/test_mb04od.py +297 -0
- slicot-1.0.0/tests/python/test_mb04ow.py +258 -0
- slicot-1.0.0/tests/python/test_mb04ox.py +193 -0
- slicot-1.0.0/tests/python/test_mb04oy.py +299 -0
- slicot-1.0.0/tests/python/test_mb04pa.py +268 -0
- slicot-1.0.0/tests/python/test_mb04pb.py +234 -0
- slicot-1.0.0/tests/python/test_mb04pu.py +288 -0
- slicot-1.0.0/tests/python/test_mb04py.py +526 -0
- slicot-1.0.0/tests/python/test_mb04qb.py +193 -0
- slicot-1.0.0/tests/python/test_mb04qc.py +291 -0
- slicot-1.0.0/tests/python/test_mb04qf.py +244 -0
- slicot-1.0.0/tests/python/test_mb04qs.py +266 -0
- slicot-1.0.0/tests/python/test_mb04qu.py +312 -0
- slicot-1.0.0/tests/python/test_mb04rb.py +388 -0
- slicot-1.0.0/tests/python/test_mb04rd.py +411 -0
- slicot-1.0.0/tests/python/test_mb04rs.py +359 -0
- slicot-1.0.0/tests/python/test_mb04rt.py +437 -0
- slicot-1.0.0/tests/python/test_mb04ru.py +325 -0
- slicot-1.0.0/tests/python/test_mb04rv.py +345 -0
- slicot-1.0.0/tests/python/test_mb04rw.py +379 -0
- slicot-1.0.0/tests/python/test_mb04rz.py +451 -0
- slicot-1.0.0/tests/python/test_mb04su.py +280 -0
- slicot-1.0.0/tests/python/test_mb04tb.py +202 -0
- slicot-1.0.0/tests/python/test_mb04ts.py +292 -0
- slicot-1.0.0/tests/python/test_mb04tt.py +417 -0
- slicot-1.0.0/tests/python/test_mb04tu.py +247 -0
- slicot-1.0.0/tests/python/test_mb04tv.py +371 -0
- slicot-1.0.0/tests/python/test_mb04tw.py +473 -0
- slicot-1.0.0/tests/python/test_mb04tx.py +240 -0
- slicot-1.0.0/tests/python/test_mb04ty.py +511 -0
- slicot-1.0.0/tests/python/test_mb04ud.py +336 -0
- slicot-1.0.0/tests/python/test_mb04vd.py +594 -0
- slicot-1.0.0/tests/python/test_mb04vx.py +255 -0
- slicot-1.0.0/tests/python/test_mb04wd.py +396 -0
- slicot-1.0.0/tests/python/test_mb04wp.py +352 -0
- slicot-1.0.0/tests/python/test_mb04wr.py +406 -0
- slicot-1.0.0/tests/python/test_mb04wu.py +312 -0
- slicot-1.0.0/tests/python/test_mb04xd.py +393 -0
- slicot-1.0.0/tests/python/test_mb04xy.py +362 -0
- slicot-1.0.0/tests/python/test_mb04yd.py +455 -0
- slicot-1.0.0/tests/python/test_mb04yw.py +441 -0
- slicot-1.0.0/tests/python/test_mb04zd.py +333 -0
- slicot-1.0.0/tests/python/test_mb05md.py +424 -0
- slicot-1.0.0/tests/python/test_mb05my.py +306 -0
- slicot-1.0.0/tests/python/test_mb05nd.py +260 -0
- slicot-1.0.0/tests/python/test_mb05od.py +294 -0
- slicot-1.0.0/tests/python/test_mb05oy.py +335 -0
- slicot-1.0.0/tests/python/test_mb3jzp.py +419 -0
- slicot-1.0.0/tests/python/test_mb3lzp.py +444 -0
- slicot-1.0.0/tests/python/test_mb3oyz.py +206 -0
- slicot-1.0.0/tests/python/test_mb3pyz.py +227 -0
- slicot-1.0.0/tests/python/test_mb4dbz.py +389 -0
- slicot-1.0.0/tests/python/test_mb4dlz.py +288 -0
- slicot-1.0.0/tests/python/test_mb4dpz.py +278 -0
- slicot-1.0.0/tests/python/test_mc01md.py +334 -0
- slicot-1.0.0/tests/python/test_mc01nd.py +387 -0
- slicot-1.0.0/tests/python/test_mc01od.py +328 -0
- slicot-1.0.0/tests/python/test_mc01pd.py +245 -0
- slicot-1.0.0/tests/python/test_mc01py.py +239 -0
- slicot-1.0.0/tests/python/test_mc01qd.py +238 -0
- slicot-1.0.0/tests/python/test_mc01rd.py +393 -0
- slicot-1.0.0/tests/python/test_mc01sd.py +192 -0
- slicot-1.0.0/tests/python/test_mc01sw.py +114 -0
- slicot-1.0.0/tests/python/test_mc01sx.py +129 -0
- slicot-1.0.0/tests/python/test_mc01sy.py +113 -0
- slicot-1.0.0/tests/python/test_mc01td.py +387 -0
- slicot-1.0.0/tests/python/test_mc01vd.py +240 -0
- slicot-1.0.0/tests/python/test_mc01wd.py +143 -0
- slicot-1.0.0/tests/python/test_mc01xd.py +312 -0
- slicot-1.0.0/tests/python/test_mc03md.py +383 -0
- slicot-1.0.0/tests/python/test_mc03nd.py +263 -0
- slicot-1.0.0/tests/python/test_mc03nx.py +193 -0
- slicot-1.0.0/tests/python/test_mc03ny.py +243 -0
- slicot-1.0.0/tests/python/test_md03ba.py +158 -0
- slicot-1.0.0/tests/python/test_md03bb.py +41 -0
- slicot-1.0.0/tests/python/test_md03bd.py +135 -0
- slicot-1.0.0/tests/python/test_md03bf.py +179 -0
- slicot-1.0.0/tests/python/test_md03by.py +282 -0
- slicot-1.0.0/tests/python/test_nf01ay.py +166 -0
- slicot-1.0.0/tests/python/test_nf01br.py +288 -0
- slicot-1.0.0/tests/python/test_nf01bs.py +254 -0
- slicot-1.0.0/tests/python/test_nf01by.py +253 -0
- slicot-1.0.0/tests/python/test_sb01bd.py +420 -0
- slicot-1.0.0/tests/python/test_sb01bx.py +194 -0
- slicot-1.0.0/tests/python/test_sb01by.py +281 -0
- slicot-1.0.0/tests/python/test_sb01dd.py +241 -0
- slicot-1.0.0/tests/python/test_sb01fy.py +224 -0
- slicot-1.0.0/tests/python/test_sb01md.py +414 -0
- slicot-1.0.0/tests/python/test_sb02cx.py +145 -0
- slicot-1.0.0/tests/python/test_sb02md.py +578 -0
- slicot-1.0.0/tests/python/test_sb02mr.py +123 -0
- slicot-1.0.0/tests/python/test_sb02ms.py +168 -0
- slicot-1.0.0/tests/python/test_sb02mt.py +371 -0
- slicot-1.0.0/tests/python/test_sb02mu.py +388 -0
- slicot-1.0.0/tests/python/test_sb02mv.py +124 -0
- slicot-1.0.0/tests/python/test_sb02mw.py +170 -0
- slicot-1.0.0/tests/python/test_sb02mx.py +455 -0
- slicot-1.0.0/tests/python/test_sb02nd.py +507 -0
- slicot-1.0.0/tests/python/test_sb02od.py +653 -0
- slicot-1.0.0/tests/python/test_sb02ou.py +131 -0
- slicot-1.0.0/tests/python/test_sb02ov.py +153 -0
- slicot-1.0.0/tests/python/test_sb02ow.py +158 -0
- slicot-1.0.0/tests/python/test_sb02ox.py +205 -0
- slicot-1.0.0/tests/python/test_sb02oy.py +593 -0
- slicot-1.0.0/tests/python/test_sb02pd.py +297 -0
- slicot-1.0.0/tests/python/test_sb02qd.py +361 -0
- slicot-1.0.0/tests/python/test_sb02rd.py +496 -0
- slicot-1.0.0/tests/python/test_sb02ru.py +328 -0
- slicot-1.0.0/tests/python/test_sb02sd.py +245 -0
- slicot-1.0.0/tests/python/test_sb03md.py +611 -0
- slicot-1.0.0/tests/python/test_sb03mu.py +327 -0
- slicot-1.0.0/tests/python/test_sb03mv.py +236 -0
- slicot-1.0.0/tests/python/test_sb03mw.py +109 -0
- slicot-1.0.0/tests/python/test_sb03mx.py +194 -0
- slicot-1.0.0/tests/python/test_sb03my.py +217 -0
- slicot-1.0.0/tests/python/test_sb03od.py +717 -0
- slicot-1.0.0/tests/python/test_sb03or.py +450 -0
- slicot-1.0.0/tests/python/test_sb03os.py +675 -0
- slicot-1.0.0/tests/python/test_sb03ot.py +753 -0
- slicot-1.0.0/tests/python/test_sb03ou.py +199 -0
- slicot-1.0.0/tests/python/test_sb03ov.py +186 -0
- slicot-1.0.0/tests/python/test_sb03oy.py +432 -0
- slicot-1.0.0/tests/python/test_sb03oz.py +771 -0
- slicot-1.0.0/tests/python/test_sb03pd.py +291 -0
- slicot-1.0.0/tests/python/test_sb03qd.py +380 -0
- slicot-1.0.0/tests/python/test_sb03qx.py +322 -0
- slicot-1.0.0/tests/python/test_sb03qy.py +293 -0
- slicot-1.0.0/tests/python/test_sb03rd.py +379 -0
- slicot-1.0.0/tests/python/test_sb03sd.py +358 -0
- slicot-1.0.0/tests/python/test_sb03sx.py +176 -0
- slicot-1.0.0/tests/python/test_sb03sy.py +195 -0
- slicot-1.0.0/tests/python/test_sb03td.py +348 -0
- slicot-1.0.0/tests/python/test_sb03ud.py +291 -0
- slicot-1.0.0/tests/python/test_sb04md.py +224 -0
- slicot-1.0.0/tests/python/test_sb04mr.py +145 -0
- slicot-1.0.0/tests/python/test_sb04mw.py +117 -0
- slicot-1.0.0/tests/python/test_sb04nd.py +279 -0
- slicot-1.0.0/tests/python/test_sb04nv.py +237 -0
- slicot-1.0.0/tests/python/test_sb04nw.py +261 -0
- slicot-1.0.0/tests/python/test_sb04nx.py +361 -0
- slicot-1.0.0/tests/python/test_sb04ny.py +395 -0
- slicot-1.0.0/tests/python/test_sb04od.py +428 -0
- slicot-1.0.0/tests/python/test_sb04ow.py +376 -0
- slicot-1.0.0/tests/python/test_sb04pd.py +359 -0
- slicot-1.0.0/tests/python/test_sb04px.py +468 -0
- slicot-1.0.0/tests/python/test_sb04py.py +482 -0
- slicot-1.0.0/tests/python/test_sb04qd.py +224 -0
- slicot-1.0.0/tests/python/test_sb04qr.py +123 -0
- slicot-1.0.0/tests/python/test_sb04rd.py +307 -0
- slicot-1.0.0/tests/python/test_sb04rv.py +308 -0
- slicot-1.0.0/tests/python/test_sb04rw.py +264 -0
- slicot-1.0.0/tests/python/test_sb04rx.py +367 -0
- slicot-1.0.0/tests/python/test_sb04ry.py +297 -0
- slicot-1.0.0/tests/python/test_sb06nd.py +244 -0
- slicot-1.0.0/tests/python/test_sb08cd.py +200 -0
- slicot-1.0.0/tests/python/test_sb08dd.py +186 -0
- slicot-1.0.0/tests/python/test_sb08ed.py +369 -0
- slicot-1.0.0/tests/python/test_sb08fd.py +277 -0
- slicot-1.0.0/tests/python/test_sb08gd.py +338 -0
- slicot-1.0.0/tests/python/test_sb08hd.py +287 -0
- slicot-1.0.0/tests/python/test_sb08md.py +190 -0
- slicot-1.0.0/tests/python/test_sb08my.py +186 -0
- slicot-1.0.0/tests/python/test_sb08nd.py +208 -0
- slicot-1.0.0/tests/python/test_sb08ny.py +206 -0
- slicot-1.0.0/tests/python/test_sb09md.py +308 -0
- slicot-1.0.0/tests/python/test_sb10ad.py +277 -0
- slicot-1.0.0/tests/python/test_sb10dd.py +507 -0
- slicot-1.0.0/tests/python/test_sb10ed.py +396 -0
- slicot-1.0.0/tests/python/test_sb10fd.py +386 -0
- slicot-1.0.0/tests/python/test_sb10hd.py +358 -0
- slicot-1.0.0/tests/python/test_sb10id.py +326 -0
- slicot-1.0.0/tests/python/test_sb10jd.py +449 -0
- slicot-1.0.0/tests/python/test_sb10kd.py +295 -0
- slicot-1.0.0/tests/python/test_sb10ld.py +209 -0
- slicot-1.0.0/tests/python/test_sb10md.py +326 -0
- slicot-1.0.0/tests/python/test_sb10pd.py +424 -0
- slicot-1.0.0/tests/python/test_sb10rd.py +92 -0
- slicot-1.0.0/tests/python/test_sb10sd.py +539 -0
- slicot-1.0.0/tests/python/test_sb10td.py +279 -0
- slicot-1.0.0/tests/python/test_sb10ud.py +414 -0
- slicot-1.0.0/tests/python/test_sb10vd.py +68 -0
- slicot-1.0.0/tests/python/test_sb10wd.py +361 -0
- slicot-1.0.0/tests/python/test_sb10yd.py +248 -0
- slicot-1.0.0/tests/python/test_sb10zd.py +269 -0
- slicot-1.0.0/tests/python/test_sb10zp.py +149 -0
- slicot-1.0.0/tests/python/test_sb16ad.py +420 -0
- slicot-1.0.0/tests/python/test_sb16ay.py +509 -0
- slicot-1.0.0/tests/python/test_sb16bd.py +390 -0
- slicot-1.0.0/tests/python/test_sb16cd.py +612 -0
- slicot-1.0.0/tests/python/test_sb16cy.py +354 -0
- slicot-1.0.0/tests/python/test_sg02ad.py +428 -0
- slicot-1.0.0/tests/python/test_sg02cv.py +387 -0
- slicot-1.0.0/tests/python/test_sg02cw.py +761 -0
- slicot-1.0.0/tests/python/test_sg02cx.py +557 -0
- slicot-1.0.0/tests/python/test_sg02nd.py +337 -0
- slicot-1.0.0/tests/python/test_sg03ad.py +625 -0
- slicot-1.0.0/tests/python/test_sg03ax.py +255 -0
- slicot-1.0.0/tests/python/test_sg03ay.py +200 -0
- slicot-1.0.0/tests/python/test_sg03bd.py +218 -0
- slicot-1.0.0/tests/python/test_sg03br.py +120 -0
- slicot-1.0.0/tests/python/test_sg03bs.py +303 -0
- slicot-1.0.0/tests/python/test_sg03bt.py +298 -0
- slicot-1.0.0/tests/python/test_sg03bu.py +250 -0
- slicot-1.0.0/tests/python/test_sg03bv.py +279 -0
- slicot-1.0.0/tests/python/test_sg03bw.py +267 -0
- slicot-1.0.0/tests/python/test_sg03bx.py +150 -0
- slicot-1.0.0/tests/python/test_sg03by.py +252 -0
- slicot-1.0.0/tests/python/test_sg03bz.py +662 -0
- slicot-1.0.0/tests/python/test_tb01id.py +428 -0
- slicot-1.0.0/tests/python/test_tb01iz.py +409 -0
- slicot-1.0.0/tests/python/test_tb01kd.py +377 -0
- slicot-1.0.0/tests/python/test_tb01kx.py +385 -0
- slicot-1.0.0/tests/python/test_tb01ld.py +282 -0
- slicot-1.0.0/tests/python/test_tb01md.py +280 -0
- slicot-1.0.0/tests/python/test_tb01nd.py +328 -0
- slicot-1.0.0/tests/python/test_tb01pd.py +485 -0
- slicot-1.0.0/tests/python/test_tb01px.py +517 -0
- slicot-1.0.0/tests/python/test_tb01td.py +276 -0
- slicot-1.0.0/tests/python/test_tb01ty.py +410 -0
- slicot-1.0.0/tests/python/test_tb01ud.py +414 -0
- slicot-1.0.0/tests/python/test_tb01ux.py +333 -0
- slicot-1.0.0/tests/python/test_tb01uy.py +445 -0
- slicot-1.0.0/tests/python/test_tb01vd.py +415 -0
- slicot-1.0.0/tests/python/test_tb01vy.py +359 -0
- slicot-1.0.0/tests/python/test_tb01wd.py +201 -0
- slicot-1.0.0/tests/python/test_tb01wx.py +465 -0
- slicot-1.0.0/tests/python/test_tb01xd.py +508 -0
- slicot-1.0.0/tests/python/test_tb01xz.py +591 -0
- slicot-1.0.0/tests/python/test_tb01zd.py +291 -0
- slicot-1.0.0/tests/python/test_tb03ad.py +455 -0
- slicot-1.0.0/tests/python/test_tb03ay.py +311 -0
- slicot-1.0.0/tests/python/test_tb04ad.py +372 -0
- slicot-1.0.0/tests/python/test_tb04bd.py +365 -0
- slicot-1.0.0/tests/python/test_tb04bv.py +374 -0
- slicot-1.0.0/tests/python/test_tb04bw.py +374 -0
- slicot-1.0.0/tests/python/test_tb04bx.py +320 -0
- slicot-1.0.0/tests/python/test_tb04cd.py +314 -0
- slicot-1.0.0/tests/python/test_tb05ad.py +366 -0
- slicot-1.0.0/tests/python/test_tc01od.py +257 -0
- slicot-1.0.0/tests/python/test_tc04ad.py +318 -0
- slicot-1.0.0/tests/python/test_tc05ad.py +407 -0
- slicot-1.0.0/tests/python/test_td03ad.py +475 -0
- slicot-1.0.0/tests/python/test_td03ay.py +315 -0
- slicot-1.0.0/tests/python/test_td04ad.py +450 -0
- slicot-1.0.0/tests/python/test_td05ad.py +416 -0
- slicot-1.0.0/tests/python/test_tf01md.py +235 -0
- slicot-1.0.0/tests/python/test_tf01mx.py +417 -0
- slicot-1.0.0/tests/python/test_tf01my.py +384 -0
- slicot-1.0.0/tests/python/test_tf01nd.py +317 -0
- slicot-1.0.0/tests/python/test_tf01od.py +196 -0
- slicot-1.0.0/tests/python/test_tf01pd.py +257 -0
- slicot-1.0.0/tests/python/test_tf01qd.py +343 -0
- slicot-1.0.0/tests/python/test_tf01rd.py +343 -0
- slicot-1.0.0/tests/python/test_tg01ad.py +401 -0
- slicot-1.0.0/tests/python/test_tg01az.py +450 -0
- slicot-1.0.0/tests/python/test_tg01bd.py +244 -0
- slicot-1.0.0/tests/python/test_tg01cd.py +316 -0
- slicot-1.0.0/tests/python/test_tg01dd.py +339 -0
- slicot-1.0.0/tests/python/test_tg01ed.py +525 -0
- slicot-1.0.0/tests/python/test_tg01fd.py +264 -0
- slicot-1.0.0/tests/python/test_tg01fz.py +298 -0
- slicot-1.0.0/tests/python/test_tg01gd.py +383 -0
- slicot-1.0.0/tests/python/test_tg01hd.py +407 -0
- slicot-1.0.0/tests/python/test_tg01hu.py +458 -0
- slicot-1.0.0/tests/python/test_tg01hx.py +406 -0
- slicot-1.0.0/tests/python/test_tg01hy.py +481 -0
- slicot-1.0.0/tests/python/test_tg01id.py +434 -0
- slicot-1.0.0/tests/python/test_tg01jd.py +416 -0
- slicot-1.0.0/tests/python/test_tg01jy.py +538 -0
- slicot-1.0.0/tests/python/test_tg01kd.py +340 -0
- slicot-1.0.0/tests/python/test_tg01kz.py +428 -0
- slicot-1.0.0/tests/python/test_tg01ld.py +338 -0
- slicot-1.0.0/tests/python/test_tg01ly.py +364 -0
- slicot-1.0.0/tests/python/test_tg01md.py +275 -0
- slicot-1.0.0/tests/python/test_tg01nd.py +421 -0
- slicot-1.0.0/tests/python/test_tg01nx.py +484 -0
- slicot-1.0.0/tests/python/test_tg01oa.py +228 -0
- slicot-1.0.0/tests/python/test_tg01ob.py +359 -0
- slicot-1.0.0/tests/python/test_tg01od.py +355 -0
- slicot-1.0.0/tests/python/test_tg01oz.py +398 -0
- slicot-1.0.0/tests/python/test_tg01pd.py +462 -0
- slicot-1.0.0/tests/python/test_tg01qd.py +458 -0
- slicot-1.0.0/tests/python/test_tg01wd.py +395 -0
- slicot-1.0.0/tests/python/test_ud01bd.py +213 -0
- slicot-1.0.0/tests/python/test_ud01cd.py +288 -0
- slicot-1.0.0/tests/python/test_ud01dd.py +269 -0
- slicot-1.0.0/tests/python/test_ud01md.py +279 -0
- slicot-1.0.0/tests/python/test_ud01mz.py +279 -0
- slicot-1.0.0/tests/python/test_ud01nd.py +354 -0
- slicot-1.0.0/tests/python/test_ue01md.py +273 -0
- slicot-1.0.0/tests/python/test_zgegs.py +267 -0
- slicot-1.0.0/tests/python/test_zgegv.py +290 -0
- slicot-1.0.0/tools/generate_docstrings.py +102 -0
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
name: Build Wheels
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
workflow_dispatch:
|
|
5
|
+
workflow_call:
|
|
6
|
+
|
|
7
|
+
jobs:
|
|
8
|
+
build-wheels:
|
|
9
|
+
name: Build ${{ matrix.os }} ${{ matrix.arch }}
|
|
10
|
+
runs-on: ${{ matrix.os }}
|
|
11
|
+
strategy:
|
|
12
|
+
fail-fast: false
|
|
13
|
+
matrix:
|
|
14
|
+
include:
|
|
15
|
+
- os: ubuntu-latest
|
|
16
|
+
arch: x86_64
|
|
17
|
+
cibw_archs: x86_64
|
|
18
|
+
- os: macos-14
|
|
19
|
+
arch: arm64
|
|
20
|
+
cibw_archs: arm64
|
|
21
|
+
- os: windows-latest
|
|
22
|
+
arch: x86_64
|
|
23
|
+
cibw_archs: AMD64
|
|
24
|
+
|
|
25
|
+
steps:
|
|
26
|
+
- uses: actions/checkout@v4
|
|
27
|
+
|
|
28
|
+
- name: Build wheels
|
|
29
|
+
uses: pypa/cibuildwheel@v2.22
|
|
30
|
+
env:
|
|
31
|
+
CIBW_ARCHS: ${{ matrix.cibw_archs }}
|
|
32
|
+
CIBW_BUILD: "cp311-* cp312-* cp313-*"
|
|
33
|
+
CIBW_SKIP: "pp* *-win32 *-manylinux_i686 *-musllinux_* *_universal2"
|
|
34
|
+
CIBW_MANYLINUX_X86_64_IMAGE: manylinux2014
|
|
35
|
+
CIBW_BEFORE_ALL_LINUX: yum install -y openblas-devel || apk add openblas-dev
|
|
36
|
+
CIBW_BEFORE_ALL_WINDOWS: choco install -y pkgconfiglite
|
|
37
|
+
CIBW_ENVIRONMENT_LINUX: PKG_CONFIG_PATH=/tmp/openblas
|
|
38
|
+
CIBW_ENVIRONMENT_MACOS: MACOSX_DEPLOYMENT_TARGET=11.0 PKG_CONFIG_PATH=/tmp/openblas
|
|
39
|
+
CIBW_BEFORE_BUILD_LINUX: pip install scipy-openblas32 && mkdir -p /tmp/openblas && python -c "import scipy_openblas32 as sc; open('/tmp/openblas/openblas.pc','w').write(sc.get_pkg_config())" || true
|
|
40
|
+
CIBW_BEFORE_BUILD_MACOS: pip install scipy-openblas32 && mkdir -p /tmp/openblas && python -c "import scipy_openblas32 as sc; open('/tmp/openblas/openblas.pc','w').write(sc.get_pkg_config())"
|
|
41
|
+
CIBW_BEFORE_BUILD_WINDOWS: pip install scipy-openblas32 delvewheel && (if not exist C:\openblas mkdir C:\openblas) && python -c "import scipy_openblas32 as sc; open('C:/openblas/openblas.pc','w').write(sc.get_pkg_config()); open('C:/openblas/libdir.txt','w').write(sc.get_lib_dir())"
|
|
42
|
+
CIBW_ENVIRONMENT_WINDOWS: PKG_CONFIG_PATH=C:/openblas
|
|
43
|
+
CIBW_REPAIR_WHEEL_COMMAND_WINDOWS: >-
|
|
44
|
+
powershell -Command "$libdir = Get-Content 'C:/openblas/libdir.txt'; delvewheel repair -w {dest_dir} {wheel} --add-path $libdir"
|
|
45
|
+
CIBW_TEST_REQUIRES: pytest pytest-timeout scipy
|
|
46
|
+
CIBW_TEST_COMMAND: pytest {project}/tests/python/test_ab01md.py -v --timeout=60
|
|
47
|
+
CIBW_TEST_SKIP: "*-manylinux*"
|
|
48
|
+
CIBW_TEST_COMMAND_WINDOWS: pytest {project}/tests/python/test_ab01md.py -v --timeout=60 || true
|
|
49
|
+
|
|
50
|
+
- uses: actions/upload-artifact@v4
|
|
51
|
+
with:
|
|
52
|
+
name: wheels-${{ matrix.os }}-${{ matrix.arch }}
|
|
53
|
+
path: ./wheelhouse/*.whl
|
|
54
|
+
|
|
55
|
+
build-sdist:
|
|
56
|
+
name: Build sdist
|
|
57
|
+
runs-on: ubuntu-latest
|
|
58
|
+
|
|
59
|
+
steps:
|
|
60
|
+
- uses: actions/checkout@v4
|
|
61
|
+
|
|
62
|
+
- name: Install deps
|
|
63
|
+
run: |
|
|
64
|
+
pip install scipy-openblas32
|
|
65
|
+
mkdir -p /tmp/openblas
|
|
66
|
+
python -c "import scipy_openblas32 as sc; open('/tmp/openblas/openblas.pc','w').write(sc.get_pkg_config())"
|
|
67
|
+
|
|
68
|
+
- run: PKG_CONFIG_PATH=/tmp/openblas pip install build && PKG_CONFIG_PATH=/tmp/openblas python -m build --sdist
|
|
69
|
+
|
|
70
|
+
- uses: actions/upload-artifact@v4
|
|
71
|
+
with:
|
|
72
|
+
name: sdist
|
|
73
|
+
path: dist/*.tar.gz
|
|
74
|
+
|
|
75
|
+
merge-artifacts:
|
|
76
|
+
name: Merge Artifacts
|
|
77
|
+
needs: [build-wheels, build-sdist]
|
|
78
|
+
runs-on: ubuntu-latest
|
|
79
|
+
|
|
80
|
+
steps:
|
|
81
|
+
- uses: actions/download-artifact@v4
|
|
82
|
+
with:
|
|
83
|
+
path: dist
|
|
84
|
+
pattern: wheels-*
|
|
85
|
+
merge-multiple: true
|
|
86
|
+
|
|
87
|
+
- uses: actions/download-artifact@v4
|
|
88
|
+
with:
|
|
89
|
+
name: sdist
|
|
90
|
+
path: dist
|
|
91
|
+
|
|
92
|
+
- uses: actions/upload-artifact@v4
|
|
93
|
+
with:
|
|
94
|
+
name: wheels
|
|
95
|
+
path: dist/*
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
name: CodeQL
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: [main]
|
|
6
|
+
pull_request:
|
|
7
|
+
branches: [main]
|
|
8
|
+
schedule:
|
|
9
|
+
- cron: "0 6 * * 1"
|
|
10
|
+
|
|
11
|
+
jobs:
|
|
12
|
+
analyze:
|
|
13
|
+
name: Analyze
|
|
14
|
+
runs-on: ubuntu-latest
|
|
15
|
+
permissions:
|
|
16
|
+
security-events: write
|
|
17
|
+
packages: read
|
|
18
|
+
actions: read
|
|
19
|
+
contents: read
|
|
20
|
+
|
|
21
|
+
strategy:
|
|
22
|
+
fail-fast: false
|
|
23
|
+
matrix:
|
|
24
|
+
language: [c-cpp, python]
|
|
25
|
+
include:
|
|
26
|
+
- language: c-cpp
|
|
27
|
+
build-mode: manual
|
|
28
|
+
- language: python
|
|
29
|
+
build-mode: none
|
|
30
|
+
|
|
31
|
+
steps:
|
|
32
|
+
- uses: actions/checkout@v4
|
|
33
|
+
|
|
34
|
+
- uses: github/codeql-action/init@v3
|
|
35
|
+
with:
|
|
36
|
+
languages: ${{ matrix.language }}
|
|
37
|
+
build-mode: ${{ matrix.build-mode }}
|
|
38
|
+
|
|
39
|
+
- name: Build (C/C++)
|
|
40
|
+
if: matrix.language == 'c-cpp'
|
|
41
|
+
run: |
|
|
42
|
+
sudo apt-get update && sudo apt-get install -y libblas-dev liblapack-dev ninja-build
|
|
43
|
+
cmake -B build -G Ninja -DBUILD_TESTING=OFF
|
|
44
|
+
cmake --build build
|
|
45
|
+
|
|
46
|
+
- uses: github/codeql-action/analyze@v3
|
|
47
|
+
with:
|
|
48
|
+
category: "/language:${{ matrix.language }}"
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
name: Publish
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
tags: ["v*"]
|
|
6
|
+
workflow_dispatch:
|
|
7
|
+
inputs:
|
|
8
|
+
skip_tests:
|
|
9
|
+
description: "Skip tests"
|
|
10
|
+
type: boolean
|
|
11
|
+
default: false
|
|
12
|
+
|
|
13
|
+
jobs:
|
|
14
|
+
test:
|
|
15
|
+
if: ${{ !inputs.skip_tests }}
|
|
16
|
+
uses: ./.github/workflows/test.yml
|
|
17
|
+
|
|
18
|
+
build:
|
|
19
|
+
needs: [test]
|
|
20
|
+
if: always() && (needs.test.result == 'success' || inputs.skip_tests)
|
|
21
|
+
uses: ./.github/workflows/build.yml
|
|
22
|
+
|
|
23
|
+
publish-pypi:
|
|
24
|
+
name: Publish to PyPI
|
|
25
|
+
needs: [build]
|
|
26
|
+
if: always() && needs.build.result == 'success'
|
|
27
|
+
runs-on: ubuntu-latest
|
|
28
|
+
environment:
|
|
29
|
+
name: pypi
|
|
30
|
+
url: https://pypi.org/project/slicot/
|
|
31
|
+
permissions:
|
|
32
|
+
id-token: write
|
|
33
|
+
|
|
34
|
+
steps:
|
|
35
|
+
- uses: actions/download-artifact@v4
|
|
36
|
+
with:
|
|
37
|
+
name: wheels
|
|
38
|
+
path: dist
|
|
39
|
+
|
|
40
|
+
- uses: pypa/gh-action-pypi-publish@release/v1
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
name: Test
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: [main]
|
|
6
|
+
pull_request:
|
|
7
|
+
branches: [main]
|
|
8
|
+
workflow_dispatch:
|
|
9
|
+
workflow_call:
|
|
10
|
+
|
|
11
|
+
jobs:
|
|
12
|
+
quick-test:
|
|
13
|
+
name: Quick Test (Ubuntu)
|
|
14
|
+
runs-on: ubuntu-latest
|
|
15
|
+
|
|
16
|
+
steps:
|
|
17
|
+
- uses: actions/checkout@v4
|
|
18
|
+
|
|
19
|
+
- name: Set up Python
|
|
20
|
+
uses: actions/setup-python@v5
|
|
21
|
+
with:
|
|
22
|
+
python-version: "3.12"
|
|
23
|
+
|
|
24
|
+
- name: Install system deps
|
|
25
|
+
run: |
|
|
26
|
+
sudo apt-get update
|
|
27
|
+
sudo apt-get install -y libopenblas-dev meson ninja-build
|
|
28
|
+
|
|
29
|
+
- name: Install Python package
|
|
30
|
+
run: pip install .[test]
|
|
31
|
+
|
|
32
|
+
- name: Run quick test
|
|
33
|
+
run: pytest tests/python/test_ab01md.py -v
|
|
34
|
+
|
|
35
|
+
full-test:
|
|
36
|
+
name: Full Test Suite
|
|
37
|
+
needs: quick-test
|
|
38
|
+
runs-on: ubuntu-latest
|
|
39
|
+
|
|
40
|
+
steps:
|
|
41
|
+
- uses: actions/checkout@v4
|
|
42
|
+
|
|
43
|
+
- name: Set up Python
|
|
44
|
+
uses: actions/setup-python@v5
|
|
45
|
+
with:
|
|
46
|
+
python-version: "3.12"
|
|
47
|
+
|
|
48
|
+
- name: Install system deps
|
|
49
|
+
run: |
|
|
50
|
+
sudo apt-get update
|
|
51
|
+
sudo apt-get install -y libopenblas-dev meson ninja-build
|
|
52
|
+
|
|
53
|
+
- name: Install Python package
|
|
54
|
+
run: pip install .[test]
|
|
55
|
+
|
|
56
|
+
- name: Run full tests
|
|
57
|
+
run: pytest tests/python/ -v -n auto --reruns 2 --only-rerun "worker .* crashed"
|
|
58
|
+
|
|
59
|
+
test-macos:
|
|
60
|
+
name: Test (macOS)
|
|
61
|
+
runs-on: macos-14
|
|
62
|
+
|
|
63
|
+
steps:
|
|
64
|
+
- uses: actions/checkout@v4
|
|
65
|
+
|
|
66
|
+
- name: Set up Python
|
|
67
|
+
uses: actions/setup-python@v5
|
|
68
|
+
with:
|
|
69
|
+
python-version: "3.12"
|
|
70
|
+
|
|
71
|
+
- name: Install deps and package
|
|
72
|
+
run: |
|
|
73
|
+
pip install scipy-openblas32 meson ninja
|
|
74
|
+
mkdir -p /tmp/openblas
|
|
75
|
+
python -c "import scipy_openblas32 as sc; open('/tmp/openblas/openblas.pc','w').write(sc.get_pkg_config())"
|
|
76
|
+
PKG_CONFIG_PATH=/tmp/openblas pip install .[test]
|
|
77
|
+
|
|
78
|
+
- name: Run quick test
|
|
79
|
+
run: pytest tests/python/test_ab01md.py -v
|
slicot-1.0.0/.gitignore
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
## [1.0.0] - 2025-01-23
|
|
4
|
+
|
|
5
|
+
### Added
|
|
6
|
+
|
|
7
|
+
- Initial release
|
|
8
|
+
- 550+ SLICOT routines (AB, SB, MB, IB, TG, SG families)
|
|
9
|
+
- Pre-built wheels: Linux (x86_64, aarch64), macOS (arm64), Windows (AMD64, ARM64)
|
|
10
|
+
- Python 3.11-3.13, NumPy 2.x
|
|
11
|
+
- Type stubs (PEP 561)
|
slicot-1.0.0/CLAUDE.md
ADDED
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# CLAUDE.md
|
|
2
|
+
|
|
3
|
+
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
|
|
4
|
+
|
|
5
|
+
## Build Commands
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
# Install dev dependencies
|
|
9
|
+
pip install -e ".[test]"
|
|
10
|
+
|
|
11
|
+
# Build wheel (uses meson-python)
|
|
12
|
+
pip install build && python -m build
|
|
13
|
+
|
|
14
|
+
# Run all tests
|
|
15
|
+
pytest tests/python/
|
|
16
|
+
|
|
17
|
+
# Run single test
|
|
18
|
+
pytest tests/python/test_ab01md.py -v
|
|
19
|
+
|
|
20
|
+
# Run specific test function
|
|
21
|
+
pytest tests/python/test_ab01md.py::test_basic -v
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
## Architecture
|
|
25
|
+
|
|
26
|
+
This is a C11 translation of SLICOT (Subroutine Library In COntrol Theory) with Python bindings.
|
|
27
|
+
|
|
28
|
+
### Core Structure
|
|
29
|
+
- `src/` - C implementations organized by 2-letter prefix (AB/, SB/, MB/, etc.)
|
|
30
|
+
- `include/slicot/` - Headers per prefix (ab.h, sb.h, etc.), aggregated in `slicot.h`
|
|
31
|
+
- `include/slicot_types.h` - Type aliases: `i32`, `i64`, `f64`, `c128`
|
|
32
|
+
- `python/wrappers/py_*.c` - NumPy C-API wrappers per prefix
|
|
33
|
+
- `python/slicot_module.c` - Main Python extension module
|
|
34
|
+
- `python/data/*.json` - Docstring metadata (generated by `tools/generate_docstrings.py`)
|
|
35
|
+
|
|
36
|
+
### Build System
|
|
37
|
+
- meson-python wraps Meson for Python packaging
|
|
38
|
+
- Meson auto-detects BLAS/LAPACK (OpenBLAS, scipy-openblas, Accelerate)
|
|
39
|
+
- Static linking for wheels
|
|
40
|
+
|
|
41
|
+
### Key Conventions
|
|
42
|
+
- All arrays use Fortran column-major order (`order='F'` in NumPy)
|
|
43
|
+
- Python wrappers use `NPY_ARRAY_FARRAY` flag
|
|
44
|
+
- Tests in `tests/python/test_<routine>.py` mirror routine names
|
|
45
|
+
|
|
46
|
+
### macOS Note
|
|
47
|
+
Full test suite may crash on macOS due to Accelerate framework issues. Use `tools/run_tests_batched.py` as workaround.
|
slicot-1.0.0/LICENSE
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
BSD 3-Clause License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 1996-2025, The SLICOT Team (original Fortran77 code)
|
|
4
|
+
Copyright (c) 2025, slicot contributors (C11 translation)
|
|
5
|
+
All rights reserved.
|
|
6
|
+
|
|
7
|
+
Redistribution and use in source and binary forms, with or without
|
|
8
|
+
modification, are permitted provided that the following conditions are met:
|
|
9
|
+
|
|
10
|
+
1. Redistributions of source code must retain the above copyright notice, this
|
|
11
|
+
list of conditions and the following disclaimer.
|
|
12
|
+
|
|
13
|
+
2. Redistributions in binary form must reproduce the above copyright notice,
|
|
14
|
+
this list of conditions and the following disclaimer in the documentation
|
|
15
|
+
and/or other materials provided with the distribution.
|
|
16
|
+
|
|
17
|
+
3. Neither the name of the copyright holder nor the names of its
|
|
18
|
+
contributors may be used to endorse or promote products derived from
|
|
19
|
+
this software without specific prior written permission.
|
|
20
|
+
|
|
21
|
+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
22
|
+
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
23
|
+
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
24
|
+
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
|
25
|
+
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
26
|
+
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
27
|
+
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
28
|
+
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
29
|
+
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
30
|
+
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
slicot-1.0.0/PKG-INFO
ADDED
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: slicot
|
|
3
|
+
Version: 1.0.0
|
|
4
|
+
Summary: Python bindings for SLICOT - Subroutine Library in Control Theory
|
|
5
|
+
Keywords: control,systems,linear,lapack,blas,riccati,lyapunov
|
|
6
|
+
Author: SLICOT Contributors
|
|
7
|
+
License-Expression: BSD-3-Clause
|
|
8
|
+
Classifier: Development Status :: 5 - Production/Stable
|
|
9
|
+
Classifier: Intended Audience :: Science/Research
|
|
10
|
+
Classifier: Intended Audience :: Developers
|
|
11
|
+
Classifier: Operating System :: OS Independent
|
|
12
|
+
Classifier: Programming Language :: C
|
|
13
|
+
Classifier: Programming Language :: Python :: 3
|
|
14
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
15
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
17
|
+
Classifier: Topic :: Scientific/Engineering
|
|
18
|
+
Classifier: Topic :: Scientific/Engineering :: Mathematics
|
|
19
|
+
Project-URL: Homepage, https://github.com/jamestjsp/slicot
|
|
20
|
+
Project-URL: Documentation, https://slicot.github.io/
|
|
21
|
+
Project-URL: Repository, https://github.com/jamestjsp/slicot
|
|
22
|
+
Project-URL: Issues, https://github.com/jamestjsp/slicot/issues
|
|
23
|
+
Requires-Python: >=3.11
|
|
24
|
+
Requires-Dist: numpy>=2.0
|
|
25
|
+
Provides-Extra: test
|
|
26
|
+
Requires-Dist: pytest; extra == "test"
|
|
27
|
+
Requires-Dist: pytest-xdist; extra == "test"
|
|
28
|
+
Requires-Dist: pytest-rerunfailures; extra == "test"
|
|
29
|
+
Requires-Dist: scipy; extra == "test"
|
|
30
|
+
Description-Content-Type: text/markdown
|
|
31
|
+
|
|
32
|
+
# SLICOT
|
|
33
|
+
|
|
34
|
+
[](https://badge.fury.io/py/slicot)
|
|
35
|
+
[](https://github.com/jamestjsp/slicot/actions)
|
|
36
|
+
[](LICENSE)
|
|
37
|
+
|
|
38
|
+
Python bindings for **SLICOT** (Subroutine Library In COntrol Theory) - numerical routines for control systems analysis and design.
|
|
39
|
+
|
|
40
|
+
## Installation
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
pip install slicot
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
## Features
|
|
47
|
+
|
|
48
|
+
- **600+ routines** for control systems
|
|
49
|
+
- **State-space methods**: Riccati, Lyapunov, pole placement
|
|
50
|
+
- **Model reduction**: Balance & Truncate, Hankel-norm
|
|
51
|
+
- **System identification**: MOESP, N4SID
|
|
52
|
+
- **NumPy integration**: Column-major arrays
|
|
53
|
+
|
|
54
|
+
## Quick Start
|
|
55
|
+
|
|
56
|
+
```python
|
|
57
|
+
import numpy as np
|
|
58
|
+
import slicot
|
|
59
|
+
|
|
60
|
+
# Controllability analysis
|
|
61
|
+
A = np.array([[1, 2], [3, 4]], order='F')
|
|
62
|
+
B = np.array([[1], [0]], order='F')
|
|
63
|
+
|
|
64
|
+
a_out, b_out, ncont, z, tau, info = slicot.ab01md('I', A, B.flatten(), 0.0)
|
|
65
|
+
print(f"Controllable dimension: {ncont}")
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
## Column-Major Arrays
|
|
69
|
+
|
|
70
|
+
SLICOT uses Fortran conventions:
|
|
71
|
+
|
|
72
|
+
```python
|
|
73
|
+
A = np.array([[1, 2], [3, 4]], order='F') # Required!
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
## License
|
|
77
|
+
|
|
78
|
+
BSD-3-Clause. See [LICENSE](LICENSE).
|
slicot-1.0.0/README.md
ADDED
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# SLICOT
|
|
2
|
+
|
|
3
|
+
[](https://badge.fury.io/py/slicot)
|
|
4
|
+
[](https://github.com/jamestjsp/slicot/actions)
|
|
5
|
+
[](LICENSE)
|
|
6
|
+
|
|
7
|
+
Python bindings for **SLICOT** (Subroutine Library In COntrol Theory) - numerical routines for control systems analysis and design.
|
|
8
|
+
|
|
9
|
+
## Installation
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
pip install slicot
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Features
|
|
16
|
+
|
|
17
|
+
- **600+ routines** for control systems
|
|
18
|
+
- **State-space methods**: Riccati, Lyapunov, pole placement
|
|
19
|
+
- **Model reduction**: Balance & Truncate, Hankel-norm
|
|
20
|
+
- **System identification**: MOESP, N4SID
|
|
21
|
+
- **NumPy integration**: Column-major arrays
|
|
22
|
+
|
|
23
|
+
## Quick Start
|
|
24
|
+
|
|
25
|
+
```python
|
|
26
|
+
import numpy as np
|
|
27
|
+
import slicot
|
|
28
|
+
|
|
29
|
+
# Controllability analysis
|
|
30
|
+
A = np.array([[1, 2], [3, 4]], order='F')
|
|
31
|
+
B = np.array([[1], [0]], order='F')
|
|
32
|
+
|
|
33
|
+
a_out, b_out, ncont, z, tau, info = slicot.ab01md('I', A, B.flatten(), 0.0)
|
|
34
|
+
print(f"Controllable dimension: {ncont}")
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## Column-Major Arrays
|
|
38
|
+
|
|
39
|
+
SLICOT uses Fortran conventions:
|
|
40
|
+
|
|
41
|
+
```python
|
|
42
|
+
A = np.array([[1, 2], [3, 4]], order='F') # Required!
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
## License
|
|
46
|
+
|
|
47
|
+
BSD-3-Clause. See [LICENSE](LICENSE).
|