Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
N
nifty_gridder
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
Operations
Operations
Incidents
Packages & Registries
Packages & Registries
Container Registry
Analytics
Analytics
Repository
Value Stream
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
ift
nifty_gridder
Commits
e3a83e97
Commit
e3a83e97
authored
Oct 30, 2019
by
Martin Reinecke
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
also fillIdx
parent
f78699ac
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
20 additions
and
3 deletions
+20
-3
gridder_cxx.h
gridder_cxx.h
+20
-3
No files found.
gridder_cxx.h
View file @
e3a83e97
...
...
@@ -1587,8 +1587,19 @@ void fillIdx(const Baselines &baselines,
size_t
nbu
=
(
gconf
.
Nu
()
+
1
+
side
-
1
)
>>
logsquare
,
nbv
=
(
gconf
.
Nv
()
+
1
+
side
-
1
)
>>
logsquare
;
vector
<
idx_t
>
acc
(
nbu
*
nbv
+
1
,
0
);
vector
<
idx_t
>
tmp
(
nrow
*
(
chend
-
chbegin
));
for
(
idx_t
irow
=
0
,
idx
=
0
;
irow
<
nrow
;
++
irow
)
vector
<
idx_t
>
tmp
(
nrow
*
(
chend
-
chbegin
),
~
idx_t
(
0
));
#pragma omp parallel
{
idx_t
nthr
=
my_num_threads
();
idx_t
id
=
my_thread_num
();
idx_t
nbase
=
nrow
/
nthr
;
idx_t
additional
=
nrow
%
nthr
;
idx_t
lo
=
id
*
nbase
+
((
id
<
additional
)
?
id
:
additional
);
idx_t
hi
=
lo
+
nbase
+
(
id
<
additional
);
vector
<
idx_t
>
lacc
(
nbu
*
nbv
+
1
,
0
);
for
(
idx_t
irow
=
lo
,
idx
=
lo
*
(
chend
-
chbegin
);
irow
<
hi
;
++
irow
)
for
(
int
ichan
=
chbegin
;
ichan
<
chend
;
++
ichan
)
if
(
!
flags
(
irow
,
ichan
))
{
...
...
@@ -1601,10 +1612,15 @@ void fillIdx(const Baselines &baselines,
gconf
.
getpix
(
uvw
.
u
,
uvw
.
v
,
u
,
v
,
iu0
,
iv0
);
iu0
=
(
iu0
+
nsafe
)
>>
logsquare
;
iv0
=
(
iv0
+
nsafe
)
>>
logsquare
;
++
acc
[
nbv
*
iu0
+
iv0
+
1
];
++
l
acc
[
nbv
*
iu0
+
iv0
+
1
];
tmp
[
idx
++
]
=
nbv
*
iu0
+
iv0
;
}
}
#pragma omp barrier
#pragma omp critical(xyz)
for
(
size_t
i
=
0
;
i
<
acc
.
size
();
++
i
)
acc
[
i
]
+=
lacc
[
i
];
}
for
(
size_t
i
=
1
;
i
<
acc
.
size
();
++
i
)
acc
[
i
]
+=
acc
[
i
-
1
];
...
...
@@ -1613,6 +1629,7 @@ void fillIdx(const Baselines &baselines,
for
(
int
ichan
=
chbegin
;
ichan
<
chend
;
++
ichan
)
if
(
!
flags
(
irow
,
ichan
))
{
while
(
tmp
[
idx
]
==
idx_t
(
~
0
))
++
idx
;
auto
w
=
abs
(
baselines
.
effectiveCoord
(
RowChan
{
irow
,
idx_t
(
ichan
)}).
w
);
if
((
w
>=
wmin
)
&&
(
w
<
wmax
))
res
[
acc
[
tmp
[
idx
++
]]
++
]
=
baselines
.
getIdx
(
irow
,
ichan
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment