https://github.com/janverschelde/PHCpack
Tip revision: 1b7c69d37cd919359b5166b1c97d94c065360905 authored by Jan Verschelde on 17 November 2021, 01:50:30 UTC
loaded multipliers for the normalization of complex vectors in octo double precision into local variables
loaded multipliers for the normalization of complex vectors in octo double precision into local variables
Tip revision: 1b7c69d
witsols.h
/* The file witsols.h contains prototypes of functions
* for a numerical irreducible decomposition.
* By default, compilation with gcc is assumed.
* To compile with a C++ compiler such as g++, the flag compilewgpp must
* be defined as "g++ -Dcompilewgpp=1." */
#ifndef __WITSOLS_H__
#define __WITSOLS_H__
#ifdef compilewgpp
extern "C" void adainit( void );
extern "C" int _ada_use_c2phc4c ( int task, int *a, int *b, double *c, int v );
extern "C" void adafinal( void );
#else
extern void adainit( void );
extern int _ada_use_c2phc4c ( int task, int *a, int *b, double *c, int v );
extern void adafinal( void );
#endif
/* the solvers */
int standard_polysys_solve
( int nbtasks, int topdim, int filter, int factor, int verbose );
/*
* DESCRIPTION :
* Runs the cascades of homotopies on the polynomial system in
* the standard systems container. Runs in standard double precision.
*
* ON ENTRY :
* nbtasks equals the number of tasks for multitasking,
* topdim the top dimension to start the homotopy cascades,
* filter 0 or 1 flag to filter the witness supersets,
* factor 0 or 1 flag to factor the witness sets,
* verbose for intermediate output. */
int standard_laursys_solve
( int nbtasks, int topdim, int filter, int factor, int verbose );
/*
* DESCRIPTION :
* Runs the cascades of homotopies on the Laurent polynomial system in
* the standard systems container. Runs in standard double precision.
*
* ON ENTRY :
* nbtasks equals the number of tasks for multitasking,
* topdim the top dimension to start the homotopy cascades,
* filter 0 or 1 flag to filter the witness supersets,
* factor 0 or 1 flag to factor the witness sets,
* verbose for intermediate output. */
int dobldobl_polysys_solve
( int nbtasks, int topdim, int filter, int factor, int verbose );
/*
* DESCRIPTION :
* Runs the cascades of homotopies on the polynomial system in
* the dobldobl systems container. Runs in double double precision.
*
* ON ENTRY :
* nbtasks equals the number of tasks for multitasking,
* topdim the top dimension to start the homotopy cascades,
* filter 0 or 1 flag to filter the witness supersets,
* factor 0 or 1 flag to factor the witness sets,
* verbose for intermediate output. */
int dobldobl_laursys_solve
( int nbtasks, int topdim, int filter, int factor, int verbose );
/*
* DESCRIPTION :
* Runs the cascades of homotopies on the Laurent polynomial system in
* the dobldobl systems container. Runs in double double precision.
*
* ON ENTRY :
* nbtasks equals the number of tasks for multitasking,
* topdim the top dimension to start the homotopy cascades,
* filter 0 or 1 flag to filter the witness supersets,
* factor 0 or 1 flag to factor the witness sets,
* verbose for intermediate output. */
int quaddobl_polysys_solve
( int nbtasks, int topdim, int filter, int factor, int verbose );
/*
* DESCRIPTION :
* Runs the cascades of homotopies on the polynomial system in
* the quaddobl systems container. Runs in quad double precision.
*
* ON ENTRY :
* nbtasks equals the number of tasks for multitasking,
* topdim the top dimension to start the homotopy cascades,
* filter 0 or 1 flag to filter the witness supersets,
* factor 0 or 1 flag to factor the witness sets,
* verbose for intermediate output. */
int quaddobl_laursys_solve
( int nbtasks, int topdim, int filter, int factor, int verbose );
/*
* DESCRIPTION :
* Runs the cascades of homotopies on the Laurent polynomial system in
* the quaddobl systems container. Runs in quad double precision.
*
* ON ENTRY :
* nbtasks equals the number of tasks for multitasking,
* topdim the top dimension to start the homotopy cascades,
* filter 0 or 1 flag to filter the witness supersets,
* factor 0 or 1 flag to factor the witness sets,
* verbose for intermediate output. */
/* extracting solution data */
int copy_standard_polysys_witset ( int dim );
/*
* DESCRIPTION :
* Copies the witness set representation for a solution set
* of dimension dim into the systems and solutions container,
* in standard double precision.
*
* REQUIRED :
* 1) standard_polysys_solve was executed successfully, and
* 2) dim is in the range 0..topdim. */
int copy_standard_laursys_witset ( int dim );
/*
* DESCRIPTION :
* Copies the witness set representation for a solution set
* of dimension dim into the Laurent systems and solutions container,
* in standard double precision.
*
* REQUIRED :
* 1) standard_laursys_solve was executed successfully, and
* 2) dim is in the range 0..topdim. */
int copy_dobldobl_polysys_witset ( int dim );
/*
* DESCRIPTION :
* Copies the witness set representation for a solution set
* of dimension dim into the systems and solutions container,
* in double double precision.
*
* REQUIRED :
* 1) dobldobl_polysys_solve was executed successfully, and
* 2) dim is in the range 0..topdim. */
int copy_dobldobl_laursys_witset ( int dim );
/*
* DESCRIPTION :
* Copies the witness set representation for a solution set
* of dimension dim into the Laurent systems and solutions container,
* in double double precision.
*
* REQUIRED :
* 1) dobldobl_laursys_solve was executed successfully, and
* 2) dim is in the range 0..topdim. */
int copy_quaddobl_polysys_witset ( int dim );
/*
* DESCRIPTION :
* Copies the witness set representation for a solution set
* of dimension dim into the systems and solutions container,
* in quad double precision.
*
* REQUIRED :
* 1) quaddobl_polysys_solve was executed successfully, and
* 2) dim is in the range 0..topdim. */
int copy_quaddobl_laursys_witset ( int dim );
/*
* DESCRIPTION :
* Copies the witness set representation for a solution set
* of dimension dim into the Laurent systems and solutions container,
* in quad double precision.
*
* REQUIRED :
* 1) quaddobl_laursys_solve was executed successfully, and
* 2) dim is in the range 0..topdim. */
int clear_standard_witsols ( void );
/*
* DESCRIPTION :
* Clears the witness solutions in standard double precision. */
int clear_dobldobl_witsols ( void );
/*
* DESCRIPTION :
* Clears the witness solutions in double double precision. */
int clear_quaddobl_witsols ( void );
/*
* DESCRIPTION :
* Clears the witness solutions in quad double precision. */
#endif