Calculating Tolerances on a Part

Hello everyone.

I have a question about calculating and/or estimating tolerances of dimesions of a [B]non-cylindrical part[/B].

for example, we see in a drawing that a certain length dimension is this : 50[SUP]+0.25-0.5[/SUP] , my question is:

How do engineers calculate the tolerance value ?

I have been looking in the internet and in books but with no results.

If there were any documents or books that treat this question thoroughly I'd appreciate it if you provided me with their name.

PS: My question is about [B]non-cylindrical parts only[/B]. Shafts and holes already have an ISO dimensionning system.

Thanks in advance