1ace9bad4SMark Rutlandcat <<EOF 2ace9bad4SMark Rutland/** 3ace9bad4SMark Rutland * ${atomic}_sub_and_test - subtract value from variable and test result 4ace9bad4SMark Rutland * @i: integer value to subtract 5ace9bad4SMark Rutland * @v: pointer of type ${atomic}_t 6ace9bad4SMark Rutland * 7ace9bad4SMark Rutland * Atomically subtracts @i from @v and returns 8ace9bad4SMark Rutland * true if the result is zero, or false for all 9ace9bad4SMark Rutland * other cases. 10ace9bad4SMark Rutland */ 11*765dcd20SMarco Elverstatic __always_inline bool 12ace9bad4SMark Rutland${atomic}_sub_and_test(${int} i, ${atomic}_t *v) 13ace9bad4SMark Rutland{ 14ace9bad4SMark Rutland return ${atomic}_sub_return(i, v) == 0; 15ace9bad4SMark Rutland} 16ace9bad4SMark RutlandEOF 17