// Copyright (c) 2015, Google Inc. Please see the AUTHORS file for details.
// All rights reserved. Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

/// A library for working with lists of vectors in a memory efficient way.
library vector_math_lists;

import 'dart:math' as math;
import 'dart:typed_data';
import 'vector_math.dart';

part 'src/vector_math_lists/scalar_list_view.dart';
part 'src/vector_math_lists/vector_list.dart';
part 'src/vector_math_lists/vector2_list.dart';
part 'src/vector_math_lists/vector3_list.dart';
part 'src/vector_math_lists/vector4_list.dart';
