/**
* Modern Albufeira Prolog Interpreter
*
* Warranty & Liability
* To the extent permitted by applicable law and unless explicitly
* otherwise agreed upon, XLOG Technologies AG makes no warranties
* regarding the provided information. XLOG Technologies AG assumes
* no liability that any problems might be solved with the information
* provided by XLOG Technologies AG.
*
* Rights & License
* All industrial property rights regarding the information - copyright
* and patent rights in particular - are the sole property of XLOG
* Technologies AG. If the company was not the originator of some
* excerpts, XLOG Technologies AG 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 AG.
*/
% host(-Atom)
host('yoga/').
/*********************************************************/
/* Report Interfaces */
/*********************************************************/
% measure_time(+Atom, +Integer)
:- multifile measure_time/2.
measure_time(j, T) :- statistics(time, T).
measure_time(js, T) :- statistics(time, T).
measure_time(py, T) :- statistics(time, T).
measure_time(j9, T) :- statistics(time, T).
measure_time(gnu, T) :- real_time(T).
% legend_compute(-Atom)
:- multifile legend_compute/1.
legend_compute(Mach) :-
current_prolog_flag(mach_info, Mach).
% legend_compute(+Atom, -Atom)
:- multifile legend_compute/2.
legend_compute(X, T3) :- (X = js; X = py; X = j),
version_str(T),
current_prolog_flag(host_info, Host),
format_atom('Dogelog Player ~w, ~w', [T,Host], T3).
legend_compute(j9, T3) :-
version_str(T),
current_prolog_flag(host_info, Host),
format_atom('Jekejeke Prolog ~w, ~w', [T,Host], T3).
legend_compute(gnu, T2) :-
version_str(T),
format_atom('GNU Prolog ~w', [T], T2).
legend_compute(cnt, 'Number of Test Cases').
% version_str(-Atom)
version_str(T) :-
current_prolog_flag(version_data, Version),
Version =.. [_, Major, Minor, Patch|_],
format_atom('~d.~d.~d', [Major, Minor, Patch], T).
/*********************************************************/
/* Other Interfaces */
/*********************************************************/
% root(-Atom, -Atom, -Atom)
root('ryzen/', '../../dump/ryzen/', 'Ryzen').
root('yoga/', '../../dump/yoga/', 'Yoga').
% temp(-Atom, -Atom)
temp(gnu, 'dumpgnu.p').
temp(j, 'dumpj.p').
% temp(j9, 'dumpj9.p').
temp(js, 'dump.p').
temp(py, 'dumppy.p').
% env(-Atom, -Atom)
:- discontiguous(env/2).
env(report(de), '../../docs/').
env(report('$ensure_directory'), '../../en/').
env(report(en), '../../en/docs/').
env(source(de), '../../../../../../srctab/docs/15_tests/.html').
env(source(en), '../../../../../../../srctab/en/docs/15_tests/.html').