Annotation of OpenXM_contrib/PHC/Ada/Root_Counts/Stalift/floating_lifting_utilities.ads, Revision 1.1
1.1 ! maekawa 1: with Standard_Floating_Numbers; use Standard_Floating_Numbers;
! 2: with Standard_Integer_Vectors;
! 3: with Standard_Floating_Vectors; use Standard_Floating_Vectors;
! 4: with Lists_of_Floating_Vectors; use Lists_of_Floating_Vectors;
! 5: with Floating_Mixed_Subdivisions; use Floating_Mixed_Subdivisions;
! 6: with Arrays_of_Floating_Vector_Lists; use Arrays_of_Floating_Vector_Lists;
! 7:
! 8: package Floating_Lifting_Utilities is
! 9:
! 10: -- DESCRIPTION :
! 11: -- This package provides some utilities for dealing with lifting functions.
! 12:
! 13: function Adaptive_Lifting ( l : Array_of_Lists ) return Vector;
! 14:
! 15: -- DESCRIPTION :
! 16: -- Returns upper bounds for a random lifting, depending on the lengths
! 17: -- of the lists in l.
! 18:
! 19: procedure Search_Lifting ( l : in List; pt : in Vector;
! 20: found : out boolean; lif : out double_float );
! 21:
! 22: -- DESCRIPTION :
! 23: -- Searches the lifting of the point in the lifted list l.
! 24: -- If found, then lif equals the lifting, otherwise lif is meaningless.
! 25:
! 26: function Search_and_Lift ( l : List; pt : Vector ) return Vector;
! 27:
! 28: -- DESCRIPTION :
! 29: -- Given a lifted list of points and a unlifted vector, the function
! 30: -- either returns the corresponding lifted vector from the list, or
! 31: -- the same point, when there is no lifted point in l whose projection
! 32: -- equals the given point pt.
! 33:
! 34: function Occured_Lifting ( mixsub : Mixed_Subdivision; k : natural;
! 35: pt : Vector ) return Vector;
! 36:
! 37: -- DESCRIPTION :
! 38: -- Returns the point pt augmented with its lifting value when it
! 39: -- occurs in the kth component of some cell in the subdivision.
! 40: -- Otherwise the point itself is returned.
! 41:
! 42: function Occured_Lifting
! 43: ( n : natural; mix : Standard_Integer_Vectors.Vector;
! 44: points : Array_of_Lists; mixsub : Mixed_Subdivision )
! 45: return Array_of_Lists;
! 46:
! 47: -- DESCRIPTION :
! 48: -- Returns the lifted points for those points that belong to the
! 49: -- mixed cells in the subdivision.
! 50:
! 51: function Induced_Lifting ( mixsub : Mixed_Subdivision; k : natural;
! 52: pt : Vector ) return Vector;
! 53: function Induced_Lifting
! 54: ( n : natural; mix : Standard_Integer_Vectors.Vector;
! 55: points : Array_of_Lists; mixsub : Mixed_Subdivision )
! 56: return Array_of_Lists;
! 57:
! 58: -- DESCRIPTION :
! 59: -- Given a mixed subdivision for a tuple of supports,
! 60: -- then the lifted points will be returned as induced by the
! 61: -- subdivision. When points do not occur in the mixed subdivision,
! 62: -- they will be lifted conservatively.
! 63:
! 64: function Conservative_Lifting
! 65: ( mic : Mixed_Cell; k : natural; point : Vector )
! 66: return double_float;
! 67: function Conservative_Lifting
! 68: ( mixsub : Mixed_Subdivision; k : natural; point : Vector )
! 69: return double_float;
! 70:
! 71: -- DESCRIPTION :
! 72: -- Returns the value of the conservative lifting function of the point
! 73: -- to be considered w.r.t. the kth polytope.
! 74:
! 75: -- REQUIRED :
! 76: -- The given point must already be in the lifted space and its last
! 77: -- coordinate must contain already a lower bound for the lifting value.
! 78:
! 79: end Floating_Lifting_Utilities;
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>