From 1b6f0e17752445668237167e88229adbb14cb64d Mon Sep 17 00:00:00 2001 From: Jed Barber Date: Sun, 8 Jan 2017 19:13:43 +1100 Subject: New preference data array structure in Ada, currently won't link --- src/preference_arrays.ads | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 src/preference_arrays.ads (limited to 'src/preference_arrays.ads') diff --git a/src/preference_arrays.ads b/src/preference_arrays.ads new file mode 100644 index 0000000..c8245e0 --- /dev/null +++ b/src/preference_arrays.ads @@ -0,0 +1,38 @@ + + +with Interfaces.C; +with System; + + +package Preference_Arrays is + + + function Create_Preference_Array + (Number_Of_Ballots, Size_Of_Ballot : in Interfaces.C.int) + return System.Address; + pragma Export (C, Create_Preference_Array, "create_pref_array"); + + + procedure Free_Preference_Array + (Number_Of_Ballots, Size_Of_Ballot : in Interfaces.C.int; + Pref_Array_Address : in System.Address); + pragma Export (C, Free_Preference_Array, "free_pref_array"); + + + procedure Poke_Preference_Array + (Number_Of_Ballots, Size_Of_Ballot : in Interfaces.C.int; + Pref_Array_Address : in System.Address; + Ballot_Index, Box_Number, Rank : in Interfaces.C.int); + pragma Export (C, Poke_Preference_Array, "poke_pref_array"); + + + function Peek_Preference_Array + (Number_Of_Ballots, Size_Of_Ballot : in Interfaces.C.int; + Pref_Array_Address : in System.Address; + Ballot_Index, Box_Number, Rank : in Interfaces.C.int) + return Interfaces.C.int; + pragma Export (C, Peek_Preference_Array, "peek_pref_array"); + + +end Preference_Arrays; + -- cgit