On 1/14/21 3:42 PM, Paul Procacci wrote:
Let me preface this by saying if I were using a lower level language
(like C) I wouldn't have this problem; as I know how to shift and mask
accordingly.
On raku however, how to do so *eloquantly* eludes me.
I've defined a CStruct as follows:
class test is repr('CStruct') {
has int64 $.a1;
has int64 $.a2;
...
has int64 $.a65;
}
Under normal circumstances I would have defined the member as:
`HAS int16 @.a[260] is CArray` however that seems to be broken. See:
https://github.com/rakudo/rakudo/issues/3633
<https://github.com/rakudo/rakudo/issues/3633>
The function that gets called with these members $.a1 .. $.a65 should
get filled with a wchar_t character array.
Does raku employ a simple method of decoding the 4 wchar_t's that get
placed into a int64 structure? The characters I'd like to extract are
at bit positions [15:0], [31.16], [47:32], [63:48]
I'm imagining something along the lines of:
buf16.new( $.a1, ... $.a64);
... but that doesn't quite work like I would expect.
Thanks,
~Paul
Hi Paul,
Would you post the system call you are trying to
interface with?
-T