Files
mercury/tests/valid_make_int/test_repn.m
2023-09-18 21:13:14 +10:00

161 lines
4.0 KiB
Mathematica

%---------------------------------------------------------------------------%
% vim: ft=mercury ts=4 sw=4 et
%---------------------------------------------------------------------------%
:- module test_repn.
:- interface.
:- import_module test_repn_helper_1.
:- import_module char.
:- type only_functor_local1
---> ofl1_f1(
animal, d, int8, animal, uint32, animal
).
:- type only_functor_local2
---> ofl2_f1(
nt(d), animal, int8, uint16
).
:- type only_functor_remote1
---> ofr1_f1( % on 64 bit machines
animal, animal, d, % word 0
int, % word 1
string, % word 2
animal, int8, animal, uint32, animal % word 3
).
:- type only_functor_remote2
---> ofr2_f1( % on 64 bit machines
d, nt(animal), d, animal, d, % word 0
int, % word 1
string, % word 2
animal, int8, animal, uint32, animal % word 3
).
:- type more_functors_local1
---> mfl1_f1(
animal, int8, animal, uint32, animal
)
; mfl1_f2(
animal, animal
).
:- type more_functors_local2
---> mfl2_f1
; mfl2_f2
; mfl2_f3
; mfl2_f4(
animal, int8, animal, uint32, animal
)
; mfl2_f5(
animal, animal
).
:- type more_functors_remote1
---> mfr1_f1
; mfr1_f2
; mfr1_f3
; mfr1_f4(
int, int
)
; mfr1_f5(
int, float
).
:- type more_functors_local_remote1
---> mflr1_f1
; mflr1_f2
; mflr1_f3
; mflr1_f4(
char, animal
)
; mflr1_f5(
int, int
).
:- type more_functors_local_remote2
---> mflr2_f1
; mflr2_f2
; mflr2_f3
; mflr2_f4(
char, animal
)
; mflr2_f5(
float, int, float
).
:- type more_functors_local_remote3
---> mflr3_f1
; mflr3_f2
; mflr3_f3(
char, animal
)
; some [A, B] mflr3_f4(
int8, animal, d, A, B, float, int, float
)
; mflr3_f5(
int, int
)
; mflr3_f6(
int, int
)
; mflr3_f7(
int, int
)
; mflr3_f8(
int, int
)
; mflr3_f9(
int, int
)
; mflr3_f10(
int, int
)
; some [C, D, E] mflr3_f11(
nt(d), animal, char, C, D, E, int, int
)
; mflr3_f12(
eqv(nt(eqv(d))), animal, char, int, int
)
; mflr3_f13(
animal, nt(d), char, int, int
)
; mflr3_f13(
animal, char, nt(nt(d)), int, int
).
:- type more_functors_local_remote_da1
---> mflrd1_f1
; mflrd1_f2
; mflrd1_f3
; mflrd1_f5(
wa
)
; mflrd1_f6(
wa
)
; mflrd1_f7(
wa
)
; mflrd1_f8(
wa
)
; mflrd1_f9(
wa
)
; mflrd1_f10(
wa
)
; mflrd1_f11(
int, int
).
:- type abs.
:- pragma foreign_type("C", abs, "void *",
[can_pass_as_mercury_type, word_aligned_pointer]).
:- pragma foreign_type("C#", abs, "object",
[can_pass_as_mercury_type]).