Admin User, erstellt 06. Apr. 2025
/**
* 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.
*/
runner_file(extend, bigint, 'ISO 9.1.7 bigint').
/* truncate(X) */
runner_pred(truncate, -2, extend, bigint, 'ISO 9.1.7.1').
runner_case(truncate, -2, extend, bigint, 'ISO 9.1.7.1, XLOG 1') :-
((1262<<32+762134875)<<32+2243952640)<<32+0 =:= truncate(1.0E32).
/* floor(X) */
runner_pred(floor, -2, extend, bigint, 'ISO 9.1.7.2').
runner_case(floor, -2, extend, bigint, 'ISO 9.1.7.2, XLOG 1') :-
- (((1262<<32+762134875)<<32+2243952640)<<32+0) =:= floor(-1.0E32).
/* ceiling(X) */
runner_pred(ceiling, -2, extend, bigint, 'ISO 9.1.7.3').
runner_case(ceiling, -2, extend, bigint, 'ISO 9.1.7.3, XLOG 1') :-
- (((1262<<32+762134875)<<32+2243952640)<<32+0) =:= ceiling(-1.0E32).
/* round(X) */
runner_pred(round, -2, extend, bigint, 'ISO 9.1.7.4').
runner_case(round, -2, extend, bigint, 'ISO 9.1.7.4, XLOG 1') :-
((1262<<32+762134875)<<32+2243952640)<<32+0 =:= round(1.0E32).
/* float(X) */
runner_pred(float, -2, extend, bigint, 'ISO 9.1.7').
runner_case(float, -2, extend, bigint, 'ISO 9.1.7, XLOG 1') :-
2.9054408959062354e29 =:= float(((3<<32+2865524768)<<32+3645797909)<<32+1012429639).
runner_case(float, -2, extend, bigint, 'ISO 9.1.7, XLOG 2') :-
-1.1903595013963357e+30 =:= float(- (((15<<32+105008432)<<32+2720645120)<<32+0)).
runner_case(float, -2, extend, bigint, 'ISO 9.1.7, XLOG 3') :-
5.9477930503892456e+29 =:= float(((7<<32+2178279661)<<32+2710249472)<<32+0).
/* X / Y */
runner_pred(/, -3, extend, bigint, 'ISO 9.1.7, Corrigendum 1').
runner_case(/, -3, extend, bigint, 'ISO 9.1.7, XLOG 1') :-
66743228.00000001 =:= - (3705566389<<32+3669761024)/ - (55<<32+2232248576).
runner_case(/, -3, extend, bigint, 'ISO 9.1.7, XLOG 2') :-
-1960182315087.9346 =:= - ((7<<32+2236474025)<<32+1241948456)/70775453.
runner_case(/, -3, extend, bigint, 'ISO 9.1.7, XLOG 3') :-
415925145.0 =:= ((12<<32+2171574946)<<32+3373069052)/(129<<32+586934364).