Can you give me a complete example of the problem and what you want in
its place?

Thanks,

-- 
Raul

On Sat, Nov 12, 2011 at 6:37 AM, David Vaughan
<[email protected]> wrote:
> That works I think, but I had already found:
>
> f =: 13 : '({."1 split x) = {.|.split y' "0
> comp =: (f # [) "1 0
>
> Problem is though, I'm trying to use it on rows of x and atoms of y, hence 
> the "1 0.
> But if I run it on my data, I just get a length error if I use anything other 
> than a scalar as y. But if y is a 1d array, and comp works rank 0 on y, why 
> does it give a length error?
>
> On 12 Nov 2011, at 03:24, Raul Miller wrote:
>
>> Perhaps you want:
>>
>>   comp1=: [ #~ (1=i.2 2) -:"2  =/&(100&#.inv)
>>
>> --
>> Raul
>>
>> On Fri, Nov 11, 2011 at 8:19 PM, David Vaughan
>> <[email protected]> wrote:
>>> Actually they are not right.
>>>
>>>   1234 5678 3456 comp0 3456
>>> 1234
>>> is the desired result, and
>>>
>>>   1234 5678 3456 comp1 3456
>>> 5678
>>> is the desired result.
>>>
>>> Essentially I want to check if the second half of a split of x matches the 
>>> first half of split y and vice versa.
>>>
>>> e. and = seem inappropriate as e. would think that 3456 was desired and = 
>>> would not think that 1234 and 5678 would be desired when they are.
>>>
>>> I suppose a combination of |. and = could do it?
>>>
>>> On 12 Nov 2011, at 00:37, David Vaughan wrote:
>>>
>>>> Actually, G is not exactly what I want. The following two verbs are though:
>>>>
>>>> comp0 =: {: @ e. & split # [
>>>> comp1 =: {. @ e. & split # [
>>>>
>>>>   1234 5678 comp0 3456
>>>> 1234
>>>>   1234 5678 comp1 3456
>>>> 5678
>>>>
>>>> I want to distinguish between the two matching cases.
>>>>
>>>> On 11 Nov 2011, at 23:54, Raul Miller wrote:
>>>>
>>>>> split looks like either 0 100&#: or 100&#.inv
>>>>>
>>>>> g depends on f and you did not define f
>>>>>
>>>>> Anyways, you might want:
>>>>>  1234 5678 (+./"1@e.&(100&#.inv) # [) 3456
>>>>> 1234 5678
>>>>>
>>>>> Or:
>>>>>  G=: +./"1@e.&(100&#.inv) # [
>>>>>  1234 5678 G 3456
>>>>>
>>>>> FYI,
>>>>>
>>>>> --
>>>>> Raul
>>>>>
>>>>>
>>>>> On Fri, Nov 11, 2011 at 6:41 PM, David Vaughan
>>>>> <[email protected]> wrote:
>>>>>> I have a verb split:
>>>>>>
>>>>>>  split =: <.@%&100 , 100&|
>>>>>>  split 1234
>>>>>> 12 34
>>>>>>
>>>>>> I want to compare numbers to see if one of their 'split regions' (e.g. 
>>>>>> 12 or 34) matches a given number.
>>>>>> So far I have:
>>>>>>
>>>>>>  ]g =. 13 :'(f y) = (f"0 x)'
>>>>>> ([: f ]) = [: f"0 [
>>>>>>  1234 5678 g 3456
>>>>>> 0 1
>>>>>> 1 0
>>>>>>
>>>>>> I want to make that actually return the numbers that matched, i.e.
>>>>>>
>>>>>> 1234
>>>>>> 5678
>>>>>>
>>>>>> I can't seem to get a working solution for this.
>>>>>>
>>>>>> Any help appreciated, thanks.
>>>>>> ----------------------------------------------------------------------
>>>>>> For information about J forums see http://www.jsoftware.com/forums.htm
>>>>>>
>>>>> ----------------------------------------------------------------------
>>>>> For information about J forums see http://www.jsoftware.com/forums.htm
>>>>
>>>
>>> ----------------------------------------------------------------------
>>> For information about J forums see http://www.jsoftware.com/forums.htm
>>>
>> ----------------------------------------------------------------------
>> For information about J forums see http://www.jsoftware.com/forums.htm
>
> ----------------------------------------------------------------------
> 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