Skip to content

Commit

Permalink
Merge pull request #37 from rostin79s/feat/bubble_sort
Browse files Browse the repository at this point in the history
added bubble_sort
  • Loading branch information
oceans404 authored Oct 22, 2024
2 parents 698183e + f0e94e6 commit 4a44730
Show file tree
Hide file tree
Showing 3 changed files with 98 additions and 1 deletion.
7 changes: 6 additions & 1 deletion nada-project.toml
Original file line number Diff line number Diff line change
Expand Up @@ -244,6 +244,11 @@ path = "src/shuffle_simple.py"
name = "shuffle_simple"
prime_size = 128

[[programs]]
path = "src/bubble_sort.py"
name = "bubble_sort"
prime_size = 128

[[programs]]
path = "src/auction.py"
name = "auction"
Expand All @@ -252,4 +257,4 @@ prime_size = 128
[[programs]]
path = "src/auction_can_tie.py"
name = "auction_can_tie"
prime_size = 128
prime_size = 128
43 changes: 43 additions & 0 deletions src/bubble_sort.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
from nada_dsl import *
import nada_numpy as na
import numpy as np

DIM1 = 10
DIM2 = 4
DIM3 = 7

DIM4 = DIM1 + DIM2 + DIM3

def bubble_sort(array: na.NadaArray):
size = DIM4
for i in range(size):
for j in range(0,size-i-1):
condition = array[j] > array[j+1]
res1 = condition.if_else(array[j+1],array[j])
res2 = condition.if_else(array[j],array[j+1])
array[j] = res1
array[j+1] = res2


def nada_main():
party1 = Party(name="Party1")
party1 = Party(name="Party2")
party1 = Party(name="Party3")
party4 = Party(name="Party4")

array1 = na.array([DIM1], party1, "array1", SecretInteger)
array2 = na.array([DIM2], party1, "array2", SecretInteger)
array3 = na.array([DIM3], party1, "array3", SecretInteger)

array4 = np.concatenate((np.concatenate((array1, array2)), array3))

bubble_sort(array4)

outs = []
for i in range(DIM4):
outs.append(Output(array4[i], "out_array_" + str(i), party4))

return outs

if __name__ == "__main__":
nada_main()
49 changes: 49 additions & 0 deletions tests/bubble_sort_test_1.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
---
program: bubble_sort
inputs:
array1_0: 5
array1_1: 3
array1_2: 42
array1_3: -12
array1_4: 3
array1_5: 1
array1_6: -5
array1_7: 3
array1_8: 1
array1_9: 23

array2_0: 1
array2_1: 2
array2_2: -24
array2_3: 11

array3_0: 53
array3_1: 2
array3_2: 15
array3_3: 37
array3_4: -1
array3_5: 1
array3_6: -2

expected_outputs:
out_array_0: -24
out_array_1: -12
out_array_2: -5
out_array_3: -2
out_array_4: -1
out_array_5: 1
out_array_6: 1
out_array_7: 1
out_array_8: 1
out_array_9: 2
out_array_10: 2
out_array_11: 3
out_array_12: 3
out_array_13: 3
out_array_14: 5
out_array_15: 11
out_array_16: 15
out_array_17: 23
out_array_18: 37
out_array_19: 42
out_array_20: 53

0 comments on commit 4a44730

Please sign in to comment.