few more GLU functions - mostly nicked from mesa