ITK  4.0.0
Insight Segmentation and Registration Toolkit
itpack.h
Go to the documentation of this file.
00001 /*=========================================================================
00002  *
00003  *  Copyright Insight Software Consortium
00004  *
00005  *  Licensed under the Apache License, Version 2.0 (the "License");
00006  *  you may not use this file except in compliance with the License.
00007  *  You may obtain a copy of the License at
00008  *
00009  *         http://www.apache.org/licenses/LICENSE-2.0.txt
00010  *
00011  *  Unless required by applicable law or agreed to in writing, software
00012  *  distributed under the License is distributed on an "AS IS" BASIS,
00013  *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00014  *  See the License for the specific language governing permissions and
00015  *  limitations under the License.
00016  *
00017  *=========================================================================*/
00018 
00019 #ifndef __itpack_h
00020 #define __itpack_h
00021 
00022 #include "v3p_netlib.h"
00023 
00024 #include "v3p_f2c_mangle.h"
00025 
00026 extern "C" {
00074 extern int jcg_(integer *nn, integer *ia, integer *ja, doublereal *a, doublereal *rhs, doublereal *u, integer *iwksp,
00075                 integer *nw, doublereal *wksp, integer *iparm, doublereal *rparm,
00076                 integer *ierr);
00077 
00094 extern int jsi_(integer *nn, integer *ia, integer *ja, doublereal *a, doublereal *rhs, doublereal *u, integer *iwksp,
00095                 integer *nw, doublereal *wksp, integer *iparm, doublereal *rparm,
00096                 integer *ierr);
00097 
00114 extern int sor_(integer *nn, integer *ia, integer *ja, doublereal *a, doublereal *rhs, doublereal *u, integer *iwksp,
00115                 integer *nw, doublereal *wksp, integer *iparm, doublereal *rparm,
00116                 integer *ierr);
00117 
00134 extern int ssorcg_(integer *nn, integer *ia, integer *ja, doublereal *a, doublereal *rhs, doublereal *u, integer *iwksp,
00135                    integer *nw, doublereal *wksp, integer *iparm, doublereal *rparm,
00136                    integer *ierr);
00137 
00154 extern int ssorsi_(integer *nn, integer *ia, integer *ja, doublereal *a, doublereal *rhs, doublereal *u, integer *iwksp,
00155                    integer *nw, doublereal *wksp, integer *iparm, doublereal *rparm,
00156                    integer *ierr);
00157 
00174 extern int rscg_(integer *nn, integer *ia, integer *ja, doublereal *a, doublereal *rhs, doublereal *u, integer *iwksp,
00175                  integer *nw, doublereal *wksp, integer *iparm, doublereal *rparm,
00176                  integer *ierr);
00177 
00194 extern int rssi_(integer *nn, integer *ia, integer *ja, doublereal *a, doublereal *rhs, doublereal *u, integer *iwksp,
00195                  integer *nw, doublereal *wksp, integer *iparm, doublereal *rparm,
00196                  integer *ierr);
00197 
00211 extern int itjcg_(integer *nn, integer *ia, integer *ja, doublereal *a, doublereal *u, doublereal *u1, doublereal *d__,
00212                   doublereal *d1, doublereal *dtwd,
00213                   doublereal *tri);
00214 
00227 extern int itjsi_(integer *nn, integer *ia, integer *ja, doublereal *a, doublereal *rhs, doublereal *u, doublereal *u1,
00228                   doublereal *d__,
00229                   integer *icnt);
00230 
00241 extern int itsor_(integer *nn, integer *ia, integer *ja, doublereal *a, doublereal *rhs, doublereal *u, doublereal *wk);
00242 
00259 extern int itsrcg_(integer *nn, integer *ia, integer *ja, doublereal *a, doublereal *rhs, doublereal *u, doublereal *u1,
00260                    doublereal *c__, doublereal *c1, doublereal *d__, doublereal *dl, doublereal *wk,
00261                    doublereal *tri);
00262 
00277 extern int itsrsi_(integer *nn, integer *ia, integer *ja, doublereal *a, doublereal *rhs, doublereal *u, doublereal *u1,
00278                    doublereal *c__, doublereal *d__, doublereal *ctwd,
00279                    doublereal *wk);
00280 
00295 extern int itrscg_(integer *n, integer *nnb, integer *ia, integer *ja, doublereal *a, doublereal *ub, doublereal *ub1,
00296                    doublereal *db, doublereal *db1, doublereal *wb,
00297                    doublereal *tri);
00298 
00311 extern int itrssi_(integer *n, integer *nnb, integer *ia, integer *ja, doublereal *a, doublereal *rhs, doublereal *ub,
00312                    doublereal *ub1,
00313                    doublereal *db);
00314 
00323 extern integer bisrch_(integer *n, integer *k, integer *l);
00324 
00334 extern doublereal cheby_(doublereal *qa, doublereal *qt, doublereal *rrr, integer *ip, doublereal *cme, doublereal *sme);
00335 
00346 extern int chgcon_(doublereal *tri, doublereal *gamold, doublereal *rhoold, integer *ibmth);
00347 
00356 extern int chgsi_(doublereal *dtnrm, integer *ibmth);
00357 
00364 extern logical chgsme_(doublereal *oldnrm, integer *icnt);
00365 
00375 extern int daxpy_(integer *n, doublereal *da, doublereal *dx, integer *incx, doublereal *dy, integer *incy);
00376 
00385 extern int dcopy_(integer *n, doublereal *dx, integer *incx, doublereal *dy, integer *incy);
00386 
00395 extern doublereal ddot_(integer *n, doublereal *dx, integer *incx, doublereal *dy, integer *incy);
00396 
00404 extern doublereal determ_(integer *n, doublereal *tri, doublereal *xlmda);
00405 
00411 extern int dfault_(integer *iparm, doublereal *rparm);
00412 
00427 extern int echall_(integer *nn, integer *ia, integer *ja, doublereal *a, doublereal *rhs, integer *iparm,
00428                    doublereal *rparm,
00429                    integer *icall);
00430 
00444 extern int echout_(integer *iparm, doublereal *rparm, integer *imthd);
00445 
00455 extern doublereal eigvns_(integer *n, doublereal *tri, doublereal *d__, doublereal *e2, integer *ier);
00456 
00467 extern doublereal eigvss_(integer *n, doublereal *tri, doublereal *start, doublereal *zeta, integer *itmax,
00468                           integer *ier);
00469 
00480 extern int eqrt1s_(doublereal *d__, doublereal *e2, integer *nn, integer *m, integer *isw, integer *ierr);
00481 
00487 extern integer ipstr_(doublereal *omega);
00488 
00505 extern int iterm_(integer *nn, doublereal *a, doublereal *u, doublereal *wk, integer *imthdd);
00506 
00513 extern int ivfill_(integer *n, integer *iv, integer *ival);
00514 
00515 /*
00516  * FIXME: add doc
00517  */
00518 extern int omeg_(doublereal *dnrm, integer *iflag);
00519 
00520 /*
00521  * FIXME: add doc
00522  */
00523 extern logical omgchg_(integer *ndummy);
00524 
00525 /*
00526  * FIXME: add doc
00527  */
00528 extern logical omgstr_(integer *ndummy);
00529 
00530 /*
00531  * FIXME: add doc
00532  */
00533 extern int parcon_(doublereal *dtnrm, doublereal *c1, doublereal *c2, doublereal *c3, doublereal *c4,
00534                    doublereal *gamold, doublereal *rhotmp,
00535                    integer *ibmth);
00536 
00537 /*
00538  * FIXME: add doc
00539  */
00540 extern int parsi_(doublereal *c1, doublereal *c2, doublereal *c3, integer *ibmth);
00541 
00542 /*
00543  * FIXME: add doc
00544  */
00545 extern doublereal pbeta_(integer *nn, integer *ia, integer *ja, doublereal *a, doublereal *v, doublereal *w1,
00546                          doublereal *w2);
00547 
00548 /*
00549  * FIXME: add doc
00550  */
00551 extern int pbsor_(integer *nn, integer *ia, integer *ja, doublereal *a, doublereal *u, doublereal *rhs);
00552 
00553 /*
00554  * FIXME: add doc
00555  */
00556 extern int permat_(integer *nn, integer *ia, integer *ja, doublereal *a, integer *p, integer *newia, integer *isym,
00557                    integer *level, integer *nout,
00558                    integer *ierr);
00559 
00560 /*
00561  * FIXME: add doc
00562  */
00563 extern int perror_(integer *nn, integer *ia, integer *ja, doublereal *a, doublereal *rhs, doublereal *u, doublereal *w,
00564                    doublereal *digtt1, doublereal *digtt2,
00565                    integer *idgtts);
00566 
00567 /*
00568  * FIXME: add doc
00569  */
00570 extern int pervec_(integer *n, doublereal *v, integer *p);
00571 
00572 /*
00573  * FIXME: add doc
00574  */
00575 extern int pfsor_(integer *nn, integer *ia, integer *ja, doublereal *a, doublereal *u, doublereal *rhs);
00576 
00577 /*
00578  * FIXME: add doc
00579  */
00580 extern int pfsor1_(integer *nn, integer *ia, integer *ja, doublereal *a, doublereal *u, doublereal *rhs);
00581 
00582 /*
00583  * FIXME: add doc
00584  */
00585 extern int pjac_(integer *nn, integer *ia, integer *ja, doublereal *a, doublereal *u, doublereal *rhs);
00586 
00587 /*
00588  * FIXME: add doc
00589  */
00590 extern int pmult_(integer *nn, integer *ia, integer *ja, doublereal *a, doublereal *u, doublereal *w);
00591 
00592 /*
00593  * FIXME: add doc
00594  */
00595 extern int prbndx_(integer *nn, integer *nblack, integer *ia, integer *ja, integer *p, integer *ip, integer *level,
00596                    integer *nout,
00597                    integer *ier);
00598 
00599 /*
00600  * FIXME: add doc
00601  */
00602 extern int prsblk_(integer *nnb, integer *nnr, integer *ia, integer *ja, doublereal *a, doublereal *ur, doublereal *vb);
00603 
00604 /*
00605  * FIXME: add doc
00606  */
00607 extern int prsred_(integer *nnb, integer *nnr, integer *ia, integer *ja, doublereal *a, doublereal *ub, doublereal *vr);
00608 
00609 /*
00610  * FIXME: add doc
00611  */
00612 extern int pssor1_(integer *nn, integer *ia, integer *ja, doublereal *a, doublereal *u, doublereal *rhs, doublereal *fr,
00613                    doublereal *br);
00614 
00615 /*
00616  * FIXME: add doc
00617  */
00618 extern int pstop_(integer *n, doublereal *u, doublereal *dnrm, doublereal *ccon, integer *iflag, logical *q1);
00619 
00620 /*
00621  * FIXME: add doc
00622  */
00623 extern doublereal pvtbv_(integer *n, integer *ia, integer *ja, doublereal *a, doublereal *v);
00624 
00625 /*
00626  * FIXME: add doc
00627  */
00628 extern int qsort_(integer *nn, integer *key, doublereal *data, integer *error);
00629 
00633 extern int sbagn_(integer *n, integer *nz, integer *ia, integer *ja, doublereal *a, integer *iwork, integer *levell,
00634                   integer *noutt,
00635                   integer *ierr);
00636 
00637 /*
00638  * FIXME: add doc
00639  */
00640 extern int sbelm_(integer *nn, integer *ia, integer *ja, doublereal *a, doublereal *rhs, integer *iw, doublereal *rw,
00641                   doublereal *tol, integer *isym, integer *level, integer *nout,
00642                   integer *ier);
00643 
00653 extern int sbend_(integer *nn, integer *nz, integer *ia, integer *ja, doublereal *a, integer *iwork);
00654 
00664 extern int sbini_(integer *nn, integer *nz, integer *ia, integer *ja, doublereal *a, integer *iwork);
00665 
00682 extern int sbsij_(integer *nn, integer *nz, integer *ia, integer *ja, doublereal *a, integer *iwork, integer *ii,
00683                   integer *jj, doublereal *vall, integer *mode, integer *levell, integer *noutt,
00684                   integer *ierr);
00685 
00686 /*
00687  * FIXME: add doc
00688  */
00689 extern int scal_(integer *nn, integer *ia, integer *ja, doublereal *a, doublereal *rhs, doublereal *u, doublereal *d__,
00690                  integer *level, integer *nout,
00691                  integer *ier);
00692 
00693 /*
00694  * FIXME: add doc
00695  */
00696 extern int sum3_(integer *n, doublereal *c1, doublereal *x1, doublereal *c2, doublereal *x2, doublereal *c3,
00697                  doublereal *x3);
00698 
00699 /*
00700  * FIXME: add doc
00701  */
00702 extern doublereal tau_(integer *ii);
00703 
00704 /*
00705  * FIXME: add doc
00706  */
00707 extern E_f timer_(v3p_netlib_real *timdmy);
00708 
00709 /*
00710  * FIXME: add doc
00711  */
00712 extern logical tstchg_(integer *ibmth);
00713 
00714 /*
00715  * FIXME: add doc
00716  */
00717 extern int unscal_(integer *n, integer *ia, integer *ja, doublereal *a, doublereal *rhs, doublereal *u, doublereal *d__);
00718 
00719 /*
00720  * FIXME: add doc
00721  */
00722 extern int vevmw_(integer *n, doublereal *v, doublereal *w);
00723 
00724 /*
00725  * FIXME: add doc
00726  */
00727 extern int vevpw_(integer *n, doublereal *v, doublereal *w);
00728 
00735 extern int vfill_(integer *n, doublereal *v, doublereal *val);
00736 
00737 /*
00738  * FIXME: add doc
00739  */
00740 extern int vout_(integer *n, doublereal *v, integer *iswt, integer *noutt);
00741 
00742 /*
00743  * FIXME: add doc
00744  */
00745 extern int wevmw_(integer *n, doublereal *v, doublereal *w);
00746 
00747 /*
00748  * FIXME: add doc
00749  */
00750 extern int zbrent_(integer *n, doublereal *tri, doublereal *eps, integer *nsig, doublereal *aa, doublereal *bb,
00751                    integer *maxfnn,
00752                    integer *ier);
00753 
00754 }
00755 
00756 #include "v3p_f2c_unmangle.h"
00757 
00758 #endif // #ifndef __itpack_h
00759