{"shas":[["41f62de088342749527bdcfd92290c5d5189c658","80a4591a911242c9fa599aed77b85cda981a27b8@samskivert.com","getX -> x (in both the literal and algebraic sense).\n\nIn anticipation of the saying of nay, I offer this: these are value classes,\nand in a civilized language, I wouldn't have setters either. \"foo.x = x\" would\ncall a setter method over which I had control. However, rather than throwing my\nhands up and saying \"Gee, I have to have verbose setters, so I guess I better\nhave verbose getters,\" I say, \"I'll take what I can get.\"\n\nMethods that verb can be verbs, and we can all agree to understand that methods\nthat are nouns are getters. foo.width() does not width my foo, it's my foo's\nwidth. foo.invert() inverts up my foo, it is not some attribute of my foo's\nnonsensically named invert. I don't want to add my foo's getWidth and\ngetHeight, I want to add my foo's width and height. So why should I have to\ntype get over and over again just because I want to protect myself from future\nrepresentation change? (Or in this case, to offer immutable views of my value\nclasses.)","Michael Bayne"],["0d82811da9765fe5aee913bc52ac5a641a04d4d6","80a4591a911242c9fa599aed77b85cda981a27b8@samskivert.com","Split FloatMath into MathUtil and FloatMath.\n\nFloatMath contains only shim methods that convert double Math methods to float,\nbut extends MathUtil so that library users can easily access everything via one\nclass. MathUtil is used internally so that I can convert pythagoras.f to\npythagoras.d with a few sed expressions. And MathUtil would be what users of\npythagoras.d would want to use for their lerping, clamping and stringifying.","Michael Bayne"],["c8d591c8a2b924db1b056188dee5902a062fb8ea","80a4591a911242c9fa599aed77b85cda981a27b8@samskivert.com","Converted the float bits to double since they've substantially evolved.","Michael Bayne"]],"ref":"refs/heads/master","size":3,"head":"c8d591c8a2b924db1b056188dee5902a062fb8ea","push_id":39387534}