I would think of it as operating on the ravel of the array.  (Or, if
it can be given a value which specifies the size of the elements, I
would think of it as operating on the items of the array).

FYI,

-- 
Raul

On Wed, Jan 2, 2013 at 10:58 AM, Brian Schott <[email protected]> wrote:
> Raul,
>
> Yes, I think you are correct about # providing a workalike. Thanks, very much.
>
> I am hoping that the Apple C function "vDSP_vcmprs" can give me those
> results, but I am having trouble getting my head around the
> instructions for vDSP_vcmprs, which takes a vector input, not an
> array, for example.
>
> Thank you,
>
> On Wed, Jan 2, 2013 at 10:21 AM, Raul Miller <[email protected]> wrote:
>> That sounds very much like a description of # with a boolean left argument.
>>
>> If the left argument of sample becomes the sub-pixel index of interest
>>
>> sample=: 4 : 'wind x&{@,;._3"2 y'
>>
>> we can define a workalike using #
>>
>> samp=:4 :0
>>   'row col'=. (_2 {. #: 4+x)=/0 1
>>   'height width'=. $y
>>   (height$row)# (width$col)#"1 y
>> )
>>
>> In other words:
>>
>>    dat=: ?.8 8$2
>>    0 (samp -: sample) dat
>> 1
>>    1 (samp -: sample) dat
>> 1
>>    2 (samp -: sample) dat
>> 1
>>    3 (samp -: sample) dat
>> 1
>>
>> Note that we could also incorporate the arbitrary choice of the pixel
>> being picked into samp, but that would make testing a problem.  (We
>> could do it by making the random choice mechanism be a user defined
>> verb and then for testing purposes we could supply a specialized
>> definition of that verb, but I am not sure that that is warranted for
>> the current definition of sample.)
>>
>> FYI,
>>
>> --
>> Raul
>>
>> On Tue, Jan 1, 2013 at 12:47 PM, Brian Schott <[email protected]> wrote:
>>> I have been reading --  no scanning -- apple developer's docs (because
>>> ultimately my code is developed in apple's Xcode) on math|digital
>>> signal processing and I am seeing talk of existing procedures that do
>>> dot products, FFT, convolutions, and scaling in the same docs.
>>>
>>> In particular there is mention at the link below of a function
>>> vDSP_vcmprs which has the following desctiption.
>>>
>>> "Performs the following operation:
>>>
>>>
>>> "Compresses vector A based on the nonzero values of gating vector B.
>>> For nonzero elements of B, corresponding elements of A are
>>> sequentially copied to output vector C."
>>>
>>> http://developer.apple.com/library/ios/#documentation/Accelerate/Reference/vDSPRef/Reference/reference.html
>>>
>>> This looks very promising to me if I can figure out the inputs which
>>> include 2 input vectors and 1 output vector and 3 corresponding
>>> "strides". I assume  input vector A would be my raveled 52x52 image of
>>> 0s and 1s; input B would be some permutation of 1, 3#0 or of 1,15# 0.
>>> Would the stride of A be 52 and the stride of B be 4 or 16? Does C
>>> have a stride?
>>>
>>> Can anyone  help here?
>>>
>>>
> --
> (B=)
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to