Page MenuHomePhabricator

zoecarver (Zoe Carver)
User

Projects

User does not belong to any projects.

User Details

User Since
Jan 28 2019, 10:13 PM (12 w, 1 d)

Recent Activity

Yesterday

zoecarver updated the diff for D60027: Add shift functions (P0769).

Fix spacing / formatting.

Tue, Apr 23, 7:45 PM
zoecarver updated the diff for D60368: Add bind_front function (P0356R5).

Fix spacing / formatting.

Tue, Apr 23, 7:42 PM
zoecarver added a comment to D60027: Add shift functions (P0769).

Friendly ping. Anything else need to be done on this?

Tue, Apr 23, 7:29 PM
zoecarver added a reviewer for D60027: Add shift functions (P0769): EricWF.
Tue, Apr 23, 7:28 PM
zoecarver accepted D61014: Implement std::midpoint for floating point types.

LGTM :)

Tue, Apr 23, 7:16 PM
zoecarver added inline comments to D61014: Implement std::midpoint for floating point types.
Tue, Apr 23, 12:48 PM
zoecarver added inline comments to D61014: Implement std::midpoint for floating point types.
Tue, Apr 23, 11:25 AM
zoecarver added inline comments to D60368: Add bind_front function (P0356R5).
Tue, Apr 23, 10:56 AM
zoecarver updated the diff for D60368: Add bind_front function (P0356R5).

I updated this patch to use a more generalized perfect forwarding call struct. I modeled it after not_fn and got a lot of help from @EricWF. I also updated not_fn to use this more generalized struct.

Tue, Apr 23, 10:49 AM

Thu, Apr 18

zoecarver updated the diff for D60849: Use const predicate operators in algorithms .

Fix typo

Thu, Apr 18, 9:11 PM
zoecarver added a comment to D59886: Heterogeneous lookup for unordered containers (P0919R3).

Friendly ping. I am waiting on this patch to get done before I submit a patch for precalculated hashes (which is mostly done).

Thu, Apr 18, 4:32 PM

Wed, Apr 17

zoecarver updated the summary of D60849: Use const predicate operators in algorithms .
Wed, Apr 17, 8:25 PM
zoecarver created D60849: Use const predicate operators in algorithms .
Wed, Apr 17, 8:24 PM

Mon, Apr 15

zoecarver added a comment to D60371: Add lerp function to cmath (P0811R3).

@cpplearner that link is very helpful. In the first answer, there is a suggested function which might work well (though I haven't had time to test it yet). It is similar to the suggested implementation. There is one case which this function does not work for, but we could add a case for that. In pseudocode:

if (t < 0.5) a + (b - a) * t  
else b - (b - a) * (1 - t)

Additionally, the link has a lot of good exceptions which we could add to our tests. How does this compare to what you have @mclow.lists? I am going to add some tests to this patch in the meantime, mind sharing what you have so far?

Mon, Apr 15, 7:46 AM

Sun, Apr 14

zoecarver created D60666: Fix some constexpr members in array<T, 0>.
Sun, Apr 14, 6:26 AM

Fri, Apr 12

zoecarver added inline comments to D60491: Fix fpos requirements & cleanup .
Fri, Apr 12, 6:32 AM
zoecarver updated the diff for D60491: Fix fpos requirements & cleanup .

I got confused about what type o was in the paper. This patch should conform to the paper properly. I will update the tests in the correct places but wanted to get this part out for review first.

Fri, Apr 12, 6:32 AM

Thu, Apr 11

zoecarver added inline comments to D60393: Force is_invocable template parameters to be complete types.
Thu, Apr 11, 8:04 AM

Wed, Apr 10

zoecarver added inline comments to D60540: [libc++] Make sure we don't eagerly diagnose non-const comparators for containers of incomplete types.
Wed, Apr 10, 9:39 PM · Restricted Project, Restricted Project
zoecarver added inline comments to D60393: Force is_invocable template parameters to be complete types.
Wed, Apr 10, 9:01 PM
zoecarver added a comment to D60393: Force is_invocable template parameters to be complete types.

Thanks @ldionne. Let me know if you want me to help at all.

Wed, Apr 10, 2:30 PM
zoecarver added a comment to D60368: Add bind_front function (P0356R5).

After looking at not_fn, I think I can simplify this a lot.

Wed, Apr 10, 7:34 AM

Tue, Apr 9

zoecarver added a comment to D60393: Force is_invocable template parameters to be complete types.

Your right, PR41360 is only a wording issue. I also agree __flexible_invokable is bad, but I don't see another way to check invokability while allowing incomplete types (which I think is necessary for containers).

Tue, Apr 9, 10:10 PM
zoecarver added a comment to D60422: Remove default parameters (P0935R0).

Sounds good. I will work on tests for these on a plane ride I have Sunday.

Tue, Apr 9, 8:01 PM
zoecarver updated the diff for D60368: Add bind_front function (P0356R5).

Fix return in tests and update www.

Tue, Apr 9, 5:54 PM
zoecarver updated the diff for D60422: Remove default parameters (P0935R0).

Fix synopsis and update www.

Tue, Apr 9, 5:48 PM
zoecarver updated the diff for D60491: Fix fpos requirements & cleanup .

Update www

Tue, Apr 9, 5:37 PM
zoecarver created D60491: Fix fpos requirements & cleanup .
Tue, Apr 9, 5:35 PM
zoecarver added a comment to D60422: Remove default parameters (P0935R0).

Use it for functions that you don't want to be part of the ABI. In this case, every default constructor that simply forwards to another constructor should be marked with _LIBCPP_INLINE_VISIBILITY.

Tue, Apr 9, 6:53 AM
zoecarver added inline comments to D60422: Remove default parameters (P0935R0).
Tue, Apr 9, 6:50 AM
zoecarver updated the diff for D60422: Remove default parameters (P0935R0).

Small fixes after running tests

Tue, Apr 9, 6:37 AM

Mon, Apr 8

zoecarver updated the summary of D60422: Remove default parameters (P0935R0).
Mon, Apr 8, 2:59 PM
zoecarver updated the summary of D60422: Remove default parameters (P0935R0).
Mon, Apr 8, 2:55 PM
zoecarver created D60422: Remove default parameters (P0935R0).
Mon, Apr 8, 2:54 PM

Sun, Apr 7

zoecarver updated the diff for D60027: Add shift functions (P0769).

Fix empty for loop braces

Sun, Apr 7, 8:21 PM
zoecarver added inline comments to D60393: Force is_invocable template parameters to be complete types.
Sun, Apr 7, 8:13 PM
zoecarver created D60393: Force is_invocable template parameters to be complete types.
Sun, Apr 7, 8:08 PM
zoecarver added inline comments to D60027: Add shift functions (P0769).
Sun, Apr 7, 5:45 PM

Sat, Apr 6

zoecarver created D60371: Add lerp function to cmath (P0811R3).
Sat, Apr 6, 5:40 PM
zoecarver created D60368: Add bind_front function (P0356R5).
Sat, Apr 6, 1:51 PM

Fri, Apr 5

zoecarver added inline comments to D59344: Add contains method to map types.
Fri, Apr 5, 8:30 PM
zoecarver added a comment to D58987: Make underlying_type SFINAE-friendly.

Thanks @jloser. I always forget to do that :P

Fri, Apr 5, 7:25 PM
zoecarver updated the diff for D58987: Make underlying_type SFINAE-friendly.

Update status.

Fri, Apr 5, 7:25 PM
zoecarver added inline comments to D60350: General abs tests.
Fri, Apr 5, 7:21 PM
zoecarver created D60350: General abs tests.
Fri, Apr 5, 5:47 PM
zoecarver added a comment to D60246: [libc++] Simple contains for associative containers.

I was talking about P0920R2 (nothing really to do with contains). There is another patch I am waiting to be accepted before I put the finishing touches on it. I thought you mentioned it in the details, so I wanted to make sure we didn't make duplicated patches again :)

Fri, Apr 5, 5:13 PM · Restricted Project
zoecarver updated the diff for D60027: Add shift functions (P0769).

Make shift functions constexpr.

Fri, Apr 5, 11:31 AM
zoecarver added a comment to D60027: Add shift functions (P0769).

Thoughts on manually (using for loops) decrementing / incrementing iterators vs std::next/std::advance?

Fri, Apr 5, 11:17 AM
zoecarver added inline comments to D60027: Add shift functions (P0769).
Fri, Apr 5, 9:27 AM

Thu, Apr 4

zoecarver updated the diff for D59344: Add contains method to map types.

Only enable contains after C++17.

Thu, Apr 4, 7:55 PM
zoecarver updated the diff for D58332: Erase-Like Algorithms Should Return size_type (P0646R1).

Use size() member in std::list.

Thu, Apr 4, 2:06 PM
zoecarver added a comment to D58332: Erase-Like Algorithms Should Return size_type (P0646R1).

A meta-question:
Why does list<_Tp, _Alloc>::remove(const value_type& __x) gather all the deleted nodes into a separate list, while
list<_Tp, _Alloc>::remove_if(_Pred __pred) and list<_Tp, _Alloc>::unique() just delete them as they go?

they're all the same operation under the hood.
[ I know you didn't create this difference. ]

Thu, Apr 4, 9:25 AM
zoecarver added inline comments to D58332: Erase-Like Algorithms Should Return size_type (P0646R1).
Thu, Apr 4, 8:22 AM
zoecarver updated the diff for D58332: Erase-Like Algorithms Should Return size_type (P0646R1).

Improve performance by using simple counters.

Thu, Apr 4, 8:21 AM
zoecarver added a comment to D60246: [libc++] Simple contains for associative containers.

@jloser Sorry about the duplication of code here. As for custom hash support, I already have a partial implementation of that just FYI. If you already have written one though, just let me know and I will abandon mine.

Thu, Apr 4, 8:09 AM · Restricted Project
zoecarver added inline comments to D58332: Erase-Like Algorithms Should Return size_type (P0646R1).
Thu, Apr 4, 7:59 AM
zoecarver added inline comments to D59344: Add contains method to map types.
Thu, Apr 4, 7:59 AM

Tue, Apr 2

zoecarver added a comment to D58332: Erase-Like Algorithms Should Return size_type (P0646R1).

Ping :)

Tue, Apr 2, 10:10 PM
zoecarver updated the diff for D58097: std::invoke should use std::is_nothrow_callable (2807).

Sorry for the delay, forgot about this one.

Tue, Apr 2, 10:07 PM · Restricted Project

Mon, Apr 1

zoecarver added a comment to D60032: Add execution header.

I see, thanks (didn't find that file for some reason). Let me know if you want any help implementing it into libc++ :)

Mon, Apr 1, 11:21 AM
zoecarver added a comment to D60032: Add execution header.

@ldionne Okay, great. I assume you mean this PSTL? Is that ever merged into libc++? Also, it doesn't look like PSTL contains any of the execution policies (or is_execution_policy). Should I make a patch to that repository, or would you rather implement those yourself?

Mon, Apr 1, 11:07 AM

Sun, Mar 31

zoecarver updated the diff for D60027: Add shift functions (P0769).

Fix whitespace.

Sun, Mar 31, 8:38 PM
zoecarver updated the diff for D60027: Add shift functions (P0769).

Update:
I have re-implemented the shift algorithm. Now it uses a much more similar method to the example given in the paper.

Sun, Mar 31, 8:31 PM

Sat, Mar 30

zoecarver added inline comments to D59099: Integer and pointer types of 'midpoint' from P0811.
Sat, Mar 30, 12:15 PM
zoecarver created D60032: Add execution header.
Sat, Mar 30, 9:46 AM

Fri, Mar 29

zoecarver created D60027: Add shift functions (P0769).
Fri, Mar 29, 9:03 PM

Wed, Mar 27

zoecarver added a comment to D59727: [libc++] Fix return value of snprintf_l() on Windows when buffer is too small.

I see. Thanks for explaining!

Wed, Mar 27, 11:53 AM · Restricted Project
zoecarver added a comment to D59727: [libc++] Fix return value of snprintf_l() on Windows when buffer is too small.

I mean would it be possible to call setlocale directly so it wouldn't have to deal with __libcpp_locale_guard. Also, do you know if that is equally as fast as calling __stdio_common_vsprintf?

Wed, Mar 27, 11:38 AM · Restricted Project
zoecarver added a comment to D59727: [libc++] Fix return value of snprintf_l() on Windows when buffer is too small.

Thanks for explaining. Would it work to call setlocale() then add just use vsnprintf?

Wed, Mar 27, 11:22 AM · Restricted Project
zoecarver added a comment to D59727: [libc++] Fix return value of snprintf_l() on Windows when buffer is too small.

What does __stdio_common_vsprintf give you that vsnprintf doesn't?

Wed, Mar 27, 11:15 AM · Restricted Project
zoecarver added a comment to D59727: [libc++] Fix return value of snprintf_l() on Windows when buffer is too small.

Will D59572 fix __libcpp_locale_guard ?

Wed, Mar 27, 11:07 AM · Restricted Project
zoecarver added a comment to D59727: [libc++] Fix return value of snprintf_l() on Windows when buffer is too small.

@thomasanderson vsnprintf uses __stdio_common_vsprintf on MSVC. Is there a performance hit when only vsnprintf is used?

Wed, Mar 27, 10:09 AM · Restricted Project
zoecarver added inline comments to D59886: Heterogeneous lookup for unordered containers (P0919R3).
Wed, Mar 27, 9:23 AM
zoecarver created D59886: Heterogeneous lookup for unordered containers (P0919R3).
Wed, Mar 27, 9:20 AM

Mar 15 2019

zoecarver updated the diff for D59344: Add contains method to map types.

Fix license comment.

Mar 15 2019, 10:49 AM
zoecarver added inline comments to D59344: Add contains method to map types.
Mar 15 2019, 10:49 AM
zoecarver updated the diff for D59344: Add contains method to map types.

Fix:

  • add // C++20 to all synopsis comments
  • update test with license and header comments
  • update www/status
Mar 15 2019, 10:43 AM

Mar 14 2019

zoecarver updated the diff for D59344: Add contains method to map types.

Fixed:

  • main args
  • synopsis comment
  • // C++20
  • remove __hash (from other patch)
Mar 14 2019, 11:47 AM
zoecarver added inline comments to D59344: Add contains method to map types.
Mar 14 2019, 7:32 AM

Mar 13 2019

zoecarver added inline comments to D59344: Add contains method to map types.
Mar 13 2019, 8:38 PM
zoecarver created D59344: Add contains method to map types.
Mar 13 2019, 8:33 PM

Mar 12 2019

zoecarver added a comment to D58679: Update operator+ for basic_string (P1165R1).

@mclow.lists Yes, I need to update the tests. I also want to try to figure out why test_neg_one is failing. I will look into that today.

Mar 12 2019, 11:11 AM

Mar 7 2019

zoecarver updated the diff for D58987: Make underlying_type SFINAE-friendly.

Move comment to correct file.

Mar 7 2019, 9:04 AM
zoecarver updated the diff for D58987: Make underlying_type SFINAE-friendly.

Add UNSUPPORTED comment.

Mar 7 2019, 9:02 AM
zoecarver added inline comments to D58987: Make underlying_type SFINAE-friendly.
Mar 7 2019, 9:02 AM

Mar 6 2019

zoecarver updated the diff for D58987: Make underlying_type SFINAE-friendly.

Update tests (tentatively) & fix stylistic error.

Mar 6 2019, 8:49 PM
zoecarver added inline comments to D59063: Unbork `std::memory_order` ABI..
Mar 6 2019, 8:05 PM
zoecarver added inline comments to D58987: Make underlying_type SFINAE-friendly.
Mar 6 2019, 7:18 PM
zoecarver added inline comments to D58987: Make underlying_type SFINAE-friendly.
Mar 6 2019, 7:03 PM
zoecarver added a comment to D59029: [libc++] Do not specify the underlying type of memory_order.

Seems like both this patch and D59063 are trying to solve the same problems.

Mar 6 2019, 6:43 PM · Restricted Project
zoecarver added inline comments to D59063: Unbork `std::memory_order` ABI..
Mar 6 2019, 5:42 PM
zoecarver added a comment to D59063: Unbork `std::memory_order` ABI..

LGTM other than giving them real names as @mclow.lists suggested. Another option (not sure if it's better or worse) might be using a namespace for __legacy_memory_order so there wouldn't be duplicate enums. Something like this:

Mar 6 2019, 5:40 PM
zoecarver added inline comments to D58987: Make underlying_type SFINAE-friendly.
Mar 6 2019, 5:10 PM
zoecarver added a comment to D47344: LWG 2843 "Unclear behavior of std::pmr::memory_resource::do_allocate()".

@Quuxplusone if this fixes 2843 can you update it in www/cxx2a_status.html?

Mar 6 2019, 1:55 PM
zoecarver updated the diff for D58987: Make underlying_type SFINAE-friendly.

Add fail test, update pass test to work with any version, use __impl_....

Mar 6 2019, 1:49 PM
zoecarver added inline comments to D58987: Make underlying_type SFINAE-friendly.
Mar 6 2019, 1:47 PM
zoecarver added a comment to D59029: [libc++] Do not specify the underlying type of memory_order.

I don't feel strongly one way or another. Putting it in the tests is probably fine, but we should make sure they pass with both fshort-enums and without. If we decide on that, I am happy to implement it in another test.

Mar 6 2019, 10:33 AM · Restricted Project
zoecarver added a comment to D59029: [libc++] Do not specify the underlying type of memory_order.

Seems good to me. I remember @EricWF saying

And we should static assert the underlying type of this matches the type we declare in C++17.

and

I would like to see an explicit underlying type declared here.

though. He might have a point.

Mar 6 2019, 9:07 AM · Restricted Project

Mar 5 2019

zoecarver created D58987: Make underlying_type SFINAE-friendly.
Mar 5 2019, 11:20 AM
zoecarver added inline comments to D58966: [libc++] Fix <atomic> failures on GCC.
Mar 5 2019, 10:57 AM · Restricted Project