32 lines
678 B
Smalltalk
32 lines
678 B
Smalltalk
|
Object subclass: A3A8 [
|
||
|
A3A8 class >> initialize [
|
||
|
DLD addLibrary: 'liba3a8.so'
|
||
|
]
|
||
|
|
||
|
A3A8 class >> COMP128_v3: aKI rand: aRand [
|
||
|
| str |
|
||
|
|
||
|
aKI size = 16 ifFalse: [
|
||
|
^ self error: 'KI needs to be 16 bytes'
|
||
|
].
|
||
|
|
||
|
aRand size = 16 ifFalse: [
|
||
|
^ self error: 'RAND needs to be 16 bytes'
|
||
|
].
|
||
|
|
||
|
|
||
|
str := ByteArray new: 16.
|
||
|
self int_COMP128_v3: aKI rand: aRand res: (CObject new storage: str).
|
||
|
|
||
|
^ str
|
||
|
]
|
||
|
|
||
|
A3A8 class >> int_COMP128_v3: aKI rand: aRand res: aRes [
|
||
|
<cCall: 'COMP128_3' returning: #void args: #(#string #string #cObject)>
|
||
|
]
|
||
|
]
|
||
|
|
||
|
Eval [
|
||
|
A3A8 initialize.
|
||
|
]
|