Module Aggreg
Jan Burse, created May 21. 2019
/**
* Prolog text aggreg from Chat80 as a module.
*
* Warranty & Liability
* To the extent permitted by applicable law and unless explicitly
* otherwise agreed upon, XLOG Technologies GmbH makes no warranties
* regarding the provided information. XLOG Technologies GmbH assumes
* no liability that any problems might be solved with the information
* provided by XLOG Technologies GmbH.
*
* Rights & License
* All industrial property rights regarding the information - copyright
* and patent rights in particular - are the sole property of XLOG
* Technologies GmbH. If the company was not the originator of some
* excerpts, XLOG Technologies GmbH has at least obtained the right to
* reproduce, change and translate the information.
*
* Reproduction is restricted to the whole unaltered document. Reproduction
* of the information is only allowed for non-commercial uses. Selling,
* giving away or letting of the execution of the library is prohibited.
* The library can be distributed as part of your applications and libraries
* for execution provided this comment remains unchanged.
*
* Restrictions
* Only to be distributed with programs that add significant and primary
* functionality to the library. Not to be distributed with additional
* software intended to replace any components of the library.
*
* Trademarks
* Jekejeke is a registered trademark of XLOG Technologies GmbH.
*/
/**
* Obtained rights comment in Prolog text and text from LICENSE file:
*
* @(#)aggreg.pl 24.1 2/23/88
*
* Copyright 1986, Fernando C.N. Pereira and David H.D. Warren,
*
* All Rights Reserved
*
* This program may be used, copied, altered or included in other programs
* only for academic purposes and provided that the authorship of the
* initial program is acknowledged. Use for commercial purposes without the
* previous written agreement of the authors is forbidden.
*/
:- if
(current_prolog_flag
(dialect
,jekejeke
)).
:- module(aggreg
, [aggregate
/3,one_of
/2,ratio
/4,card
/2]).
% :- mode aggregate(+,+,?),
% dimensioned(+),
% one_of(+,?),
% i_aggr(+,+,?),
% u_aggr(+,+,?),
% i_total(+,?),
% i_maxs(+,?),
% i_mins(+,?),
% i_maxs0(+,+,+,?,?),
% i_mins0(+,+,+,?,?),
% u_total(+,?),
% u_sum(+,+,?),
% u_maxs(+,?),
% u_mins(+,?),
% i_maxs0(+,+,+,?,?),
% i_mins0(+,+,+,?,?),
% u_lt(+,+).
ratio(thousand
, million
, 1, 1000).
ratio(million
, thousand
, 1000, 1).
ratio(ksqmiles
, sqmiles
, 1000, 1).
ratio(sqmiles
, ksqmiles
, 1, 1000).
Comments