That's great. I'm glad you can make use of it.

On Friday, December 4, 2020 at 7:27:11 PM UTC-8 TW Tones wrote:

> Mark,
>
> I thought you would do this so well, and yes the power operator, I was 
> about to ask for it.
>
> Attached I have turned it into a macro that has different ways to pass the 
> values and examples, needs pre-release 5.1.23.
>
> I hope I am not too heavy "standing on your shoulders"?
>
> Tones
>
> On Saturday, 5 December 2020 at 12:37:24 UTC+11 Mark S. wrote:
>
>> I was about to explain that the reduce operator wouldn't help because we 
>> don't have a power operator when I thought to check ... and we do!
>>
>> So, great idea! And now we can forget recursive! 
>>
>> <$vars myhex="FFFF">
>> <$vars 
>> myfilter="[[16]power<index>]=[<currentTiddler>search-replace:g[A],[10]search-replace:g[B],[11]search-replace:g[C],[12]search-replace:g[D],[13]search-replace:g[E],[14]search-replace:g[F],[15]]+[product[]add<accumulator>]"
>>  
>> >
>> <$list filter="[<myhex>split[]reverse[]reduce<myfilter>]" />
>> </$vars>
>> </$vars>
>>
>>
>> On Friday, December 4, 2020 at 3:53:06 PM UTC-8 TW Tones wrote:
>>
>>> Mark et all,
>>>
>>> I think the new reduce operator may simplify this with each byte being 
>>> converted at a time, making use of the accumulator and index.
>>>
>>> Regards
>>> 'Tones
>>>
>>> On Thursday, 3 December 2020 at 17:46:07 UTC+11 TW Tones wrote:
>>>
>>>> Mark,
>>>>
>>>> I have followed your code through, More testing but it seems to all 
>>>> make sense to me now, It would be great if we could turn such code into a 
>>>> hierarchy chart that also recognised the list re-iterations. The 
>>>> information is all there so automation would be possible. In this case I 
>>>> can use the decimals in the range operator to satisfy the OT.
>>>>
>>>> Thank you
>>>>
>>>> Regards
>>>> Tones
>>>>
>>>> On Thursday, 3 December 2020 at 17:05:17 UTC+11 TW Tones wrote:
>>>>
>>>>> Testing,
>>>>>
>>>>> Nice work, It takes a bit to follow the code, but I am sure I will 
>>>>> learn something, thanks so much.
>>>>>
>>>>> You may see it in a Unicode database soon.
>>>>>
>>>>> Tones
>>>>>
>>>>>
>>>>> On Thursday, 3 December 2020 at 16:53:47 UTC+11 Mark S. wrote:
>>>>>
>>>>>> Here's a recursive version that that can be any length of hex. 
>>>>>> Lightly tested. Hopefully it's working OK.
>>>>>>
>>>>>> \define hex2dec2(byte,mult:1)
>>>>>> <$vars 
>>>>>> myfilter="[search-replace:g[A],[10]search-replace:g[B],[11]search-replace:g[C],[12]search-replace:g[D],[13]search-replace:g[E],[14]search-replace:g[F],[15]]">
>>>>>> <$list filter="
>>>>>> [<__byte__>subfilter<myfilter>] 
>>>>>> =[<__mult__>]
>>>>>> +[product[]]
>>>>>> "/>
>>>>>> </$vars>
>>>>>> \end
>>>>>> \define hex2dec-r(hex,mult)
>>>>>> <$list filter="[<__mult__>] =16 +[product[]]" variable="mult">
>>>>>> <$list filter="[<__hex__>split[]nth[1]]" variable="byte">
>>>>>> <$list filter="[<__hex__>split[]rest[]join[]]" variable="hex"
>>>>>> emptyMessage="<$macrocall $name=hex2dec2 byte=<<__hex__>> 
>>>>>> mult=<<__mult__>> />"
>>>>>> >
>>>>>> <$macrocall $name=hex2dec2 byte=<<byte>> mult=<<__mult__>> />
>>>>>> <$macrocall $name="hex2dec-r" hex=<<hex>> mult=<<mult>> />
>>>>>> </$list></$list></$list>
>>>>>> \end
>>>>>> \define hex2dec-setup(hex)
>>>>>> <$list filter="[<__hex__>split[]reverse[]join[]]" variable=rhex>
>>>>>> <$macrocall $name=hex2dec-r hex=<<rhex>> mult=1 />
>>>>>> </$list>
>>>>>> \end
>>>>>> \define hex2dec(hex)
>>>>>> <$wikify text="<<hex2dec-setup $hex$>>" name=dec>
>>>>>> <$list filter="[enlist<dec>sum[]]"/>
>>>>>> </$wikify>
>>>>>> \end
>>>>>>
>>>>>> <<hex2dec F111>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> On Wednesday, December 2, 2020 at 5:42:55 PM UTC-8 TW Tones wrote:
>>>>>>
>>>>>>> Mark,
>>>>>>>
>>>>>>> Good start. I was thinking how to get 16^0 16^1 16^2 and 16^3 and 
>>>>>>> you have hard coded it. If moving to a recursive process we may be able 
>>>>>>> to 
>>>>>>> handle variable length hex.
>>>>>>>
>>>>>>>>
>>>>>>>>>>>

-- 
You received this message because you are subscribed to the Google Groups 
"TiddlyWiki" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywiki/b7cca3a6-76bf-4162-a6c7-16700c517fcbn%40googlegroups.com.

Reply via email to