1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 <2021> 2022 2023 2024 | Index | 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 <2021> 2022 2023 2024 |
<== Date ==> | <== Thread ==> |
---|
Subject: | Re: Questions about arrays |
From: | "Hu, Yong via Tech-talk" <tech-talk at aps.anl.gov> |
To: | "Mooney, Tim M." <mooney at anl.gov>, EPICS tech-talk <tech-talk at aps.anl.gov>, "Wang, Andrew" <wang126 at llnl.gov> |
Date: | Thu, 1 Apr 2021 15:37:29 +0000 |
To me, this is an excellent solution provided that the external “calc” module is successfully built.
https://github.com/epics-modules/calc
I frequently use “acalcout” for array operation (without writing any codes). It is really a useful and powerful record type. Could it be nice to include acalcout / scalcout in future EPICS Base release so that we can use them right out
of box? It seems core developers are reluctant to include new record types to the Base: only a handful of new record types (int64in, int64out, lsi, lso) have been added to the Base in the past few decades. Cheers, Yong From: Tech-talk <tech-talk-bounces at aps.anl.gov> on behalf of "tech-talk at aps.anl.gov" <tech-talk at aps.anl.gov> Hi Andrew, It's clunky and inefficient, but problem (1) can be solved with an acalcout record. If AA=[0,1,2,3,4,5], and A=20, then the _expression_ "cat(cat(aa[0,2],a),aa[3,5])" yields AVAL=[0,1,2,20,4,5] Even more horrifying, problem (2) can also be solved with an acalcout record. If A==1, B==2, etc., up to H==8, then the _expression_ "aa:=a;k:=0;j:=until(aa:=cat(aa[0,k],@(k+1));k:=k+1;k==9);aa"
yields AVAL=[1,2,3,4,5,6,7,8,0,...]. I'm sure there are better solutions, but sometimes it's ok to do something clunky for the moment, so you can move on to the next part of the problem. Tim Mooney (mooney at anl.gov) (630)252-5417 From: Tech-talk <tech-talk-bounces at aps.anl.gov> on behalf of Wang, Andrew via Tech-talk <tech-talk at aps.anl.gov> All, I have two questions pertaining to the array records in EPICS 3.15.
Thank you! Andy |