isc_cline_carc

First the center of the arc (black) is projected onto the line (blue) using perpendicular projection.

If the projected line is not within the boundaries of the line (offset check for [0..1]) or the distance between the projected point and the arc center (vector a) is larger than the radius, the line misses the circle, no intersection is possible.

If it's exactly the radius, there will be one intersection, if it is within the range of the arc.

For the rest of the cases, calculate b=sqrt(r*r - a*a). Use the calculated perpendicular projection, add +b or -b to it; those will be the two points where the line intersect the circle. Check these potential intersection point that they are on both the line and the arc before returning them.