Hi,
Frank Lenkszus wrote:
>
> The 3.13 Record Reference manual pages for the SubArray record state that
> the field MALM is the "Maximum Number of Elements in the Sub-array". This is
> not true. If I wish to extract one element and only one element from a
> waveform record, and therefore the "Maximum Number of Elements in the Sub-array"
> is "1" the record support forces the INDX field to "0";i.e, I can never
> access any element greater than "0" From the record support code for the
> Sub-Array record:
>
> if (psa->indx >= psa->malm)
> {
> psa->indx = psa->malm - 1;
> }
>
> The consequences of this is if one is required to blow out each and every
> element of an array into a separate process variable (Don't ask why - it's
> imposed on me by other considerations) MALM must be set to the input array size,
> not the "Maximum Sub-Array Size" which in this case is "1". Since the record
> support allocates memory based on MALM, breaking up an N element array into N
> process variables means NxN memory locations will be allocated, even though only
> N elements will be used! Not a problem for small arrays but when larger arrays
> are involved the memory consumption seems excessive.
>
> If this has been covered before, please excuse the noise.
We have developed a compact Subarray record to solve this problem. This
record requires a minor modification to the DB access library, though.
>
> Frank
>
Noboru Yamamoto
KEKB control group
KEK, JAPAN
- References:
- SubArray Record Frank Lenkszus
- Navigate by Date:
- Prev:
SubArray Record Frank Lenkszus
- Next:
more subArray Record Geoff Savage
- 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
- Navigate by Thread:
- Prev:
SubArray Record Frank Lenkszus
- Next:
more subArray Record Geoff Savage
- 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
|