ruby-lapack 1.6 → 1.7
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.
- checksums.yaml +7 -0
- data/Rakefile +1 -1
- data/dev/make_csrc.rb +8 -2
- data/ext/extconf.rb +15 -11
- data/ext/rb_lapack.h +7 -1
- metadata +48 -1700
- data/ext/cbbcsd.c +0 -283
- data/ext/cbdsqr.c +0 -182
- data/ext/cgbbrd.c +0 -157
- data/ext/cgbcon.c +0 -98
- data/ext/cgbequ.c +0 -98
- data/ext/cgbequb.c +0 -96
- data/ext/cgbrfs.c +0 -161
- data/ext/cgbrfsx.c +0 -249
- data/ext/cgbsv.c +0 -115
- data/ext/cgbsvx.c +0 -286
- data/ext/cgbsvxx.c +0 -289
- data/ext/cgbtf2.c +0 -93
- data/ext/cgbtrf.c +0 -93
- data/ext/cgbtrs.c +0 -111
- data/ext/cgebak.c +0 -101
- data/ext/cgebal.c +0 -91
- data/ext/cgebd2.c +0 -112
- data/ext/cgebrd.c +0 -127
- data/ext/cgecon.c +0 -78
- data/ext/cgeequ.c +0 -88
- data/ext/cgeequb.c +0 -88
- data/ext/cgees.c +0 -142
- data/ext/cgeesx.c +0 -152
- data/ext/cgeev.c +0 -132
- data/ext/cgeevx.c +0 -173
- data/ext/cgegs.c +0 -166
- data/ext/cgegv.c +0 -171
- data/ext/cgehd2.c +0 -92
- data/ext/cgehrd.c +0 -107
- data/ext/cgelq2.c +0 -86
- data/ext/cgelqf.c +0 -103
- data/ext/cgels.c +0 -137
- data/ext/cgelsd.c +0 -154
- data/ext/cgelss.c +0 -151
- data/ext/cgelsx.c +0 -139
- data/ext/cgelsy.c +0 -166
- data/ext/cgeql2.c +0 -88
- data/ext/cgeqlf.c +0 -103
- data/ext/cgeqp3.c +0 -129
- data/ext/cgeqpf.c +0 -114
- data/ext/cgeqr2.c +0 -88
- data/ext/cgeqr2p.c +0 -88
- data/ext/cgeqrf.c +0 -103
- data/ext/cgeqrfp.c +0 -103
- data/ext/cgerfs.c +0 -153
- data/ext/cgerfsx.c +0 -219
- data/ext/cgerq2.c +0 -86
- data/ext/cgerqf.c +0 -103
- data/ext/cgesc2.c +0 -108
- data/ext/cgesdd.c +0 -135
- data/ext/cgesv.c +0 -107
- data/ext/cgesvd.c +0 -146
- data/ext/cgesvx.c +0 -278
- data/ext/cgesvxx.c +0 -281
- data/ext/cgetc2.c +0 -89
- data/ext/cgetf2.c +0 -85
- data/ext/cgetrf.c +0 -85
- data/ext/cgetri.c +0 -103
- data/ext/cgetrs.c +0 -103
- data/ext/cggbak.c +0 -113
- data/ext/cggbal.c +0 -128
- data/ext/cgges.c +0 -192
- data/ext/cggesx.c +0 -230
- data/ext/cggev.c +0 -171
- data/ext/cggevx.c +0 -226
- data/ext/cggglm.c +0 -156
- data/ext/cgghrd.c +0 -167
- data/ext/cgglse.c +0 -171
- data/ext/cggqrf.c +0 -137
- data/ext/cggrqf.c +0 -141
- data/ext/cggsvd.c +0 -184
- data/ext/cggsvp.c +0 -174
- data/ext/cgtcon.c +0 -121
- data/ext/cgtrfs.c +0 -209
- data/ext/cgtsv.c +0 -142
- data/ext/cgtsvx.c +0 -256
- data/ext/cgttrf.c +0 -132
- data/ext/cgttrs.c +0 -137
- data/ext/cgtts2.c +0 -134
- data/ext/chbev.c +0 -110
- data/ext/chbevd.c +0 -158
- data/ext/chbevx.c +0 -160
- data/ext/chbgst.c +0 -120
- data/ext/chbgv.c +0 -140
- data/ext/chbgvd.c +0 -188
- data/ext/chbgvx.c +0 -189
- data/ext/chbtrd.c +0 -130
- data/ext/checon.c +0 -87
- data/ext/cheequb.c +0 -82
- data/ext/cheev.c +0 -110
- data/ext/cheevd.c +0 -143
- data/ext/cheevr.c +0 -190
- data/ext/cheevx.c +0 -160
- data/ext/chegs2.c +0 -95
- data/ext/chegst.c +0 -95
- data/ext/chegv.c +0 -140
- data/ext/chegvd.c +0 -173
- data/ext/chegvx.c +0 -190
- data/ext/cherfs.c +0 -153
- data/ext/cherfsx.c +0 -218
- data/ext/chesv.c +0 -123
- data/ext/chesvx.c +0 -183
- data/ext/chesvxx.c +0 -258
- data/ext/chetd2.c +0 -101
- data/ext/chetf2.c +0 -85
- data/ext/chetrd.c +0 -113
- data/ext/chetrf.c +0 -97
- data/ext/chetri.c +0 -92
- data/ext/chetrs.c +0 -103
- data/ext/chetrs2.c +0 -106
- data/ext/chfrk.c +0 -109
- data/ext/chgeqz.c +0 -208
- data/ext/chla_transtype.c +0 -51
- data/ext/chpcon.c +0 -85
- data/ext/chpev.c +0 -105
- data/ext/chpevd.c +0 -153
- data/ext/chpevx.c +0 -144
- data/ext/chpgst.c +0 -94
- data/ext/chpgv.c +0 -132
- data/ext/chpgvd.c +0 -170
- data/ext/chpgvx.c +0 -170
- data/ext/chprfs.c +0 -149
- data/ext/chpsv.c +0 -110
- data/ext/chpsvx.c +0 -163
- data/ext/chptrd.c +0 -100
- data/ext/chptrf.c +0 -84
- data/ext/chptri.c +0 -89
- data/ext/chptrs.c +0 -101
- data/ext/chsein.c +0 -185
- data/ext/chseqr.c +0 -145
- data/ext/cla_gbamv.c +0 -127
- data/ext/cla_gbrcond_c.c +0 -142
- data/ext/cla_gbrcond_x.c +0 -138
- data/ext/cla_gbrfsx_extended.c +0 -295
- data/ext/cla_gbrpvgrw.c +0 -87
- data/ext/cla_geamv.c +0 -117
- data/ext/cla_gercond_c.c +0 -134
- data/ext/cla_gercond_x.c +0 -130
- data/ext/cla_gerfsx_extended.c +0 -281
- data/ext/cla_heamv.c +0 -116
- data/ext/cla_hercond_c.c +0 -134
- data/ext/cla_hercond_x.c +0 -130
- data/ext/cla_herfsx_extended.c +0 -283
- data/ext/cla_herpvgrw.c +0 -107
- data/ext/cla_lin_berr.c +0 -84
- data/ext/cla_porcond_c.c +0 -122
- data/ext/cla_porcond_x.c +0 -118
- data/ext/cla_porfsx_extended.c +0 -271
- data/ext/cla_porpvgrw.c +0 -95
- data/ext/cla_rpvgrw.c +0 -79
- data/ext/cla_syamv.c +0 -115
- data/ext/cla_syrcond_c.c +0 -134
- data/ext/cla_syrcond_x.c +0 -130
- data/ext/cla_syrfsx_extended.c +0 -283
- data/ext/cla_syrpvgrw.c +0 -107
- data/ext/cla_wwaddw.c +0 -102
- data/ext/clabrd.c +0 -132
- data/ext/clacgv.c +0 -75
- data/ext/clacn2.c +0 -103
- data/ext/clacon.c +0 -80
- data/ext/clacp2.c +0 -77
- data/ext/clacpy.c +0 -77
- data/ext/clacrm.c +0 -90
- data/ext/clacrt.c +0 -108
- data/ext/cladiv.c +0 -57
- data/ext/claed0.c +0 -134
- data/ext/claed7.c +0 -247
- data/ext/claed8.c +0 -198
- data/ext/claein.c +0 -113
- data/ext/claesy.c +0 -74
- data/ext/claev2.c +0 -71
- data/ext/clag2z.c +0 -76
- data/ext/clags2.c +0 -92
- data/ext/clagtm.c +0 -132
- data/ext/clahef.c +0 -97
- data/ext/clahqr.c +0 -135
- data/ext/clahr2.c +0 -112
- data/ext/clahrd.c +0 -112
- data/ext/claic1.c +0 -90
- data/ext/clals0.c +0 -201
- data/ext/clalsa.c +0 -270
- data/ext/clalsd.c +0 -145
- data/ext/clangb.c +0 -76
- data/ext/clange.c +0 -74
- data/ext/clangt.c +0 -87
- data/ext/clanhb.c +0 -78
- data/ext/clanhe.c +0 -72
- data/ext/clanhf.c +0 -80
- data/ext/clanhp.c +0 -74
- data/ext/clanhs.c +0 -70
- data/ext/clanht.c +0 -75
- data/ext/clansb.c +0 -78
- data/ext/clansp.c +0 -74
- data/ext/clansy.c +0 -72
- data/ext/clantb.c +0 -80
- data/ext/clantp.c +0 -80
- data/ext/clantr.c +0 -82
- data/ext/clapll.c +0 -105
- data/ext/clapmr.c +0 -97
- data/ext/clapmt.c +0 -101
- data/ext/claqgb.c +0 -117
- data/ext/claqge.c +0 -109
- data/ext/claqhb.c +0 -97
- data/ext/claqhe.c +0 -97
- data/ext/claqhp.c +0 -94
- data/ext/claqp2.c +0 -158
- data/ext/claqps.c +0 -208
- data/ext/claqr0.c +0 -145
- data/ext/claqr1.c +0 -76
- data/ext/claqr2.c +0 -174
- data/ext/claqr3.c +0 -174
- data/ext/claqr4.c +0 -145
- data/ext/claqr5.c +0 -179
- data/ext/claqsb.c +0 -101
- data/ext/claqsp.c +0 -94
- data/ext/claqsy.c +0 -97
- data/ext/clar1v.c +0 -173
- data/ext/clar2v.c +0 -149
- data/ext/clarcm.c +0 -86
- data/ext/clarf.c +0 -102
- data/ext/clarfb.c +0 -123
- data/ext/clarfg.c +0 -84
- data/ext/clarfgp.c +0 -84
- data/ext/clarft.c +0 -105
- data/ext/clarfx.c +0 -94
- data/ext/clargv.c +0 -114
- data/ext/clarnv.c +0 -83
- data/ext/clarrv.c +0 -271
- data/ext/clarscl2.c +0 -82
- data/ext/clartg.c +0 -63
- data/ext/clartv.c +0 -130
- data/ext/clarz.c +0 -106
- data/ext/clarzb.c +0 -127
- data/ext/clarzt.c +0 -105
- data/ext/clascl.c +0 -97
- data/ext/clascl2.c +0 -82
- data/ext/claset.c +0 -88
- data/ext/clasr.c +0 -110
- data/ext/classq.c +0 -70
- data/ext/claswp.c +0 -94
- data/ext/clasyf.c +0 -97
- data/ext/clatbs.c +0 -130
- data/ext/clatdf.c +0 -119
- data/ext/clatps.c +0 -124
- data/ext/clatrd.c +0 -105
- data/ext/clatrs.c +0 -126
- data/ext/clatrz.c +0 -87
- data/ext/clatzm.c +0 -132
- data/ext/clauu2.c +0 -77
- data/ext/clauum.c +0 -77
- data/ext/cpbcon.c +0 -82
- data/ext/cpbequ.c +0 -83
- data/ext/cpbrfs.c +0 -145
- data/ext/cpbstf.c +0 -81
- data/ext/cpbsv.c +0 -107
- data/ext/cpbsvx.c +0 -201
- data/ext/cpbtf2.c +0 -81
- data/ext/cpbtrf.c +0 -81
- data/ext/cpbtrs.c +0 -95
- data/ext/cpftrf.c +0 -82
- data/ext/cpftri.c +0 -82
- data/ext/cpftrs.c +0 -97
- data/ext/cpocon.c +0 -78
- data/ext/cpoequ.c +0 -75
- data/ext/cpoequb.c +0 -75
- data/ext/cporfs.c +0 -141
- data/ext/cporfsx.c +0 -206
- data/ext/cposv.c +0 -103
- data/ext/cposvx.c +0 -197
- data/ext/cposvxx.c +0 -235
- data/ext/cpotf2.c +0 -77
- data/ext/cpotrf.c +0 -77
- data/ext/cpotri.c +0 -77
- data/ext/cpotrs.c +0 -91
- data/ext/cppcon.c +0 -78
- data/ext/cppequ.c +0 -79
- data/ext/cpprfs.c +0 -139
- data/ext/cppsv.c +0 -104
- data/ext/cppsvx.c +0 -191
- data/ext/cpptrf.c +0 -78
- data/ext/cpptri.c +0 -78
- data/ext/cpptrs.c +0 -93
- data/ext/cpstf2.c +0 -95
- data/ext/cpstrf.c +0 -95
- data/ext/cptcon.c +0 -81
- data/ext/cpteqr.c +0 -126
- data/ext/cptrfs.c +0 -161
- data/ext/cptsv.c +0 -119
- data/ext/cptsvx.c +0 -171
- data/ext/cpttrf.c +0 -93
- data/ext/cpttrs.c +0 -101
- data/ext/cptts2.c +0 -98
- data/ext/crot.c +0 -107
- data/ext/cspcon.c +0 -85
- data/ext/cspmv.c +0 -115
- data/ext/cspr.c +0 -96
- data/ext/csprfs.c +0 -149
- data/ext/cspsv.c +0 -110
- data/ext/cspsvx.c +0 -163
- data/ext/csptrf.c +0 -84
- data/ext/csptri.c +0 -89
- data/ext/csptrs.c +0 -101
- data/ext/csrscl.c +0 -79
- data/ext/cstedc.c +0 -177
- data/ext/cstegr.c +0 -188
- data/ext/cstein.c +0 -134
- data/ext/cstemr.c +0 -193
- data/ext/csteqr.c +0 -126
- data/ext/csycon.c +0 -87
- data/ext/csyconv.c +0 -84
- data/ext/csyequb.c +0 -82
- data/ext/csymv.c +0 -115
- data/ext/csyr.c +0 -95
- data/ext/csyrfs.c +0 -153
- data/ext/csyrfsx.c +0 -218
- data/ext/csysv.c +0 -129
- data/ext/csysvx.c +0 -183
- data/ext/csysvxx.c +0 -258
- data/ext/csyswapr.c +0 -82
- data/ext/csytf2.c +0 -85
- data/ext/csytrf.c +0 -97
- data/ext/csytri.c +0 -92
- data/ext/csytri2.c +0 -108
- data/ext/csytri2x.c +0 -96
- data/ext/csytrs.c +0 -103
- data/ext/csytrs2.c +0 -106
- data/ext/ctbcon.c +0 -86
- data/ext/ctbrfs.c +0 -127
- data/ext/ctbtrs.c +0 -103
- data/ext/ctfsm.c +0 -111
- data/ext/ctftri.c +0 -86
- data/ext/ctfttp.c +0 -79
- data/ext/ctfttr.c +0 -80
- data/ext/ctgevc.c +0 -156
- data/ext/ctgex2.c +0 -171
- data/ext/ctgexc.c +0 -172
- data/ext/ctgsen.c +0 -244
- data/ext/ctgsja.c +0 -227
- data/ext/ctgsna.c +0 -164
- data/ext/ctgsy2.c +0 -176
- data/ext/ctgsyl.c +0 -190
- data/ext/ctpcon.c +0 -82
- data/ext/ctprfs.c +0 -123
- data/ext/ctptri.c +0 -82
- data/ext/ctptrs.c +0 -101
- data/ext/ctpttf.c +0 -79
- data/ext/ctpttr.c +0 -76
- data/ext/ctrcon.c +0 -82
- data/ext/ctrevc.c +0 -154
- data/ext/ctrexc.c +0 -111
- data/ext/ctrrfs.c +0 -123
- data/ext/ctrsen.c +0 -154
- data/ext/ctrsna.c +0 -137
- data/ext/ctrsyl.c +0 -116
- data/ext/ctrti2.c +0 -81
- data/ext/ctrtri.c +0 -81
- data/ext/ctrtrs.c +0 -99
- data/ext/ctrttf.c +0 -77
- data/ext/ctrttp.c +0 -73
- data/ext/ctzrqf.c +0 -83
- data/ext/ctzrzf.c +0 -101
- data/ext/cunbdb.c +0 -232
- data/ext/cuncsd.c +0 -204
- data/ext/cung2l.c +0 -92
- data/ext/cung2r.c +0 -92
- data/ext/cungbr.c +0 -115
- data/ext/cunghr.c +0 -111
- data/ext/cungl2.c +0 -90
- data/ext/cunglq.c +0 -107
- data/ext/cungql.c +0 -107
- data/ext/cungqr.c +0 -107
- data/ext/cungr2.c +0 -90
- data/ext/cungrq.c +0 -107
- data/ext/cungtr.c +0 -107
- data/ext/cunm2l.c +0 -114
- data/ext/cunm2r.c +0 -114
- data/ext/cunmbr.c +0 -139
- data/ext/cunmhr.c +0 -133
- data/ext/cunml2.c +0 -110
- data/ext/cunmlq.c +0 -125
- data/ext/cunmql.c +0 -129
- data/ext/cunmqr.c +0 -129
- data/ext/cunmr2.c +0 -110
- data/ext/cunmr3.c +0 -114
- data/ext/cunmrq.c +0 -125
- data/ext/cunmrz.c +0 -129
- data/ext/cunmtr.c +0 -129
- data/ext/cupgtr.c +0 -91
- data/ext/cupmtr.c +0 -116
- data/ext/dbbcsd.c +0 -287
- data/ext/dbdsdc.c +0 -151
- data/ext/dbdsqr.c +0 -182
- data/ext/ddisna.c +0 -75
- data/ext/dgbbrd.c +0 -154
- data/ext/dgbcon.c +0 -98
- data/ext/dgbequ.c +0 -98
- data/ext/dgbequb.c +0 -96
- data/ext/dgbrfs.c +0 -161
- data/ext/dgbrfsx.c +0 -249
- data/ext/dgbsv.c +0 -115
- data/ext/dgbsvx.c +0 -286
- data/ext/dgbsvxx.c +0 -289
- data/ext/dgbtf2.c +0 -93
- data/ext/dgbtrf.c +0 -93
- data/ext/dgbtrs.c +0 -111
- data/ext/dgebak.c +0 -101
- data/ext/dgebal.c +0 -91
- data/ext/dgebd2.c +0 -112
- data/ext/dgebrd.c +0 -127
- data/ext/dgecon.c +0 -78
- data/ext/dgeequ.c +0 -88
- data/ext/dgeequb.c +0 -88
- data/ext/dgees.c +0 -148
- data/ext/dgeesx.c +0 -170
- data/ext/dgeev.c +0 -137
- data/ext/dgeevx.c +0 -181
- data/ext/dgegs.c +0 -171
- data/ext/dgegv.c +0 -171
- data/ext/dgehd2.c +0 -92
- data/ext/dgehrd.c +0 -107
- data/ext/dgejsv.c +0 -159
- data/ext/dgelq2.c +0 -86
- data/ext/dgelqf.c +0 -103
- data/ext/dgels.c +0 -137
- data/ext/dgelsd.c +0 -149
- data/ext/dgelss.c +0 -148
- data/ext/dgelsx.c +0 -136
- data/ext/dgelsy.c +0 -163
- data/ext/dgeql2.c +0 -88
- data/ext/dgeqlf.c +0 -103
- data/ext/dgeqp3.c +0 -126
- data/ext/dgeqpf.c +0 -111
- data/ext/dgeqr2.c +0 -88
- data/ext/dgeqr2p.c +0 -88
- data/ext/dgeqrf.c +0 -103
- data/ext/dgeqrfp.c +0 -103
- data/ext/dgerfs.c +0 -153
- data/ext/dgerfsx.c +0 -219
- data/ext/dgerq2.c +0 -86
- data/ext/dgerqf.c +0 -103
- data/ext/dgesc2.c +0 -108
- data/ext/dgesdd.c +0 -132
- data/ext/dgesv.c +0 -107
- data/ext/dgesvd.c +0 -143
- data/ext/dgesvj.c +0 -156
- data/ext/dgesvx.c +0 -278
- data/ext/dgesvxx.c +0 -281
- data/ext/dgetc2.c +0 -89
- data/ext/dgetf2.c +0 -85
- data/ext/dgetrf.c +0 -85
- data/ext/dgetri.c +0 -103
- data/ext/dgetrs.c +0 -103
- data/ext/dggbak.c +0 -113
- data/ext/dggbal.c +0 -128
- data/ext/dgges.c +0 -198
- data/ext/dggesx.c +0 -231
- data/ext/dggev.c +0 -171
- data/ext/dggevx.c +0 -229
- data/ext/dggglm.c +0 -156
- data/ext/dgghrd.c +0 -167
- data/ext/dgglse.c +0 -171
- data/ext/dggqrf.c +0 -137
- data/ext/dggrqf.c +0 -141
- data/ext/dggsvd.c +0 -181
- data/ext/dggsvp.c +0 -171
- data/ext/dgsvj0.c +0 -182
- data/ext/dgsvj1.c +0 -186
- data/ext/dgtcon.c +0 -124
- data/ext/dgtrfs.c +0 -209
- data/ext/dgtsv.c +0 -142
- data/ext/dgtsvx.c +0 -256
- data/ext/dgttrf.c +0 -132
- data/ext/dgttrs.c +0 -137
- data/ext/dgtts2.c +0 -134
- data/ext/dhgeqz.c +0 -213
- data/ext/dhsein.c +0 -205
- data/ext/dhseqr.c +0 -153
- data/ext/disnan.c +0 -51
- data/ext/dla_gbamv.c +0 -129
- data/ext/dla_gbrcond.c +0 -142
- data/ext/dla_gbrfsx_extended.c +0 -293
- data/ext/dla_gbrpvgrw.c +0 -87
- data/ext/dla_geamv.c +0 -119
- data/ext/dla_gercond.c +0 -134
- data/ext/dla_gerfsx_extended.c +0 -281
- data/ext/dla_lin_berr.c +0 -84
- data/ext/dla_porcond.c +0 -122
- data/ext/dla_porfsx_extended.c +0 -271
- data/ext/dla_porpvgrw.c +0 -95
- data/ext/dla_rpvgrw.c +0 -79
- data/ext/dla_syamv.c +0 -113
- data/ext/dla_syrcond.c +0 -134
- data/ext/dla_syrfsx_extended.c +0 -283
- data/ext/dla_syrpvgrw.c +0 -107
- data/ext/dla_wwaddw.c +0 -102
- data/ext/dlabad.c +0 -54
- data/ext/dlabrd.c +0 -132
- data/ext/dlacn2.c +0 -106
- data/ext/dlacon.c +0 -83
- data/ext/dlacpy.c +0 -77
- data/ext/dladiv.c +0 -66
- data/ext/dlae2.c +0 -62
- data/ext/dlaebz.c +0 -218
- data/ext/dlaed0.c +0 -127
- data/ext/dlaed1.c +0 -133
- data/ext/dlaed2.c +0 -189
- data/ext/dlaed3.c +0 -161
- data/ext/dlaed4.c +0 -90
- data/ext/dlaed5.c +0 -87
- data/ext/dlaed6.c +0 -90
- data/ext/dlaed7.c +0 -248
- data/ext/dlaed8.c +0 -206
- data/ext/dlaed9.c +0 -111
- data/ext/dlaeda.c +0 -160
- data/ext/dlaein.c +0 -143
- data/ext/dlaev2.c +0 -68
- data/ext/dlaexc.c +0 -118
- data/ext/dlag2.c +0 -91
- data/ext/dlag2s.c +0 -76
- data/ext/dlags2.c +0 -90
- data/ext/dlagtf.c +0 -140
- data/ext/dlagtm.c +0 -132
- data/ext/dlagts.c +0 -139
- data/ext/dlagv2.c +0 -132
- data/ext/dlahqr.c +0 -143
- data/ext/dlahr2.c +0 -112
- data/ext/dlahrd.c +0 -112
- data/ext/dlaic1.c +0 -89
- data/ext/dlaln2.c +0 -120
- data/ext/dlals0.c +0 -201
- data/ext/dlalsa.c +0 -270
- data/ext/dlalsd.c +0 -142
- data/ext/dlamrg.c +0 -80
- data/ext/dlaneg.c +0 -83
- data/ext/dlangb.c +0 -78
- data/ext/dlange.c +0 -74
- data/ext/dlangt.c +0 -87
- data/ext/dlanhs.c +0 -70
- data/ext/dlansb.c +0 -78
- data/ext/dlansf.c +0 -80
- data/ext/dlansp.c +0 -76
- data/ext/dlanst.c +0 -75
- data/ext/dlansy.c +0 -74
- data/ext/dlantb.c +0 -82
- data/ext/dlantp.c +0 -80
- data/ext/dlantr.c +0 -82
- data/ext/dlanv2.c +0 -82
- data/ext/dlapll.c +0 -105
- data/ext/dlapmr.c +0 -97
- data/ext/dlapmt.c +0 -101
- data/ext/dlapy2.c +0 -55
- data/ext/dlapy3.c +0 -59
- data/ext/dlaqgb.c +0 -117
- data/ext/dlaqge.c +0 -109
- data/ext/dlaqp2.c +0 -158
- data/ext/dlaqps.c +0 -208
- data/ext/dlaqr0.c +0 -153
- data/ext/dlaqr1.c +0 -82
- data/ext/dlaqr2.c +0 -182
- data/ext/dlaqr3.c +0 -182
- data/ext/dlaqr4.c +0 -153
- data/ext/dlaqr5.c +0 -200
- data/ext/dlaqsb.c +0 -101
- data/ext/dlaqsp.c +0 -94
- data/ext/dlaqsy.c +0 -97
- data/ext/dlaqtr.c +0 -114
- data/ext/dlar1v.c +0 -173
- data/ext/dlar2v.c +0 -149
- data/ext/dlarf.c +0 -101
- data/ext/dlarfb.c +0 -123
- data/ext/dlarfg.c +0 -83
- data/ext/dlarfgp.c +0 -83
- data/ext/dlarft.c +0 -105
- data/ext/dlarfx.c +0 -93
- data/ext/dlargv.c +0 -114
- data/ext/dlarnv.c +0 -83
- data/ext/dlarra.c +0 -124
- data/ext/dlarrb.c +0 -178
- data/ext/dlarrc.c +0 -96
- data/ext/dlarrd.c +0 -190
- data/ext/dlarre.c +0 -221
- data/ext/dlarrf.c +0 -176
- data/ext/dlarrj.c +0 -147
- data/ext/dlarrk.c +0 -97
- data/ext/dlarrr.c +0 -82
- data/ext/dlarrv.c +0 -271
- data/ext/dlarscl2.c +0 -82
- data/ext/dlartg.c +0 -61
- data/ext/dlartgp.c +0 -61
- data/ext/dlartgs.c +0 -62
- data/ext/dlartv.c +0 -130
- data/ext/dlaruv.c +0 -79
- data/ext/dlarz.c +0 -105
- data/ext/dlarzb.c +0 -127
- data/ext/dlarzt.c +0 -105
- data/ext/dlas2.c +0 -62
- data/ext/dlascl.c +0 -97
- data/ext/dlascl2.c +0 -82
- data/ext/dlasd0.c +0 -120
- data/ext/dlasd1.c +0 -162
- data/ext/dlasd2.c +0 -228
- data/ext/dlasd3.c +0 -202
- data/ext/dlasd4.c +0 -93
- data/ext/dlasd5.c +0 -90
- data/ext/dlasd6.c +0 -236
- data/ext/dlasd7.c +0 -225
- data/ext/dlasd8.c +0 -173
- data/ext/dlasda.c +0 -221
- data/ext/dlasdq.c +0 -186
- data/ext/dlasdt.c +0 -82
- data/ext/dlaset.c +0 -86
- data/ext/dlasq1.c +0 -96
- data/ext/dlasq2.c +0 -74
- data/ext/dlasq3.c +0 -138
- data/ext/dlasq4.c +0 -107
- data/ext/dlasq5.c +0 -94
- data/ext/dlasq6.c +0 -86
- data/ext/dlasr.c +0 -110
- data/ext/dlasrt.c +0 -74
- data/ext/dlassq.c +0 -70
- data/ext/dlasv2.c +0 -74
- data/ext/dlaswp.c +0 -94
- data/ext/dlasy2.c +0 -126
- data/ext/dlasyf.c +0 -97
- data/ext/dlat2s.c +0 -76
- data/ext/dlatbs.c +0 -130
- data/ext/dlatdf.c +0 -119
- data/ext/dlatps.c +0 -124
- data/ext/dlatrd.c +0 -105
- data/ext/dlatrs.c +0 -126
- data/ext/dlatrz.c +0 -87
- data/ext/dlatzm.c +0 -131
- data/ext/dlauu2.c +0 -77
- data/ext/dlauum.c +0 -77
- data/ext/dopgtr.c +0 -91
- data/ext/dopmtr.c +0 -116
- data/ext/dorbdb.c +0 -232
- data/ext/dorcsd.c +0 -197
- data/ext/dorg2l.c +0 -92
- data/ext/dorg2r.c +0 -92
- data/ext/dorgbr.c +0 -115
- data/ext/dorghr.c +0 -111
- data/ext/dorgl2.c +0 -90
- data/ext/dorglq.c +0 -107
- data/ext/dorgql.c +0 -107
- data/ext/dorgqr.c +0 -107
- data/ext/dorgr2.c +0 -90
- data/ext/dorgrq.c +0 -107
- data/ext/dorgtr.c +0 -107
- data/ext/dorm2l.c +0 -114
- data/ext/dorm2r.c +0 -114
- data/ext/dormbr.c +0 -139
- data/ext/dormhr.c +0 -133
- data/ext/dorml2.c +0 -110
- data/ext/dormlq.c +0 -125
- data/ext/dormql.c +0 -129
- data/ext/dormqr.c +0 -129
- data/ext/dormr2.c +0 -110
- data/ext/dormr3.c +0 -114
- data/ext/dormrq.c +0 -125
- data/ext/dormrz.c +0 -129
- data/ext/dormtr.c +0 -129
- data/ext/dpbcon.c +0 -82
- data/ext/dpbequ.c +0 -83
- data/ext/dpbrfs.c +0 -145
- data/ext/dpbstf.c +0 -81
- data/ext/dpbsv.c +0 -107
- data/ext/dpbsvx.c +0 -201
- data/ext/dpbtf2.c +0 -81
- data/ext/dpbtrf.c +0 -81
- data/ext/dpbtrs.c +0 -95
- data/ext/dpftrf.c +0 -82
- data/ext/dpftri.c +0 -82
- data/ext/dpftrs.c +0 -97
- data/ext/dpocon.c +0 -78
- data/ext/dpoequ.c +0 -75
- data/ext/dpoequb.c +0 -75
- data/ext/dporfs.c +0 -141
- data/ext/dporfsx.c +0 -206
- data/ext/dposv.c +0 -103
- data/ext/dposvx.c +0 -197
- data/ext/dposvxx.c +0 -235
- data/ext/dpotf2.c +0 -77
- data/ext/dpotrf.c +0 -77
- data/ext/dpotri.c +0 -77
- data/ext/dpotrs.c +0 -91
- data/ext/dppcon.c +0 -78
- data/ext/dppequ.c +0 -79
- data/ext/dpprfs.c +0 -139
- data/ext/dppsv.c +0 -104
- data/ext/dppsvx.c +0 -191
- data/ext/dpptrf.c +0 -78
- data/ext/dpptri.c +0 -78
- data/ext/dpptrs.c +0 -93
- data/ext/dpstf2.c +0 -95
- data/ext/dpstrf.c +0 -95
- data/ext/dptcon.c +0 -81
- data/ext/dpteqr.c +0 -126
- data/ext/dptrfs.c +0 -154
- data/ext/dptsv.c +0 -119
- data/ext/dptsvx.c +0 -168
- data/ext/dpttrf.c +0 -93
- data/ext/dpttrs.c +0 -97
- data/ext/dptts2.c +0 -94
- data/ext/drscl.c +0 -79
- data/ext/dsbev.c +0 -107
- data/ext/dsbevd.c +0 -140
- data/ext/dsbevx.c +0 -157
- data/ext/dsbgst.c +0 -117
- data/ext/dsbgv.c +0 -137
- data/ext/dsbgvd.c +0 -170
- data/ext/dsbgvx.c +0 -197
- data/ext/dsbtrd.c +0 -130
- data/ext/dsfrk.c +0 -109
- data/ext/dsgesv.c +0 -115
- data/ext/dspcon.c +0 -88
- data/ext/dspev.c +0 -102
- data/ext/dspevd.c +0 -135
- data/ext/dspevx.c +0 -141
- data/ext/dspgst.c +0 -94
- data/ext/dspgv.c +0 -129
- data/ext/dspgvd.c +0 -162
- data/ext/dspgvx.c +0 -168
- data/ext/dsposv.c +0 -111
- data/ext/dsprfs.c +0 -149
- data/ext/dspsv.c +0 -110
- data/ext/dspsvx.c +0 -163
- data/ext/dsptrd.c +0 -100
- data/ext/dsptrf.c +0 -84
- data/ext/dsptri.c +0 -89
- data/ext/dsptrs.c +0 -101
- data/ext/dstebz.c +0 -135
- data/ext/dstedc.c +0 -159
- data/ext/dstegr.c +0 -188
- data/ext/dstein.c +0 -134
- data/ext/dstemr.c +0 -193
- data/ext/dsteqr.c +0 -126
- data/ext/dsterf.c +0 -93
- data/ext/dstev.c +0 -111
- data/ext/dstevd.c +0 -144
- data/ext/dstevr.c +0 -188
- data/ext/dstevx.c +0 -158
- data/ext/dsycon.c +0 -90
- data/ext/dsyconv.c +0 -84
- data/ext/dsyequb.c +0 -82
- data/ext/dsyev.c +0 -107
- data/ext/dsyevd.c +0 -125
- data/ext/dsyevr.c +0 -172
- data/ext/dsyevx.c +0 -157
- data/ext/dsygs2.c +0 -95
- data/ext/dsygst.c +0 -95
- data/ext/dsygv.c +0 -137
- data/ext/dsygvd.c +0 -155
- data/ext/dsygvx.c +0 -187
- data/ext/dsyrfs.c +0 -153
- data/ext/dsyrfsx.c +0 -218
- data/ext/dsysv.c +0 -129
- data/ext/dsysvx.c +0 -183
- data/ext/dsysvxx.c +0 -258
- data/ext/dsyswapr.c +0 -82
- data/ext/dsytd2.c +0 -101
- data/ext/dsytf2.c +0 -85
- data/ext/dsytrd.c +0 -113
- data/ext/dsytrf.c +0 -97
- data/ext/dsytri.c +0 -92
- data/ext/dsytri2.c +0 -108
- data/ext/dsytri2x.c +0 -96
- data/ext/dsytrs.c +0 -103
- data/ext/dsytrs2.c +0 -106
- data/ext/dtbcon.c +0 -86
- data/ext/dtbrfs.c +0 -127
- data/ext/dtbtrs.c +0 -103
- data/ext/dtfsm.c +0 -110
- data/ext/dtftri.c +0 -86
- data/ext/dtfttp.c +0 -79
- data/ext/dtfttr.c +0 -80
- data/ext/dtgevc.c +0 -153
- data/ext/dtgex2.c +0 -180
- data/ext/dtgexc.c +0 -187
- data/ext/dtgsen.c +0 -252
- data/ext/dtgsja.c +0 -227
- data/ext/dtgsna.c +0 -164
- data/ext/dtgsy2.c +0 -182
- data/ext/dtgsyl.c +0 -190
- data/ext/dtpcon.c +0 -82
- data/ext/dtprfs.c +0 -123
- data/ext/dtptri.c +0 -82
- data/ext/dtptrs.c +0 -101
- data/ext/dtpttf.c +0 -79
- data/ext/dtpttr.c +0 -76
- data/ext/dtrcon.c +0 -82
- data/ext/dtrevc.c +0 -150
- data/ext/dtrexc.c +0 -116
- data/ext/dtrrfs.c +0 -123
- data/ext/dtrsen.c +0 -169
- data/ext/dtrsna.c +0 -137
- data/ext/dtrsyl.c +0 -116
- data/ext/dtrti2.c +0 -81
- data/ext/dtrtri.c +0 -81
- data/ext/dtrtrs.c +0 -99
- data/ext/dtrttf.c +0 -77
- data/ext/dtrttp.c +0 -73
- data/ext/dtzrqf.c +0 -83
- data/ext/dtzrzf.c +0 -101
- data/ext/dzsum1.c +0 -63
- data/ext/icmax1.c +0 -63
- data/ext/ieeeck.c +0 -59
- data/ext/ilaclc.c +0 -65
- data/ext/ilaclr.c +0 -65
- data/ext/iladiag.c +0 -51
- data/ext/iladlc.c +0 -65
- data/ext/iladlr.c +0 -65
- data/ext/ilaenv.c +0 -75
- data/ext/ilaprec.c +0 -51
- data/ext/ilaslc.c +0 -65
- data/ext/ilaslr.c +0 -65
- data/ext/ilatrans.c +0 -51
- data/ext/ilauplo.c +0 -51
- data/ext/ilaver.c +0 -53
- data/ext/ilazlc.c +0 -65
- data/ext/ilazlr.c +0 -65
- data/ext/iparmq.c +0 -75
- data/ext/izmax1.c +0 -63
- data/ext/lsamen.c +0 -59
- data/ext/rb_lapack.c +0 -3279
- data/ext/sbbcsd.c +0 -287
- data/ext/sbdsdc.c +0 -157
- data/ext/sbdsqr.c +0 -182
- data/ext/scsum1.c +0 -63
- data/ext/sdisna.c +0 -75
- data/ext/sgbbrd.c +0 -154
- data/ext/sgbcon.c +0 -98
- data/ext/sgbequ.c +0 -98
- data/ext/sgbequb.c +0 -96
- data/ext/sgbrfs.c +0 -161
- data/ext/sgbrfsx.c +0 -249
- data/ext/sgbsv.c +0 -115
- data/ext/sgbsvx.c +0 -286
- data/ext/sgbsvxx.c +0 -289
- data/ext/sgbtf2.c +0 -93
- data/ext/sgbtrf.c +0 -93
- data/ext/sgbtrs.c +0 -111
- data/ext/sgebak.c +0 -101
- data/ext/sgebal.c +0 -91
- data/ext/sgebd2.c +0 -112
- data/ext/sgebrd.c +0 -127
- data/ext/sgecon.c +0 -78
- data/ext/sgeequ.c +0 -88
- data/ext/sgeequb.c +0 -88
- data/ext/sgees.c +0 -148
- data/ext/sgeesx.c +0 -170
- data/ext/sgeev.c +0 -137
- data/ext/sgeevx.c +0 -181
- data/ext/sgegs.c +0 -171
- data/ext/sgegv.c +0 -171
- data/ext/sgehd2.c +0 -92
- data/ext/sgehrd.c +0 -107
- data/ext/sgejsv.c +0 -159
- data/ext/sgelq2.c +0 -86
- data/ext/sgelqf.c +0 -103
- data/ext/sgels.c +0 -137
- data/ext/sgelsd.c +0 -149
- data/ext/sgelss.c +0 -148
- data/ext/sgelsx.c +0 -136
- data/ext/sgelsy.c +0 -163
- data/ext/sgeql2.c +0 -88
- data/ext/sgeqlf.c +0 -103
- data/ext/sgeqp3.c +0 -126
- data/ext/sgeqpf.c +0 -111
- data/ext/sgeqr2.c +0 -88
- data/ext/sgeqr2p.c +0 -88
- data/ext/sgeqrf.c +0 -103
- data/ext/sgeqrfp.c +0 -103
- data/ext/sgerfs.c +0 -153
- data/ext/sgerfsx.c +0 -219
- data/ext/sgerq2.c +0 -86
- data/ext/sgerqf.c +0 -103
- data/ext/sgesc2.c +0 -108
- data/ext/sgesdd.c +0 -132
- data/ext/sgesv.c +0 -107
- data/ext/sgesvd.c +0 -143
- data/ext/sgesvj.c +0 -156
- data/ext/sgesvx.c +0 -278
- data/ext/sgesvxx.c +0 -281
- data/ext/sgetc2.c +0 -89
- data/ext/sgetf2.c +0 -85
- data/ext/sgetrf.c +0 -85
- data/ext/sgetri.c +0 -103
- data/ext/sgetrs.c +0 -103
- data/ext/sggbak.c +0 -113
- data/ext/sggbal.c +0 -128
- data/ext/sgges.c +0 -198
- data/ext/sggesx.c +0 -231
- data/ext/sggev.c +0 -171
- data/ext/sggevx.c +0 -229
- data/ext/sggglm.c +0 -156
- data/ext/sgghrd.c +0 -167
- data/ext/sgglse.c +0 -171
- data/ext/sggqrf.c +0 -137
- data/ext/sggrqf.c +0 -141
- data/ext/sggsvd.c +0 -181
- data/ext/sggsvp.c +0 -171
- data/ext/sgsvj0.c +0 -182
- data/ext/sgsvj1.c +0 -186
- data/ext/sgtcon.c +0 -124
- data/ext/sgtrfs.c +0 -209
- data/ext/sgtsv.c +0 -142
- data/ext/sgtsvx.c +0 -256
- data/ext/sgttrf.c +0 -132
- data/ext/sgttrs.c +0 -137
- data/ext/sgtts2.c +0 -134
- data/ext/shgeqz.c +0 -213
- data/ext/shsein.c +0 -205
- data/ext/shseqr.c +0 -153
- data/ext/sisnan.c +0 -51
- data/ext/sla_gbamv.c +0 -129
- data/ext/sla_gbrcond.c +0 -142
- data/ext/sla_gbrfsx_extended.c +0 -291
- data/ext/sla_gbrpvgrw.c +0 -87
- data/ext/sla_geamv.c +0 -119
- data/ext/sla_gercond.c +0 -134
- data/ext/sla_gerfsx_extended.c +0 -283
- data/ext/sla_lin_berr.c +0 -84
- data/ext/sla_porcond.c +0 -122
- data/ext/sla_porfsx_extended.c +0 -271
- data/ext/sla_porpvgrw.c +0 -95
- data/ext/sla_rpvgrw.c +0 -79
- data/ext/sla_syamv.c +0 -116
- data/ext/sla_syrcond.c +0 -134
- data/ext/sla_syrfsx_extended.c +0 -283
- data/ext/sla_syrpvgrw.c +0 -107
- data/ext/sla_wwaddw.c +0 -102
- data/ext/slabad.c +0 -54
- data/ext/slabrd.c +0 -132
- data/ext/slacn2.c +0 -106
- data/ext/slacon.c +0 -83
- data/ext/slacpy.c +0 -77
- data/ext/sladiv.c +0 -66
- data/ext/slae2.c +0 -62
- data/ext/slaebz.c +0 -218
- data/ext/slaed0.c +0 -127
- data/ext/slaed1.c +0 -133
- data/ext/slaed2.c +0 -189
- data/ext/slaed3.c +0 -161
- data/ext/slaed4.c +0 -90
- data/ext/slaed5.c +0 -87
- data/ext/slaed6.c +0 -90
- data/ext/slaed7.c +0 -248
- data/ext/slaed8.c +0 -206
- data/ext/slaed9.c +0 -111
- data/ext/slaeda.c +0 -160
- data/ext/slaein.c +0 -143
- data/ext/slaev2.c +0 -68
- data/ext/slaexc.c +0 -118
- data/ext/slag2.c +0 -91
- data/ext/slag2d.c +0 -76
- data/ext/slags2.c +0 -90
- data/ext/slagtf.c +0 -140
- data/ext/slagtm.c +0 -132
- data/ext/slagts.c +0 -139
- data/ext/slagv2.c +0 -132
- data/ext/slahqr.c +0 -143
- data/ext/slahr2.c +0 -112
- data/ext/slahrd.c +0 -114
- data/ext/slaic1.c +0 -89
- data/ext/slaln2.c +0 -120
- data/ext/slals0.c +0 -201
- data/ext/slalsa.c +0 -270
- data/ext/slalsd.c +0 -142
- data/ext/slamrg.c +0 -80
- data/ext/slaneg.c +0 -83
- data/ext/slangb.c +0 -78
- data/ext/slange.c +0 -74
- data/ext/slangt.c +0 -87
- data/ext/slanhs.c +0 -70
- data/ext/slansb.c +0 -78
- data/ext/slansf.c +0 -78
- data/ext/slansp.c +0 -76
- data/ext/slanst.c +0 -75
- data/ext/slansy.c +0 -74
- data/ext/slantb.c +0 -82
- data/ext/slantp.c +0 -80
- data/ext/slantr.c +0 -82
- data/ext/slanv2.c +0 -82
- data/ext/slapll.c +0 -105
- data/ext/slapmr.c +0 -97
- data/ext/slapmt.c +0 -101
- data/ext/slapy2.c +0 -55
- data/ext/slapy3.c +0 -59
- data/ext/slaqgb.c +0 -117
- data/ext/slaqge.c +0 -109
- data/ext/slaqp2.c +0 -158
- data/ext/slaqps.c +0 -208
- data/ext/slaqr0.c +0 -153
- data/ext/slaqr1.c +0 -82
- data/ext/slaqr2.c +0 -182
- data/ext/slaqr3.c +0 -182
- data/ext/slaqr4.c +0 -153
- data/ext/slaqr5.c +0 -200
- data/ext/slaqsb.c +0 -101
- data/ext/slaqsp.c +0 -94
- data/ext/slaqsy.c +0 -97
- data/ext/slaqtr.c +0 -114
- data/ext/slar1v.c +0 -173
- data/ext/slar2v.c +0 -149
- data/ext/slarf.c +0 -101
- data/ext/slarfb.c +0 -123
- data/ext/slarfg.c +0 -83
- data/ext/slarfgp.c +0 -83
- data/ext/slarft.c +0 -105
- data/ext/slarfx.c +0 -93
- data/ext/slargv.c +0 -114
- data/ext/slarnv.c +0 -83
- data/ext/slarra.c +0 -124
- data/ext/slarrb.c +0 -178
- data/ext/slarrc.c +0 -96
- data/ext/slarrd.c +0 -190
- data/ext/slarre.c +0 -221
- data/ext/slarrf.c +0 -176
- data/ext/slarrj.c +0 -147
- data/ext/slarrk.c +0 -97
- data/ext/slarrr.c +0 -82
- data/ext/slarrv.c +0 -271
- data/ext/slarscl2.c +0 -82
- data/ext/slartg.c +0 -61
- data/ext/slartgp.c +0 -61
- data/ext/slartgs.c +0 -62
- data/ext/slartv.c +0 -130
- data/ext/slaruv.c +0 -79
- data/ext/slarz.c +0 -105
- data/ext/slarzb.c +0 -127
- data/ext/slarzt.c +0 -105
- data/ext/slas2.c +0 -62
- data/ext/slascl.c +0 -97
- data/ext/slascl2.c +0 -82
- data/ext/slasd0.c +0 -120
- data/ext/slasd1.c +0 -160
- data/ext/slasd2.c +0 -228
- data/ext/slasd3.c +0 -212
- data/ext/slasd4.c +0 -93
- data/ext/slasd5.c +0 -90
- data/ext/slasd6.c +0 -236
- data/ext/slasd7.c +0 -225
- data/ext/slasd8.c +0 -173
- data/ext/slasda.c +0 -221
- data/ext/slasdq.c +0 -186
- data/ext/slasdt.c +0 -82
- data/ext/slaset.c +0 -86
- data/ext/slasq1.c +0 -96
- data/ext/slasq2.c +0 -74
- data/ext/slasq3.c +0 -138
- data/ext/slasq4.c +0 -107
- data/ext/slasq5.c +0 -94
- data/ext/slasq6.c +0 -86
- data/ext/slasr.c +0 -110
- data/ext/slasrt.c +0 -74
- data/ext/slassq.c +0 -70
- data/ext/slasv2.c +0 -74
- data/ext/slaswp.c +0 -94
- data/ext/slasy2.c +0 -126
- data/ext/slasyf.c +0 -97
- data/ext/slatbs.c +0 -130
- data/ext/slatdf.c +0 -119
- data/ext/slatps.c +0 -124
- data/ext/slatrd.c +0 -105
- data/ext/slatrs.c +0 -126
- data/ext/slatrz.c +0 -87
- data/ext/slatzm.c +0 -131
- data/ext/slauu2.c +0 -77
- data/ext/slauum.c +0 -77
- data/ext/sopgtr.c +0 -91
- data/ext/sopmtr.c +0 -116
- data/ext/sorbdb.c +0 -232
- data/ext/sorcsd.c +0 -197
- data/ext/sorg2l.c +0 -92
- data/ext/sorg2r.c +0 -92
- data/ext/sorgbr.c +0 -115
- data/ext/sorghr.c +0 -111
- data/ext/sorgl2.c +0 -90
- data/ext/sorglq.c +0 -107
- data/ext/sorgql.c +0 -107
- data/ext/sorgqr.c +0 -107
- data/ext/sorgr2.c +0 -90
- data/ext/sorgrq.c +0 -107
- data/ext/sorgtr.c +0 -107
- data/ext/sorm2l.c +0 -114
- data/ext/sorm2r.c +0 -114
- data/ext/sormbr.c +0 -139
- data/ext/sormhr.c +0 -133
- data/ext/sorml2.c +0 -110
- data/ext/sormlq.c +0 -125
- data/ext/sormql.c +0 -129
- data/ext/sormqr.c +0 -129
- data/ext/sormr2.c +0 -110
- data/ext/sormr3.c +0 -114
- data/ext/sormrq.c +0 -125
- data/ext/sormrz.c +0 -129
- data/ext/sormtr.c +0 -129
- data/ext/spbcon.c +0 -82
- data/ext/spbequ.c +0 -83
- data/ext/spbrfs.c +0 -145
- data/ext/spbstf.c +0 -81
- data/ext/spbsv.c +0 -107
- data/ext/spbsvx.c +0 -201
- data/ext/spbtf2.c +0 -81
- data/ext/spbtrf.c +0 -81
- data/ext/spbtrs.c +0 -95
- data/ext/spftrf.c +0 -82
- data/ext/spftri.c +0 -82
- data/ext/spftrs.c +0 -97
- data/ext/spocon.c +0 -78
- data/ext/spoequ.c +0 -75
- data/ext/spoequb.c +0 -75
- data/ext/sporfs.c +0 -141
- data/ext/sporfsx.c +0 -206
- data/ext/sposv.c +0 -103
- data/ext/sposvx.c +0 -197
- data/ext/sposvxx.c +0 -235
- data/ext/spotf2.c +0 -77
- data/ext/spotrf.c +0 -77
- data/ext/spotri.c +0 -77
- data/ext/spotrs.c +0 -91
- data/ext/sppcon.c +0 -78
- data/ext/sppequ.c +0 -79
- data/ext/spprfs.c +0 -139
- data/ext/sppsv.c +0 -104
- data/ext/sppsvx.c +0 -191
- data/ext/spptrf.c +0 -78
- data/ext/spptri.c +0 -78
- data/ext/spptrs.c +0 -93
- data/ext/spstf2.c +0 -95
- data/ext/spstrf.c +0 -95
- data/ext/sptcon.c +0 -81
- data/ext/spteqr.c +0 -126
- data/ext/sptrfs.c +0 -154
- data/ext/sptsv.c +0 -119
- data/ext/sptsvx.c +0 -168
- data/ext/spttrf.c +0 -93
- data/ext/spttrs.c +0 -97
- data/ext/sptts2.c +0 -94
- data/ext/srscl.c +0 -79
- data/ext/ssbev.c +0 -107
- data/ext/ssbevd.c +0 -140
- data/ext/ssbevx.c +0 -157
- data/ext/ssbgst.c +0 -117
- data/ext/ssbgv.c +0 -137
- data/ext/ssbgvd.c +0 -170
- data/ext/ssbgvx.c +0 -197
- data/ext/ssbtrd.c +0 -130
- data/ext/ssfrk.c +0 -109
- data/ext/sspcon.c +0 -88
- data/ext/sspev.c +0 -102
- data/ext/sspevd.c +0 -135
- data/ext/sspevx.c +0 -141
- data/ext/sspgst.c +0 -94
- data/ext/sspgv.c +0 -129
- data/ext/sspgvd.c +0 -162
- data/ext/sspgvx.c +0 -168
- data/ext/ssprfs.c +0 -149
- data/ext/sspsv.c +0 -110
- data/ext/sspsvx.c +0 -163
- data/ext/ssptrd.c +0 -100
- data/ext/ssptrf.c +0 -84
- data/ext/ssptri.c +0 -89
- data/ext/ssptrs.c +0 -101
- data/ext/sstebz.c +0 -135
- data/ext/sstedc.c +0 -159
- data/ext/sstegr.c +0 -188
- data/ext/sstein.c +0 -134
- data/ext/sstemr.c +0 -193
- data/ext/ssteqr.c +0 -126
- data/ext/ssterf.c +0 -93
- data/ext/sstev.c +0 -111
- data/ext/sstevd.c +0 -144
- data/ext/sstevr.c +0 -188
- data/ext/sstevx.c +0 -158
- data/ext/ssycon.c +0 -90
- data/ext/ssyconv.c +0 -84
- data/ext/ssyequb.c +0 -82
- data/ext/ssyev.c +0 -107
- data/ext/ssyevd.c +0 -125
- data/ext/ssyevr.c +0 -172
- data/ext/ssyevx.c +0 -157
- data/ext/ssygs2.c +0 -95
- data/ext/ssygst.c +0 -95
- data/ext/ssygv.c +0 -137
- data/ext/ssygvd.c +0 -155
- data/ext/ssygvx.c +0 -191
- data/ext/ssyrfs.c +0 -153
- data/ext/ssyrfsx.c +0 -218
- data/ext/ssysv.c +0 -129
- data/ext/ssysvx.c +0 -183
- data/ext/ssysvxx.c +0 -258
- data/ext/ssyswapr.c +0 -82
- data/ext/ssytd2.c +0 -101
- data/ext/ssytf2.c +0 -85
- data/ext/ssytrd.c +0 -113
- data/ext/ssytrf.c +0 -97
- data/ext/ssytri.c +0 -92
- data/ext/ssytri2.c +0 -127
- data/ext/ssytri2x.c +0 -96
- data/ext/ssytrs.c +0 -103
- data/ext/ssytrs2.c +0 -106
- data/ext/stbcon.c +0 -86
- data/ext/stbrfs.c +0 -127
- data/ext/stbtrs.c +0 -103
- data/ext/stfsm.c +0 -112
- data/ext/stftri.c +0 -86
- data/ext/stfttp.c +0 -79
- data/ext/stfttr.c +0 -80
- data/ext/stgevc.c +0 -153
- data/ext/stgex2.c +0 -184
- data/ext/stgexc.c +0 -191
- data/ext/stgsen.c +0 -252
- data/ext/stgsja.c +0 -227
- data/ext/stgsna.c +0 -164
- data/ext/stgsy2.c +0 -182
- data/ext/stgsyl.c +0 -190
- data/ext/stpcon.c +0 -82
- data/ext/stprfs.c +0 -123
- data/ext/stptri.c +0 -82
- data/ext/stptrs.c +0 -101
- data/ext/stpttf.c +0 -79
- data/ext/stpttr.c +0 -76
- data/ext/strcon.c +0 -82
- data/ext/strevc.c +0 -150
- data/ext/strexc.c +0 -116
- data/ext/strrfs.c +0 -123
- data/ext/strsen.c +0 -169
- data/ext/strsna.c +0 -137
- data/ext/strsyl.c +0 -116
- data/ext/strti2.c +0 -81
- data/ext/strtri.c +0 -81
- data/ext/strtrs.c +0 -99
- data/ext/strttf.c +0 -77
- data/ext/strttp.c +0 -73
- data/ext/stzrqf.c +0 -83
- data/ext/stzrzf.c +0 -101
- data/ext/xerbla.c +0 -52
- data/ext/xerbla_array.c +0 -53
- data/ext/zbbcsd.c +0 -283
- data/ext/zbdsqr.c +0 -182
- data/ext/zcgesv.c +0 -118
- data/ext/zcposv.c +0 -114
- data/ext/zdrscl.c +0 -79
- data/ext/zgbbrd.c +0 -157
- data/ext/zgbcon.c +0 -98
- data/ext/zgbequ.c +0 -98
- data/ext/zgbequb.c +0 -96
- data/ext/zgbrfs.c +0 -161
- data/ext/zgbrfsx.c +0 -249
- data/ext/zgbsv.c +0 -115
- data/ext/zgbsvx.c +0 -286
- data/ext/zgbsvxx.c +0 -289
- data/ext/zgbtf2.c +0 -93
- data/ext/zgbtrf.c +0 -93
- data/ext/zgbtrs.c +0 -111
- data/ext/zgebak.c +0 -101
- data/ext/zgebal.c +0 -91
- data/ext/zgebd2.c +0 -112
- data/ext/zgebrd.c +0 -127
- data/ext/zgecon.c +0 -78
- data/ext/zgeequ.c +0 -88
- data/ext/zgeequb.c +0 -88
- data/ext/zgees.c +0 -142
- data/ext/zgeesx.c +0 -152
- data/ext/zgeev.c +0 -132
- data/ext/zgeevx.c +0 -173
- data/ext/zgegs.c +0 -166
- data/ext/zgegv.c +0 -171
- data/ext/zgehd2.c +0 -92
- data/ext/zgehrd.c +0 -107
- data/ext/zgelq2.c +0 -86
- data/ext/zgelqf.c +0 -103
- data/ext/zgels.c +0 -137
- data/ext/zgelsd.c +0 -154
- data/ext/zgelss.c +0 -151
- data/ext/zgelsx.c +0 -139
- data/ext/zgelsy.c +0 -166
- data/ext/zgeql2.c +0 -88
- data/ext/zgeqlf.c +0 -103
- data/ext/zgeqp3.c +0 -129
- data/ext/zgeqpf.c +0 -114
- data/ext/zgeqr2.c +0 -88
- data/ext/zgeqr2p.c +0 -88
- data/ext/zgeqrf.c +0 -103
- data/ext/zgeqrfp.c +0 -103
- data/ext/zgerfs.c +0 -153
- data/ext/zgerfsx.c +0 -219
- data/ext/zgerq2.c +0 -86
- data/ext/zgerqf.c +0 -103
- data/ext/zgesc2.c +0 -108
- data/ext/zgesdd.c +0 -135
- data/ext/zgesv.c +0 -107
- data/ext/zgesvd.c +0 -146
- data/ext/zgesvx.c +0 -278
- data/ext/zgesvxx.c +0 -281
- data/ext/zgetc2.c +0 -89
- data/ext/zgetf2.c +0 -85
- data/ext/zgetrf.c +0 -85
- data/ext/zgetri.c +0 -103
- data/ext/zgetrs.c +0 -103
- data/ext/zggbak.c +0 -113
- data/ext/zggbal.c +0 -128
- data/ext/zgges.c +0 -192
- data/ext/zggesx.c +0 -230
- data/ext/zggev.c +0 -171
- data/ext/zggevx.c +0 -226
- data/ext/zggglm.c +0 -156
- data/ext/zgghrd.c +0 -167
- data/ext/zgglse.c +0 -171
- data/ext/zggqrf.c +0 -137
- data/ext/zggrqf.c +0 -141
- data/ext/zggsvd.c +0 -184
- data/ext/zggsvp.c +0 -174
- data/ext/zgtcon.c +0 -121
- data/ext/zgtrfs.c +0 -209
- data/ext/zgtsv.c +0 -142
- data/ext/zgtsvx.c +0 -256
- data/ext/zgttrf.c +0 -132
- data/ext/zgttrs.c +0 -137
- data/ext/zgtts2.c +0 -134
- data/ext/zhbev.c +0 -110
- data/ext/zhbevd.c +0 -158
- data/ext/zhbevx.c +0 -160
- data/ext/zhbgst.c +0 -120
- data/ext/zhbgv.c +0 -140
- data/ext/zhbgvd.c +0 -188
- data/ext/zhbgvx.c +0 -189
- data/ext/zhbtrd.c +0 -130
- data/ext/zhecon.c +0 -87
- data/ext/zheequb.c +0 -82
- data/ext/zheev.c +0 -110
- data/ext/zheevd.c +0 -143
- data/ext/zheevr.c +0 -190
- data/ext/zheevx.c +0 -160
- data/ext/zhegs2.c +0 -95
- data/ext/zhegst.c +0 -95
- data/ext/zhegv.c +0 -140
- data/ext/zhegvd.c +0 -173
- data/ext/zhegvx.c +0 -190
- data/ext/zherfs.c +0 -153
- data/ext/zherfsx.c +0 -218
- data/ext/zhesv.c +0 -123
- data/ext/zhesvx.c +0 -183
- data/ext/zhesvxx.c +0 -258
- data/ext/zhetd2.c +0 -101
- data/ext/zhetf2.c +0 -85
- data/ext/zhetrd.c +0 -113
- data/ext/zhetrf.c +0 -97
- data/ext/zhetri.c +0 -92
- data/ext/zhetrs.c +0 -103
- data/ext/zhetrs2.c +0 -106
- data/ext/zhfrk.c +0 -109
- data/ext/zhgeqz.c +0 -208
- data/ext/zhpcon.c +0 -85
- data/ext/zhpev.c +0 -105
- data/ext/zhpevd.c +0 -153
- data/ext/zhpevx.c +0 -144
- data/ext/zhpgst.c +0 -94
- data/ext/zhpgv.c +0 -132
- data/ext/zhpgvd.c +0 -170
- data/ext/zhpgvx.c +0 -170
- data/ext/zhprfs.c +0 -149
- data/ext/zhpsv.c +0 -110
- data/ext/zhpsvx.c +0 -163
- data/ext/zhptrd.c +0 -100
- data/ext/zhptrf.c +0 -84
- data/ext/zhptri.c +0 -89
- data/ext/zhptrs.c +0 -101
- data/ext/zhsein.c +0 -185
- data/ext/zhseqr.c +0 -145
- data/ext/zla_gbamv.c +0 -127
- data/ext/zla_gbrcond_c.c +0 -142
- data/ext/zla_gbrcond_x.c +0 -138
- data/ext/zla_gbrfsx_extended.c +0 -295
- data/ext/zla_gbrpvgrw.c +0 -87
- data/ext/zla_geamv.c +0 -119
- data/ext/zla_gercond_c.c +0 -134
- data/ext/zla_gercond_x.c +0 -130
- data/ext/zla_gerfsx_extended.c +0 -281
- data/ext/zla_heamv.c +0 -116
- data/ext/zla_hercond_c.c +0 -134
- data/ext/zla_hercond_x.c +0 -130
- data/ext/zla_herfsx_extended.c +0 -283
- data/ext/zla_herpvgrw.c +0 -107
- data/ext/zla_lin_berr.c +0 -84
- data/ext/zla_porcond_c.c +0 -122
- data/ext/zla_porcond_x.c +0 -118
- data/ext/zla_porfsx_extended.c +0 -271
- data/ext/zla_porpvgrw.c +0 -95
- data/ext/zla_rpvgrw.c +0 -79
- data/ext/zla_syamv.c +0 -116
- data/ext/zla_syrcond_c.c +0 -134
- data/ext/zla_syrcond_x.c +0 -130
- data/ext/zla_syrfsx_extended.c +0 -283
- data/ext/zla_syrpvgrw.c +0 -107
- data/ext/zla_wwaddw.c +0 -102
- data/ext/zlabrd.c +0 -132
- data/ext/zlacgv.c +0 -75
- data/ext/zlacn2.c +0 -103
- data/ext/zlacon.c +0 -80
- data/ext/zlacp2.c +0 -77
- data/ext/zlacpy.c +0 -77
- data/ext/zlacrm.c +0 -90
- data/ext/zlacrt.c +0 -108
- data/ext/zladiv.c +0 -57
- data/ext/zlaed0.c +0 -134
- data/ext/zlaed7.c +0 -247
- data/ext/zlaed8.c +0 -198
- data/ext/zlaein.c +0 -113
- data/ext/zlaesy.c +0 -74
- data/ext/zlaev2.c +0 -71
- data/ext/zlag2c.c +0 -76
- data/ext/zlags2.c +0 -92
- data/ext/zlagtm.c +0 -132
- data/ext/zlahef.c +0 -97
- data/ext/zlahqr.c +0 -135
- data/ext/zlahr2.c +0 -112
- data/ext/zlahrd.c +0 -112
- data/ext/zlaic1.c +0 -90
- data/ext/zlals0.c +0 -201
- data/ext/zlalsa.c +0 -270
- data/ext/zlalsd.c +0 -145
- data/ext/zlangb.c +0 -76
- data/ext/zlange.c +0 -74
- data/ext/zlangt.c +0 -87
- data/ext/zlanhb.c +0 -78
- data/ext/zlanhe.c +0 -74
- data/ext/zlanhf.c +0 -80
- data/ext/zlanhp.c +0 -76
- data/ext/zlanhs.c +0 -70
- data/ext/zlanht.c +0 -75
- data/ext/zlansb.c +0 -78
- data/ext/zlansp.c +0 -76
- data/ext/zlansy.c +0 -74
- data/ext/zlantb.c +0 -82
- data/ext/zlantp.c +0 -80
- data/ext/zlantr.c +0 -82
- data/ext/zlapll.c +0 -105
- data/ext/zlapmr.c +0 -97
- data/ext/zlapmt.c +0 -101
- data/ext/zlaqgb.c +0 -117
- data/ext/zlaqge.c +0 -109
- data/ext/zlaqhb.c +0 -97
- data/ext/zlaqhe.c +0 -97
- data/ext/zlaqhp.c +0 -94
- data/ext/zlaqp2.c +0 -158
- data/ext/zlaqps.c +0 -208
- data/ext/zlaqr0.c +0 -153
- data/ext/zlaqr1.c +0 -76
- data/ext/zlaqr2.c +0 -174
- data/ext/zlaqr3.c +0 -174
- data/ext/zlaqr4.c +0 -147
- data/ext/zlaqr5.c +0 -179
- data/ext/zlaqsb.c +0 -101
- data/ext/zlaqsp.c +0 -94
- data/ext/zlaqsy.c +0 -97
- data/ext/zlar1v.c +0 -173
- data/ext/zlar2v.c +0 -149
- data/ext/zlarcm.c +0 -86
- data/ext/zlarf.c +0 -102
- data/ext/zlarfb.c +0 -123
- data/ext/zlarfg.c +0 -84
- data/ext/zlarfgp.c +0 -84
- data/ext/zlarft.c +0 -105
- data/ext/zlarfx.c +0 -94
- data/ext/zlargv.c +0 -114
- data/ext/zlarnv.c +0 -83
- data/ext/zlarrv.c +0 -271
- data/ext/zlarscl2.c +0 -82
- data/ext/zlartg.c +0 -63
- data/ext/zlartv.c +0 -130
- data/ext/zlarz.c +0 -106
- data/ext/zlarzb.c +0 -127
- data/ext/zlarzt.c +0 -105
- data/ext/zlascl.c +0 -97
- data/ext/zlascl2.c +0 -82
- data/ext/zlaset.c +0 -88
- data/ext/zlasr.c +0 -110
- data/ext/zlassq.c +0 -70
- data/ext/zlaswp.c +0 -94
- data/ext/zlasyf.c +0 -97
- data/ext/zlat2c.c +0 -76
- data/ext/zlatbs.c +0 -130
- data/ext/zlatdf.c +0 -119
- data/ext/zlatps.c +0 -124
- data/ext/zlatrd.c +0 -105
- data/ext/zlatrs.c +0 -126
- data/ext/zlatrz.c +0 -87
- data/ext/zlatzm.c +0 -132
- data/ext/zlauu2.c +0 -77
- data/ext/zlauum.c +0 -77
- data/ext/zpbcon.c +0 -82
- data/ext/zpbequ.c +0 -83
- data/ext/zpbrfs.c +0 -145
- data/ext/zpbstf.c +0 -81
- data/ext/zpbsv.c +0 -107
- data/ext/zpbsvx.c +0 -201
- data/ext/zpbtf2.c +0 -81
- data/ext/zpbtrf.c +0 -81
- data/ext/zpbtrs.c +0 -95
- data/ext/zpftrf.c +0 -82
- data/ext/zpftri.c +0 -82
- data/ext/zpftrs.c +0 -97
- data/ext/zpocon.c +0 -78
- data/ext/zpoequ.c +0 -75
- data/ext/zpoequb.c +0 -75
- data/ext/zporfs.c +0 -141
- data/ext/zporfsx.c +0 -206
- data/ext/zposv.c +0 -103
- data/ext/zposvx.c +0 -197
- data/ext/zposvxx.c +0 -235
- data/ext/zpotf2.c +0 -77
- data/ext/zpotrf.c +0 -77
- data/ext/zpotri.c +0 -77
- data/ext/zpotrs.c +0 -91
- data/ext/zppcon.c +0 -78
- data/ext/zppequ.c +0 -79
- data/ext/zpprfs.c +0 -139
- data/ext/zppsv.c +0 -104
- data/ext/zppsvx.c +0 -191
- data/ext/zpptrf.c +0 -78
- data/ext/zpptri.c +0 -78
- data/ext/zpptrs.c +0 -93
- data/ext/zpstf2.c +0 -95
- data/ext/zpstrf.c +0 -95
- data/ext/zptcon.c +0 -81
- data/ext/zpteqr.c +0 -126
- data/ext/zptrfs.c +0 -161
- data/ext/zptsv.c +0 -123
- data/ext/zptsvx.c +0 -171
- data/ext/zpttrf.c +0 -93
- data/ext/zpttrs.c +0 -101
- data/ext/zptts2.c +0 -98
- data/ext/zrot.c +0 -107
- data/ext/zspcon.c +0 -85
- data/ext/zspmv.c +0 -117
- data/ext/zspr.c +0 -96
- data/ext/zsprfs.c +0 -149
- data/ext/zspsv.c +0 -110
- data/ext/zspsvx.c +0 -163
- data/ext/zsptrf.c +0 -84
- data/ext/zsptri.c +0 -89
- data/ext/zsptrs.c +0 -101
- data/ext/zstedc.c +0 -177
- data/ext/zstegr.c +0 -188
- data/ext/zstein.c +0 -134
- data/ext/zstemr.c +0 -193
- data/ext/zsteqr.c +0 -126
- data/ext/zsycon.c +0 -87
- data/ext/zsyconv.c +0 -84
- data/ext/zsyequb.c +0 -82
- data/ext/zsymv.c +0 -115
- data/ext/zsyr.c +0 -95
- data/ext/zsyrfs.c +0 -153
- data/ext/zsyrfsx.c +0 -218
- data/ext/zsysv.c +0 -129
- data/ext/zsysvx.c +0 -183
- data/ext/zsysvxx.c +0 -258
- data/ext/zsyswapr.c +0 -82
- data/ext/zsytf2.c +0 -85
- data/ext/zsytrf.c +0 -97
- data/ext/zsytri.c +0 -92
- data/ext/zsytri2.c +0 -104
- data/ext/zsytri2x.c +0 -96
- data/ext/zsytrs.c +0 -103
- data/ext/zsytrs2.c +0 -106
- data/ext/ztbcon.c +0 -86
- data/ext/ztbrfs.c +0 -127
- data/ext/ztbtrs.c +0 -103
- data/ext/ztfsm.c +0 -111
- data/ext/ztftri.c +0 -86
- data/ext/ztfttp.c +0 -79
- data/ext/ztfttr.c +0 -80
- data/ext/ztgevc.c +0 -156
- data/ext/ztgex2.c +0 -171
- data/ext/ztgexc.c +0 -172
- data/ext/ztgsen.c +0 -244
- data/ext/ztgsja.c +0 -227
- data/ext/ztgsna.c +0 -164
- data/ext/ztgsy2.c +0 -176
- data/ext/ztgsyl.c +0 -190
- data/ext/ztpcon.c +0 -82
- data/ext/ztprfs.c +0 -123
- data/ext/ztptri.c +0 -82
- data/ext/ztptrs.c +0 -101
- data/ext/ztpttf.c +0 -79
- data/ext/ztpttr.c +0 -76
- data/ext/ztrcon.c +0 -82
- data/ext/ztrevc.c +0 -154
- data/ext/ztrexc.c +0 -111
- data/ext/ztrrfs.c +0 -123
- data/ext/ztrsen.c +0 -154
- data/ext/ztrsna.c +0 -137
- data/ext/ztrsyl.c +0 -116
- data/ext/ztrti2.c +0 -81
- data/ext/ztrtri.c +0 -81
- data/ext/ztrtrs.c +0 -99
- data/ext/ztrttf.c +0 -77
- data/ext/ztrttp.c +0 -73
- data/ext/ztzrqf.c +0 -83
- data/ext/ztzrzf.c +0 -101
- data/ext/zunbdb.c +0 -232
- data/ext/zuncsd.c +0 -204
- data/ext/zung2l.c +0 -92
- data/ext/zung2r.c +0 -92
- data/ext/zungbr.c +0 -115
- data/ext/zunghr.c +0 -111
- data/ext/zungl2.c +0 -90
- data/ext/zunglq.c +0 -107
- data/ext/zungql.c +0 -107
- data/ext/zungqr.c +0 -107
- data/ext/zungr2.c +0 -90
- data/ext/zungrq.c +0 -107
- data/ext/zungtr.c +0 -107
- data/ext/zunm2l.c +0 -114
- data/ext/zunm2r.c +0 -114
- data/ext/zunmbr.c +0 -139
- data/ext/zunmhr.c +0 -133
- data/ext/zunml2.c +0 -110
- data/ext/zunmlq.c +0 -125
- data/ext/zunmql.c +0 -129
- data/ext/zunmqr.c +0 -129
- data/ext/zunmr2.c +0 -110
- data/ext/zunmr3.c +0 -114
- data/ext/zunmrq.c +0 -125
- data/ext/zunmrz.c +0 -129
- data/ext/zunmtr.c +0 -129
- data/ext/zupgtr.c +0 -91
- data/ext/zupmtr.c +0 -116
data/ext/dtpttr.c
DELETED
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
#include "rb_lapack.h"
|
|
2
|
-
|
|
3
|
-
extern VOID dtpttr_(char* uplo, integer* n, doublereal* ap, doublereal* a, integer* lda, integer* info);
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
static VALUE
|
|
7
|
-
rblapack_dtpttr(int argc, VALUE *argv, VALUE self){
|
|
8
|
-
VALUE rblapack_uplo;
|
|
9
|
-
char uplo;
|
|
10
|
-
VALUE rblapack_ap;
|
|
11
|
-
doublereal *ap;
|
|
12
|
-
VALUE rblapack_a;
|
|
13
|
-
doublereal *a;
|
|
14
|
-
VALUE rblapack_info;
|
|
15
|
-
integer info;
|
|
16
|
-
|
|
17
|
-
integer ldap;
|
|
18
|
-
integer lda;
|
|
19
|
-
integer n;
|
|
20
|
-
|
|
21
|
-
VALUE rblapack_options;
|
|
22
|
-
if (argc > 0 && TYPE(argv[argc-1]) == T_HASH) {
|
|
23
|
-
argc--;
|
|
24
|
-
rblapack_options = argv[argc];
|
|
25
|
-
if (rb_hash_aref(rblapack_options, sHelp) == Qtrue) {
|
|
26
|
-
printf("%s\n", "USAGE:\n a, info = NumRu::Lapack.dtpttr( uplo, ap, [:usage => usage, :help => help])\n\n\nFORTRAN MANUAL\n SUBROUTINE DTPTTR( UPLO, N, AP, A, LDA, INFO )\n\n* Purpose\n* =======\n*\n* DTPTTR copies a triangular matrix A from standard packed format (TP)\n* to standard full format (TR).\n*\n\n* Arguments\n* =========\n*\n* UPLO (input) CHARACTER*1\n* = 'U': A is upper triangular.\n* = 'L': A is lower triangular.\n*\n* N (input) INTEGER\n* The order of the matrix A. N >= 0.\n*\n* AP (input) DOUBLE PRECISION array, dimension ( N*(N+1)/2 ),\n* On entry, the upper or lower triangular matrix A, packed\n* columnwise in a linear array. The j-th column of A is stored\n* in the array AP as follows:\n* if UPLO = 'U', AP(i + (j-1)*j/2) = A(i,j) for 1<=i<=j;\n* if UPLO = 'L', AP(i + (j-1)*(2n-j)/2) = A(i,j) for j<=i<=n.\n*\n* A (output) DOUBLE PRECISION array, dimension ( LDA, N )\n* On exit, the triangular matrix A. If UPLO = 'U', the leading\n* N-by-N upper triangular part of A contains the upper\n* triangular part of the matrix A, and the strictly lower\n* triangular part of A is not referenced. If UPLO = 'L', the\n* leading N-by-N lower triangular part of A contains the lower\n* triangular part of the matrix A, and the strictly upper\n* triangular part of A is not referenced.\n*\n* LDA (input) INTEGER\n* The leading dimension of the array A. LDA >= max(1,N).\n*\n* INFO (output) INTEGER\n* = 0: successful exit\n* < 0: if INFO = -i, the i-th argument had an illegal value\n*\n\n* =====================================================================\n*\n\n");
|
|
27
|
-
return Qnil;
|
|
28
|
-
}
|
|
29
|
-
if (rb_hash_aref(rblapack_options, sUsage) == Qtrue) {
|
|
30
|
-
printf("%s\n", "USAGE:\n a, info = NumRu::Lapack.dtpttr( uplo, ap, [:usage => usage, :help => help])\n");
|
|
31
|
-
return Qnil;
|
|
32
|
-
}
|
|
33
|
-
} else
|
|
34
|
-
rblapack_options = Qnil;
|
|
35
|
-
if (argc != 2 && argc != 2)
|
|
36
|
-
rb_raise(rb_eArgError,"wrong number of arguments (%d for 2)", argc);
|
|
37
|
-
rblapack_uplo = argv[0];
|
|
38
|
-
rblapack_ap = argv[1];
|
|
39
|
-
if (argc == 2) {
|
|
40
|
-
} else if (rblapack_options != Qnil) {
|
|
41
|
-
} else {
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
uplo = StringValueCStr(rblapack_uplo)[0];
|
|
45
|
-
if (!NA_IsNArray(rblapack_ap))
|
|
46
|
-
rb_raise(rb_eArgError, "ap (2th argument) must be NArray");
|
|
47
|
-
if (NA_RANK(rblapack_ap) != 1)
|
|
48
|
-
rb_raise(rb_eArgError, "rank of ap (2th argument) must be %d", 1);
|
|
49
|
-
ldap = NA_SHAPE0(rblapack_ap);
|
|
50
|
-
if (NA_TYPE(rblapack_ap) != NA_DFLOAT)
|
|
51
|
-
rblapack_ap = na_change_type(rblapack_ap, NA_DFLOAT);
|
|
52
|
-
ap = NA_PTR_TYPE(rblapack_ap, doublereal*);
|
|
53
|
-
n = ((int)sqrtf(ldap*8+1.0f)-1)/2;
|
|
54
|
-
lda = MAX(1,n);
|
|
55
|
-
{
|
|
56
|
-
int shape[2];
|
|
57
|
-
shape[0] = lda;
|
|
58
|
-
shape[1] = n;
|
|
59
|
-
rblapack_a = na_make_object(NA_DFLOAT, 2, shape, cNArray);
|
|
60
|
-
}
|
|
61
|
-
a = NA_PTR_TYPE(rblapack_a, doublereal*);
|
|
62
|
-
|
|
63
|
-
dtpttr_(&uplo, &n, ap, a, &lda, &info);
|
|
64
|
-
|
|
65
|
-
rblapack_info = INT2NUM(info);
|
|
66
|
-
return rb_ary_new3(2, rblapack_a, rblapack_info);
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
void
|
|
70
|
-
init_lapack_dtpttr(VALUE mLapack, VALUE sH, VALUE sU, VALUE zero){
|
|
71
|
-
sHelp = sH;
|
|
72
|
-
sUsage = sU;
|
|
73
|
-
rblapack_ZERO = zero;
|
|
74
|
-
|
|
75
|
-
rb_define_module_function(mLapack, "dtpttr", rblapack_dtpttr, -1);
|
|
76
|
-
}
|
data/ext/dtrcon.c
DELETED
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
#include "rb_lapack.h"
|
|
2
|
-
|
|
3
|
-
extern VOID dtrcon_(char* norm, char* uplo, char* diag, integer* n, doublereal* a, integer* lda, doublereal* rcond, doublereal* work, integer* iwork, integer* info);
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
static VALUE
|
|
7
|
-
rblapack_dtrcon(int argc, VALUE *argv, VALUE self){
|
|
8
|
-
VALUE rblapack_norm;
|
|
9
|
-
char norm;
|
|
10
|
-
VALUE rblapack_uplo;
|
|
11
|
-
char uplo;
|
|
12
|
-
VALUE rblapack_diag;
|
|
13
|
-
char diag;
|
|
14
|
-
VALUE rblapack_a;
|
|
15
|
-
doublereal *a;
|
|
16
|
-
VALUE rblapack_rcond;
|
|
17
|
-
doublereal rcond;
|
|
18
|
-
VALUE rblapack_info;
|
|
19
|
-
integer info;
|
|
20
|
-
doublereal *work;
|
|
21
|
-
integer *iwork;
|
|
22
|
-
|
|
23
|
-
integer lda;
|
|
24
|
-
integer n;
|
|
25
|
-
|
|
26
|
-
VALUE rblapack_options;
|
|
27
|
-
if (argc > 0 && TYPE(argv[argc-1]) == T_HASH) {
|
|
28
|
-
argc--;
|
|
29
|
-
rblapack_options = argv[argc];
|
|
30
|
-
if (rb_hash_aref(rblapack_options, sHelp) == Qtrue) {
|
|
31
|
-
printf("%s\n", "USAGE:\n rcond, info = NumRu::Lapack.dtrcon( norm, uplo, diag, a, [:usage => usage, :help => help])\n\n\nFORTRAN MANUAL\n SUBROUTINE DTRCON( NORM, UPLO, DIAG, N, A, LDA, RCOND, WORK, IWORK, INFO )\n\n* Purpose\n* =======\n*\n* DTRCON estimates the reciprocal of the condition number of a\n* triangular matrix A, in either the 1-norm or the infinity-norm.\n*\n* The norm of A is computed and an estimate is obtained for\n* norm(inv(A)), then the reciprocal of the condition number is\n* computed as\n* RCOND = 1 / ( norm(A) * norm(inv(A)) ).\n*\n\n* Arguments\n* =========\n*\n* NORM (input) CHARACTER*1\n* Specifies whether the 1-norm condition number or the\n* infinity-norm condition number is required:\n* = '1' or 'O': 1-norm;\n* = 'I': Infinity-norm.\n*\n* UPLO (input) CHARACTER*1\n* = 'U': A is upper triangular;\n* = 'L': A is lower triangular.\n*\n* DIAG (input) CHARACTER*1\n* = 'N': A is non-unit triangular;\n* = 'U': A is unit triangular.\n*\n* N (input) INTEGER\n* The order of the matrix A. N >= 0.\n*\n* A (input) DOUBLE PRECISION array, dimension (LDA,N)\n* The triangular matrix A. If UPLO = 'U', the leading N-by-N\n* upper triangular part of the array A contains the upper\n* triangular matrix, and the strictly lower triangular part of\n* A is not referenced. If UPLO = 'L', the leading N-by-N lower\n* triangular part of the array A contains the lower triangular\n* matrix, and the strictly upper triangular part of A is not\n* referenced. If DIAG = 'U', the diagonal elements of A are\n* also not referenced and are assumed to be 1.\n*\n* LDA (input) INTEGER\n* The leading dimension of the array A. LDA >= max(1,N).\n*\n* RCOND (output) DOUBLE PRECISION\n* The reciprocal of the condition number of the matrix A,\n* computed as RCOND = 1/(norm(A) * norm(inv(A))).\n*\n* WORK (workspace) DOUBLE PRECISION array, dimension (3*N)\n*\n* IWORK (workspace) INTEGER array, dimension (N)\n*\n* INFO (output) INTEGER\n* = 0: successful exit\n* < 0: if INFO = -i, the i-th argument had an illegal value\n*\n\n* =====================================================================\n*\n\n");
|
|
32
|
-
return Qnil;
|
|
33
|
-
}
|
|
34
|
-
if (rb_hash_aref(rblapack_options, sUsage) == Qtrue) {
|
|
35
|
-
printf("%s\n", "USAGE:\n rcond, info = NumRu::Lapack.dtrcon( norm, uplo, diag, a, [:usage => usage, :help => help])\n");
|
|
36
|
-
return Qnil;
|
|
37
|
-
}
|
|
38
|
-
} else
|
|
39
|
-
rblapack_options = Qnil;
|
|
40
|
-
if (argc != 4 && argc != 4)
|
|
41
|
-
rb_raise(rb_eArgError,"wrong number of arguments (%d for 4)", argc);
|
|
42
|
-
rblapack_norm = argv[0];
|
|
43
|
-
rblapack_uplo = argv[1];
|
|
44
|
-
rblapack_diag = argv[2];
|
|
45
|
-
rblapack_a = argv[3];
|
|
46
|
-
if (argc == 4) {
|
|
47
|
-
} else if (rblapack_options != Qnil) {
|
|
48
|
-
} else {
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
norm = StringValueCStr(rblapack_norm)[0];
|
|
52
|
-
diag = StringValueCStr(rblapack_diag)[0];
|
|
53
|
-
uplo = StringValueCStr(rblapack_uplo)[0];
|
|
54
|
-
if (!NA_IsNArray(rblapack_a))
|
|
55
|
-
rb_raise(rb_eArgError, "a (4th argument) must be NArray");
|
|
56
|
-
if (NA_RANK(rblapack_a) != 2)
|
|
57
|
-
rb_raise(rb_eArgError, "rank of a (4th argument) must be %d", 2);
|
|
58
|
-
lda = NA_SHAPE0(rblapack_a);
|
|
59
|
-
n = NA_SHAPE1(rblapack_a);
|
|
60
|
-
if (NA_TYPE(rblapack_a) != NA_DFLOAT)
|
|
61
|
-
rblapack_a = na_change_type(rblapack_a, NA_DFLOAT);
|
|
62
|
-
a = NA_PTR_TYPE(rblapack_a, doublereal*);
|
|
63
|
-
work = ALLOC_N(doublereal, (3*n));
|
|
64
|
-
iwork = ALLOC_N(integer, (n));
|
|
65
|
-
|
|
66
|
-
dtrcon_(&norm, &uplo, &diag, &n, a, &lda, &rcond, work, iwork, &info);
|
|
67
|
-
|
|
68
|
-
free(work);
|
|
69
|
-
free(iwork);
|
|
70
|
-
rblapack_rcond = rb_float_new((double)rcond);
|
|
71
|
-
rblapack_info = INT2NUM(info);
|
|
72
|
-
return rb_ary_new3(2, rblapack_rcond, rblapack_info);
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
void
|
|
76
|
-
init_lapack_dtrcon(VALUE mLapack, VALUE sH, VALUE sU, VALUE zero){
|
|
77
|
-
sHelp = sH;
|
|
78
|
-
sUsage = sU;
|
|
79
|
-
rblapack_ZERO = zero;
|
|
80
|
-
|
|
81
|
-
rb_define_module_function(mLapack, "dtrcon", rblapack_dtrcon, -1);
|
|
82
|
-
}
|
data/ext/dtrevc.c
DELETED
|
@@ -1,150 +0,0 @@
|
|
|
1
|
-
#include "rb_lapack.h"
|
|
2
|
-
|
|
3
|
-
extern VOID dtrevc_(char* side, char* howmny, logical* select, integer* n, doublereal* t, integer* ldt, doublereal* vl, integer* ldvl, doublereal* vr, integer* ldvr, integer* mm, integer* m, doublereal* work, integer* info);
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
static VALUE
|
|
7
|
-
rblapack_dtrevc(int argc, VALUE *argv, VALUE self){
|
|
8
|
-
VALUE rblapack_side;
|
|
9
|
-
char side;
|
|
10
|
-
VALUE rblapack_howmny;
|
|
11
|
-
char howmny;
|
|
12
|
-
VALUE rblapack_select;
|
|
13
|
-
logical *select;
|
|
14
|
-
VALUE rblapack_t;
|
|
15
|
-
doublereal *t;
|
|
16
|
-
VALUE rblapack_vl;
|
|
17
|
-
doublereal *vl;
|
|
18
|
-
VALUE rblapack_vr;
|
|
19
|
-
doublereal *vr;
|
|
20
|
-
VALUE rblapack_m;
|
|
21
|
-
integer m;
|
|
22
|
-
VALUE rblapack_info;
|
|
23
|
-
integer info;
|
|
24
|
-
VALUE rblapack_select_out__;
|
|
25
|
-
logical *select_out__;
|
|
26
|
-
VALUE rblapack_vl_out__;
|
|
27
|
-
doublereal *vl_out__;
|
|
28
|
-
VALUE rblapack_vr_out__;
|
|
29
|
-
doublereal *vr_out__;
|
|
30
|
-
doublereal *work;
|
|
31
|
-
|
|
32
|
-
integer n;
|
|
33
|
-
integer ldt;
|
|
34
|
-
integer ldvl;
|
|
35
|
-
integer mm;
|
|
36
|
-
integer ldvr;
|
|
37
|
-
|
|
38
|
-
VALUE rblapack_options;
|
|
39
|
-
if (argc > 0 && TYPE(argv[argc-1]) == T_HASH) {
|
|
40
|
-
argc--;
|
|
41
|
-
rblapack_options = argv[argc];
|
|
42
|
-
if (rb_hash_aref(rblapack_options, sHelp) == Qtrue) {
|
|
43
|
-
printf("%s\n", "USAGE:\n m, info, select, vl, vr = NumRu::Lapack.dtrevc( side, howmny, select, t, vl, vr, [:usage => usage, :help => help])\n\n\nFORTRAN MANUAL\n SUBROUTINE DTREVC( SIDE, HOWMNY, SELECT, N, T, LDT, VL, LDVL, VR, LDVR, MM, M, WORK, INFO )\n\n* Purpose\n* =======\n*\n* DTREVC computes some or all of the right and/or left eigenvectors of\n* a real upper quasi-triangular matrix T.\n* Matrices of this type are produced by the Schur factorization of\n* a real general matrix: A = Q*T*Q**T, as computed by DHSEQR.\n* \n* The right eigenvector x and the left eigenvector y of T corresponding\n* to an eigenvalue w are defined by:\n* \n* T*x = w*x, (y**H)*T = w*(y**H)\n* \n* where y**H denotes the conjugate transpose of y.\n* The eigenvalues are not input to this routine, but are read directly\n* from the diagonal blocks of T.\n* \n* This routine returns the matrices X and/or Y of right and left\n* eigenvectors of T, or the products Q*X and/or Q*Y, where Q is an\n* input matrix. If Q is the orthogonal factor that reduces a matrix\n* A to Schur form T, then Q*X and Q*Y are the matrices of right and\n* left eigenvectors of A.\n*\n\n* Arguments\n* =========\n*\n* SIDE (input) CHARACTER*1\n* = 'R': compute right eigenvectors only;\n* = 'L': compute left eigenvectors only;\n* = 'B': compute both right and left eigenvectors.\n*\n* HOWMNY (input) CHARACTER*1\n* = 'A': compute all right and/or left eigenvectors;\n* = 'B': compute all right and/or left eigenvectors,\n* backtransformed by the matrices in VR and/or VL;\n* = 'S': compute selected right and/or left eigenvectors,\n* as indicated by the logical array SELECT.\n*\n* SELECT (input/output) LOGICAL array, dimension (N)\n* If HOWMNY = 'S', SELECT specifies the eigenvectors to be\n* computed.\n* If w(j) is a real eigenvalue, the corresponding real\n* eigenvector is computed if SELECT(j) is .TRUE..\n* If w(j) and w(j+1) are the real and imaginary parts of a\n* complex eigenvalue, the corresponding complex eigenvector is\n* computed if either SELECT(j) or SELECT(j+1) is .TRUE., and\n* on exit SELECT(j) is set to .TRUE. and SELECT(j+1) is set to\n* .FALSE..\n* Not referenced if HOWMNY = 'A' or 'B'.\n*\n* N (input) INTEGER\n* The order of the matrix T. N >= 0.\n*\n* T (input) DOUBLE PRECISION array, dimension (LDT,N)\n* The upper quasi-triangular matrix T in Schur canonical form.\n*\n* LDT (input) INTEGER\n* The leading dimension of the array T. LDT >= max(1,N).\n*\n* VL (input/output) DOUBLE PRECISION array, dimension (LDVL,MM)\n* On entry, if SIDE = 'L' or 'B' and HOWMNY = 'B', VL must\n* contain an N-by-N matrix Q (usually the orthogonal matrix Q\n* of Schur vectors returned by DHSEQR).\n* On exit, if SIDE = 'L' or 'B', VL contains:\n* if HOWMNY = 'A', the matrix Y of left eigenvectors of T;\n* if HOWMNY = 'B', the matrix Q*Y;\n* if HOWMNY = 'S', the left eigenvectors of T specified by\n* SELECT, stored consecutively in the columns\n* of VL, in the same order as their\n* eigenvalues.\n* A complex eigenvector corresponding to a complex eigenvalue\n* is stored in two consecutive columns, the first holding the\n* real part, and the second the imaginary part.\n* Not referenced if SIDE = 'R'.\n*\n* LDVL (input) INTEGER\n* The leading dimension of the array VL. LDVL >= 1, and if\n* SIDE = 'L' or 'B', LDVL >= N.\n*\n* VR (input/output) DOUBLE PRECISION array, dimension (LDVR,MM)\n* On entry, if SIDE = 'R' or 'B' and HOWMNY = 'B', VR must\n* contain an N-by-N matrix Q (usually the orthogonal matrix Q\n* of Schur vectors returned by DHSEQR).\n* On exit, if SIDE = 'R' or 'B', VR contains:\n* if HOWMNY = 'A', the matrix X of right eigenvectors of T;\n* if HOWMNY = 'B', the matrix Q*X;\n* if HOWMNY = 'S', the right eigenvectors of T specified by\n* SELECT, stored consecutively in the columns\n* of VR, in the same order as their\n* eigenvalues.\n* A complex eigenvector corresponding to a complex eigenvalue\n* is stored in two consecutive columns, the first holding the\n* real part and the second the imaginary part.\n* Not referenced if SIDE = 'L'.\n*\n* LDVR (input) INTEGER\n* The leading dimension of the array VR. LDVR >= 1, and if\n* SIDE = 'R' or 'B', LDVR >= N.\n*\n* MM (input) INTEGER\n* The number of columns in the arrays VL and/or VR. MM >= M.\n*\n* M (output) INTEGER\n* The number of columns in the arrays VL and/or VR actually\n* used to store the eigenvectors.\n* If HOWMNY = 'A' or 'B', M is set to N.\n* Each selected real eigenvector occupies one column and each\n* selected complex eigenvector occupies two columns.\n*\n* WORK (workspace) DOUBLE PRECISION array, dimension (3*N)\n*\n* INFO (output) INTEGER\n* = 0: successful exit\n* < 0: if INFO = -i, the i-th argument had an illegal value\n*\n\n* Further Details\n* ===============\n*\n* The algorithm used in this program is basically backward (forward)\n* substitution, with scaling to make the the code robust against\n* possible overflow.\n*\n* Each eigenvector is normalized so that the element of largest\n* magnitude has magnitude 1; here the magnitude of a complex number\n* (x,y) is taken to be |x| + |y|.\n*\n* =====================================================================\n*\n\n");
|
|
44
|
-
return Qnil;
|
|
45
|
-
}
|
|
46
|
-
if (rb_hash_aref(rblapack_options, sUsage) == Qtrue) {
|
|
47
|
-
printf("%s\n", "USAGE:\n m, info, select, vl, vr = NumRu::Lapack.dtrevc( side, howmny, select, t, vl, vr, [:usage => usage, :help => help])\n");
|
|
48
|
-
return Qnil;
|
|
49
|
-
}
|
|
50
|
-
} else
|
|
51
|
-
rblapack_options = Qnil;
|
|
52
|
-
if (argc != 6 && argc != 6)
|
|
53
|
-
rb_raise(rb_eArgError,"wrong number of arguments (%d for 6)", argc);
|
|
54
|
-
rblapack_side = argv[0];
|
|
55
|
-
rblapack_howmny = argv[1];
|
|
56
|
-
rblapack_select = argv[2];
|
|
57
|
-
rblapack_t = argv[3];
|
|
58
|
-
rblapack_vl = argv[4];
|
|
59
|
-
rblapack_vr = argv[5];
|
|
60
|
-
if (argc == 6) {
|
|
61
|
-
} else if (rblapack_options != Qnil) {
|
|
62
|
-
} else {
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
side = StringValueCStr(rblapack_side)[0];
|
|
66
|
-
if (!NA_IsNArray(rblapack_select))
|
|
67
|
-
rb_raise(rb_eArgError, "select (3th argument) must be NArray");
|
|
68
|
-
if (NA_RANK(rblapack_select) != 1)
|
|
69
|
-
rb_raise(rb_eArgError, "rank of select (3th argument) must be %d", 1);
|
|
70
|
-
n = NA_SHAPE0(rblapack_select);
|
|
71
|
-
if (NA_TYPE(rblapack_select) != NA_LINT)
|
|
72
|
-
rblapack_select = na_change_type(rblapack_select, NA_LINT);
|
|
73
|
-
select = NA_PTR_TYPE(rblapack_select, logical*);
|
|
74
|
-
if (!NA_IsNArray(rblapack_vl))
|
|
75
|
-
rb_raise(rb_eArgError, "vl (5th argument) must be NArray");
|
|
76
|
-
if (NA_RANK(rblapack_vl) != 2)
|
|
77
|
-
rb_raise(rb_eArgError, "rank of vl (5th argument) must be %d", 2);
|
|
78
|
-
ldvl = NA_SHAPE0(rblapack_vl);
|
|
79
|
-
mm = NA_SHAPE1(rblapack_vl);
|
|
80
|
-
if (NA_TYPE(rblapack_vl) != NA_DFLOAT)
|
|
81
|
-
rblapack_vl = na_change_type(rblapack_vl, NA_DFLOAT);
|
|
82
|
-
vl = NA_PTR_TYPE(rblapack_vl, doublereal*);
|
|
83
|
-
howmny = StringValueCStr(rblapack_howmny)[0];
|
|
84
|
-
if (!NA_IsNArray(rblapack_vr))
|
|
85
|
-
rb_raise(rb_eArgError, "vr (6th argument) must be NArray");
|
|
86
|
-
if (NA_RANK(rblapack_vr) != 2)
|
|
87
|
-
rb_raise(rb_eArgError, "rank of vr (6th argument) must be %d", 2);
|
|
88
|
-
ldvr = NA_SHAPE0(rblapack_vr);
|
|
89
|
-
if (NA_SHAPE1(rblapack_vr) != mm)
|
|
90
|
-
rb_raise(rb_eRuntimeError, "shape 1 of vr must be the same as shape 1 of vl");
|
|
91
|
-
if (NA_TYPE(rblapack_vr) != NA_DFLOAT)
|
|
92
|
-
rblapack_vr = na_change_type(rblapack_vr, NA_DFLOAT);
|
|
93
|
-
vr = NA_PTR_TYPE(rblapack_vr, doublereal*);
|
|
94
|
-
if (!NA_IsNArray(rblapack_t))
|
|
95
|
-
rb_raise(rb_eArgError, "t (4th argument) must be NArray");
|
|
96
|
-
if (NA_RANK(rblapack_t) != 2)
|
|
97
|
-
rb_raise(rb_eArgError, "rank of t (4th argument) must be %d", 2);
|
|
98
|
-
ldt = NA_SHAPE0(rblapack_t);
|
|
99
|
-
if (NA_SHAPE1(rblapack_t) != n)
|
|
100
|
-
rb_raise(rb_eRuntimeError, "shape 1 of t must be the same as shape 0 of select");
|
|
101
|
-
if (NA_TYPE(rblapack_t) != NA_DFLOAT)
|
|
102
|
-
rblapack_t = na_change_type(rblapack_t, NA_DFLOAT);
|
|
103
|
-
t = NA_PTR_TYPE(rblapack_t, doublereal*);
|
|
104
|
-
{
|
|
105
|
-
int shape[1];
|
|
106
|
-
shape[0] = n;
|
|
107
|
-
rblapack_select_out__ = na_make_object(NA_LINT, 1, shape, cNArray);
|
|
108
|
-
}
|
|
109
|
-
select_out__ = NA_PTR_TYPE(rblapack_select_out__, logical*);
|
|
110
|
-
MEMCPY(select_out__, select, logical, NA_TOTAL(rblapack_select));
|
|
111
|
-
rblapack_select = rblapack_select_out__;
|
|
112
|
-
select = select_out__;
|
|
113
|
-
{
|
|
114
|
-
int shape[2];
|
|
115
|
-
shape[0] = ldvl;
|
|
116
|
-
shape[1] = mm;
|
|
117
|
-
rblapack_vl_out__ = na_make_object(NA_DFLOAT, 2, shape, cNArray);
|
|
118
|
-
}
|
|
119
|
-
vl_out__ = NA_PTR_TYPE(rblapack_vl_out__, doublereal*);
|
|
120
|
-
MEMCPY(vl_out__, vl, doublereal, NA_TOTAL(rblapack_vl));
|
|
121
|
-
rblapack_vl = rblapack_vl_out__;
|
|
122
|
-
vl = vl_out__;
|
|
123
|
-
{
|
|
124
|
-
int shape[2];
|
|
125
|
-
shape[0] = ldvr;
|
|
126
|
-
shape[1] = mm;
|
|
127
|
-
rblapack_vr_out__ = na_make_object(NA_DFLOAT, 2, shape, cNArray);
|
|
128
|
-
}
|
|
129
|
-
vr_out__ = NA_PTR_TYPE(rblapack_vr_out__, doublereal*);
|
|
130
|
-
MEMCPY(vr_out__, vr, doublereal, NA_TOTAL(rblapack_vr));
|
|
131
|
-
rblapack_vr = rblapack_vr_out__;
|
|
132
|
-
vr = vr_out__;
|
|
133
|
-
work = ALLOC_N(doublereal, (3*n));
|
|
134
|
-
|
|
135
|
-
dtrevc_(&side, &howmny, select, &n, t, &ldt, vl, &ldvl, vr, &ldvr, &mm, &m, work, &info);
|
|
136
|
-
|
|
137
|
-
free(work);
|
|
138
|
-
rblapack_m = INT2NUM(m);
|
|
139
|
-
rblapack_info = INT2NUM(info);
|
|
140
|
-
return rb_ary_new3(5, rblapack_m, rblapack_info, rblapack_select, rblapack_vl, rblapack_vr);
|
|
141
|
-
}
|
|
142
|
-
|
|
143
|
-
void
|
|
144
|
-
init_lapack_dtrevc(VALUE mLapack, VALUE sH, VALUE sU, VALUE zero){
|
|
145
|
-
sHelp = sH;
|
|
146
|
-
sUsage = sU;
|
|
147
|
-
rblapack_ZERO = zero;
|
|
148
|
-
|
|
149
|
-
rb_define_module_function(mLapack, "dtrevc", rblapack_dtrevc, -1);
|
|
150
|
-
}
|
data/ext/dtrexc.c
DELETED
|
@@ -1,116 +0,0 @@
|
|
|
1
|
-
#include "rb_lapack.h"
|
|
2
|
-
|
|
3
|
-
extern VOID dtrexc_(char* compq, integer* n, doublereal* t, integer* ldt, doublereal* q, integer* ldq, integer* ifst, integer* ilst, doublereal* work, integer* info);
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
static VALUE
|
|
7
|
-
rblapack_dtrexc(int argc, VALUE *argv, VALUE self){
|
|
8
|
-
VALUE rblapack_compq;
|
|
9
|
-
char compq;
|
|
10
|
-
VALUE rblapack_t;
|
|
11
|
-
doublereal *t;
|
|
12
|
-
VALUE rblapack_q;
|
|
13
|
-
doublereal *q;
|
|
14
|
-
VALUE rblapack_ifst;
|
|
15
|
-
integer ifst;
|
|
16
|
-
VALUE rblapack_ilst;
|
|
17
|
-
integer ilst;
|
|
18
|
-
VALUE rblapack_info;
|
|
19
|
-
integer info;
|
|
20
|
-
VALUE rblapack_t_out__;
|
|
21
|
-
doublereal *t_out__;
|
|
22
|
-
VALUE rblapack_q_out__;
|
|
23
|
-
doublereal *q_out__;
|
|
24
|
-
doublereal *work;
|
|
25
|
-
|
|
26
|
-
integer ldt;
|
|
27
|
-
integer n;
|
|
28
|
-
integer ldq;
|
|
29
|
-
|
|
30
|
-
VALUE rblapack_options;
|
|
31
|
-
if (argc > 0 && TYPE(argv[argc-1]) == T_HASH) {
|
|
32
|
-
argc--;
|
|
33
|
-
rblapack_options = argv[argc];
|
|
34
|
-
if (rb_hash_aref(rblapack_options, sHelp) == Qtrue) {
|
|
35
|
-
printf("%s\n", "USAGE:\n info, t, q, ifst, ilst = NumRu::Lapack.dtrexc( compq, t, q, ifst, ilst, [:usage => usage, :help => help])\n\n\nFORTRAN MANUAL\n SUBROUTINE DTREXC( COMPQ, N, T, LDT, Q, LDQ, IFST, ILST, WORK, INFO )\n\n* Purpose\n* =======\n*\n* DTREXC reorders the real Schur factorization of a real matrix\n* A = Q*T*Q**T, so that the diagonal block of T with row index IFST is\n* moved to row ILST.\n*\n* The real Schur form T is reordered by an orthogonal similarity\n* transformation Z**T*T*Z, and optionally the matrix Q of Schur vectors\n* is updated by postmultiplying it with Z.\n*\n* T must be in Schur canonical form (as returned by DHSEQR), that is,\n* block upper triangular with 1-by-1 and 2-by-2 diagonal blocks; each\n* 2-by-2 diagonal block has its diagonal elements equal and its\n* off-diagonal elements of opposite sign.\n*\n\n* Arguments\n* =========\n*\n* COMPQ (input) CHARACTER*1\n* = 'V': update the matrix Q of Schur vectors;\n* = 'N': do not update Q.\n*\n* N (input) INTEGER\n* The order of the matrix T. N >= 0.\n*\n* T (input/output) DOUBLE PRECISION array, dimension (LDT,N)\n* On entry, the upper quasi-triangular matrix T, in Schur\n* Schur canonical form.\n* On exit, the reordered upper quasi-triangular matrix, again\n* in Schur canonical form.\n*\n* LDT (input) INTEGER\n* The leading dimension of the array T. LDT >= max(1,N).\n*\n* Q (input/output) DOUBLE PRECISION array, dimension (LDQ,N)\n* On entry, if COMPQ = 'V', the matrix Q of Schur vectors.\n* On exit, if COMPQ = 'V', Q has been postmultiplied by the\n* orthogonal transformation matrix Z which reorders T.\n* If COMPQ = 'N', Q is not referenced.\n*\n* LDQ (input) INTEGER\n* The leading dimension of the array Q. LDQ >= max(1,N).\n*\n* IFST (input/output) INTEGER\n* ILST (input/output) INTEGER\n* Specify the reordering of the diagonal blocks of T.\n* The block with row index IFST is moved to row ILST, by a\n* sequence of transpositions between adjacent blocks.\n* On exit, if IFST pointed on entry to the second row of a\n* 2-by-2 block, it is changed to point to the first row; ILST\n* always points to the first row of the block in its final\n* position (which may differ from its input value by +1 or -1).\n* 1 <= IFST <= N; 1 <= ILST <= N.\n*\n* WORK (workspace) DOUBLE PRECISION array, dimension (N)\n*\n* INFO (output) INTEGER\n* = 0: successful exit\n* < 0: if INFO = -i, the i-th argument had an illegal value\n* = 1: two adjacent blocks were too close to swap (the problem\n* is very ill-conditioned); T may have been partially\n* reordered, and ILST points to the first row of the\n* current position of the block being moved.\n*\n\n* =====================================================================\n*\n\n");
|
|
36
|
-
return Qnil;
|
|
37
|
-
}
|
|
38
|
-
if (rb_hash_aref(rblapack_options, sUsage) == Qtrue) {
|
|
39
|
-
printf("%s\n", "USAGE:\n info, t, q, ifst, ilst = NumRu::Lapack.dtrexc( compq, t, q, ifst, ilst, [:usage => usage, :help => help])\n");
|
|
40
|
-
return Qnil;
|
|
41
|
-
}
|
|
42
|
-
} else
|
|
43
|
-
rblapack_options = Qnil;
|
|
44
|
-
if (argc != 5 && argc != 5)
|
|
45
|
-
rb_raise(rb_eArgError,"wrong number of arguments (%d for 5)", argc);
|
|
46
|
-
rblapack_compq = argv[0];
|
|
47
|
-
rblapack_t = argv[1];
|
|
48
|
-
rblapack_q = argv[2];
|
|
49
|
-
rblapack_ifst = argv[3];
|
|
50
|
-
rblapack_ilst = argv[4];
|
|
51
|
-
if (argc == 5) {
|
|
52
|
-
} else if (rblapack_options != Qnil) {
|
|
53
|
-
} else {
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
compq = StringValueCStr(rblapack_compq)[0];
|
|
57
|
-
if (!NA_IsNArray(rblapack_q))
|
|
58
|
-
rb_raise(rb_eArgError, "q (3th argument) must be NArray");
|
|
59
|
-
if (NA_RANK(rblapack_q) != 2)
|
|
60
|
-
rb_raise(rb_eArgError, "rank of q (3th argument) must be %d", 2);
|
|
61
|
-
ldq = NA_SHAPE0(rblapack_q);
|
|
62
|
-
n = NA_SHAPE1(rblapack_q);
|
|
63
|
-
if (NA_TYPE(rblapack_q) != NA_DFLOAT)
|
|
64
|
-
rblapack_q = na_change_type(rblapack_q, NA_DFLOAT);
|
|
65
|
-
q = NA_PTR_TYPE(rblapack_q, doublereal*);
|
|
66
|
-
ilst = NUM2INT(rblapack_ilst);
|
|
67
|
-
if (!NA_IsNArray(rblapack_t))
|
|
68
|
-
rb_raise(rb_eArgError, "t (2th argument) must be NArray");
|
|
69
|
-
if (NA_RANK(rblapack_t) != 2)
|
|
70
|
-
rb_raise(rb_eArgError, "rank of t (2th argument) must be %d", 2);
|
|
71
|
-
ldt = NA_SHAPE0(rblapack_t);
|
|
72
|
-
if (NA_SHAPE1(rblapack_t) != n)
|
|
73
|
-
rb_raise(rb_eRuntimeError, "shape 1 of t must be the same as shape 1 of q");
|
|
74
|
-
if (NA_TYPE(rblapack_t) != NA_DFLOAT)
|
|
75
|
-
rblapack_t = na_change_type(rblapack_t, NA_DFLOAT);
|
|
76
|
-
t = NA_PTR_TYPE(rblapack_t, doublereal*);
|
|
77
|
-
ifst = NUM2INT(rblapack_ifst);
|
|
78
|
-
{
|
|
79
|
-
int shape[2];
|
|
80
|
-
shape[0] = ldt;
|
|
81
|
-
shape[1] = n;
|
|
82
|
-
rblapack_t_out__ = na_make_object(NA_DFLOAT, 2, shape, cNArray);
|
|
83
|
-
}
|
|
84
|
-
t_out__ = NA_PTR_TYPE(rblapack_t_out__, doublereal*);
|
|
85
|
-
MEMCPY(t_out__, t, doublereal, NA_TOTAL(rblapack_t));
|
|
86
|
-
rblapack_t = rblapack_t_out__;
|
|
87
|
-
t = t_out__;
|
|
88
|
-
{
|
|
89
|
-
int shape[2];
|
|
90
|
-
shape[0] = ldq;
|
|
91
|
-
shape[1] = n;
|
|
92
|
-
rblapack_q_out__ = na_make_object(NA_DFLOAT, 2, shape, cNArray);
|
|
93
|
-
}
|
|
94
|
-
q_out__ = NA_PTR_TYPE(rblapack_q_out__, doublereal*);
|
|
95
|
-
MEMCPY(q_out__, q, doublereal, NA_TOTAL(rblapack_q));
|
|
96
|
-
rblapack_q = rblapack_q_out__;
|
|
97
|
-
q = q_out__;
|
|
98
|
-
work = ALLOC_N(doublereal, (n));
|
|
99
|
-
|
|
100
|
-
dtrexc_(&compq, &n, t, &ldt, q, &ldq, &ifst, &ilst, work, &info);
|
|
101
|
-
|
|
102
|
-
free(work);
|
|
103
|
-
rblapack_info = INT2NUM(info);
|
|
104
|
-
rblapack_ifst = INT2NUM(ifst);
|
|
105
|
-
rblapack_ilst = INT2NUM(ilst);
|
|
106
|
-
return rb_ary_new3(5, rblapack_info, rblapack_t, rblapack_q, rblapack_ifst, rblapack_ilst);
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
void
|
|
110
|
-
init_lapack_dtrexc(VALUE mLapack, VALUE sH, VALUE sU, VALUE zero){
|
|
111
|
-
sHelp = sH;
|
|
112
|
-
sUsage = sU;
|
|
113
|
-
rblapack_ZERO = zero;
|
|
114
|
-
|
|
115
|
-
rb_define_module_function(mLapack, "dtrexc", rblapack_dtrexc, -1);
|
|
116
|
-
}
|
data/ext/dtrrfs.c
DELETED
|
@@ -1,123 +0,0 @@
|
|
|
1
|
-
#include "rb_lapack.h"
|
|
2
|
-
|
|
3
|
-
extern VOID dtrrfs_(char* uplo, char* trans, char* diag, integer* n, integer* nrhs, doublereal* a, integer* lda, doublereal* b, integer* ldb, doublereal* x, integer* ldx, doublereal* ferr, doublereal* berr, doublereal* work, integer* iwork, integer* info);
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
static VALUE
|
|
7
|
-
rblapack_dtrrfs(int argc, VALUE *argv, VALUE self){
|
|
8
|
-
VALUE rblapack_uplo;
|
|
9
|
-
char uplo;
|
|
10
|
-
VALUE rblapack_trans;
|
|
11
|
-
char trans;
|
|
12
|
-
VALUE rblapack_diag;
|
|
13
|
-
char diag;
|
|
14
|
-
VALUE rblapack_a;
|
|
15
|
-
doublereal *a;
|
|
16
|
-
VALUE rblapack_b;
|
|
17
|
-
doublereal *b;
|
|
18
|
-
VALUE rblapack_x;
|
|
19
|
-
doublereal *x;
|
|
20
|
-
VALUE rblapack_ferr;
|
|
21
|
-
doublereal *ferr;
|
|
22
|
-
VALUE rblapack_berr;
|
|
23
|
-
doublereal *berr;
|
|
24
|
-
VALUE rblapack_info;
|
|
25
|
-
integer info;
|
|
26
|
-
doublereal *work;
|
|
27
|
-
integer *iwork;
|
|
28
|
-
|
|
29
|
-
integer lda;
|
|
30
|
-
integer n;
|
|
31
|
-
integer ldb;
|
|
32
|
-
integer nrhs;
|
|
33
|
-
integer ldx;
|
|
34
|
-
|
|
35
|
-
VALUE rblapack_options;
|
|
36
|
-
if (argc > 0 && TYPE(argv[argc-1]) == T_HASH) {
|
|
37
|
-
argc--;
|
|
38
|
-
rblapack_options = argv[argc];
|
|
39
|
-
if (rb_hash_aref(rblapack_options, sHelp) == Qtrue) {
|
|
40
|
-
printf("%s\n", "USAGE:\n ferr, berr, info = NumRu::Lapack.dtrrfs( uplo, trans, diag, a, b, x, [:usage => usage, :help => help])\n\n\nFORTRAN MANUAL\n SUBROUTINE DTRRFS( UPLO, TRANS, DIAG, N, NRHS, A, LDA, B, LDB, X, LDX, FERR, BERR, WORK, IWORK, INFO )\n\n* Purpose\n* =======\n*\n* DTRRFS provides error bounds and backward error estimates for the\n* solution to a system of linear equations with a triangular\n* coefficient matrix.\n*\n* The solution matrix X must be computed by DTRTRS or some other\n* means before entering this routine. DTRRFS does not do iterative\n* refinement because doing so cannot improve the backward error.\n*\n\n* Arguments\n* =========\n*\n* UPLO (input) CHARACTER*1\n* = 'U': A is upper triangular;\n* = 'L': A is lower triangular.\n*\n* TRANS (input) CHARACTER*1\n* Specifies the form of the system of equations:\n* = 'N': A * X = B (No transpose)\n* = 'T': A**T * X = B (Transpose)\n* = 'C': A**H * X = B (Conjugate transpose = Transpose)\n*\n* DIAG (input) CHARACTER*1\n* = 'N': A is non-unit triangular;\n* = 'U': A is unit triangular.\n*\n* N (input) INTEGER\n* The order of the matrix A. N >= 0.\n*\n* NRHS (input) INTEGER\n* The number of right hand sides, i.e., the number of columns\n* of the matrices B and X. NRHS >= 0.\n*\n* A (input) DOUBLE PRECISION array, dimension (LDA,N)\n* The triangular matrix A. If UPLO = 'U', the leading N-by-N\n* upper triangular part of the array A contains the upper\n* triangular matrix, and the strictly lower triangular part of\n* A is not referenced. If UPLO = 'L', the leading N-by-N lower\n* triangular part of the array A contains the lower triangular\n* matrix, and the strictly upper triangular part of A is not\n* referenced. If DIAG = 'U', the diagonal elements of A are\n* also not referenced and are assumed to be 1.\n*\n* LDA (input) INTEGER\n* The leading dimension of the array A. LDA >= max(1,N).\n*\n* B (input) DOUBLE PRECISION array, dimension (LDB,NRHS)\n* The right hand side matrix B.\n*\n* LDB (input) INTEGER\n* The leading dimension of the array B. LDB >= max(1,N).\n*\n* X (input) DOUBLE PRECISION array, dimension (LDX,NRHS)\n* The solution matrix X.\n*\n* LDX (input) INTEGER\n* The leading dimension of the array X. LDX >= max(1,N).\n*\n* FERR (output) DOUBLE PRECISION array, dimension (NRHS)\n* The estimated forward error bound for each solution vector\n* X(j) (the j-th column of the solution matrix X).\n* If XTRUE is the true solution corresponding to X(j), FERR(j)\n* is an estimated upper bound for the magnitude of the largest\n* element in (X(j) - XTRUE) divided by the magnitude of the\n* largest element in X(j). The estimate is as reliable as\n* the estimate for RCOND, and is almost always a slight\n* overestimate of the true error.\n*\n* BERR (output) DOUBLE PRECISION array, dimension (NRHS)\n* The componentwise relative backward error of each solution\n* vector X(j) (i.e., the smallest relative change in\n* any element of A or B that makes X(j) an exact solution).\n*\n* WORK (workspace) DOUBLE PRECISION array, dimension (3*N)\n*\n* IWORK (workspace) INTEGER array, dimension (N)\n*\n* INFO (output) INTEGER\n* = 0: successful exit\n* < 0: if INFO = -i, the i-th argument had an illegal value\n*\n\n* =====================================================================\n*\n\n");
|
|
41
|
-
return Qnil;
|
|
42
|
-
}
|
|
43
|
-
if (rb_hash_aref(rblapack_options, sUsage) == Qtrue) {
|
|
44
|
-
printf("%s\n", "USAGE:\n ferr, berr, info = NumRu::Lapack.dtrrfs( uplo, trans, diag, a, b, x, [:usage => usage, :help => help])\n");
|
|
45
|
-
return Qnil;
|
|
46
|
-
}
|
|
47
|
-
} else
|
|
48
|
-
rblapack_options = Qnil;
|
|
49
|
-
if (argc != 6 && argc != 6)
|
|
50
|
-
rb_raise(rb_eArgError,"wrong number of arguments (%d for 6)", argc);
|
|
51
|
-
rblapack_uplo = argv[0];
|
|
52
|
-
rblapack_trans = argv[1];
|
|
53
|
-
rblapack_diag = argv[2];
|
|
54
|
-
rblapack_a = argv[3];
|
|
55
|
-
rblapack_b = argv[4];
|
|
56
|
-
rblapack_x = argv[5];
|
|
57
|
-
if (argc == 6) {
|
|
58
|
-
} else if (rblapack_options != Qnil) {
|
|
59
|
-
} else {
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
uplo = StringValueCStr(rblapack_uplo)[0];
|
|
63
|
-
diag = StringValueCStr(rblapack_diag)[0];
|
|
64
|
-
if (!NA_IsNArray(rblapack_b))
|
|
65
|
-
rb_raise(rb_eArgError, "b (5th argument) must be NArray");
|
|
66
|
-
if (NA_RANK(rblapack_b) != 2)
|
|
67
|
-
rb_raise(rb_eArgError, "rank of b (5th argument) must be %d", 2);
|
|
68
|
-
ldb = NA_SHAPE0(rblapack_b);
|
|
69
|
-
nrhs = NA_SHAPE1(rblapack_b);
|
|
70
|
-
if (NA_TYPE(rblapack_b) != NA_DFLOAT)
|
|
71
|
-
rblapack_b = na_change_type(rblapack_b, NA_DFLOAT);
|
|
72
|
-
b = NA_PTR_TYPE(rblapack_b, doublereal*);
|
|
73
|
-
trans = StringValueCStr(rblapack_trans)[0];
|
|
74
|
-
if (!NA_IsNArray(rblapack_x))
|
|
75
|
-
rb_raise(rb_eArgError, "x (6th argument) must be NArray");
|
|
76
|
-
if (NA_RANK(rblapack_x) != 2)
|
|
77
|
-
rb_raise(rb_eArgError, "rank of x (6th argument) must be %d", 2);
|
|
78
|
-
ldx = NA_SHAPE0(rblapack_x);
|
|
79
|
-
if (NA_SHAPE1(rblapack_x) != nrhs)
|
|
80
|
-
rb_raise(rb_eRuntimeError, "shape 1 of x must be the same as shape 1 of b");
|
|
81
|
-
if (NA_TYPE(rblapack_x) != NA_DFLOAT)
|
|
82
|
-
rblapack_x = na_change_type(rblapack_x, NA_DFLOAT);
|
|
83
|
-
x = NA_PTR_TYPE(rblapack_x, doublereal*);
|
|
84
|
-
if (!NA_IsNArray(rblapack_a))
|
|
85
|
-
rb_raise(rb_eArgError, "a (4th argument) must be NArray");
|
|
86
|
-
if (NA_RANK(rblapack_a) != 2)
|
|
87
|
-
rb_raise(rb_eArgError, "rank of a (4th argument) must be %d", 2);
|
|
88
|
-
lda = NA_SHAPE0(rblapack_a);
|
|
89
|
-
n = NA_SHAPE1(rblapack_a);
|
|
90
|
-
if (NA_TYPE(rblapack_a) != NA_DFLOAT)
|
|
91
|
-
rblapack_a = na_change_type(rblapack_a, NA_DFLOAT);
|
|
92
|
-
a = NA_PTR_TYPE(rblapack_a, doublereal*);
|
|
93
|
-
{
|
|
94
|
-
int shape[1];
|
|
95
|
-
shape[0] = nrhs;
|
|
96
|
-
rblapack_ferr = na_make_object(NA_DFLOAT, 1, shape, cNArray);
|
|
97
|
-
}
|
|
98
|
-
ferr = NA_PTR_TYPE(rblapack_ferr, doublereal*);
|
|
99
|
-
{
|
|
100
|
-
int shape[1];
|
|
101
|
-
shape[0] = nrhs;
|
|
102
|
-
rblapack_berr = na_make_object(NA_DFLOAT, 1, shape, cNArray);
|
|
103
|
-
}
|
|
104
|
-
berr = NA_PTR_TYPE(rblapack_berr, doublereal*);
|
|
105
|
-
work = ALLOC_N(doublereal, (3*n));
|
|
106
|
-
iwork = ALLOC_N(integer, (n));
|
|
107
|
-
|
|
108
|
-
dtrrfs_(&uplo, &trans, &diag, &n, &nrhs, a, &lda, b, &ldb, x, &ldx, ferr, berr, work, iwork, &info);
|
|
109
|
-
|
|
110
|
-
free(work);
|
|
111
|
-
free(iwork);
|
|
112
|
-
rblapack_info = INT2NUM(info);
|
|
113
|
-
return rb_ary_new3(3, rblapack_ferr, rblapack_berr, rblapack_info);
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
void
|
|
117
|
-
init_lapack_dtrrfs(VALUE mLapack, VALUE sH, VALUE sU, VALUE zero){
|
|
118
|
-
sHelp = sH;
|
|
119
|
-
sUsage = sU;
|
|
120
|
-
rblapack_ZERO = zero;
|
|
121
|
-
|
|
122
|
-
rb_define_module_function(mLapack, "dtrrfs", rblapack_dtrrfs, -1);
|
|
123
|
-
}
|