diff options
author | Florian Dold <florian@dold.me> | 2022-11-01 15:31:48 +0100 |
---|---|---|
committer | Florian Dold <florian@dold.me> | 2022-11-01 15:31:48 +0100 |
commit | d63a773bf5f3b74040e094a94afb732be7218106 (patch) | |
tree | 62d90758a7561bd801be5ccee19415f4a10be4e5 /packages/taler-util/src/taler-crypto.ts | |
parent | a0305884eb58bd3cf7451eeb2774eadbb91ae138 (diff) | |
download | wallet-core-d63a773bf5f3b74040e094a94afb732be7218106.tar.xz |
wallet-core: report supportedAgeGroups
Diffstat (limited to 'packages/taler-util/src/taler-crypto.ts')
-rw-r--r-- | packages/taler-util/src/taler-crypto.ts | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/packages/taler-util/src/taler-crypto.ts b/packages/taler-util/src/taler-crypto.ts index d7e9a0c06..b4b96afbc 100644 --- a/packages/taler-util/src/taler-crypto.ts +++ b/packages/taler-util/src/taler-crypto.ts @@ -1025,6 +1025,23 @@ export namespace AgeRestriction { return count; } + /** + * Get the starting points for age groups in the mask. + */ + export function getAgeGroupsFromMask(mask: number): number[] { + const groups: number[] = []; + let age = 1; + let m = mask >> 1; + while (m > 0) { + if (m & 1) { + groups.push(age); + } + m = m >> 1; + age++; + } + return groups; + } + export function getAgeGroupIndex(mask: number, age: number): number { invariant((mask & 1) === 1); let i = 0; |