Configuration Records
Config Flag Lookup
Table Driven Settings
A small configuration table can store feature keys and on/off flags.
Program
Play the program to query a feature key and read the configured flag.
config_flag_lookup.f90
program config_flag_lookup_demo
implicit none
integer :: keys(3)
integer :: enabled(3)
integer :: target_key
integer :: i
integer :: flag
keys = [1, 2, 3]
enabled = [1, 0, 1]
target_key =
flag = 0
do i = 1, 3
if (keys(i) == target_key) flag = enabled(i)
end do
print '(I0, 1X, I0)', target_key, flag
end program config_flag_lookup_demo
program config_flag_lookup_demo
implicit none
integer :: keys(3)
integer :: enabled(3)
integer :: target_key
integer :: i
integer :: flag
keys = [1, 2, 3]
enabled = [1, 0, 1]
target_key =
flag = 0
do i = 1, 3
if (keys(i) == target_key) flag = enabled(i)
end do
print '(I0, 1X, I0)', target_key, flag
end program config_flag_lookup_demo
program config_flag_lookup_demo
implicit none
integer :: keys(3)
integer :: enabled(3)
integer :: target_key
integer :: i
integer :: flag
keys = [1, 2, 3]
enabled = [1, 0, 1]
target_key =
flag = 0
do i = 1, 3
if (keys(i) == target_key) flag = enabled(i)
end do
print '(I0, 1X, I0)', target_key, flag
end program config_flag_lookup_demo
feature key
`target_key` chooses which setting row to read.
flag table
`enabled` stores compact integer flags for the feature rows.
missing default
`flag` starts at zero, so unknown keys stay disabled.